【Pine】インジケータ使用数節約で一つにまとめる オシレータ系も一緒にした
インジケータ使用数を節約するために、以下のインジを一つにまとめました
移動平均線8本
ボリンジャーバンド3本
パラボリック
一目均衡表
ピボッド
VWAP
GMMA
MACD
RSI
ストキャスティクス
計、10種類、19インジケータ分
全部表示するとこんな感じ
インジケータを一つにまとめると、ごちゃごちゃして
見にくくなるのが難点です。
だからといって、インジケータを非表示すると、
まとめている全てのインジケータが消えるし。
GMMAだけ消したい、
移動平均線は表示させておきたい、などと思ったので、
描くインジケータに表示・非表示出来る設定欄を作りました。
メイン画面に加えて、オシレータ系もまとめられるようになった
Pineの仕様が変更され、force_overlay = trueを追加することで、
ひとつのインジケータで、
メイン画面とオシレータ画面2つに表示できるようになりました。
参考:https://www.tradingview.com/blog/ja/display-visuals-on-chart-from-pane-scripts-45290/
この仕様変更によって、オシレータ系インジも
まとめることができるようになりました。
グラフが重なるという問題
しかし、複数のオシレータをまとめても、
画面のスケールは一つしかないので、
重なって表示されてしまします。
今回追加した、RSIとストキャスティクスはともに0から100の値に
収まるインジケータなので、インジケータの値にゲタをはかせることで
表示位置を固定化しました。
上からストキャスティクス、RSI、MACDと表示の順番を決めました。
RSIを表示せずに、ストキャスティクスとMACDを表示した時は、
ストキャスティクスとMACDの間が空いてしまうので
条件分けでRSI非表示時のゲタの値を変更することで対応しました。
値がわからないという問題
ゲタをはかせることで、インジケータは重ならなくなりましたが
値が本来の値とは異なってしまう為、
現在値をラベルで表示するようにしました。
MACDだけ、重なってしまうという問題
MACDは、RSIやストキャスティクスと違い、
上限値、下限値が決まっていません。
なので、MACDをそのままプロットしたら、
RSIやストキャスティクスと重なるケースが出てきてしまいます。
思いついたのは、MACDを縮尺表示することです。
直近からある期間で、最大高さ・深さを調べて
その値を±50になるようにして
全体を縮尺表示するようにしました。
これでMACDが他のオシレータと重なることはなくなりました。
でも、デメリットは、検索範囲を手動で設定する必要があること。
もし、MACDが±50に貼り付いて表示される箇所があったら、
検索範囲を大きくする必要があります。
かと言って、最初から大きな値を入れておくと
直近のMACDのグラフが小さく表示されて見にくい場合が出てきます。
今の所、他のやり方が思いつきません。
後日追記:
普段あまり使わないインジを減らしたバージョンを作りました
こちらは参考にスクリプト付きで公開
減らしたのは、GMMA、VWAP、ピボット、一目均衡表


コメント