[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 4. - pagina 52

 
FAQ:

Completamente indipendente da questo. Forse dipende da qualcos'altro, ma non dalle zecche - ho controllato. In generale, la nuova costruzione ha cambiato completamente il funzionamento del terminale rispetto al flusso EA. Ora l'EA in loop compie chiaramente tutte le iterazioni del ciclo indipendentemente dall'operazione terminale, nelle vecchie versioni, c'erano ritardi nel caricamento del thread principale. A proposito, la quantità di risorse della CPU consumate dall'EA in loop è stata drasticamente ridotta.
Ho anche avuto una cosa simile con il terminale - non c'erano cose in loop - sembrava che il terminale fosse occupato a elaborare qualcosa... Quando ho provato ripetutamente a richiamare la finestra delle proprietà con il mouse - dopo 5-8 tentativi - si è aperta con successo...
 
Roman.:
Ho anche avuto un problema simile con il terminale - non c'era nessuna cosa in loop - sembrava che il terminale fosse occupato a elaborare qualcosa... quando ho provato ripetutamente a richiamare la finestra delle proprietà con il mouse - dopo 5-8 tentativi - si è aperta con successo...

È possibile, ma non ha niente a che fare con le zecche.
 
FAQ:

Forse, ma non ha niente a che vedere con i tic.

Capisco.
 

Spero di essere sull'argomento giusto ; )

È più una questione nubiana, ma ci sono rimasto bloccato per un po'.

int total=OrdersTotal();

int Q,W;
se (totale == Q + W)

e poi apro diversi ordini. Alcuni sono sotto la Q, altri sotto la W. Come cambiare un ordine (per esempio, se si chiude) in Q, si riapre Q... Se sono entrambi chiusi - Q e W, si riapriranno solo se sono entrambi chiusi.

 
Keda:

Spero di essere sull'argomento giusto ; )

È più una questione nubiana, ma ci sono rimasto bloccato per un po'.

int total=OrdersTotal();

int Q,W;
se (totale == Q + W)

e poi apro diversi ordini. Alcuni sono sotto Q, altri sotto W. Come cambiare un ordine (per esempio, se si chiude) in Q, si riapre Q... Altrimenti vengono riaperti solo se Q e W sono entrambi chiusi.


Per quanto si può dire - le variabili Q e W sono interi.

Poi, si aprono gli ordini di alcuni interi (in che senso?) e si chiede come fare, se un ordine (di qualche intero) è chiuso, per riaprire qualche altro intero. Ora si aprono se due interi si chiudono (quali quali?).

La domanda è super. Lei ha giustamente detto: "La domanda è piuttosto nubile". Esattamente: un nocciolo di domande. Non essere un noubet nel fare domande, allenati a farle in modo tale da essere compreso.

Nel frattempo, dovresti andare qui.

 

Posso dire dalla domanda che la persona che la pone è completamente nuova per mql4. Grazie per la risposta, ora capisco qual è il problema.

Ho cercato di capirlo e mi sono confuso ancora di più. Sto usando solo 2 lotti. 2 lotti diversi si stanno aprendo. Dovrebbero lavorare insieme. Quando uno di essi si chiude, come faccio a far riaprire quello chiuso? Quando un lotto è chiuso, l'altro lavora insieme. Solo quando entrambi i lotti sono chiusi, 2 lotti sono aperti. Sarei grato per un consiglio.

 
yosuf:
Internet va spesso giù, non c'è modo di automatizzarlo programmaticamente per farlo funzionare di nuovo? O cosa si sa in questa direzione? C'è un modo per alimentare due o più ISP allo stesso tempo, voglio dire in parallelo? Grazie in anticipo.
È più facile e più sicuro per i vostri soldi usare il servizio VPS.
 
Keda:

Posso dire dalla domanda che la persona che la pone è completamente nuova per mql4. Grazie per la risposta, ora capisco qual è il problema.

Ho cercato di capirlo e mi sono confuso ancora di più. Sto usando solo 2 lotti. 2 lotti diversi si stanno aprendo. Dovrebbero lavorare insieme. Quando uno di essi si chiude, come faccio a far riaprire quello chiuso? Quando un lotto è chiuso, l'altro lavora insieme. Solo quando entrambi i lotti sono chiusi, 2 lotti sono aperti. Sarei grato per un consiglio.


Ora capisco. Ecco una stima approssimativa:

int    Magic=123;

double Lot_Q=0.01;
double Lot_W=0.05;

bool   Flag_Q=False;
bool   Flag_W=False;


//Просматриваем все открытые ордера

for(int i = OrdersTotal() - 1; i >= 0; i--) 
  {
   OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
   if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)//Если это ордер данного символа и магика (т.е. открыт данным советником)
     {
      if(OrderLots()==Lot_Q) Flag_Q=True;//Если ордер с объемом Q есть среди открытых, присваиваем флагу Q истину.
      if(OrderLots()==Lot_W) Flag_W=True;//Если ордер с объемом W есть среди открытых, присваиваем флагу W истину.
     }
   }


//Проверяем условия нужности открытия - индикаторы, другие сигналы, и что там у Вас еще. И если есть сигнал

if(Flag_Q==False)//Только если ордер Q не открыт в настоящий момент
  {
   //Открытие ордера Q
  }

if(Flag_W==False)//Только если ордер W не открыт в настоящий момент
  {
   //Открытие ордера W
  }
 
Oh, fantastico, ci siamo. Grazie
 

Ciao di nuovo) Ciao! Puoi dirmi come scrivere questo in modo più compatto?

        for (i=4; i<7; i++){
        sum+=GetPrcD1(symb[i]);
        Content[5][1]=DoubleToStr(sum/3,3);
        }
        
        for (i=7; i<10; i++){
        sum+=GetPrcD1(symb[i]);
        Content[6][1]=DoubleToStr(sum/3,3);
        }

        for (i=10; i<13; i++){
        sum+=GetPrcD1(symb[i]);
        Content[7][1]=DoubleToStr(sum/3,3);
        }

        for (i=13; i<16; i++){
        sum+=GetPrcD1(symb[i]);
        Content[8][1]=DoubleToStr(sum/3,3);
        }

        for (i=16; i<19; i++){
        sum+=GetPrcD1(symb[i]);
        Content[9][1]=DoubleToStr(sum/3,3);
        }