この記事ではTrading View独自のプログラム言語である「Pineスクリプト」を使ったインジケーターの記述例を紹介しています。オリジナルのインジケーターやストラテジー作成の参考にしてみてください。Pineスクリプトの知識がない方でもコピペするだけで使うこともできます。この記事を参考にして頂ける場合は、必ず免責事項をご確認ください。
修正移動平均線(Running Moving Average:RMA)
修正移動平均線(RMA)はMMA(Modified Moving Averageの略)などと呼ばれることもあります。
指数移動平均線(EMA)と似ており、直近の価格に重みづけされた移動平均で計算方法もよく似ています。
次項の「rma関数を使わない場合」スクリプトをEMAのスクリプトと比較してみるとわかるように、変数「alpha」の部分だけが異なります。
RMAは「alpha = 1 / y」、EMAは「alpha = 2 / (y + 1)」となっています。
修正移動平均線(RMA)の計算式
例えば、n日間の修正移動平均線を算出する場合、n日目の価格をXnとするとき以下のように計算します。
RMA = ((n – 1)× 前日のRMA + Xn)/ n
修正移動平均線(RMA)をPineスクリプトで書く
rma関数を使う場合
//rma関数を使った修正移動平均線の書き方
//@version=4
study("修正移動平均線", overlay=true)
src = input(close, title="ソース")
len = input(25, title="期間")
RMA = rma(src, len)
plot(RMA)
rma関数を使わない場合
//rma関数を使わない修正移動平均線の書き方
//@version=4
study("修正移動平均線", overlay=true)
src = input(close, title="ソース")
len = input(25, title="期間")
pine_rma(x, y) =>
alpha = 1/y
sum = 0.0
sum := na(sum[1]) ? sma(x, y) : alpha * x + (1 - alpha) * nz(sum[1])
plot(pine_rma(src, len))
Pineスクリプト入門の記事では、プログラミング初心者でも理解できるように一つづつ丁寧に解説しています。Pineスクリプトを触ったことがない方でもPineスクリプト入門#1から順にみていただければ、バックテストやインジケーターのコードも作成することができます。興味のある方は是非、他の記事もご覧ください。
アカウントを作成する
おすすめチャートツール:Trading View
- 高性能チャートツール
- オリジナルのインジケーターが作成できる
- FX、仮想通貨、株、ETF、コモディティなど国内外問わず様々な銘柄に対応
コメント