2016-10-25 8 views
0

quantstratにカスタムインジケータを追加しますが、このインジケータは価格シリーズから計算されません。例:インジケータを追加する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) 

このインジケータを戦略に追加し、そこから信号を生成するにはどうすればよいですか?私が見つけたのは、指標を追加するという基本的な表記ですが、すでに計算された指標を追加することはありませんか?

# 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") 

答えて

1

私はこれは、あなたが購入葛として使用することができます1かのいずれかであなたのSMAと列を与える-1いる可能性

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") 

「ifelse」機能を使用したいですあなたの販売信号として使用されます。

関連する問題