Argomento interessante per molti: cosa c'è di nuovo in MetaTrader 4 e MQL4 - grandi cambiamenti in arrivo - pagina 56

 
MetaDriver:
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.

 
MetaDriver:
Con gli spazi vuoti vedo, ma come aiuta il tester a vedere lo slittamento?
Ogni TS ha la sua storia personalizzata.
 
Avals:
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).

 
Avals:

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 5Strategy TesterImpostazioni?

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%.

 
Rosh:

Tutti sanno che il tester MetaTrader5 ha una modalità di ritardo casuale Aiuto in MetaTrader 5Strategy TesterImpostazioni?

Questo è rilevante solo se siete in grado di testare su zecche reali e con sfumature (poiché il ritardo a volte cambia nel tempo).

 
Rosh:

Penso che la maggior parte delle persone siano consapevoli che il tester MetaTrader5 ha una modalità di ritardo arbitrario Aiuto in MetaTrader 5Strategy TesterImpostazioni:

Sì, una caratteristica utile per "permettere allo scrittore di EA di programmare correttamente la gestione di tali situazioni". Ma l'effetto dello slippage sul profitto/perdita non funziona senza tick. (anche se la maggior parte delle persone non ne ha bisogno)) )
 

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.

 
hrenfx:

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.

 
Se si intendeva solo il FOREX, avrei fatto una precisazione.
 
hrenfx:

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.

Questo è il compito del tester. Prima di testare/ottimizzare, è necessario creare la storia personalizzata necessaria, a seconda di ciò che si sta ottimizzando e del tipo di ordini, per esempio. Questo è un aspetto puramente tecnico che può essere gestito in modo ottimale da un sistema automatico. Penso che MT faccia anche questo (preparazione dei dati storici) all'interno delle capacità del tester
Motivazione: