LoslegenKostenlos loslegen

sigCrossover verwenden

Ein Long-Filter ist notwendig, aber nicht ausreichend, um in dieser Strategie einen Trade auszulösen. Sobald die Bedingung nicht mehr erfüllt ist, soll die Strategie jedoch überhaupt keine Position mehr halten. In dieser Übung implementierst du das Gegenteil der oben angegebenen Regel mit der Funktion sigCrossover().

Im Gegensatz zu sigComparison(), das immer angibt, ob eine Bedingung erfüllt ist, liefert sigCrossover() nur in dem Moment ein positives Signal, wenn das Signal zum ersten Mal auftritt, und danach nicht erneut. Das ist nützlich für ein Signal, das eine Transaktion auslösen soll, denn in den meisten Fällen möchtest du nur eine Transaktion und nicht wiederholte Ausführungen.

In diesem Fall implementierst du die Funktion sigCrossover() so, dass die SMA50 die SMA200 von oben nach unten schneidet. Du benennst dieses Signal filterexit, da es deine Position beendet, sobald der gleitende-Durchschnitts-Filter anzeigt, dass das Umfeld nicht geeignet ist, eine Position für diese Strategie zu halten.

Diese Übung ist Teil des Kurses

Finanzhandel in R

Kurs anzeigen

Anleitung zur Übung

  • Verwende add.signal(), um ein sigCrossover hinzuzufügen, bei dem die SMA50 die SMA200 von oben nach unten schneidet.
  • Benenne dieses Signal filterexit.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# Add a sigCrossover which specifies that the SMA50 is less than the SMA200 and label it filterexit
add.signal(strategy.st, name = "___",
           
           # We're interested in the relationship between the SMA50 and the SMA200
           arguments = list(columns = c("___", "___"),
                            
                            # The relationship is that the SMA50 crosses under the SMA200
                            relationship = "___"),
           
           # Label it filterexit
           label = "___")
Code bearbeiten und ausführen