Zacznij terazZacznij za darmo

Używanie sigThreshold – I

W kolejnych dwóch ćwiczeniach skupisz się na sygnale sigThreshold. Jest on używany głównie do porównywania wartości wskaźnika ze stałą liczbą – co przydaje się szczególnie w przypadku ograniczonych oscylatorów lub kroczących wyników statystycznych (na przykład w strategiach, które otwierają długą pozycję, gdy stosunek średniej do odchylenia standardowego wynosi -2, lub odwrotnie). Sygnały sigComparison i sigCrossover dotyczą wartości zwykle zbliżonych do cen rynkowych, natomiast sigThreshold jest przeznaczony właśnie do obsługi wskaźników, których wartości wykraczają poza ten zakres.

Funkcja sigThreshold() przyjmuje argument cross, który określa, czy sygnał ma działać podobnie do sigComparison (cross = FALSE), czy do sigCrossover (cross = TRUE). W tym ćwiczeniu zaimplementujesz wariant sigThreshold działający analogicznie do sigComparison.

Twoim zadaniem będzie zaimplementowanie sygnału sigThreshold sprawdzającego, czy wartość DVO_2_126 jest niższa niż 20. Ten sygnał będzie jednym z dwóch warunków, które muszą być spełnione, aby strategia otworzyła długą pozycję.

To ćwiczenie jest częścią kursu

Handel finansowy w R

Zobacz kurs

Instrukcje do ćwiczenia

  • Użyj funkcji add.signal(), aby dodać sygnał sigThreshold sprawdzający, czy wartość DVO_2_126 jest niższa niż 20.
  • Ustaw argument cross na FALSE.
  • Nadaj temu sygnałowi etykietę longthreshold.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# Implement a sigThreshold which specifies that DVO_2_126 must be less than 20, label it longthreshold
add.signal(strategy.st, name = "___", 
           
           # Use the DVO_2_126 column
           arguments = list(column = "___", 
                            
                            # The threshold is 20
                            threshold = ___, 
                            
                            # We want the oscillator to be under this value
                            relationship = "___", 
                            
                            # We're interested in every instance that the oscillator is less than 20
                            cross = ___), 
           
           # Label it longthreshold
           label = "___")
Edytuj i uruchom kod