iStochastic()の使い方
MQL4 (MT4)のiStochastic()の使い方をChatGPTに確認しました。
賢いですね。きちんとした回答を詳しくもらえました。
使用GPTs:EA Creator
MT4 MQL4のAPIのiStochasticの使い方を実装例を交えて教えて下さい。補足で気を付ける点なども教えて下さい。
使い方
iStochastic
は、MetaTrader 4(MT4)プラットフォームで使用されるMQL4プログラミング言語の関数で、指定された通貨ペアと時間枠におけるストキャスティクス・オシレーター(Stochastic Oscillator)を計算します。ストキャスティクス・オシレーターは、価格の動きとその価格レンジを比較することで、買われすぎや売られすぎの状態を識別するために使用されます。
関数の基本形式
double iStochastic(
string symbol, // 通貨ペア
int timeframe, // 時間枠
int Kperiod, // %Kラインの期間
int Dperiod, // %Dラインの期間
int slowing, // スローイング(平滑化)
int method, // 平均化方法
int price_field, // 価格(Low/HighまたはClose/Close)
int mode, // ラインインデックス(MODE_MAINまたはMODE_SIGNAL)
int shift // シフト
);
各引数の説明:
symbol
: 計算する通貨ペアのシンボル(例:”EURUSD”)。timeframe
: 計算する時間枠(例:PERIOD_H1)。Kperiod
: %Kラインの期間。Dperiod
: %Dラインの期間。slowing
: スローイング(平滑化)の期間。method
: 平均化方法(MODE_SMA, MODE_EMA, MODE_SMMA, MODE_LWMA)。price_field
: 価格フィールド(STO_LOWHIGH, STO_CLOSECLOSE)。mode
: ラインインデックス(MODE_MAINまたはMODE_SIGNAL)。shift
: 計算するバーのシフト(0は最新のバー、1は1つ前のバー)。
使用例
以下は、EURUSDの1時間足チャートで14, 3, 3の設定を使用してストキャスティクス・オシレーターを計算する例です。
void OnTick() {
string symbol = "EURUSD";
int timeframe = PERIOD_H1;
int Kperiod = 14;
int Dperiod = 3;
int slowing = 3;
int method = MODE_SMA;
int price_field = STO_LOWHIGH;
int mode = MODE_MAIN;
int shift = 0;
double stochastic = iStochastic(symbol, timeframe, Kperiod, Dperiod, slowing, method, price_field, mode, shift);
Print("Stochastic value: ", stochastic);
}
Stochasticとは
ストキャスティクス・オシレーター(Stochastic Oscillator)は、価格の動きとその価格レンジを比較することで、買われすぎや売られすぎの状態を識別するための技術指標です。%Kラインと%Dラインの2本のラインで構成され、%Kラインは価格の現在位置を反映し、%Dラインは%Kラインの移動平均を示します。このオシレーターは、0から100の範囲で値を取り、一般的に20以下は売られすぎ、80以上は買われすぎと解釈されます。
注意点
- 計算コスト:
iStochastic
関数は計算コストが高いため、頻繁に呼び出すとパフォーマンスに影響を与える可能性があります。必要なときにだけ呼び出すようにしましょう。 - シンボルと時間枠の確認:
symbol
とtimeframe
が有効であることを確認してください。存在しないシンボルや無効な時間枠を指定するとエラーになります。 - パラメータの設定:
Kperiod
,Dperiod
,slowing
の設定が分析に適しているか確認してください。異なる設定を試して最適な値を見つけることが重要です。 - 価格フィールドの選択:
price_field
の設定(STO_LOWHIGHまたはSTO_CLOSECLOSE)が分析目的に適しているか確認してください。 - モードの選択:
mode
の設定(MODE_MAINまたはMODE_SIGNAL)が適切であるか確認してください。MODE_MAINは%Kラインの値を返し、MODE_SIGNALは%Dラインの値を返します。 - データの利用可能性: 指定された
symbol
とtimeframe
のデータが利用可能であることを確認してください。データが不足している場合、関数は正確な結果を返さない可能性があります。
このガイドラインに従うことで、iStochastic
関数を正しく使用し、効果的な市場分析を行うことができます。
MQL4リファレンス
正式な仕様は”MQL4 Reference“をご確認下さい。上記内容を確認しておくとより分かりやすいかと思います。
リンク:https://docs.mql4.com/indicators/iStochastic
他のテクニカルインディケータ関数の利用方法
以下のそれぞれのリンク先で確認していますので、ご参照ください。
関数名 | 概要 |
---|---|
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インディケータの値を計算します。 |