Cos'è la modalità Bar Magnifier
I titolari di un account Premium possono ottenere un piazzamento degli ordini più realistico nei backtest delle loro strategie utilizzando l'opzione Bar Magnifier. Questo strumento utilizza l'osservazione intra-barra per ottenere una granularità più profonda sul movimento dei prezzi all'interno di una barra, consentendo un inserimento più preciso degli ordini. Quando viene selezionata, la modalità Bar Magnifier sostituisce le assunzioni che l'emulatore del broker deve fare sul movimento dei prezzi con i soli valori OHLC per le barre storiche.
Il timeframe intrabar utilizzato con Bar Magnifier si adatta dinamicamente al timeframe del grafico. Questa tabella elenca il timeframe intrabar utilizzato per i timeframe del grafico progressivamente più elevati:
Tabella 1. Timeframe intrabar usati
Ecco un esempio di una strategia che usa un ordine stop senza l’opzione Bar Magnifier:
//@version=5
strategy("bar_magnifier_demo", overlay = true, use_bar_magnifier = false)
if bar_index == 10381
strategy.entry("Long", strategy.long, stop = 157.0)
strategy.exit("Exit", stop = 156.0)
L’emulatore broker piazza un ordine stop sulla barra #10381 e lo esegue al prezzo di 157.0 sulla barra successiva, non appena la condizione stop = 157.0 si realizza. Questo perchè ipotizza sempre che il prezzo all’interno della barra si sia mosso dal valore di apertura, al minimo, poi al massimo ed infine alla chiusura. Dopo qualche barra (11 giorni per il timeframe corrente), si realizza la condizione per uscire dalla posizione (stop price = 156.0):
Quando è attivo Bar magnifier (parametro use_bar_magnifier = true), i prezzi di entrata ed uscita sono inalterati; tuttavia, l’uscita avviene nella stessa barra in cui si è verificata l’entrata:
//@version=5
strategy("bar_magnifier_demo", overlay = true, use_bar_magnifier = true)
if bar_index == 10381
strategy.entry("Long", strategy.long, stop = 157.0)
strategy.exit("Exit", stop = 156.0)
Se controlliamo il grafico a timeframe inferiore dello stesso simbolo (un grafico a 60 minuti, secondo la tabella dei timeframe intrabar) e troviamo l'intervallo di tempo corrispondente alla barra 10382, possiamo vedere che sul timeframe orario, dopo aver raggiunto 157,0 e aver innescato l'entrata, il prezzo scende al di sotto di 156,0, soddisfacendo la condizione di stop = 156,0:
Con l'opzione Bar Magnifier attivata, l' emulatore del broker ha accesso alle variazioni di prezzo dei timeframe inferiori durante il backtesting, rendendo il suo comportamento più simile a quello che si verificherebbe durante il test in avanti della strategia per lo stesso periodo di tempo.
L'opzione Bar Magnifier può essere attivata selezionando l'input corrispondente nella finestra “Impostazioni/Proprietà” della strategia:
Si noti che questa opzione ha una limitazione: la strategia non può richiedere più di 200.000 barre dal timeframe inferiore. Questo può accadere per i simboli con molti dati storici (dove Num of Bars on the Chart * Num of Lower Timeframe Bars per Chart Bar > 200000), i primi scambi sul grafico potrebbero non essere influenzati dall'ingrandimento delle barre. Il numero di barre, a partire dalla fine del grafico, che può essere influenzato dalla lente di ingrandimento delle barre può essere calcolato approssimativamente come segue:
last_bar_index - (200000 / ( 1 / Num of Lower Timeframe Bars per Chart Bar)
Il valore risultante sarà un'approssimazione approssimativa, poiché il numero di barre del timeframe inferiore può variare da una barra all'altra.