Errori, bug, domande - pagina 1658

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
Indipendentemente dalla domanda, chiamare qualsiasi funzione è sempre più lento che accedere a una variabile sullo stack, in questo caso nType.
A prescindere da questa ovvietà, la domanda riguardava le funzioni in linea. Cioè, OrderType() non è sostituito a tempo di compilazione da qualcosa come order.type.
Personalmente metto sempre in cache questechiamate di funzioni MQL, come nel tuo secondo caso.
Come hanno dimostrato le misurazioni, non è necessario.
A prescindere da questa ovvietà, la domanda riguardava le funzioni in linea. Cioè, OrderType() non è sostituito da qualcosa come order.type durante la compilazione.
Come hanno dimostrato le misurazioni, questo non è necessario.
A giudicare dall'implementazione interna degli array, lo stesso ArraySize deve essere inline. Ma io lo uso sempre così (non l'ho misurato)
Invece di
Io uso
In termini di prestazioni, sono stato recentemente sorpreso da questo fattoForum sul trading, sistemi di trading automatico e test di strategia
Come si fa a passare un'enumerazione in modo coerente?
fxsaber, 2016.08.22 09:13
A prescindere da questa ovvietà, la domanda riguardava le funzioni in linea. Cioè, OrderType() non è sostituito da qualcosa come order.type durante la compilazione.
Come hanno dimostrato le misure, non è necessario.
L'hai scritto tu stesso:
L'ho controllato io stesso. Il secondo codice è 4 volte più veloce. È tutto chiaro, la questione è fuori discussione.
L'ho provato io stesso. Il secondo codice è quattro volte più veloce. Tutto è chiaro, la domanda è rimossa.
Buon pomeriggio!
Signori ufficiali, potete dirmi da dove cominciare a prendere una cimice?
Consulente esperto multivaluta. Dopo il primo scambio il tester si ferma.
Dà un errore, il cui codice non riesco a trovare.
Sì, il tester funziona bene dalla data di inizio 2016.05.01. Se cambio questa data - il tester si ferma e da errore, log sotto.
Aiuto per favore!
Rispondere a me stesso:
Questo è un bug nel tester. Per ora è necessario aggiungere l'handle di qualsiasi indicatore tecnico in OnInit a tutti i simboli su cui lavora l'Expert Advisor.
L'hai scritto tu stesso:
L'ho controllato io stesso. Il secondo codice è 4 volte più veloce. È tutto chiaro, la questione è fuori discussione.
Nella build 1398 l'errore 'EX5 loading failed' è ancora presente (apparentemente non legato a quell'esempio).
Nella build 1400 fissa l'errore in un caso simile è ora riprodotto come 'chiamata di funzione virtuale pura'. E senza un commento va bene
Non può essere applicato :: per risolvere l'ambiguità
Rispondere a me stesso:
Questo è un bug nel tester. Per ora dovreste aggiungere un handle di qualsiasi indicatore tecnico in OnInit a tutti i simboli su cui lavora l'Expert Advisor.
E sembra che il problema si verifichi quando si ottiene solo il primo tick su una nuova barra, il tester sembra "bloccarsi" e rimane indietro di 1 barra, cioè, l'EA pensa che la barra non esista e nella visualizzazione in realtà non lo fa, ma dopo un paio di secondi la barra appare, nel caso di test su M1 il valore corretto arriva sul secondo tick (se ho capito bene), spero che gli sviluppatori sistemino questo fastidioso momento il prima possibile ...
aggiunta:
si scopre che per aggirare questo punto ora bisogna saltare artificialmente il primo tick di una nuova barra...