2

R の銘柄記号に新しいカスタム TA インジケーターを作成したいのですが、SQL 条件付き戦略を R の自己定義関数に変換し、それを R の ChartSeries に追加する方法がわかりません。

質問は、説明として次のコードにリストされています。

library("quantmod")
library("FinancialInstrument")
library("PerformanceAnalytics")
library("TTR")


stock <- getSymbols("002457.SZ",auto.assign=FALSE,from="2012-11-26",to="2014-01-30")   
head(stock)

chartSeries(stock, theme = "white", subset = "2013-07-01/2014-01-30",TA = "addSMA(n=5,col=\"gray\");addSMA(n=10,col=\"yellow\");
            addSMA(n=20,col=\"pink\");addSMA(n=30,col=\"green\");addSMA(n=60,col=\"blue\");addVo()")

質問: 以下のコードを書き直して、R で関数として使用できるようにするにはどうすればよいですか?

#Signal Design
#Today's volume is the lowset during the last 20 trading days
lowvolume <- VOL<=LLV(VOL,20);

#seveal moving average lines stick together
X1:=ABS(MA(C,10)/MA(C,20)-1)<0.01;
X2:=ABS(MA(C,5)/MA(C,10)-1)<0.01;
X3:=ABS(MA(C,5)/MA(C,20)-1)<0.01;

#If the follwing condition is satisfied, then the signal appears
MA(C,5)>REF(MA(C,5),1) AND X1 AND X2 AND X3 AND lowvolume;

#Convert the above SQL code into the following R custom function
VOLINE <- function(x) {

    }

#Create a new TA function for the chartseries and then add it up.
addVoline <- newTA(FUN=VOLINE,
                  + preFUN=Cl,
                  + col=c(rep(3,6),
                          + rep(”#333333”,6)),
                                + legend=”VOLINE”)
4

2 に答える 2

0

関数をsqldfパッケージsqldf()のラッパーとして使用します。への引数は、データを含むデータ フレームの select ステートメントになります。sqldf()

これに関する優れたチュートリアルは、Burns Statisticsにあります。

于 2014-02-04T20:58:30.153 に答える