Argomento interessante per molti: cosa c'è di nuovo in MetaTrader 4 e MQL4 - grandi cambiamenti in arrivo - pagina 56
![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
In un tester?
Per cogliere lo slittamento dei dati in tick nel tester, è necessario impostare un intervallo di tempo approssimativo (lag) per la trasmissione dei dati tra il dc e il client. Ogni tick ha il suo tempo quando si è verificato al millisecondo, per esempio. Nel tester, se il tempo di immissione di un ordine a mercato + lag>il tempo del prossimo tick, allora eseguiamo ai prezzi del nuovo tick. È chiaro che l'esecuzione parziale degli ordini non può essere simulata in questo modo, abbiamo bisogno di dati sulla liquidità.
p.s. Uno dei fondamenti dell'industria hft - la colocalizzazione mira a minimizzare questo ritardo. La gente paga milioni di sterline per mettere la propria attrezzatura più vicina ai server della borsa. Lì c'è un conteggio di microsecondi.
Con gli spazi vuoti vedo, ma come aiuta il tester a vedere lo slittamento?
Per catturare lo slippage nel tick data tester, è necessario impostare un ritardo approssimativo nella trasmissione dei dati tra il broker e il cliente (lag). Ogni tick ha il suo tempo quando si è verificato al millisecondo, per esempio. Nel tester, se il tempo di immissione di un ordine a mercato + lag>il tempo del prossimo tick, allora eseguiamo ai prezzi del nuovo tick. È chiaro che l'esecuzione parziale non può essere simulata in questo modo, abbiamo bisogno di dati di liquidità.
Sì, proprio così.
+ Si può anche specificare nel tempo, cioè aumentare il ritardo al momento del rilascio della notizia (pre-monitorandolo sul reale).
Per catturare lo slippage sui dati in tick nel tester, è necessario impostare il ritardo approssimativo tra il broker e il cliente (lag).
Tutti sanno che lo Strategy Tester di MetaTrader 5 ha la modalità di ritardo casuale. Aiuto in MetaTrader 5 → Strategy Tester → Impostazioni?
Ritardo arbitrario
La modalità Arbitrary Delay è destinata a testare gli Expert Advisors in un ambiente quasi realistico. Dal momento in cui un ordine viene inviato fino alla sua esecuzione, il prezzo può cambiare. A seconda della deviazione impostata nell'ordine, esso può essere eseguito al prezzo corrente (se è entro i limiti di deviazione) o al requoting. I test in questa modalità permettono di programmare correttamente l'Expert Advisor per gestire tali situazioni.
Si imita un ritardo per tutte le richieste di trading inviate dal terminale (immissione di ordini, cambio di livelli di stop, ecc.). Il ritardo nell'esecuzione è implementato secondo il seguente principio: un numero casuale da 0 a 9 è selezionato e il ritardo è implementato per lo stesso numero di secondi; se il numero selezionato è 9, un altro numero dalla stessa gamma è selezionato casualmente e aggiunto al primo. Così, la probabilità di un ritardo di 0-8 secondi è del 90%, e la probabilità di un ritardo di 9-18 secondi è del 10%.
Tutti sanno che il tester MetaTrader5 ha una modalità di ritardo casuale Aiuto in MetaTrader 5 → Strategy Tester → Impostazioni?
Questo è rilevante solo se siete in grado di testare su zecche reali e con sfumature (poiché il ritardo a volte cambia nel tempo).
Penso che la maggior parte delle persone siano consapevoli che il tester MetaTrader5 ha una modalità di ritardo arbitrario Aiuto in MetaTrader 5 → Strategy Tester → Impostazioni:
Il ritardo casuale è uno strumento grezzo. Questo è l'unico modo per testare seriamente:
Storia indicativa (il robot nel tester vede solo questa - come nella vita reale) + la propria storia personalizzata creata per un particolare TS (il tester esegue su di esso).
Quando si crea uno storico personalizzato, vengono presi in considerazione il prezzo LiveTime (+ ping), la liquidità (Level2 e i volumi gestiti dal TS), ecc. E ancora non possiamo raggiungere una corrispondenza ideale, anche se è possibile avvicinarsi molto di più. Ci sono solo sottigliezze bisogno di sentire - per sondare la realtà del loro TS.
P.S. Si noti che dopo aver creato una tale build personalizzata, è ancora necessario applicare un filtro ad essa. Pertanto, tale storia costruita su misura può essere sotto forma di M1 HighBid+LowAsk. Cioè non è necessario (quasi sempre) testare con una cronologia di tick o Level2 - cronologia. Dovremmo creare solo una storia preliminare dell'esecuzione da questa enorme storia. E poi lo schema continua.
Il ritardo casuale è uno strumento grezzo. Questo è l'unico modo per testare seriamente:
Storia indicativa (il robot nel tester vede solo questa - come nella vita reale) + la propria storia personalizzata creata per un particolare TS (il tester esegue su di esso).
Quando si crea uno storico personalizzato, vengono presi in considerazione il prezzo LiveTime (+ ping), la liquidità (Level2 e i volumi gestiti dal TS), ecc. E ancora non possiamo raggiungere una corrispondenza ideale, anche se è possibile avvicinarsi molto di più. Ci sono solo sottigliezze bisogno di sentire - per sondare la realtà del loro TS.
P.S. Si noti che dopo aver creato una tale build personalizzata, è ancora necessario applicare un filtro ad essa. Pertanto, tale storia personalizzata può essere sotto forma di M1 HighBid+LowAsk. Cioè non è necessario (quasi sempre) testare con una cronologia di tick o Level2 - cronologia. Dovremmo creare solo una storia preliminare dell'esecuzione da questa enorme storia. E poi lo schema farà il suo corso.
Suppongo che si intenda solo il FOREX?
Perché nei futures, 1 tick (4 cifre) = 10 tick (5 cifre soprattutto) nel FOREX.
Il ritardo casuale è uno strumento grezzo. Questo è l'unico modo per testare seriamente:
Storia indicativa (il robot nel tester vede solo questa - come nella vita reale) + la propria storia personalizzata creata per un particolare TS (il tester esegue su di esso).
Quando si crea uno storico personalizzato, vengono presi in considerazione il prezzo LiveTime (+ ping), la liquidità (Level2 e i volumi gestiti dal TS), ecc. E ancora non possiamo raggiungere una corrispondenza ideale, anche se è possibile avvicinarsi molto di più. Ci sono solo sottigliezze bisogno di sentire - per sondare la realtà del loro TS.
P.S. Si noti che dopo aver creato una tale build personalizzata, è ancora necessario applicare un filtro ad essa. Pertanto, tale storia costruita su misura può essere sotto forma di M1 HighBid+LowAsk. Cioè non è necessario (quasi sempre) testare con una cronologia di tick o Level2 - cronologia. Dovremmo creare solo una storia preliminare dell'esecuzione da questa enorme storia. E poi lo schema continua.