Cos'è la modalità Bar Magnifier

Gli abbonati Premium hanno ora la possibilità di ottenere risultati più realistici durante il backtest automatico delle proprie strategie grazie all’opzione Bar Magnifier, che consente di analizzare nel dettaglio i movimenti interni di una barra e garantire un’esecuzione più fedele degli ordini. Quando questa opzione è attiva, vengono meno le supposizioni che l’emulatore broker è costretto a fare in condizioni normali, ovvero basandosi solo sui valori OHLC delle barre storiche.

Il timeframe usato da Bar magnifier si adegua dinamicamente in base al timeframe del grafico. Questa tabella elenca il timeframe adoperato in corrispondenza di quello del grafico:

Timeframe del grafico, T

Timeframe per Bar Magnifier

1S < T < 30S

1S

30S <= T < 5

5S

5 <= T < 30

15S

30 <= T < 60

1

60 <= T < 240

5

240 <= T < D

15

D <= T < W

60

W <= T < 2W

120

T >= 2W

D

Tabella 1. Timeframe usati da Bar Magnifier

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)

Controllando il timeframe inferiore per lo stesso simbolo (in questo caso un grafico orario, come stabilito dalla tabella qui sopra) si può notare che i movimenti del giorno hanno portato il prezzo a toccare la condizione di stop = 156.0 poco dopo la condizione di entrata a 157.0:

Bar Magnifier permette quindi all’emulatore broker di accedere ai movimenti di prezzo verificatisi nei timeframe inferiori, rendendo il tutto più affidabile e veritiero.

Bar Magnifier può essere attivato nella finestra delle “Impostazioni/Proprietà” della strategia:

Tieni a mente che questa opzione ha una limitazione, ovvero che la strategia non può richiedere più di 100.000 barre dai timeframe minori. Per i simboli con uno storico ampio (dove Num of Bars on the Chart * Num of Lower Timeframe Bars per Chart Bar > 100000), le prime operazioni potrebbero non essere influenzate da Bar magnifier. Il numero di barre, a partire dalla fine del grafico, che può essere influenzato da Bar magnifier si calcola approssimativamente con la seguente formula:

last_bar_index - (100000 / ( 1 / Num of Lower Timeframe Bars per Chart Bar)