La Fractal Interpolation nella Piattaforma MT4
Prima di definire e descrivere la Fractal Interpolation, è bene precisare che nella MetaTrader 4 il volume di una candela M1 non è il volume dei lotti scambiati dai vari operatori al suo interno, ma soltanto il numero dei tick reali forniti dal broker all'interno di essa.
Quando viene effettuato un backtest con la MetaTrader 4 in modalità Ogni Tick, il motore della piattaforma (chiamato Tester o Collaudatore) non usa i dati a tick reali del broker, perché non è previsto che la piattaforma li memorizzi.
La MetaTrader 4 memorizza ed usa soltanto i 4 valori OHLC della candela M1 (Open, High, Low, Close) e, quando viene realizzato un backtest/ottimizzazione in modalità Ogni Tick, la piattaforma crea un file temporaneo di dati storici (con estensione .FXT) contenente un numero di tick, all'interno di ciascuna candela M1, uguale al valore del suo volume.
Questi tick sono generati algoritmicamente (cioè seguendo una certa logica di tipo matematico) e la MetaTrader 4 utilizzerà questo file .FXT per effettuare una simulazione di come verosimilmente si sarebbe comportato l'EA lavorando sui dati storici in modalità Ogni Tick.
Fractal Interpolation è il nome del metodo utilizzato dal Tester della MetaTrader 4 per generare algoritmicamente i tick all'interno delle barre ad 1 minuto, conoscendo soltanto i 4 valori OHLC.
In pratica, in base ai calcoli effettuati dall'algoritmo, la MetaTrader 4 "si inventa" i tick che possono essersi verificati dentro ogni barra ad 1 minuto. Nel backtest possono quindi verificarsi situazioni ben diverse da quelle realmente accadute: ad esempio, con i tick reali il massimo è stato raggiunto prima del minimo, mentre nei tick generati dalla MetaTrader 4 il minimo viene colpito prima del massimo.
Quindi, il Tester della MetaTrader 4 utilizzerà il volume delle barre M1 per elaborare i tick generati algoritmicamente all'interno di quella barra:
> se le barre M1 hanno tutte volume uguale ad 1, ogni barra avrà soltanto 1 tick e il backtest passerà dalla Close di quella barra alla Close della barra successiva senza passare per il minimo ed il massimo di barra, che non verranno quindi mai elaborati nel backtest;
> se ogni barra M1 ha volume uguale a 2, la barra avrà soltanto 2 tick e passerà dalla Open di quella barra alla Close della stessa barra, senza passare per il minimo ed il massimo di barra;
> affinché il Tester della MetaTrader 4 tocchi con la successione di tick almeno una volta i livelli di Open, Close, High e Low della barra, è necessario che essa abbia un volume minimo di 4 tick.
OSSERVAZIONE: anche se le barre M1 vengono disegnate correttamente sul grafico con l'informazione dei valori Open High Low Close, il Tester della MetaTrader 4 in modalità Ogni Tick utilizza sempre il volume delle candele M1 per elaborare una nuova versione di dati storici su cui effettuare il test.
Inoltre, se si usa un volume di M1 uguale ad 1 o a 2, l'informazione dell'High e del Low della candela non verrà mai presa in considerazione dal Tester.
La sequenza dei tick della candela M1, con i tick generati algoritmicamente dalla MetaTrader 4, dipende dalla tipologia della candela, rialzista o ribassista, seguendo il suo movimento "ideale".
Il Tester della MetaTrader, nei 4 tick,
per una barra rialzista segue sempre la sequenza Open -> Low -> High -> Close,
per una barra ribassista segue sempre la sequenza Open -> High -> Low -> Close.
Poiché ogni timeframe superiore utilizza le candele M1 per generare i propri valori, il volume delle candele di questi timeframe è uguale alla somma del volume delle candele M1 che le formano.
Se ad esempio abbiamo 5 candele M1 con volume rispettivamente di 15, 12, 20, 18 ed 11, la candela M5 che le comprende avrà un volume uguale alla somma: 15 + 12 + 20 + 18 + 11 = 76.
Per ogni barra di un timeframe superiore ad M1, l'evoluzione dei tick generati algoritmicamente segue la sequenza dell'evoluzione dei tick nelle singole barre M1.
Ad esempio, una barra M15 ha una evoluzione in tick, nella sua formazione, che segue la sequenza di formazione delle 15 barre M1 che la costituiscono.
Quando viene eseguito un backtest/ottimizzazione, il Tester della MetaTrader 4
- prima genera un file .FXT contenente i dati storici su cui lavorare
- e poi su questo file effettua il backtest/ottimizzazione.
IMPORTANTE: quando il Tester della MetaTrader 4 deve realizzare un backtest/ottimizzazione in modalità EveryTick, effettua i calcoli relativi al trading system su ciascun tick generato algoritmicamente, per cui all'aumentare del numero di candele aumenta esponenzialmente il numero di tick su cui il Tester deve andare a lavorare, con un aumento
- delle dimensioni del file .FXT
- del tempo tecnico di elaborazione del singolo backtest.