iStdDevOnArray()の使い方
MQL4 (MT4)のiStdDevOnArray()の使い方をChatGPTに確認しました。
賢いですね。きちんとした回答を詳しくもらえました。
使用GPTs:EA Creator
MT4 MQL4のAPIのiStdDevOnArrayの使い方を実装例を交えて教えて下さい。補足で気を付ける点なども教えて下さい。
使い方
概要
iStdDevOnArray
は、MetaTrader 4(MT4)プラットフォームで使用されるMQL4プログラミング言語の関数で、指定された配列の標準偏差(Standard Deviation)を計算します。この関数は、指定された移動平均(MA)に基づいて市場のボラティリティを測定するために使用されます。
関数の基本形式
double iStdDevOnArray(
double array[], // データが格納された配列
int total, // 要素数
int ma_period, // 移動平均の期間
int ma_shift, // 移動平均のシフト
int ma_method, // 移動平均の計算方法
int shift // シフト
);
各引数の説明:
array[]
: 計算するデータが格納された配列。total
: 配列の要素数。ma_period
: 移動平均の期間。ma_shift
: 移動平均のシフト(バープレース)。ma_method
: 移動平均の計算方法(MODE_SMA, MODE_EMA, MODE_SMMA, MODE_LWMA)。shift
: 計算するバーのシフト(0は最新のバー、1は1つ前のバー)。
使用例
以下は、20期間の単純移動平均(SMA)を基準に標準偏差を計算する例です。データは適当な価格データ配列から取得します。
void OnTick() {
double prices[];
int period = 20;
int total = 100;
// 配列のサイズを設定
ArrayResize(prices, total);
// 適当な価格データを配列に格納(ここでは例としてCLOSE価格を使用)
for(int i = 0; i < total; i++) {
prices[i] = Close[i];
}
// 標準偏差を計算
double stdDev = iStdDevOnArray(prices, total, period, 0, MODE_SMA, 0);
Print("Standard Deviation: ", stdDev);
}
StdDevとは
標準偏差(Standard Deviation)は、データセット内の各値が平均値からどれだけ離れているかを示す統計的な測定値です。金融市場では、標準偏差を使用して価格の変動(ボラティリティ)を評価します。高い標準偏差は価格の変動が大きいことを示し、低い標準偏差は価格の変動が小さいことを示します。トレーダーは、標準偏差を利用して市場のリスクを評価し、取引戦略を立てる際に役立てます。
注意点
- 計算コスト:
iStdDevOnArray
関数は計算コストが高いため、頻繁に呼び出すとパフォーマンスに影響を与える可能性があります。必要なときにだけ呼び出すようにしましょう。 - 配列のサイズ:
total
引数は配列の要素数を指定します。配列のサイズが不適切であると、関数は正確な結果を返さない可能性があります。 - 移動平均の設定:
ma_method
とma_period
の設定が分析に適しているか確認してください。異なる方法や期間を試して最適な設定を見つけることが重要です。 - データの品質: 配列に格納するデータが信頼性があり、適切であることを確認してください。不正確なデータは誤った結果を導く可能性があります。
- 配列の内容: 配列の内容が適切に初期化されていることを確認してください。未初期化の値が含まれると、関数の結果に影響を与える可能性があります。
- シフトの扱い:
shift
パラメータを使用して、過去のバーに対して標準偏差を計算することができます。過去のデータを分析する場合は、このパラメータを適切に設定してください。
このガイドラインに従うことで、iStdDevOnArray
関数を正しく使用し、効果的なボラティリティ分析を行うことができます。
MQL4リファレンス
正式な仕様は”MQL4 Reference“をご確認下さい。上記内容を確認しておくとより分かりやすいかと思います。
リンク:https://docs.mql4.com/indicators/iStdDevOnArray
他のテクニカルインディケータ関数の利用方法
以下のそれぞれのリンク先で確認していますので、ご参照ください。
関数名 | 概要 |
---|---|
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インディケータの値を計算します。 |