Problem z alertem "Once Per Bar"

Alerty na wskaźnikach z częstotliwością inną niż Once Per Bar Close (takie jak Once, Once Per Minute i Once Per Bar) mogą być wyzwalane w trakcie budowania świecy. Ponieważ wartości HLC (High, Low, Close) zmieniają się w tym procesie, zmieniają się również wartości wskaźników, które zależą od HLC. W rezultacie czas, w którym warunek wyzwalający jest spełniony na wykresie, nie zawsze pokrywa się z czasem faktycznego wyzwolenia alertu.

Przykłady dwóch typowych przypadków:

  • Alert został wyzwolony, ale warunek nie został spełniony na wykresie. 
  • Alert został wyzwolony później niż moment spełnienia warunku na wykresie 
1) Alert został wyzwolony, ale warunek nie został spełniony na wykresie 

Zrzuty ekranu poniżej przedstawiają zmiany HLC i RSI podczas budowy świecy od godziny 10:00 w trybie odtwarzania (replay mode). Na pierwszym zrzucie widać, że w pewnym momencie wartość RSI spadła poniżej poziomu 30 (czyli nastąpiło przecięcie poziomu 30).

Na drugim zrzucie widać jednak, że w momencie zamknięcia świecy wartość RSI wzrosła powyżej poziomu 30 (czyli przecięcie poziomu 30 już nie występuje).

Z tego wynika, że alert z warunkiem RSI Crossing 30 zostałby wyzwolony podczas budowy świecy od godziny 10:00, mimo że w momencie jej zamknięcia może się wydawać, że nie powinien zostać wyzwolony.

2) Alert został wyzwolony później niż moment spełnienia warunku na wykresie 

Zrzuty ekranu poniżej pokazują zmiany HLC oraz wartości dolnego pasma Bollingera (BB Lower Band) podczas budowy świecy od godziny 02:00 w trybie odtwarzania świec, a także poziom, na którym wartość dolnego pasma i knot świecy się przecinają (68840, czarna przerywana linia).

Na pierwszym zrzucie widać, że w trakcie budowy świecy wartość zamknięcia (Close) znajdowała się poniżej poziomu 68840, a wartość wskaźnika była niższa niż wartość zamknięcia. Jednak świeca i wskaźnik nie przecinały się na poziomie 68840.

Na drugim zrzucie widać, że w momencie zamknięcia świecy wartość zamknięcia wzrosła powyżej poziomu 68840. Wartość wskaźnika również wzrosła, ale ponieważ wartość minimalna (Low) pozostała niezmieniona (może jedynie spadać podczas budowy świecy), wskaźnik i knot przecinają się na poziomie 68840.

Należy zauważyć, że przecięcie nie nastąpiło w momencie, gdy cena spadła do poziomu 68840, lecz w momencie, gdy wartość wskaźnika wzrosła do tego poziomu.

Zatem alert z warunkiem BTCUSD Crossing BB LowerBand zostałby wyzwolony w trakcie budowy świecy dokładnie w momencie, gdy zarówno cena, jak i wartość wskaźnika zaczęły rosnąć. Jednak po zamknięciu świecy może się wydawać, że wyzwolenie powinno nastąpić wcześniej (tj. w momencie, gdy cena spadła do poziomu 68840).