MQL4(MT4) IndicatorSetDoubleの使い方

Custom Indicators
スポンサーリンク

IndicatorSetDouble()の使い方

MQL4 (MT4)のIndicatorSetDouble()の使い方をChatGPTに確認しました。
賢いですね。きちんとした回答を詳しくもらえました。

使用GPTs:EA Creator

MT4 MQL4のAPIのIndicatorSetDoubleの使い方を実装例を交えて教えて下さい。補足で気を付ける点なども教えて下さい。

使い方

MetaTrader 4 (MT4) の MQL4 言語を使用して、カスタムインディケーターやエキスパートアドバイザー(EA)などを開発する際に、IndicatorSetDouble 関数はインディケーターの数値型プロパティを設定するために使用されます。この関数を使用することで、インディケーターの動的な挙動をカスタマイズすることが可能になります。

関数の基本形式

IndicatorSetDouble関数には、上述のように二つのオーバーロードがあります。

  1. プロパティIDのみを指定する場合:
   bool IndicatorSetDouble(
      int    prop_id,      // プロパティ識別子
      double prop_value    // 設定する値
   );
  1. プロパティIDと修飾子を指定する場合:
   bool IndicatorSetDouble(
      int    prop_id,        // プロパティ識別子
      int    prop_modifier,  // 修飾子
      double prop_value      // 設定する値
   );

使用例

例1:インディケーターの線幅を設定する

// インディケーターのメインラインの線幅を2に設定する
IndicatorSetDouble(INDICATOR_WIDTH, 2);

例2:インディケーターの特定のレベルの線幅を設定する

// インディケーターの最初のレベル(例えば、オシレーターの過買い/過売りレベル)の線幅を1に設定
IndicatorSetDouble(INDICATOR_LEVELWIDTH, 0, 1); // ここで、0は最初のレベルを指す修飾子

注意点

  • 関数の戻り値: IndicatorSetDouble 関数は、操作が成功した場合に true を、失敗した場合に false を返します。この戻り値を利用して、コード内でエラーハンドリングを行うことが重要です。
  • プロパティIDと修飾子: 使用するプロパティID(例:INDICATOR_MINIMUMINDICATOR_MAXIMUMなど)と修飾子(特定のレベルや線の種類を指定するための数値)は、目的に応じて正しく選択する必要があります。間違ったプロパティIDや修飾子を使用すると、期待した挙動にならない可能性があります。
  • 実行タイミング: IndicatorSetDouble 関数は、通常、インディケーターの初期化時(OnInit 関数内)や、特定の条件下でプロパティを動的に変更する場合に使用されます。インディケーターの計算ロジック内(OnCalculate 関数内)で頻繁に呼び出すと、パフォーマンスに影響を与える可能性があります。
  • コンパイル時の警告とエラー: MQL4 コードをコンパイルする際、間違った型の引数を関数に渡すと、コンパイラは警告やエラーを出力します。これらのメッセージを注意深く確認し、コードの修正が必要かどうかを判断してください。

これらの点に注意しな

MQL4リファレンス

正式な仕様は”MQL4 Reference“をご確認下さい。上記内容を確認しておくとより分かりやすいかと思います。
リンク:https://docs.mql4.com/customind/IndicatorSetDouble

他のカスタムインジケータ関数の利用方法

以下のそれぞれのリンク先で確認していますので、ご参照ください。

関数名概要
HideTestIndicatorsテスト中にグラフ上のインディケータを隠すかどうかを設定します。チャート上での表示を制御するのに使用されます。
IndicatorSetDoubleインディケータの設定可能なdouble型プロパティ(例: 最小値、最大値)を設定します。これはインディケータの表示範囲やスケールを調整するのに使われます。
IndicatorSetIntegerインディケータの設定可能なinteger型プロパティ(例: 描画スタイル、幅)を設定します。インディケータの見た目をカスタマイズするのに役立ちます。
IndicatorSetStringインディケータの設定可能なstring型プロパティ(例: 名前)を設定します。インディケータの識別や説明に使用されます。
SetIndexBufferインディケータ計算結果を格納するバッファを設定します。インディケータのデータを格納する配列を割り当てるのに必要です。
IndicatorBuffersインディケータが使用するバッファの数を設定します。計算に必要なデータ配列の数を定義します。
IndicatorCounted既に計算されたバーの数を返します。これにより、新たに計算が必要なデータのみを処理できます。
IndicatorDigitsインディケータの価格データの表示精度(小数点以下の桁数)を設定します。チャート上での価格表示を制御します。
IndicatorShortNameインディケータの短縮名を設定します。チャートのデータウィンドウに表示される名前です。
SetIndexArrowインディケータのバッファに対して表示する矢印記号を設定します。特定の条件を示すマーカーとして利用されます。
SetIndexDrawBeginインディケータが描画を開始するバーの数を設定します。これにより、過去の特定のポイントから描画を開始できます。
SetIndexEmptyValueインディケータのバッファで未定義の値を表すために使用する値を設定します。空のデータポイントを示すのに使用されます。
SetIndexLabelインディケータの各バッファのラベルを設定します。データウィンドウに表示される各バッファの説明テキストです。
SetIndexShiftインディケータの描画をずらすバーの数を設定します。インディケータの表示を時間軸に沿って前後に移動させることができます。
SetIndexStyleインディケータの線のスタイル、太さ、色を設定します。インディケータの視覚的表現をカスタマイズするのに使われます。
SetLevelStyleインディケータのレベル線のスタイルと色を設定します。特定の価格レベルや意味のある閾値を示すのに使用されます。
SetLevelValueインディケータのレベル線の値を設定します。これにより、チャート上に表示される水平線の位置を定義できます。

関連記事

スポンサーリンク
海外FXキャッシュバック口座開設ならTariTali(タリタリ)
タイトルとURLをコピーしました