プログラムプロパティ(indicator_separate_window)

MQL4リファレンス

MQL4では、カスタムインジケーターを作成する際に、インジケーターの表示方法や動作を設定するために#propertyという命令を使用します。

その中の一つであるindicator_separate_windowは、インジケーターが価格チャートとは別のウインドウに表示されることを指定します。

具体的な例としてRSI(Relative Strength Index)インジケーターを表示する方法で解説します。

スポンサーリンク

サンプルコード全文

indicator_separate_windowを使用し、iRSI関数を利用してRSIインジケーターを表示するコードになります。

コード説明

インジケーターの設定

#propertyはコンパイルする際に使われ、インジケーターの表示方法や見た目を設定します。

インジケーターのバッファ

インジケーターの値を格納する為の配列をバッファといいます。このバッファを使用して、計算されたインジケーターの値をチャート上に表示します。

インジケーターの初期化関数

OnInit関数は、インジケーターの初期化を行います。SetIndexBuffer関数を使用して、rsiBufferをインジケーターのバッファとして設定します。
これにより、計算された値がこのバッファに格納され、チャートに表示されます。

インジケーターの計算関数

OnCalculate関数は、インジケーターの主な計算部分です。ここでは、iRSI関数を使用して指定された通貨ペアと時間枠に対してRSIを計算し結果を返します。
rates_totalはすべてのレート(価格データ)の数を表しており、その数をfor文でループ処理を行うようになっています。

表示イメージ画像

まとめ

#property indicator_separate_windowは、インジケーターが価格チャートとは別のウインドウに表示されるかを指定する設定です。この設定により、インジケーターが価格チャートと独立して表示され、見やすさが工場します。
さらに、indicator_minimumindicator_maximumを使用して表示範囲を設定し、indicator_color1 clrRedを使用することで、インディケーターの表示色を赤色に設定できます。

サンプルコードではiRSI関数を使用してRSIを計算し表示していますが、同様の方法でさまざまなインディケーターを作成することができますので試してみてください。

コメント

タイトルとURLをコピーしました