[ARCHIVIO] Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 3. - pagina 337

 

Ho trovato il file. Ho dovuto dare al programma i diritti di amministratore in modo che potesse salvare nel file.

Ora ho un'altra domanda.

Come determinare l'ultimo numero di operazione da inserire in OrderSelect()?

Sto facendo questo

 int total=OrdersHistoryTotal();

Print("total " + total);
OrderSelect(total,SELECT_BY_POS,MODE_HISTORY);
FileWrite(handle,"OrderTicket : " + OrderTicket(),", OrderLots : " + OrderLots(),", OrderType : " + OrderType(),", OrderClosePrice : " + OrderClosePrice());

Dice che totale = 322

Ma ci sono degli zeri nel file

 

Ho fatto quanto segue

OrderSelect(total-1,SELECT_BY_POS,MODE_HISTORY);

E tutto ha funzionato )))

È corretto o può causare un errore nel tempo?

Cioè, può accidentalmente restituire il valore non dell'ultimo ordine nella storia ma di qualche altro?

 
ordini di superamento sito:mql4.com
 

Puoi dirmi se fa differenza se scrivi

if(условие)
{
   if(условие)
   {
      if(условие)
      {
         ...
      }
   }
}

o

if(условие && условие && условие)
{
   ...
}
 
velocità di condizioni complesse sito:mql4.com
 

Perché questo "trawl" ottiene l'errore "OrderModify error 1" nel tester ogni secondo e in grandi quantità? I registri si gonfiano a gigabyte... Cosa deve essere aggiustato?

void Stop() {

 int    i, o=OrdersTotal();
 for (i=0; i<o; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
     if (OrderType()==OP_BUY) {
        if (OrderOpenPrice()>OrderStopLoss()&&OrderOpenPrice()-OrderStopLoss()>StopLoss*Point) {
           OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()-StopLoss*Point,OrderTakeProfit(),0,CLR_NONE);
          }
         }
      if (OrderType()==OP_SELL) {
         if (OrderOpenPrice()<OrderStopLoss()&&OrderStopLoss()-OrderOpenPrice()>StopLoss*Point) {
            OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()+StopLoss*Point,OrderTakeProfit(),0,CLR_NONE);
          }
      }
      }
      }
 
  return(0);
}
 
Google:
la velocità delle condizioni complesse sito:mql4.com
Certo, c'è del buon senso nei suggerimenti sulla ricerca, ma avresti potuto semplicemente scrivere: sì, c'è. E spiegare in poche parole che l'uso del confronto logico in 4 non è organizzato in modo ottimale.
 
artmedia70:
C'è, ovviamente, un po' di buon senso nei suggerimenti di ricerca, ma avresti potuto semplicemente scrivere: sì, c'è. E spiegare in poche parole che l'uso del confronto logico in 4 non è organizzato in modo ottimale.
O forse Google vuole diventare un moderatore?
 
Shniperson:

Perché questo "trawl" ottiene l'errore "OrderModify error 1" nel tester ogni secondo e in grandi quantità? I registri si gonfiano a gigabyte... Cosa deve essere aggiustato?

Non dovreste cercare di modificare lo stesso valore. Se, per esempio, Stop è a 1,2300 e lo modifichi a 1,2300, farai un errore - non c'è niente da modificare. Controlla l'uguaglianza dei valori modificati
 
snail09:
Google vuole essere un moderatore?
O presidente di tutta la Russia? :)