Domanda di OrderModify() - pagina 6

 

Whoodoo,

Dal momento che nulla sembra penetrare il tuo cranio in qualche modo, aiuterò i gentili moderatori qui a spiegarti le cose.

Ho corretto il tuo codice per mostrarti diversi punti:

  • Il tuo codice è sciatto e contorto solo per raggiungere un semplice obiettivo dell'algoritmo. L'uso disordinato e ridondante delle parentesi graffe è stato sottolineato e mostra lo stato disordinato della tua testa.
  • Invece di leggere a fondo il manuale MQL4, seguire il primo tutorial EA, e poi testare unitariamente le funzioni Order*(), si preferisce perdere tempo e farsi imboccare da altre persone sulle cose che si ignorano.
  • Se mantenete questo approccio, è meglio che siate consapevoli del lunghissimo percorso che vi aspetta per essere effettivamente in grado di usare MQL4. Ironicamente non è a causa della complessità di MQL4 (è relativamente semplice), ma è a causa dell'atteggiamento che stranamente state sostenendo.
Buona fortuna e che Dio abbia pietà della vostra anima.
 

Richard, il tuo incitamento è stato notato. Grazie per la tua revisione del volume I e per il tuo post. Entrambi sono apprezzati.

Grazie.

 

Simon,

Il codice sta controllando la funzione OrderSelect() e se la funzione OrderSymbol() è USDJPY. Se entrambi sono veri, allora viene eseguita la funzione OrderPrint(). OrderSelect() andrà bene, ma ;) se OrderSymbol() non è USDJPY, allora la variabile ticket i viene aumentata di 1. La variabile i viene aumentata fino a quando OrderSymbol() è USDJPY.

Domanda: Perché "i++;" aumenta il valore di i una sola volta (la mia intenzione è che questa variabile continui ad aumentare finché OrderSymbol() è USDJPY)

int start()
  {
   
   int i;

   if((OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)&&(OrderSymbol()=="USDJPY"))
   
     OrderPrint();      
     
     else i++;
   
 // Print(GetLastError());
 
Comment("i = " ,i);

   return(0);
  }

Il file allegato è un EA. Trovo più facile eseguire i test con questo tipo di file.

Grazie.

File: