Caratteristiche del linguaggio mql5, sottigliezze e tecniche - pagina 147
![MQL5 - Linguaggio delle strategie di trading integrato nel client terminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
IsInf() e IsNaN() funzionano,
IsEqual() e IsZerro() sono discutibili, cercate su Google da alcune fonti come "trucco per il doppio".
IsNan() funziona, ma IsInf() no
Da quando i numeri denormalizzati sono diventati infiniti?
E tutti questi confronti con epsilon - epsilon dovrebbe essere aumentato proporzionalmente agli operandi. In generale, non c'è una ricetta universale, io uso Point come epsilon (con operandi arrotondati) e non voglio (e non ho bisogno) di confrontare la differenza con DBL_EPSILON.
E tutti questi confronti con epsilon - epsilon dovrebbe essere aumentato proporzionalmente agli operandi. In generale, non c'è una ricetta universale, io uso Point come epsilon (con operandi arrotondati), non voglio confrontare la differenza con DBL_EPSILON(e non ne ho bisogno).
ho trovato un articolo che ho letto ieri da TVhttps://randomascii.wordpress.com/2012/02/25/comparing-floating-point-numbers-2012-edition/
Sì, devi usare un altro esempio in cui dovresti specificare la precisione del confronto
IsNan() funziona, ma IsInf() no
Da quando i numeri denormalizzati sono diventati infiniti?
MQL sembra normalizzare alla 8a cifra, cioè se NormalizeDouble() viene aggiunto a IsInf(), il risultato non sarà comunque migliore.
La normalizzazione in MQL sembra essere fino all'ottava cifra, cioè se NormalizeDouble() viene aggiunta a IsInf(), il risultato non è ancora migliore
La normalizzazione in MQL non è affatto la stessa, non so perché hanno chiamato la funzione in quel modo. https://ru.wikipedia.org/wiki/%D0%94%D0%B5%D0%BD%D0%BE%D1%80%D0%BC%D0%B0%D0%BB%D0%B8%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5_%D1%87%D0%B8%D1%81%D0%BB%D0%B0
Mostra quanti ordini di compravendita sincroni (OrderSend) e asincroni generati con successo nel terminale in totale (dall'inizio).
Lo uso nel Tester (alla fine) per vedere quante volte gli ordini sono stati modificati.
Forum sul trading, sistemi di trading automatico e test di strategia
OnTick() non funziona in un'istanza di classe?
fxsaber, 2019.10.31 23:45
Eredita da BASE, allora i metodi OnTick nelle classi saranno chiamati automaticamente.
Un esempio di utilizzo di X Macro (non fate caso ai tipi oscuri, l'ho strappato da un codice funzionante. Vector è un array dinamico):
Per esempio:
1. vogliamo definire dei vettori dietro un ciclo per evitare allocazioni costanti.
2. Ognuno dei test può essere disattivato (in realtà ce ne sono molti).
3. restore_image() e restore_subimages(), una funzione pesante e che richiede molto tempo (lettura di oggetti grafici dal grafico).
4. Se nessuno dei test usa seg2, per esempio, vorrei rimuovere sia la definizione che il corrispondente restore...() in una sola azione, per evitare una situazione in cui il vettore è definito ma vuoto a causa del commentato restore...(), che darebbe risultati errati.
Cosa fare?
Commentate semplicemente i segx non necessari in DEFSEG_LIST. Questo genererà gli stessi risultati del primo codice. In realtà è un peccato che il compilatore non sia in grado di mostrare l'output del processore (il gcc -E analogico).
A volte nell'ottimizzazione genetica le prime migliaia di passaggi sono sufficienti per capire già il risultato più o meno.
Quando si eseguono automaticamente molte ottimizzazioni, si vuole che tutto funzioni più velocemente. Ecco perché avremo bisogno di un meccanismo per interrompere l'ottimizzazione.
Uso.
Istruzioni per aprire un grafico con un carattere Null.
Se una classe con campi statici viene creata immediatamente durante la definizione di una classe, ci sarà un errore di compilazione.