記事「カスタムインジケータワークショップ(第1回):MQL5でSupertrendインジケータを構築する」についてのディスカッション

 

新しい記事「カスタムインジケータワークショップ(第1回):MQL5でSupertrendインジケータを構築する」はパブリッシュされました:

MetaTrader 5向けに、第一原理から非リペイントのSupertrendを構築します。本実装では、ボラティリティ計算にiATRハンドルとCopyBufferを使用し、SetIndexBufferによってバッファをバインドします。また、プロット設定はPlotIndexSetIntegerを用いて構成し、DRAWCOLORCANDLESと2本のラインバンドによる描画をおこないます。ロジックは確定足のみに基づいて更新され、EMPTY_VALUE を使用して非アクティブなバンドを抑制します。さらに、atrPeriodおよびatrMultiplierの入力パラメータを公開し、調整可能な設計としています。これにより、戦略およびシグナル用途のために内部バッファが明確にドキュメント化された、クリーンでEA対応のオーバーレイ型インジケータが得られます。

コードに触れる前に、まず「何を作るのか」「それがチャート上でどのように振る舞うべきか」を明確にしておくことが重要です。Supertrendインジケータは完全にATRに依存して、そのトレンドラインの描画位置を決定します。ここで車輪の再発明をするのではなく、MetaTrader 5がすでに高度に最適化されたATRインジケータを提供している点を活用します。本カスタムSupertrendは、ATR値を取得するためにインジケータハンドルを使用し、ボラティリティ計算ではなくトレンドロジックと可視化に集中できる設計とします。

このインジケータはカスタムMQL5インジケータとして実装され、メインチャートウィンドウに直接描画されます。チャートのキャンバスはコントラストと視認性を最大化するため、白背景を使用します。任意の時点において、このインジケータは相場状態を表す単一の内部状態を保持します。その状態は強気または弱気の2つのいずれかのみです。

強気環境では、SeaGreen色の細い線が価格の下側に描画されます。このラインは、各ローソク足の中間価格(ミッドポイント)からATRにユーザー定義の乗数を掛けた値を差し引くことで計算されます。これにより、ボラティリティの変化に応じて動的に価格へ追従するトレーリングバンドになります。同時に、チャート上のすべてのローソク足は同じSeaGreenカラーで表示されます。これにより、市場が上昇トレンドであることが即座に視覚的に確認できるようになります。


作者: Chacha Ian Maroa