[ARCHIVIO] Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 3. - pagina 301
Hanno cercato nel forum ma non hanno trovato una soluzione rapida, aiutare a risolvere il problema con mentre in tester non funziona, nella vita reale sì.
Grazie.
Se blocca il tester, allora dovrebbe farlo. (Assicurati di descrivere l'uscita dall'anello).
È difficile dire quale sia il suo problema. Prendete come regola in MQL4 che i numeri negativi nel codice devono sempre essere messi tra parentesi. A volte possono verificarsi errori senza parentesi.
Anche se, nelle linee di codice che iniziano con extern, prendere valori negativi tra parentesi non è necessario. Non so perché sia così.
Grazie, ma non funziona, puoi suggerire un costrutto per eliminare il ciclo if(IsTesting()==true || IsOptimization()==true)
drknn: Non ha bisogno di un avviso - la mia comprensione è che da qualche parte nel codice il file è probabilmente già aperto ma non chiuso. Questo è probabilmente il motivo per cui il file non può essere riaperto e la finestra di avviso continua ad apparire. Anche se forse mi sbaglio - non sono un membro del club dei telepati :(
La situazione è la seguente: ad un certo momento, l'esperto guarda nel file csv e vede quale comando c'è (comprare, vendere, chiudere), questo comando viene scritto nel file da EXCEL. Il problema è che al momento, quando expert leggerà il file, che può essere aperto da EXCEL, ekspert darà un errore e questo è tutto, e ho bisogno che vada di nuovo e provi finché non legge il comando.
Non sapevo della costruzione...
Per favore controllate se ho scritto correttamente:
Questo è per assicurarsi che l'esecuzione del codice entri nel corpo del ciclo e non lo ignori.
Sì, purtroppo devo essere come un indovino, creare script con parte del codice sulla domanda, bene o tutto il codice e sarà più facile per voi indicare l'errore. (fondi di caffè zakAchyVeTso).
Sto cercando di scrivere un EA utilizzando la strategia del canale del mattino. L'essenza è questa: alle 6:01 sulla coppia EURGBP determiniamo il canale di movimento del prezzo dalle 0 alle 6 del mattino. Impostiamo due ordini pendenti e se l'ordine pendente attivato viene chiuso da uno stopper, apriamo un ordine nella direzione opposta. È la seconda parte della strategia che non funziona. Cioè, se uno stop è scattato, non possiamo aprire un ordine nella direzione opposta.
Consenti l'uso dei cookie per accedere al sito MQL5.com.
Abilita le impostazioni necessarie nel browser, altrimenti non sarà possibile accedere.
Hai effettuato l'accesso. L'autenticazione a due fattori è stata disattivata. Configurala di nuovo e scansiona un nuovo codice QR, oppure continua con l'autenticazione a due fattori disattivata.
Grazie.
Se blocca il tester, allora dovrebbe farlo. (Assicurati di descrivere l'uscita dall'anello).
Come questo
È difficile dire quale sia il suo problema. Prendete come regola in MQL4 che i numeri negativi nel codice devono sempre essere messi tra parentesi. A volte possono verificarsi errori senza parentesi.
Anche se, nelle linee di codice che iniziano con extern, prendere valori negativi tra parentesi non è necessario. Non so perché sia così.
Grazie, ma non funziona, puoi suggerire un costrutto per eliminare il ciclo if(IsTesting()==true || IsOptimization()==true)
^^
Non ha bisogno di un avviso - la mia comprensione è che da qualche parte nel codice il file è probabilmente già aperto ma non chiuso. Questo è probabilmente il motivo per cui il file non può essere riaperto e la finestra di avviso continua ad apparire. Anche se forse mi sbaglio - non sono un membro del club dei telepati :(
int init(){mentre(handle<1){handle=FileOpen("firstfile.csv",FILE_CSV|FILE_READ|FILE_WRITE,'\t')}}
}
Grazie, ma non funziona, puoi suggerire un costrutto per eliminare il ciclo if(IsTesting()==true || IsOptimization()==true)
Provate senza alcun ciclo, diciamo così:
Aiuterebbe almeno a capire perché la posa non si apre.
^^
Molte grazie :)
Grazie a tutti, l'ho aggiustato e funziona.
Molte grazie per il vostro aiuto.
Sì, perché abbiamo bisogno di chiedere, possiamo verificarlo "combattendo" )).
In generale questo è corretto, ma per farlo funzionare abbiamo bisogno di inizializzare la variabile prima del ciclo
maniglia=0;
mentre(handle<1)
{
handle=FileOpen("firstfile.csv",FILE_CSV|FILE_READ|FILE_WRITE,'\t');
}
Beh, è solo per essere assolutamente sicuri che l'esecuzione del codice entrerà nel corpo del ciclo e non lo ignorerà.
In realtà è vero, ma perché funzioni, la variabile dovrebbe essere inizializzata prima del ciclo
maniglia=0;
mentre(handle<1)
{
handle=FileOpen("firstfile.csv",FILE_CSV|FILE_READ|FILE_WRITE,'\t');
}
Questo è per assicurarsi che l'esecuzione del codice entri nel corpo del ciclo e non lo ignori.
Gente, aiutatemi un po'!!!
Sto cercando di scrivere un EA utilizzando la strategia del canale del mattino. L'essenza è questa: alle 6:01 sulla coppia EURGBP determiniamo il canale di movimento del prezzo dalle 0 alle 6 del mattino. Impostiamo due ordini pendenti e se l'ordine pendente attivato viene chiuso da uno stopper, apriamo un ordine nella direzione opposta. È la seconda parte della strategia che non funziona. Cioè, se uno stop è scattato, non possiamo aprire un ordine nella direzione opposta.