【PineScript】plotarrow関数で任意の長さの矢印を表示するサンプルコードまとめ

TradingViewのチャートで特定の足にサインやマークを表示する方法はいくつかありますが、ちょっと面白い動作をするplotarrow関数をご紹介します。

足に上下の矢印を表示できるのですが、値に応じて矢印の長さを変えられるという特徴があります。こんな感じ。

本記事ではplotarrow関数の概要とパラメータについてまとめました。

目次

plotarrowで可変長の矢印を表示

plotarrow関数は、足の上下に縦方向の矢印を表示できます。矢印の表示はplotshapeやlabelなどでも出来ますが、この関数の特徴は「指定した値の大きさ=矢印の長さ」になるという点です。

具体的な例を1つご紹介すると、以下は「前日からの終値変動率」をplotarrow関数であらわしたものです。

//@version=6
indicator("TTO_PineSample_plotarrow", overlay=true)

plotarrow(close - close[1])

このサンプルコードは、以下のような表示になります。終値が前日から値上がりした足には緑の上矢印が、値下がりした足には赤の下矢印が、それぞれ表示されています。また値上がり幅が大きかった足ほど矢印も長くなっていることを確認してください。

矢印の大きさを調整できることで、設定する値次第で「より注目すべき足」を可視化しやすくなります。例えば以下はRSIの値を矢印で可視化した例です。RSIの値は0~100なので、50を引くことで「-50 ~ +50」の範囲にして、矢印の表示を調整しています。

//@version=6
indicator("TTO_PineSample_plotarrow", overlay=true)

rsi_value = ta.rsi(close, 14)

plotarrow(rsi_value - 50)

利用可能なパラメータまとめ

ploarrowで設定可能なパラメータ(引数)の一覧です。plot関数やplotshape関数などと同じものも多いですが、plotarrow関数だけにしかないパラメータもあります。

colorup, colordown

上下の矢印の色を指定できます。以下は「前日からの終値変動率」を利用した最初のサンプルコードで、上向き矢印をオレンジ色に、下向き矢印をライム色に、それぞれ設定した例です。

//@version=6
indicator("TTO_PineSample_plotarrow", overlay=true)

plotarrow(close - close[1], colorup=color.orange, colordown=color.lime)

minheight, maxheight

矢印の長さの最小値(minheight)と最大値(maxheight)を指定できます。

初期設定では最小値が5px、最大値が100pxとなっており、この範囲で矢印の長さが調整されるようになっています。以下は上のサンプルコードを「最小値20px, 最大値60px」にした例です。矢印の長さが調整されている様子が確認できます。

//@version=6
indicator("TTO_PineSample_plotarrow", overlay=true)

plotarrow(close - close[1], colorup=color.orange, colordown=color.lime, minheight=20, maxheight=60)

offset

グラフを丸ごと左や右にずらします。正の値で右に、負の値で左に、指定値の足数分ずれます。

一目均衡表の先行ライン/遅行ラインで利用されることをイメージすると、分かりやすいかもしれません。

editable

初期値はtrueですが、falseにするとインジケーターのパラメータ画面でスタイル変更ができないように制御できます。

show_last

通常plot関数はチャート上の全ローソク足が対象にグラフ表示されますが、show_lastに数値を設定すると、最終足から設定足数遡った部分だけのグラフになります。

display

各足のプロット値をどこに表示するか制御できます。初期値はdisplay.allで全ての場所に表示されますが、以下を指定することで指定の場所にのみ表示されるようになります。

display.status_line:ステータスライン
display.price_scale:価格スケール
display.pane:ペイン
display.data_window:データウィンドウ
display.all:すべてに表示
display.none:どこにも表示しない

これらの値は加算や減算での設定も可能です。

(例) ステータスラインと価格スケールに表示:display.status_line + display.price_scale ペイン以外すべてに表示:display.all – display.pane

format

プロット値のフォーマットを指定できます。以下の設定が可能で、初期値はindicator関数のformatパラメータと同じになります。

format.price:価格
format.percent:パーセント値
format.volume:出来高

precision

パラメータラインにおける小数点以下の表示桁数を設定できます。「2」と設定すれば小数点2桁までの表示になります。

ちなみにindicator関数でも同様のパラメータがあるので、プログラム内の全グラフを同じ表示桁数にしたい場合は、そちらで設定した方が良いです。

force_overlay(new!)

こちらは最近追加された便利なパラメータです。以前は不可能だった、1つのプログラムでの「チャート上のグラフ」と「オシレーターのグラフ」の同時描画が可能になっています。

indicator関数のパラメータ「overlay=true」を削除してオシレーター用プログラムとして作成したうえで、チャート上に表示したいグラフのplot関数に「force_overlay=true」を指定すれば、別々に描画することができます。

おわりに

以上、plotarrow関数の表示スタイルや設定可能なパラメータについて紹介しました。

矢印限定の表示という特殊な描画系関数ですが、矢印の長さが指定できるのはこれだけなので、場合によっては使い勝手が良いかなと思います。

ぜひ、活用してみてください。

さらにTradingView/PineScriptを
使いこなしたい方へ

チャート分析に便利なプログラム、
銘柄スクリーニング、
トレードルールの検証・・

TradingViewを日本株投資に
フル活用する方法、教えます。

全10種類のサンプルプログラムもプレゼント中:

  • ・損切ライン自動表示
  • ・トレンドの”見える化”
  • ・チャートの 「山」と「谷」
  • ・移動平均線ゴールデンクロスなどのトレードルール検証
目次