Quando ha senso mantenere parte del codice del robot in un indicatore? - pagina 33
![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
Un discorso zelo utile...
E conoscendo la risorsa e il potenziale dei partecipanti, propongo provocatoriamente di misurare la velocità e la 'non glottabilità' dei tic in:
1) Sovnig
2) script ciclico in esecuzione ad una frequenza di 1 millisecondo
3) indotto
4) un ricevitore DDE di terzi.
Per gli adepti neofiti, come me, sarà anche utile.
;)
Alla fine della serata:
Vorrei aggiungere i miei due centesimi:
La performance degli Expert Advisors con il codice dell'indicatore interamente inserito nell'EA è spesso circa tre volte più veloce di quella delle loro controparti che chiamano indicatori personalizzati. Questo è vero per le varianti con calcoli di indicatori molto pesanti. Se questi calcoli sono molto leggeri, non ci sarà alcuna differenza. L'indicatore EMA ha un calcolo troppo primitivo per usarlo per tali misure. In alcuni dei miei recenti articoli su questo sito ho anche presentato una variante dell'Expert Advisor con un indicatore di calcolo molto pesante della JMA. La versione con il codice senza chiamate di indicatori è tre volte più veloce.
Personalmente non ho alcun desiderio di dimostrare nulla a nessuno; traggo solo le mie conclusioni, che ho visto con i miei occhi e non una volta; anche se, naturalmente, non faccio questo tipo di cose per sempre, e può essere che le ultime build di MT4 abbiano fatto apparire questo quadro in qualche modo diverso. E anche in MT5 all'inizio era assolutamente lo stesso. Ma non tengo traccia di questi dettagli e quindi non posso affermare che sia lo stesso ora.
GODZILLA:
In alcuni dei miei recenti articoli su questo sito ho anche postato una variante dell'Expert Advisor con un indicatore di calcolo molto pesante di JMA. La variante con codice senza chiamate di indicatori funziona tre volte più velocemente.
Qui? La conclusione è semplice, ci sono 3 possibilità:
1. il codice senza chiamate di indicatori è scritto male, il che è improbabile.
2. l'indicatore è scritto in modo inefficace.
3. Le cifre indicate non riflettono la realtà.
Vorrei aggiungere i miei due centesimi:
La performance degli Expert Advisors con il codice dell'indicatore interamente inserito nell'EA è spesso circa tre volte più veloce di quella delle loro controparti che chiamano indicatori personalizzati. Questo è vero per le varianti con calcoli di indicatori molto pesanti. Se questi calcoli sono molto leggeri, non ci sarà alcuna differenza. L'indicatore EMA ha un calcolo troppo primitivo per usarlo per tali misure. In alcuni dei miei recenti articoli su questo sito ho anche presentato una variante dell'Expert Advisor con un indicatore di calcolo molto pesante della JMA. La variante senza chiamate di indicatori è tre volte più veloce.
Personalmente non ho alcun desiderio di dimostrare nulla a nessuno; traggo solo le mie conclusioni, che ho visto con i miei occhi e non una volta; anche se, naturalmente, non faccio questo tipo di cose per sempre, e può essere che le ultime build di MT4 abbiano fatto apparire questo quadro in qualche modo diverso. E anche in MT5 all'inizio era assolutamente lo stesso. Ma non tengo traccia di questi dettagli e quindi non posso affermare che sia lo stesso ora.
Non essere ridicolo. Semplicemente non hai ancora imparato a scrivere indicatori.
Dopo tale eresia:
avresti potuto astenerti del tutto dalla tua opinione in questo thread.
Idea sbagliata #1: si può fare a meno di IndicatorCounted()
Un indicatore con esso:
Senza di esso, secondo il principio di hrenfx
Poi applichiamo gli indici al grafico ed emuliamo la perdita di connessione mentre l'automa è in funzione. Risultato:
Sì, anche io ho fatto qualche ricerca sull'argomento. Certo, è davvero una stronzata fare casino con le stronzate degli sviluppatori della piattaforma, ma non importa.
Hai trasformato il mio EA in un indicatore. Come te, ero sicuro 24 ore fa che l'indicatore di Expert Advisor e l'indicatore di EA semplice devono mostrare gli stessi risultati, perché entrambi sono attivati su tick. Ma si innescano in modo diverso. Il primo tick dopo l'apparizione del collegamento non è lo stesso per l'EA e per l'indicatore tratto dall'EA. Potete controllare voi stessi.
Lo screenshot qui sopra mostra che l'EA (non l'indicatore dell'EA) viene confrontato con iCustom dopo la rottura della connessione. L'interruzione della comunicazione avviene senza problemi.
Presumo che al primo tick dopo un'interruzione della connessione, l'indicatore non si attivi immediatamente. Per essere più precisi, l'indicatore attende che la funzione IndicatorCounted() venga eseguita. Ma questa funzione può essere eseguita (a seconda della connessione) fino a diversi secondi. Cioè, ecco lo schema:
P.S. Test sulla build 226.
Si scopre che per l'assoluta affidabilità degli EA "all in one" dovremmo fare una chiamata iniziale dell'indicatore Empty e RefreshRates() proprio all'inizio della funzione. Questo garantirà il caricamento della storia (dopo la pausa) e l'esecuzione dell'EA sul primo tick, corrispondente alla storia già caricata.
E puoi postare le ricerche e i controlli su questa ipotesi?
hmmm... Se è così, e dà una garanzia di carico, allora è un'ottima opzione.
Ho visto un thread di ForexTools in cui non c'era soluzione al problema di scambiare la cronologia al momento di avviare il terminale e l'Expert Advisor.