MQL4(MT4) iCustomの使い方

MQL4 Reference
スポンサーリンク

iCustom()の使い方

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

使用GPTs:EA Creator

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

使い方

iCustom関数は、MetaTrader 4 (MT4) プラットフォームのMQL4言語で使用され、カスタムインディケータの値を計算するために使用されます。この関数は、標準インディケータ以外の、MT4で作成またはインストールされた任意のカスタムインディケータにアクセスすることを可能にします。

関数の基本形式

double iCustom(
   string symbol,           // シンボル名
   int timeframe,           // 時間枠
   string name,             // カスタムインディケータのコンパイル済みプログラムのパス/名前
   ...                      // カスタムインディケータの入力パラメータ(必要に応じて)
   int mode,                // ラインインデックス
   int shift                // シフト
);
  • symbol: 分析したい通貨ペアまたは市場のシンボル。
  • timeframe: 使用する時間枠。
  • name: カスタムインディケータのファイル名(拡張子.ex4または.mq4は省略可能)。
  • : カスタムインディケータに渡す入力パラメータ。インディケータによって必要なパラメータは異なります。
  • mode: 取得したいインディケータのライン(例: 0、1、2…)。
  • shift: 指定したバーからのシフト量。0は最新のバーを指します。

使用例

カスタムインディケータExampleIndicatorをEURUSDの1時間足で使用し、その第一ライン(mode=0)の最新バー(shift=0)の値を取得する例を示します。

double value = iCustom("EURUSD", PERIOD_H1, "ExampleIndicator", /* ここにインディケータのパラメータを挿入 */, 0, 0);

Print("Custom indicator value: ", value);

この例では、カスタムインディケータExampleIndicatorに必要な追加のパラメータがある場合、そのパラメータを"ExampleIndicator"の後にカンマ区切りで記述します。

注意点

  • インディケータの配置: カスタムインディケータがMT4のIndicatorsフォルダ内に正しく配置されていることを確認してください。
  • パラメータの正確性: カスタムインディケータに渡すパラメータは、そのインディケータが期待する正確な型と順序である必要があります。誤ったパラメータは、予期せぬ結果を引き起こす可能性があります。
  • 性能への影響: 特に複雑な計算を行うカスタムインディケータを使用する場合、iCustom関数の呼び出しはMT4のパフォーマンスに影響を与える可能性があります。計算の効率化と最適化に注意してください。
  • エラーハンドリング: iCustom関数は、計算できない場合やインディケータが正しく動作しない場合に特別なエラーコード(通常はEMPTY_VALUE)を返す可能性があります。戻り値を使用する前に、このようなエラーコードに対する適切なチェックを行うことが重要です。

MQL4リファレンス

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

他のテクニカルインディケータ関数の利用方法

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

関数名概要
iACAccelerator Oscillatorの値を計算します。
iADAccumulation/Distributionインディケータの値を計算します。
iADX平均方向移動指数 (Average Directional Movement Index) の値を計算します。
iAlligatorビル・ウィリアムズのアリゲーターインディケータの値を計算します。
iAOAwesome Oscillatorの値を計算します。
iATR平均真の範囲 (Average True Range) の値を計算します。
iBearsPowerベアパワーインディケータの値を計算します。
iBandsボリンジャーバンドの値を計算します。
iBandsOnArray配列データに基づいてボリンジャーバンドの値を計算します。
iBullsPowerブルパワーインディケータの値を計算します。
iCCI商品チャネル指数 (Commodity Channel Index) の値を計算します。
iCCIOnArray配列データに基づいて商品チャネル指数の値を計算します。
iCustomカスタムインディケータの値を計算します。
iDeMarkerDeMarkerインディケータの値を計算します。
iEnvelopesエンベロープインディケータの値を計算します。
iEnvelopesOnArray配列データに基づいてエンベロープインディケータの値を計算します。
iForceフォースインデックスの値を計算します。
iFractalsフラクタルインディケータの値を計算します。
iGatorゲーターオシレータの値を計算します。
iIchimoku一目均衡表の値を計算します。
iBWMFI市場係数インディケータ (Market Facilitation Index) の値を計算します。
iMomentumモメンタムインディケータの値を計算します。
iMomentumOnArray配列データに基づいてモメンタムインディケータの値を計算します。
iMFI資金流量指数 (Money Flow Index) の値を計算します。
iMA移動平均の値を計算します。
iMAOnArray配列データに基づいて移動平均の値を計算します。
iOsMA移動平均のオシレータ (OsMA) の値を計算します。
iMACD移動平均収束発散 (MACD) の値を計算します。
iOBVオンバランスボリューム (On Balance Volume) の値を計算します。
iSARパラボリックSARの値を計算します。
iRSI相対力指数 (Relative Strength Index) の値を計算します。
iRSIOnArray配列データに基づいて相対力指数の値を計算します。
iRVI相対活性指数 (Relative Vigor Index) の値を計算します。
iStdDev標準偏差インディケータの値を計算します。
iStdDevOnArray配列データに基づいて標準偏差インディケータの値を計算します。
iStochasticストキャスティクスオシレータの値を計算します。
iWPRウィリアムズ%Rインディケータの値を計算します。

関連記事

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