Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Forse la semplice presenza di Sleep (rispetto alla sua assenza) nel codice influenza in qualche modo il tempo di esecuzione complessivo, ma il fatto che Sleep non conta nel tester - questo è sicuro.
Il codice blocca il terminale:
Qual è la ragione?
Il codice blocca il terminale:
Qual è la ragione?
Il terminale non è impostato su Unlim?
Per cominciare:
Unlim non è nelle impostazioni del terminale?
le barre massime sono 5000. questo valore può essere ridotto?
Non credo che si possa fare di meno (non ne sono sicuro).
Cosa mostra Print(count)?
Non credo che sia possibile meno (non ne sono sicuro).
Bene, cosa restituisce Print(count)?
nel commento -1
Ho provato con un altro simbolo ma non è apparso nel commento -1
NOTA: congelare dopo qualche secondo. Inizio il codice da int OnInit()
Sì, e funziona nel tester, perché Sleep viene ignorato nel tester.
Il sonno è completamente e accuratamente emulato nello Sleep tester.
Nell'esempio, a causa di un overflow aritmetico quando si tratta di valori interi, c'era solo un'attesa di 17,5 giorni. Il tester ha aspettato esattamente quel tempo.
Quindi, non c'è nessun errore nel tester o nell'ambiente di esecuzione MQL5, ma c'è un errore evidente fatto dal programmatore.
Renat:
Cioè, non c'è un errore del tester o dell'ambiente di esecuzione MQL5, ma c'è un chiaro errore del programmatore.
È abbastanza chiaro.
Renat:
Il sonno è emulato nel tester in modo completo e abbastanza accurato.
A causa dell'overflow aritmetico quando si lavora con valori interi il tempo di attesa è di 17,5 giorni. Questo è esattamente il tempo che il tester ha aspettato.
Hmm, ecco qui. E ho erroneamente pensato che Sleep fosse semplicemente ignorato.
Risulta che se io, per esempio, impostassi Sleep (3 mesi) in Expert Advisor in modalità test, il tester farebbe semplicemente avanzare velocemente la storia per 3 mesi? - È fantastico.
Durante il periodo di attesa il tester continua a emulare completamente l'ambiente di trading, compresa tutta l'elaborazione degli ordini precedentemente piazzati. Il tester di MT5 è molto dettagliato.
nel commento -1
Ho provato con un altro simbolo ma non è apparso nel commento -1
NOTA: congelare dopo qualche secondo. Eseguirò il codice da int OnInit()
Sì, non abbiamo nemmeno notato l'elefante.
Questa linea mi rende molto sospettoso:
ArrayMaximum
cerca l'elemento massimo in una matrice numerica unidimensionale.
intArrayMaximum(
doppioarray[],// array da cercare
intstart=0//da quale indice iniziamo la ricerca
intcount=WHOLE_ARRAY,// numero di indici da controllare
);
e nel nostro caso:
MqlRates s1[];
Penso che il compilatore non dovrebbe saltare questo. Che cosa avete? Neanche un avvertimento? In caso contrario, fate una richiesta al Service Desk. Ok?