2016-10-25 3 views
0

Ich möchte benutzerdefinierte Indikator in quantstrat hinzufügen, aber dieser Indikator ist nicht aus Preis-Serie berechnet. Zum Beispiel:Hinzufügen Indikator Quantstrat R

# Get SPY from Yahoo Finance 
getSymbols("SPY", from = "2016-01-01", to = "2016-01-31", src = "yahoo", adjust = TRUE) 
SPY <- SPY[,1:4] 

#Create Indicator 
set.seed(123) 
indicator <- sample(seq(from = 0, to = 100, by = 5), size = nrow(SPY), replace = TRUE) 

Wie kann ich diesen Indikator zu meiner Strategie hinzufügen und Signale daraus generieren? Alles, was ich gefunden habe, ist diese Grundnotation des Hinzufügens von Indikatoren, aber ist es da, um bereits berechnete Indikatoren hinzuzufügen?

# Add a 5-day simple moving average indicator to your strategy 
add.indicator(strategy = strategy.st, 
       # Add the SMA function 
       name = "SMA", 
       # Create a lookback period 
       arguments = list(x = quote(Cl(mktdata)), n = 5), 
       # Label your indicator SMA5 
       label = "SMA5") 

Antwort

1

Ich mag die „ifelse“ -Funktion Diese

Rule1<-function(price,SMA,...) 
    {ifelse(price>SMA,1,-1)} 
add.indicator(strategy=strategyname,name="SMA", 
      arguments=list(x=quote(mktdata$Close),n=5),label="SMA40") 
add.indicator(strategyname, name="Rule1", arguments=list(price = quote(mktdata$Close), SMA=quote(mktdata$SMA.SMA5)), label="Rule1Signal") 

verwenden geben Sie die SMA und eine Spalte mit entweder eine 1, die Sie als Kauf singal oder ein verwenden könnte -1 die geeignet sind, als Ihr Verkaufssignal verwendet werden.