常にゼロラインが中心にくるMACDの作成。

今日は、ゼロラインが常に中心にくるオシレータについて考えます。下図は、期間設定の異なる2種のMACDを何も考えずに重ね合わせたものです。MetaTrader ではオートスケールが掛かるので、ゼロラインがずれてしまいます。


それを避けるために、インジケータの上限下限を -0.05〜0.05 に設定してゼロラインを合わせることができます。

上記ダイアログで設定すると、下図のようになります。


この方法の難点は、インジケータの上限下限を越えて値が変化した場合に見られなくなる点です。下図では 0.05を超えてしまったために、その部分が見えません。






これを解決するには、ゼロラインが常に中心にくるようにオシレータを作ればOKです。
下図の下段のチャートは、ゼロラインが中心にくるMACD を二つ重ねたものです。上限下限を設定していませんが、ゼロラインは一致します。オートスケールが効くので、0.05を超えた部分でも収まります。

上限下限を設定していないので、スクロールすれば上下の幅が変わります。

上段は、 -0.05〜0.05 固定方式で、下段はゼロライン中心方式(?)です。下段はオートスケールで 0.025に変わっているのですが、この違い分かりますか・・^^;












さて、、どうやってオシレータのゼロラインを中心に持ってくるか?ですが。。。

実は、ものすごく単純で、上図のように見えるオシレータには、見えないライン(色指定が CLR_NONE) が下図のように引かれています。下図では、見えないラインを水色に変えています。

インジケータは8本ラインが引けるので、そのうちの2本をそれぞれ、他のラインの絶対値の最大値ライン、絶対値の最大値ラインをマイナスにしたライン にしています。これで上下対称のカタチになるので、ゼロラインが常に真ん中に来るわけです。
単純なトリックですが、参考にしたい人は、こちらをどうぞ。