
この記事ではTrading View独自のプログラム言語である「Pineスクリプト」を使ったインジケーターの記述例を紹介しています。オリジナルのインジケーターやストラテジー作成の参考にしてみてください。Pineスクリプトの知識がない方でもコピペするだけで使うこともできます。この記事を参考にして頂ける場合は、必ず免責事項をご確認ください。
指数移動平均線(EMA)
使用する価格が過去に遡るにつれ、重みを指数関数的に減少させて算出する移動平均。つまり、単純移動平均線よりも直近の値が重視されるため、値動きに対して反応が早い。
算出に使用する期間を変えて、短期の単純移動平均線と長期の単純移動平均線を組み合わせたゴールデンクロス、デットクロスを売買指標としても利用されます。
指数移動平均線の計算式
計算に使用する直近の期間をn、その期間の価格をX1+X2+X3+…+Xnとするときの指数移動平均線を算出する。算出した指数移動平均線はCとする。期間nは使用する時間足のローソク足一本分に相当する。価格は一般的に終値を用いるが、Pineスクリプトでは終値以外にも始値、高値、安値なども選択できる。
n=1の計算:EMAn=1 = (X1+X2+X3+…+Xn)/ n
n=2以降の計算:EMA n≧2= Cn-1 + (Xn – Cn-1)× 2 / (n + 1)
指数移動平均線(EMA)をPineスクリプトで書く
ema関数を使う場合
//ema関数を使った指数移動平均線の書き方
//@version=4
study("指数移動平均線", overlay=true)
src = input(close, title="ソース")
len = input(25, title="期間")
EMA = ema(src, len)
plot(EMA)
ema関数を使わない場合
//ema関数を使わない指数移動平均線の書き方
//@version=4
study("指数移動平均線", overlay=true)
src = input(close, title="ソース")
len = input(25, title="期間")
pine_ema(x, y) =>
alpha = 2 / (y + 1)
sum = 0.0
sum := na(sum[1]) ? sma(x, y) : alpha * x + (1 - alpha) * nz(sum[1])
plot(pine_ema(src, len))
Pineスクリプト入門の記事では、プログラミング初心者でも理解できるように一つづつ丁寧に解説しています。Pineスクリプトを触ったことがない方でもPineスクリプト入門#1から順にみていただければ、バックテストやインジケーターのコードも作成することができます。興味のある方は是非、他の記事もご覧ください。
アカウントを作成する
おすすめチャートツール:Trading View
- 高性能チャートツール
- オリジナルのインジケーターが作成できる
- FX、仮想通貨、株、ETF、コモディティなど国内外問わず様々な銘柄に対応
コメント