Czym jest tryb backtesting na Bar Magnifier?
Subskrybenci Premium mogą uzyskać bardziej realistyczne wypełnienia zamówień w swoich testach historycznych strategii, korzystając z opcji Bar Magnifier. To narzędzie wykorzystuje kontrolę intrabar w celu uzyskania głębszej szczegółowości ruchu ceny w obrębie słupka, co pozwala na bardziej precyzyjne wypełnianie zleceń. Po wybraniu tryb Bar Magnifier zastępuje założenia , które emulator brokera musi przyjąć w przypadku ruchu ceny dla słupków historycznych tylko wartościami OHLC.
Ramy czasowe intrabar używane z lupą Bar Magnifier dynamicznie dopasowują się do ram czasowych wykresu. Poniższa tabela przedstawia ramy czasowe intrabar używane do coraz wyższych ram czasowych wykresu:
Tabela 1. Zastosowane ramy czasowe intrabar
Oto przykład strategii, która wykorzystuje zlecenie 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 tworzy zlecenie stop na słupku #10381 i wypełnia zlecenie z ceną 157,0 na następnym słupku, gdy tylko spełniony zostanie warunek stop = 157,0. Wewnątrz samego słupka cena przesuwa się od otwarcia do minimum, następnie do maksimum (otwarcie pozycji) i zamknięcia. Po kilku słupkach (11 dni dla aktualnego przedziału czasowego) wyzwalany jest warunek wyjścia z pozycji z ceną stop = 156,0:
Gdy funkcja uszczegółowienia słupka jest włączona (parametr use_bar_magnifier = true), cena wejścia i wyjścia z pozycji nie ulega zmianie, jednak wyjście z pozycji następuje w obrębie tego samego słupka, na którym znajduje się wejście do pozycji:
//@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śli wyświetlisz wykres z niższym interwałem czasowym (60-minutowy interwał wg Tabeli 1) dla tego instrumentu przez czas odpowiadający słupkowi 10382, widać, że cena zmienia się na interwale godzinowym, spełniając warunek stop = 156,0:
W sekcji historycznej emulator strategii uzyskuje dostęp do zmian cen w niższych interwałach, tak jakby działo się to w czasie rzeczywistym dla bieżącego słupka podczas testowania strategii.
Funkcję można włączyć i wyłączyć za pomocą odpowiedniego pola wyboru w oknie parametrów strategii:
Zauważ, że ta opcja ma ograniczenie: strategia może zażądać nie więcej niż 100 000 słupków z dolnego przedziału czasowego. Może to dotyczyć symboli z dużą ilością danych historycznych (gdzie Liczba Śłupków Na Wykresie * Liczba Słupków Niższych Ram zasowych Na Słupek Wykresu > 100000), wskaźnik powiększający słupka może nie mieć wpływu na pierwsze transakcje na wykresie. Liczbę słupków, począwszy od końca wykresu, na które może mieć wpływ lupa słupków, można z grubsza obliczyć jako:
last_bar_index - (100000 / ( 1 / Num of Lower Timeframe Bars per Chart Bar)
Otrzymana wartość będzie przybliżeniem, ponieważ liczba słupków niższych ram czasowych może się różnić w z słupka na słupek.