簡體   English   中英

MQL4:發現低價值的問題

[英]MQL4: Issue with finding low value

我正在嘗試從最近的20巴獲得最高和最低的價值。 獲得最高價值沒有問題,但是我的代碼似乎無法正常工作以獲取最低價值。 只是想知道是否有任何建議。

OnEveryNewBar1();

void OnEveryNewBar1()
{   PipValue = 1;
    if ( NDigits == 3 || NDigits == 5 ) PipValue = 10;
    if ( BarTime1 < Time[0] )  // we have a new bar opened
    {    BarTime1 = Time[0];   // keep the new bar open time
         TechnicalAnalysis_S();
         TechnicalAnalysis_L();
     }
}

void TechnicalAnalysis_S()
{
   int m =    2;
   int n =    3;
       l = 1000;
   while ( m <= 20 )
   {
      if ( 1 < 2 )
      {    if ( ( Close[2] > Open[2] ) || ( Close[1] > Open[1] ) ) int i = 2;
           while ( i > 0 )
           {
               if ( Low[i] < l ) l = Low[i];
               i = i - 1;
           }
           print ( "Lowest" + l );
           l = 1000;
      }
      m++;
      n++;
   }
}
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void TechnicalAnalysis_L()
{    
     int m = 2;
     int n = 3;
     while ( m <= 20 )
     {
         if ( 2 > 0 )
         {
              if ( ( Close[2] < Open[2] ) || ( Close[1] < Open[1] ) ) int i=2;
              while ( i > 0 )
              {
                  if ( High[i] > h ) h = High[i];
                  i = i - 1;
              }
              print ( "Highest" + h );
              h = 0;
         }
         m++;
         n++;
     }
}

雖然代碼中包含一些奇怪的部分,而某些變量缺少其聲明,但該語言具有內置函數。

解:

double   aLowestLOW_InTheLast20BARs,
       aHighestHIGH_InTheLast20BARs;
// -----------------------------------------------------------------------------    
   aLowestLOW_InTheLast20BARs =    Low[iLowest(  _Symbol,         // .self
                                                 PERIOD_CURRENT,  // .self
                                                 MODE_LOW,        // LOW
                                                 20,              // Last 20 BARs
                                                  0               // from [0]
                                                 )
                                       ];
// -----------------------------------------------------------------------------
   aHighestHIGH_InTheLast20BARs = High[iHighest( _Symbol,         // .self
                                                 PERIOD_CURRENT,  // .self
                                                 MODE_HIGH,       // HIGH
                                                 20,              // Last 20 BARs
                                                  0               // from [0]
                                                 )
                                       ];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM