二重平滑移動平均線(DSMA)|Trading Viewインジケーター

この記事ではTrading View独自のプログラム言語である「Pineスクリプト」を使ったインジケーターの記述例を紹介しています。オリジナルのインジケーターやストラテジー作成の参考にしてみてください。Pineスクリプトの知識がない方でもコピペするだけで使うこともできます。この記事を参考にして頂ける場合は、必ず免責事項をご確認ください。

二重平滑移動平均線(DSMA)

二重平滑移動平均線(DSMA)はトレンドの方向性を確認したり、抵抗線や支持線としても機能します。単純移動平均線(SMA)よりも応答速度が速いことが特徴です。

算出に使用する期間を変えて、短期の移動平均線と長期の移動平均線を組み合わせたゴールデンクロス、デットクロスを売買指標としても利用されます。

二重平滑移動平均線の計算式

例えば、10日間の終値で算出する場合、その期間の価格をXn+Xn-1+Xn-2+…+Xn-9とするとき以下のように単純移動平均線(SMAa)を算出する。

SMAa10 = (Xn+Xn-1+Xn-2+…+Xn-9) / 10

10日の2倍の期間の単純移動平均線を算出します(SMAb)。

SMAb10 = (X2n+X2(n-1)+X2(n-2)+…+X2(n-9)) / (10 × 2)

算出した2倍の期間単純移動平均線(SMAb)の値を使って、さらに期間nの単純移動平均線を算出します(SMAc)。

SMAc10 = (SMAbn+SMAbn-1+SMAbn-2+…+SMAbn-9) / 10

単純移動平均線(SMAa)を2倍したものからSMAcを引きます。

DSMA = SMAa × 2 – SMAc

二重平滑移動平均線(DSMA)をPineスクリプトで書く

sma関数を使う場合

//sma関数を使った二重平滑移動平均線の書き方
//@version=4
study("二重平滑移動平均線", overlay=true)
src = input(close, title="ソース")
len = input(25, title="期間")
SMAa = sma(src, len)
SMAb = sma(src, len*2)
SMAc = sma(SMAb, len)
DSMA = SMAa*2-SMAc
plot(DSMA)

sma関数を使わない場合

//sma関数を使わない二重平滑移動平均線の書き方
//@version=4
study("二重平滑移動平均線", overlay=true)
src = input(close, title="ソース")
len = input(25, title="期間")
pine_sma(x, y) =>
    sum = 0.0
    for i = 0 to y - 1
        sum := sum + x[i] / y
    sum
SMAa = pine_sma(src, len)
SMAb = pine_sma(src, len*2)
SMAc = pine_sma(SMAb, len)
DSMA = SMAa*2-SMAc
plot(DSMA)

使用した関数の説明

input関数

インジケーターの入力値をダイアログから変更できるようにする関数。

今回作成したインジケーターでは単純移動平均線を算出する値のソースと期間に使用しています。

詳しくは「input関数の書き方を徹底解説!」をご覧ください。

sma関数

単純移動平均線を算出するための関数。

sma(値のソース , 期間)のように記述します。

今回作成したインジケーターのように、引数に変数を使うことも可能です。

スポンサーリンク

Pineスクリプト入門の記事では、プログラミング初心者でも理解できるように一つづつ丁寧に解説しています。Pineスクリプトを触ったことがない方でもPineスクリプト入門#1から順にみていただければ、バックテストやインジケーターのコードも作成することができます。興味のある方は是非、他の記事もご覧ください。

アカウントを作成する

おすすめチャートツールTrading View

  • 高性能チャートツール
  • オリジナルのインジケーターが作成できる
  • FX、仮想通貨、株、ETF、コモディティなど国内外問わず様々な銘柄に対応

コメント

タイトルとURLをコピーしました