【MQL4定数】ストキャスティクスの計算価格の定数(ENUM_STO_PRICE​)

【辞書】MQLリファレンス

ストキャスティクスの計算価格の定数

ストキャスティクスの計算価格の定数は、ストキャスティクスの計算に使う価格を設定するときに使われます。

ストキャスティクスには、「メインライン / シグナルライン」があります。

それぞれ、「安値/高値」で計算するのか、「終値/終値」で計算するのかを設定できます。

 

設定するには、iStochastic関数で設定します。

簡単に関数の説明です。

  • iStochastic関数:ストキャスティクスを計算する

 

それぞれ、applied_field引数の入力値として、ストキャスティクスの計算価格の定数が使われます。

以下、ストキャスティクスの計算価格の定数の説明です。

 

ストキャスティクスの計算価格の定数(ENUM_STO_PRICE)

定数説明
STO_LOWHIGHストキャスティクスを「安値/高値」で計算する
STO_CLOSECLOSEストキャスティクスを「終値/終値」で計算する

 

ストキャスティクスの計算価格の定数の使い方

iStochastic関数で使用されます。

applied_field引数の入力値として、ストキャスティクスの計算価格を設定します。

上記の定数を入力しましょう。

すると、その定数に対応した価格で計算されます。

例えば、以下のように使用します。

  //iStochastic関数
  //ストキャスティクスを「安値/高値」で計算する
   double stochastic = iStochastic(Symbol(), PERIOD_CURRENT, 5, 3, 0, MODE_SMA, STO_LOWHIGH, MODE_SIGNAL, 0);

 

返り値は double型です。

ストキャスティクスの計算結果が返ってきます。

 

プログラム例

以下は、ストキャスティクスの計算価格の定数を使ったプログラム例です。

「安値/高値」と「終値/終値」のそれぞれでストキャスティクスを計算し、結果をエキスパートログに出力します。

//+------------------------------------------------------------------+
//| ストキャスティクスの計算価格の定数 プログラム例                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   // ストキャスティクスのパラメータ
   int kPeriod   = 5;   // %K期間
   int dPeriod   = 3;   // %D期間
   int slowing   = 3;   // スローイング

   //--- STO_LOWHIGH(安値/高値)でメインラインを計算
   double mainLowHigh = iStochastic(Symbol(), PERIOD_CURRENT, kPeriod, dPeriod, slowing, MODE_SMA, STO_LOWHIGH, MODE_MAIN, 0);

   //--- STO_LOWHIGH(安値/高値)でシグナルラインを計算
   double signalLowHigh = iStochastic(Symbol(), PERIOD_CURRENT, kPeriod, dPeriod, slowing, MODE_SMA, STO_LOWHIGH, MODE_SIGNAL, 0);

   //--- STO_CLOSECLOSE(終値/終値)でメインラインを計算
   double mainCloseClose = iStochastic(Symbol(), PERIOD_CURRENT, kPeriod, dPeriod, slowing, MODE_SMA, STO_CLOSECLOSE, MODE_MAIN, 0);

   //--- STO_CLOSECLOSE(終値/終値)でシグナルラインを計算
   double signalCloseClose = iStochastic(Symbol(), PERIOD_CURRENT, kPeriod, dPeriod, slowing, MODE_SMA, STO_CLOSECLOSE, MODE_SIGNAL, 0);

   //--- 結果をログに出力
   Print("=== ストキャスティクス計算結果 ===");
   Print("【STO_LOWHIGH(安値/高値)】");
   Print("  メインライン   : ", DoubleToString(mainLowHigh, 2));
   Print("  シグナルライン : ", DoubleToString(signalLowHigh, 2));

   Print("【STO_CLOSECLOSE(終値/終値)】");
   Print("  メインライン   : ", DoubleToString(mainCloseClose, 2));
   Print("  シグナルライン : ", DoubleToString(signalCloseClose, 2));

   //--- 列挙型 ENUM_STO_PRICE の使用例
   ENUM_STO_PRICE stoPrice = STO_LOWHIGH;
   double result = iStochastic(Symbol(), PERIOD_CURRENT, kPeriod, dPeriod, slowing, MODE_SMA, stoPrice, MODE_MAIN, 0);
   Print("列挙型変数を使った結果 : ", DoubleToString(result, 2));
  }

 

上記のプログラムでは、STO_LOWHIGH と STO_CLOSECLOSE の両方でストキャスティクスを計算しています。

それぞれのメインラインとシグナルラインの値をエキスパートログに出力して確認できます。

また、列挙型 ENUM_STO_PRICE の変数を使った書き方も示しています。

 

【補足】ストキャスティクスの計算価格の定数の列挙型(ENUM_STO_PRICE)

ストキャスティクスの計算価格の定数は、ENUM_STO_PRICEという列挙型に含まれています。

列挙型は、定数群をひとまとめにしたものです。

以下のように使います。

ENUM_STO_PRICE stoPrice = STO_LOWHIGH;

上記のようにプログラムすると、stoPrice変数に STO_LOWHIGHの数値が代入されます。