iBandsOnArray()の使い方
MQL4 (MT4)のiBandsOnArray()の使い方をChatGPTに確認しました。
賢いですね。きちんとした回答を詳しくもらえました。
使用GPTs:EA Creator
MT4 MQL4のAPIのiBandsOnArrayの使い方を実装例を交えて教えて下さい。補足で気を付ける点なども教えて下さい。
使い方
iBandsOnArray
関数は、MetaTrader 4 (MT4) プラットフォームのMQL4言語で使用され、配列データに基づいてボリンジャーバンド (Bollinger Bands) の値を計算します。この関数は、特定の価格配列に直接ボリンジャーバンドを適用する場合に便利です。これにより、チャート上の価格データ以外のカスタムデータに対してボリンジャーバンドを計算することが可能になります。
関数の基本形式
double iBandsOnArray(
double array[], // データ配列
int total, // 要素の総数
int period, // 平均化期間
double deviation, // 標準偏差
int bands_shift, // バンドのシフト
int mode, // ラインインデックス(MODE_UPPER、MODE_LOWER、MODE_MAIN)
int shift // シフト
);
- array[]: ボリンジャーバンドを適用するデータの配列。
- total: 配列内の要素の総数。
- period: 移動平均を計算する期間。
- deviation: 計算に使用する標準偏差。
- bands_shift: バンドのシフト量。
- mode: 取得するバンドの種類(
MODE_UPPER
は上部バンド、MODE_LOWER
は下部バンド、MODE_MAIN
は中央の移動平均)。 - shift: 指定した配列の要素からのシフト量。
0
は最新の要素を指します。
使用例
配列データに基づいて、20期間と2の標準偏差を持つボリンジャーバンドの中央線の最新の値を取得する例:
double prices[] = {1.1200, 1.1250, 1.1230, 1.1280, 1.1300, 1.1350, 1.1380}; // カスタム価格データ
int total = ArraySize(prices); // 配列のサイズを取得
double middleBand = iBandsOnArray(prices, total, 20, 2.0, 0, MODE_MAIN, 0);
Print("The middle Bollinger Band value of the latest element is: ", middleBand);
注意点
- 配列データの準備:
iBandsOnArray
を使用する前に、適用したいデータ配列を正しく準備し、total
が配列の要素数を正確に反映していることを確認してください。 - データの整合性: 配列には適切な価格データが含まれている必要があります。不正確または不完全なデータは、計算結果の信頼性を損なう可能性があります。
- シフトの使用: 特に過去のデータを分析する場合、
shift
パラメータを適切に設定することが重要です。shift
によって、配列内の特定の要素に対するボリンジャーバンドの値を取得できます。 - 計算コスト: 特に大きなデータセットを使用して計算を行う場合、
iBandsOnArray
関数の実行にはそれなりの計算コストがかかることがあります。リアルタイムのトレーディング環境での使用には注意が必要です。 - パフォーマンスと最適化: 大量のデータに対するボリンジャーバンドの計算を頻繁に実行する必要がある場合は、コードの最適化や計算効率の向上に注意を払ってください。
MQL4リファレンス
正式な仕様は”MQL4 Reference“をご確認下さい。上記内容を確認しておくとより分かりやすいかと思います。
リンク:https://docs.mql4.com/indicators/iBandsOnArray
他のテクニカルインディケータ関数の利用方法
以下のそれぞれのリンク先で確認していますので、ご参照ください。
関数名 | 概要 |
---|---|
iAC | Accelerator Oscillatorの値を計算します。 |
iAD | Accumulation/Distributionインディケータの値を計算します。 |
iADX | 平均方向移動指数 (Average Directional Movement Index) の値を計算します。 |
iAlligator | ビル・ウィリアムズのアリゲーターインディケータの値を計算します。 |
iAO | Awesome Oscillatorの値を計算します。 |
iATR | 平均真の範囲 (Average True Range) の値を計算します。 |
iBearsPower | ベアパワーインディケータの値を計算します。 |
iBands | ボリンジャーバンドの値を計算します。 |
iBandsOnArray | 配列データに基づいてボリンジャーバンドの値を計算します。 |
iBullsPower | ブルパワーインディケータの値を計算します。 |
iCCI | 商品チャネル指数 (Commodity Channel Index) の値を計算します。 |
iCCIOnArray | 配列データに基づいて商品チャネル指数の値を計算します。 |
iCustom | カスタムインディケータの値を計算します。 |
iDeMarker | DeMarkerインディケータの値を計算します。 |
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インディケータの値を計算します。 |