MT4で人気のインジケーター「TD Sequential Ultimate」を使っていると、セットアップ完了の「9」をもっと視覚的に分かりやすく表示したいと考える方も多いです。特に矢印表示に変更したいというニーズは多く、本記事ではその実現方法と注意点を分かりやすく解説します。
TD Sequentialの「9」はどのように表示されているか
多くのTD Sequential系インジケーターでは、「9」はテキスト(オブジェクト)として描画されているケースが一般的です。
つまり、チャート上に数字を直接描画するため、通常のインジケーターバッファとは別の仕組みで表示されています。
この仕様の違いが、矢印への変更を難しくしているポイントです。
矢印表示に変更する2つの方法
「9」を矢印に変更する方法は主に2つあります。
① オブジェクトの矢印に変更する方法
現在の「9」がオブジェクト表示であれば、コード内のObjectCreate部分を修正することで矢印に変更できます。
具体的には、OBJ_TEXTをOBJ_ARROWに変更し、Wingdingsコードを指定します。
例:
ObjectCreate(0,name,OBJ_ARROW,0,time,price);
この方法は比較的簡単ですが、オブジェクト管理が増えるため、動作が重くなる可能性があります。
② インジケーターバッファで矢印表示する方法
もう一つは、インジケーターバッファを使って矢印を描画する方法です。
この場合、SetIndexStyleでDRAW_ARROWを指定し、SetIndexArrowで矢印コードを設定します。
例:
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0,233);
この方法は軽量で高速ですが、元のコードがバッファ非対応の場合、大幅な改修が必要になります。
実際にできるかはソースコード次第
重要なポイントとして、.ex4ファイル(コンパイル済み)では変更できません。
矢印に変更するには、必ず.mq4ファイル(ソースコード)が必要です。
もし配布されたインジケーターがex4のみの場合は、基本的にカスタマイズは不可能です。
実例:よくある変更パターン
例えば、buysetupの9だけ矢印を出したい場合、条件分岐部分に以下のような処理を追加します。
・カウントが9になったらバッファに価格を代入
・それ以外はEMPTY_VALUEにする
これにより、9の位置だけに矢印が表示されるようになります。
一方、sellsetupも同様に別バッファで管理するのが一般的です。
どちらの方法を選ぶべきか
用途によっておすすめは異なります。
- 簡単に変更したい → オブジェクト方式
- 軽量・高速にしたい → バッファ方式
特に複数チャートで使用する場合は、バッファ方式の方がパフォーマンス面で有利です。
まとめ:矢印化は可能だが難易度は中〜上級
TD Sequentialの「9」を矢印に変更することは可能ですが、ソースコードの構造によって難易度が変わります。
オブジェクト方式なら比較的簡単ですが、バッファ化する場合はロジックの理解が必要です。
まずは自分のインジケーターがどの方式で描画されているかを確認し、それに合った方法でカスタマイズを進めることが重要です。
こんにちは!利益の管理人です。このブログは投資する人を増やしたいという思いから開設し運営しています。株式投資をメインに分散投資をしています。

コメント