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.
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.
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)
Il file allegato è un EA. Trovo più facile eseguire i test con questo tipo di file.
Grazie.