グドイベ!投資や資産形成を中心にライフハックを目指すブログ

グドイベ!(Good Investor!Good Event!)なんとか準富裕層へ到達。長期目線では米国株式を中心にインデックスを積立中、中短期ではシストレの売買で資産を積み上げ、長期投資の原資を増やす作戦。仮想通貨もウォッチ中。経済的自由を達成する道半ばを楽しみながら投資に取り組んでいます。ブログ記事は興味があるもの多数につき多岐にわたります。

【TradingViewの使い方】PineScriptで複数の移動平均線の帯をトレンド方向により色付け

本ページは自分が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 )