TradingView(トレーディングビュー)に元々用意されているインジケーター「SMA(単純移動平均)」は1本の移動平均線しか引けません。
2本の移動平均線をチャート上に表示したい時はこのインジケーターを複数追加すれば可能ですが、どうせなら1つのインジケーターで設定できた方が便利ですよね。
そこで、1つのインジケーターで2本の移動平均線が同時に引けるインジケーターを自作しました。ついでにSMA/EMAの切り替えも可能にしています。
Pine言語のサンプルコード付きで公開しますので、ぜひご利用ください。
Pineスクリプトのバージョン5(v5)に対応したサンプルコードも追加しました。
移動平均線を3本まとめて表示させたい方は以下からどうぞ。

本インジケーターの概要
1つのインジケーターで2本の移動平均線をまとめて表示できます。パラメータ設定で日数や色などの変更も可能。またEMA(指数平滑移動平均)での計算に変更することもできます。

初期設定
短期MA | 終値の5日単純移動平均線(SMA) | オレンジ色 |
長期MA | 終値の75日単純移動平均線(SMA) | 緑色 |
設定変更可能なパラメータ
・計算対象の価格(終値以外に変更可能)
・各MAを計算する足数
・各MAの色
・単純移動平均線(SMA)ではなく指数平滑移動平均線(EMA)として計算


サンプルコード
以下のコードをコピペしてお使いください。
サンプルコードを元にTradingViewインジケーターを作成する手順が分からない方は、以下の記事を参考にしてください。(記事内の手順3を今回のサンプルコードに置き換えて進めてみてください)

Pine(v5)バージョン
//@version=5
indicator(title="$TTOSample_MA2", shorttitle="MA2", overlay=true)
src = input.source(close, title="計算対象の価格")
ma_short_length = input.int(5, title="短期MA 長さ", minval=1)
ma_long_length = input.int(25, title="長期MA 長さ", minval=1)
is_ema = input.bool(false, title="EMAとして計算する")
ma_short = is_ema ? ta.ema(src, ma_short_length) : ta.sma(src, ma_short_length)
ma_long = is_ema ? ta.ema(src, ma_long_length) : ta.sma(src, ma_long_length)
plot(ma_short, color=color.orange, title="短期MA")
plot(ma_long, color=color.green, title="長期MA")
Pine(v4)バージョン
//@version=4
study(title="$TTOSample_MA2", shorttitle="MA2", overlay=true)
src = input(close, type=input.source, title="計算対象の価格")
ma_short_length = input(5, title="短期MA 長さ", minval=1)
ma_long_length = input(25, title="長期MA 長さ", minval=1)
is_ema = input(false, title="EMAとして計算する")
ma_short = is_ema ? ema(src, ma_short_length) : sma(src, ma_short_length)
ma_long = is_ema ? ema(src, ma_long_length) : sma(src, ma_long_length)
plot(ma_short, color=color.orange, title="短期MA")
plot(ma_long, color=color.green, title="長期MA")
おわりに
今後も「かゆいところに手が届く」「日本語表記で分かりやすい」インジケーターのサンプルコードを色々と作ってみようと思っています。
ブログの記事更新はTwitter(@eltraders)または本ページ右から登録できる「メルマガTTO通信」でお知らせしているので、ぜひフォローorご購読よろしくお願いします。