Caratteristiche del linguaggio mql5, sottigliezze e tecniche - pagina 142
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
Per ridurre il numero di overshoots di ottimizzazione, uso due metodi per creare una scala non lineare.
Enumerare la durata in ore con sufficiente precisione:
Per enumerare, per esempio, il passo SAR con una precisione di 2 cifre (~1%):
L'ottimizzazione da 0,0001 a 0,99 richiederebbe quasi 10K passi. L'utilizzo dei codici 001-299 nell'ottimizzazione richiederebbe meno di 300 passi.
L'errore è chiaro nei fatti. Ma mentre si scrive codice come questo, non è sempre ovvio che un tale controllo non è sufficiente per evitare la divisione per zero.
Una scusa per non usare l'operatore ternario.
Per se simile, naturalmente.
Basta non aspettarsi che se non c'è un valore, è necessariamente 0 e quindi falso se non è una variabile di tipo bool. Anche una conversione esplicita al tipo bool non lo salverà.
Funziona così senza errori.
Forum sul trading, sistemi di trading automatico e test di strategie di trading
Peculiarità di mql5, consigli e trucchi
Alexey Viktorov, 2019.10.28 10:22
Semplicemente non vi aspettate che se non c'è un valore, è necessariamente 0 e quindi è falso se non è una variabile di tipo bool. Anche la conversione esplicita al tipo bool non salverà.
Funziona così senza errori.
Non riesco a vedere il punto culminante. Qual è l'errore?
Hai scritto "==", dovrebbe essere "!=".
È sottolineato "giallo molto pallido" :)
Hai scritto "==", dovrebbe essere "!="
È sottolineato "giallo molto pallido" :)
Beh, non tutti sanno che sono come quella scimmia: "Sono debole negli occhi quando sono vecchio".
Credo di sì, ma per qualche ragione ha funzionato senza divisione per 0. E in generale, il mio messaggio era che non dovremmo controllare qualsiasi variabile per 0 come un booleano per false.
Credo di sì, ma per qualche motivo ha funzionato senza divisione per 0.
Perché TickValue non è zero.