2016-10-25 7 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

Я хотел бы использовать функцию «IfElse»

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

Это даст вам СВА и колонки либо с 1, который вы могли бы использовать в качестве выкупа Singal или -1, которые могли бы быть использованным в качестве вашего сигнала продажи.