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

MQL4リファレンス

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

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

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

スポンサーリンク

サンプルコード全文

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

コード説明

インジケーターの設定

#propertyはコンパイルする際に使われ、インジケーターの表示方法や見た目を設定します。
indicator_heightで指定している単位はピクセルとなります。

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

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

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

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

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

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

表示イメージ画像

まとめ

indicator_heightを使用することで、インジケーターウインドウの高さを指定する事が出来ます。
ユーザー側で変更して欲しくない時にインジケーターを作成する時に有効になります。

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

コメント

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