【MQL4】ローソク足実体の割合を求めるには!?

中学性の時、STOPを習い使いたくて、止まれをDon't STOPと言って、一斉にみんなに走りさられたセレブパンダだお。(止まるなですから、当然いくよね)

1本のローソク足の次足が反発するかしないかをみる指標の1つとして、ローソク足実体の割合があります。

今回は、具体的にどうやって、割合を求めるのって話です。

こんな人が対象です。

  • ローソク足実体の割合をどうやって求めるのか知りたい人。

この制御、バイナリーオプションでは有効な制御なので、知っていた方がよいと思いますよ(*^▽^*)

実体足の割合とは

ローソク足の実体は、始値と終値の値です。陽線なら終値 - 始値、陰線なら始値 - 終値で求めれます。
絶対値を使えば、陽線、陰線関係ないので、以下のようにすると便利です。

MathAbs(iClose(NULL, aTimeframe, k) - iOpen(NULL, aTimeframe, k));

実体の割合は、髭に対する、実体の割合を言います。
陽線なら、上髭+実体に対する、実体の割合を言います。
陰線なら、下髭+実体に対する、実体の割合を言います。

サンプル

関数として利用すると便利です。

//==============================================================
//   陰線の下髭に対しての実体割合を求める。(%で返す)
//==============================================================
bool getInsenSitaHigeWariai(int aTimeframe,int aShift)
{
   double open  = iOpen (NULL,aTimeframe,aShift);
   double close = iClose(NULL,aTimeframe,aShift);
   double low  = iLow (NULL,aTimeframe,aShift);

   if(
         open > close
      && MathAbs(low - open) > 0)
   {

      double c = NormalizeDouble(MathAbs((close - open)) / MathAbs((low - open))*100, 5);
      return c;
      
   }
   return 0;

}

//==============================================================
//   陽線の上髭に対しての実体割合を求める。(%で返す)
//==============================================================
bool getYousenUwaHigeWariai(int aTimeframe,int aShift)
{
   double open  = iOpen (NULL,aTimeframe,aShift);
   double close = iClose(NULL,aTimeframe,aShift);
   double high  = iHigh (NULL,aTimeframe,aShift);

   if(
         open < close
      && MathAbs(high - open) > 0)
   {

      double c = NormalizeDouble((MathAbs((close - open)) / MathAbs((high - open)))*100, 5);
      return c;
      
   }
   return 0;

}

利用方法

double uwahigeWariai = getInsenSitaHigeWariai(1, 1);
double sitahigeWariai = getInsenSitaHigeWariai(1, 1);

引数は、左から、時間足、計算位置です。
この場合だと、1分足の1本目の陽線の実体割合。1分足の1本目

では、まただお。

Twitterでフォローしよう

おすすめの記事