Czym jest tryb backtestingu Bar Magnifier

Możesz uzyskać bardziej realistyczne realizacje zleceń w backtestingu swojej strategii, korzystając z opcji „Bar Magnifier”. To narzędzie wykorzystuje analizę wewnątrzświecową, aby dać Ci bardziej szczegółowy widok ruchu ceny wewnątrz świecy i umożliwić dokładniejsze realizacje zleceń. 

Po włączeniu trybu Bar Magnifier emulator brokera używa wyłącznie wartości OHLC dla historycznych świec, zamiast zakładać, w jaki sposób cena się poruszała. 

Interwał wewnątrzświecowy używany z Bar Magnifier jest dynamicznie dopasowywany do interwału wykresu. W poniższej tabeli znajdują się interwały wewnątrzświecowe używane dla kolejnych, coraz wyższych interwałów wykresu. 

Interwał wykresu, większy lub równy T >=

Używany interwał wewnątrzświecowy 

1S

1S

30S

5S

1

10S

5

30S

10

1

15

2

30

5

60

10

240

30

1D60
3D240
WD

Przykład strategii korzystającej ze zlecenia stop bez użycia opcji 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)

Emulator brokera umieszcza zlecenie stop na świecy nr 10 381 i realizuje zlecenie z ceną 157,0 na następnej świecy, gdy tylko spełniony zostanie warunek stop = 157,0. Emulator zakłada, że wewnątrz świecy cena przechodzi od „otwarcia” do „minimum”, następnie do „maksimum” (co aktywuje wejście), a potem do „zamknięcia”. Po kilku świecach (11 dni dla bieżącego interwału) spełniony zostaje warunek zamknięcia pozycji po cenie stop = 156,0. 

Po włączeniu Bar Magnifier (parametr use_bar_magnifier = true) ceny wejścia i wyjścia pozostają niezmienione. Jednak zamknięcie pozycji następuje w tej samej świecy, w której nastąpiło wejście.

//@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)

Jeżeli sprawdzimy niższy interwał wykresu dla tego samego symbolu (wykres 60-minutowy, zgodnie z tabelą interwałów wewnątrzświecowych) i znajdziemy zakres czasowy odpowiadający świecy 10 382, zobaczymy, że na interwale godzinowym po osiągnięciu 157,0 i aktywacji wejścia cena spada poniżej 156,0, spełniając warunek stop = 156,0. 

Dzięki włączonemu Bar Magnifier emulator brokera uzyskuje dostęp do zmian cen z niższych interwałów podczas backtestingu, co sprawia, że jego działanie jest bardziej zbliżone do tego, co wydarzyłoby się podczas forward testingu strategii w tym samym okresie. 

Aby włączyć opcję Bar Magnifier, należy przełączyć odpowiednie ustawienie w oknie „Settings/Properties” strategii. 

! Uwaga: Strategia nie może żądać więcej niż 200 000 świec z niższego interwału. 

Dla symboli z dużą ilością danych historycznych (gdzie Liczba świec na wykresie × Liczba świec z niższego interwału na jedną świecę wykresu > 200 000) pierwsze transakcje na wykresie mogą nie być objęte działaniem Bar Magnifier. 

Liczbę świec od końca wykresu, które mogą być objęte działaniem Bar Magnifier, można w przybliżeniu obliczyć za pomocą następującego wzoru: 

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

Otrzymana wartość będzie jedynie przybliżeniem, ponieważ liczba świec z niższego interwału może się różnić w zależności od świecy. 

Także przeczytaj: