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

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

【TradingViewの使い方】PineScriptでインジケータ画面へのplotshapeの表示位置設定

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

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

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


www.good-investor.onhydech.com

インジケータ画面へのplotshapeの表示位置設定

f:id:hydech:20190501012739p:plain

ローソク足の描画画面に対しては、上記画像のように図形をローソク足の位置に合わせて描画することができます。

study('plotshape example 2', overlay=true)
data = close >= open
plotshape(data, style=shape.triangleup,
          location=location.abovebar, color=green)
plotshape(not data, style=shape.triangledown,
          location=location.belowbar, color=red)

plotshape、plotchar、plotarrowを用いた図形の描画 - TradingView Wiki

一方で、RSIやストキャスティクスなどのインジケータを表示している描画画面に上記と同じコードでは上手く表示がされません。「location」の基準がローソク足の位置からの相対的な設定になるからと思われます。

ということで、ローソク足がない描画画面への図形プロットには「location.absolute」オプションを利用します。これは、チャート上の任意の位置に図形を表示するオプションとなります。もう少し説明しますと、Y軸の値を渡すことで、表示位置を調整できます。

コードを見ていきましょう。コメントにも記載してしまいましたが、ポイントは以下です。

  • 描画条件の設定。「absolute」オプションを利用する場合は、描画条件を示す変数にY軸の値を設定する必要がある。
  • 表示したいときは、0~100の値を入力。これが描画位置になります。表示したくない場合は"na"とします。false/true/nullの場合は図形が描画されますのでご注意を。
// 描画条件の設定。「absolute」オプションを利用する場合は、flagにY軸の値を設定する必要がある// 表示したいときは、0100の値を入力。これが描画位置になります。例の場合は"0.0"ですので描画画面の下部に表示されます。
// 表示したくない場合は"na"とします。false/true/nullの場合は図形が描画されますのでご注意を。
flag = ( close >= open ) ? 0.0 : na
plotshape(flag , style=shape.arrowup, location=location.absolute, text="TEST")

上記サンプルとは異なりますが、同じロジックで描画すると以下のようになります。買いポイント時に"0.0"の位置に"UP"と表示、売りポイント時に"100.0"の位置に"DOWN"と表示しているものです。

f:id:hydech:20190501013939p:plain
描画例