TradingViewのチャートで、特定の条件を満たしたローソク足にサインやマークを表示させて見やすくしたいような場合、plotやplotshapeといった関数も使えますが、plotchar関数なら文字や記号、絵文字といったものが表示しやすくて便利です。
本記事ではplotchar関数の概要とパラメータ解説をまとめました。
plotcharで文字や記号、絵文字を表示
plotcharは、特定の足にテキストを表示できる関数です。label関数と似ていますが、こちらは表示可能な上限数が無いため、たくさん表示させたい場合に使いやすいです。
またplotshapeなど他の関数でもテキストを表示できますが、plotcharは「1文字だけ」の表示を扱えるという点が特徴です。(追加のテキストも表示可能)
以下は「終値が前日比5%以上になった足」の上にマークを表示するサンプルコードになります。
//@version=6
indicator("TTO_PineSample_plotchar", overlay=true)
plotchar(close / close[1] >= 1.05, char="●", color=color.yellow)
plot関数の場合は「close / close[1] >= 1.05 ? high*1.02 : na」といった感じで書いていましたが、plotcharは初期設定だと自動的に足の上にマークが表示されるので、マークを出したい足の条件式(close / close[1] >= 1.05)のみを書けばOKです。
チャートに設定すると、以下のように黄色の●マークが表示されます。
また、以下のようにcharの部分に絵文字を設定することもできます。チャートに絵文字が表示できるとだいぶん雰囲気が変わって面白いです。
//@version=6
indicator("TTO_PineSample_plotchar", overlay=true)
plotchar(close / close[1] >= 1.05, char="😄")
ちなみにWindowsのキーボードで絵文字を入力するには、「Windowsキー」+「.(ピリオド)」で絵文字パレットが表示されるので、そこから選べばOKです。
さらにplotchar関数でも、plotshapeと同様に補足テキストを表示できます。以下は絵文字の上に「買い」というテキストを表示させています。
//@version=6
indicator("TTO_PineSample_plotchar", overlay=true)
plotchar(close / close[1] >= 1.05, char="😄", text="買い", textcolor=color.white)
その他のパラメータまとめ
他にもplotchar関数では設定可能なパラメータ(引数)が多数用意されています。plot関数やplotshape関数などと同じものも多いですが、以下にまとめます。
location
図形やマークを足のどの位置に出すかを指定できます。
location.abovebar:足の上(初期値)
location.belowbar:足の下
location.top:チャートの上端
location.bottom:チャートの下端
location.absolute:任意の価格
location.belowbarを指定すると、足の下に表示。
location.topとlocation.bottomは、その足のチャート上部と下部、同じ縦位置にマークが表示されます。以下は陽線の足なら上端に太陽(☀️)の絵文字を、陰線の足なら下端に雨(☔)の絵文字を、それぞれ表示するサンプルコードです。
//@version=6
indicator("TTO_PineSample_plotchar", overlay=true)
plotchar(open < close, char="☀️", location=location.top)
plotchar(open > close, char="☔", location=location.bottom)
またlocation.absoluteに設定すると、plotshape関数の1つ目の引数で指定した価格に表示されます。(plot関数と同じような動き)
text
図形と一緒に表示するテキストです。他の関数と同様、「\n」を入れると改行してくれます。
color / textcolor
colorがcharで指定した1文字の色、textcolorが添え字テキストの色です。
※charを絵文字した場合は、colorの設定は無効になります(絵文字そのものの色になる)
size
1文字の大きさを以下から設定できます。
size.auto:自動(初期値)
size.tiny:とても小さい
size.small:小さい
size.normal:普通
size.large:大きい
size.huge:とても大きい
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」を指定すれば、別々に描画することができます。
おわりに
以上、plotchar関数の表示スタイルや設定可能なパラメータについて紹介しました。
plotcharはplotshapeとかなり似ている関数なので、セットで覚えておくのが良いと思います。
図形やマーク、矢印、吹き出しなどを使いたい場合はplotshapeを、絵文字を使いたい場合はplotcharを、と使い分ける感じですね。plotshapeについて知りたい方は以下も参考にどうぞ。