Good Investor

現在準富裕層。高配当米国株への長期投資、為替・仮想通貨のシストレがメイン手法。経済的自由を達成する道半ばを楽しみながら投資に取り組んでいます。

TradingViewのPine Tips -複数の移動平均線の帯をトレンド方向により色付け-

本ページは自分がTradingViewのPineスクリプトを利用してインジケータ/ストラテジーを実装する際に調べたコーディングTipsです。

自身の備忘録もかねて記載していきます。

こちらは、TradingViewに関しての参考サイト集。

www.good-investor.onhydech.com

複数の移動平均線の帯をトレンド方向により色付け

文字での説明が難しいので以下の画像を見ていただければと思います。複数期間の移動平均線を用いたトレンド把握というのは一般的な手法ですし、利用される人も多いとは思います。

f:id:hydech:20190331115918p:plain
移動平均線によるトレンド把握

短期線が長期線を上回る場合は上昇トレンド、短期線が長期線を下回る場合は下降トレンド。これを視覚的に分かり易いように描画するサンプルです。上記図の例では、短・中・長期の移動平均線が描画されており、中・長期線の間を塗りつぶしてトレンドの把握がし易いようになっています。(緑色で塗りつぶし:上昇トレンド = 中期移動平均線 > 長期移動平均線、赤色で塗りつぶし:下降トレンド = 中期移動平均線 < 長期移動平均線)

なお、青線:短期線、緑線:中期線、赤線:長期線 です。

線と線の間を塗りつぶしたいというシーンにも利用できるコードかと思います。

// 移動平均線の準備
short_sma    = sma(close, 7)
middle_sma = sma(close, 20)
long_sma     = sma(close, 200)

// 移動平均線描画
p_short_sma    = plot(short_sma,  linewidth=1, color=blue, style=line)
p_middle_sma = plot(middle_sma, linewidth=1, color=lime, style=line)
p_long_sma     = plot(long_sma,   linewidth=1, color=red,  style=line)

// 中期移動平均線が長期移動平均線を上回る場合は、"lime"、逆の場合は"red"と色を指定
spanColor = middle_sma >= long_sma ? lime : red
// 移動平均線の間を塗りつぶし
fill( p_middle_sma, p_long_sma, color=spanColor, transp=85 )