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
In un certo senso l'ho cucinato. Le critiche sono benvenute.
Dato che probabilmente sarà un esperto, allora:
и:
Scommetto che questo è garantito. Almeno io ci conto sempre e il problema non si è mai presentato.
Capisco. Comunque, è un momento delicato.
zioVic
Questo è vero. Ma nel mio caso è ridondante:
Come potete vedere, se c'è un errore negli strumenti nell'ultimo ciclo in OnTick, non ci sarà alcuna iterazione.
Capisco. Comunque, è un momento delicato.
zioVic
Questo è vero. Ma nel mio caso è ridondante:
Come potete vedere, se c'è un errore negli strumenti nell'ultimo ciclo, non ci sarà una sola iterazione in OnTick.
Non insisto. È solo che controllare il risultato dell'esecuzione è la cosa giusta da fare.
Non sto spingendo. Controllare solo il risultato dell'esecuzione è la cosa giusta da fare.
Ho scoperto questo trucco. Se eseguo questo script, si "blocca".
Ma se queste tre linee (codice) vengono inserite prima nella funzione OnInit() dell'Expert Advisor ed eseguite tale Expert Advisor in modalità test, il risultato sarà il seguente:
In primo luogo, il codice in qualche modo funziona in modalità test.
Secondo, (più importante), la storia dei primi giorni di test si perde. Così, nell'esempio precedente, il test è stato iniziato il 2011.01.03 (come si può vedere dalle prime due righe), ma il tester ha immediatamente saltato in avanti di 17 giorni dopo l'elaborazione del codice (in questo caso si tratta di una linea 2-3), e il test è continuato senza prendere in considerazione questi 17 giorni.
risultante in un periodo di attesa di 17,5 giorni.
Hai appena beccato un overflow aritmetico in
e stai aspettando da 17,5 giorni.
Avete trovato un overflow aritmetico in
come risultato avete un'attesa di 17,5 giorni.
Non sto discutendo su "caught overflow" perché non lo so :) La questione è che una tale situazione dovrebbe essere soppressa o dal compilatore o dal tester con un output di errore critico (o in qualche altro modo). Non tutti saranno meticolosi su come funzionano i loro programmi in assenza di avvisi dal terminale.
Il problema si vede anche nel fatto che il codice è inserito nelle prime righe di OnInit() (cioè prima che qualsiasi dato storico venga scaricato) - ma per qualche motivo, i dati dei primi 17,5 giorni vengono persi.
Sì, e funziona nel tester perché Sleep è ignorato in esso.
Siete così sicuri che Sleep() sia ignorato? - Guarda la differenza di tempo terminale tra le linee 2 e 3.