【问题标题】:mql4 iLowest() giving the wrong candle ID?mql4 iLowest() 给出了错误的蜡烛 ID?
【发布时间】:2021-05-05 23:59:50
【问题描述】:

我正在尝试在 for 循环中获取最低的蜡烛 ID

用例:

第 1 步:我正在使用 for 循环检查指标最近可见的蜡烛的蜡烛 ID,然后中断循环

第 2 步:我正在使用 iLowest() 来获取 5 中最低值的柱的蜡烛 ID,

第 3 步:使用蜡烛 ID(来自第 2 步)获取该蜡烛的低值,然后计算该蜡烛的 SL。

但我在 第 2 步中弄错了蜡烛 ID。

请看下面的截图,bar的评论应该是74,但它显示的是135

这是我的代码:

   for(int i=0;i<1000;i++)
           {
          double btt1= iCustom(NULL,0,"Arrows",0,i);
          double btt2= iCustom(NULL,0,"Arrows",1,i);
          if(btt1!=EMPTY_VALUE)
            {
             if(Digits==5|| Digits==3)
                   {
                    baar =iLowest(NULL,0,MODE_LOW,5+i,i);
                    lowestb = Low[baar];
                    stoploss = lowestb- 20*Point*10; 
                    Comment("value of i :  ",i,"    value of baar :  " , baar );
                     ObjectCreate(chart_ID,name,OBJ_LABEL,sub_window,0,0);
                     ObjectSetInteger(chart_ID,name,OBJPROP_XDISTANCE,xx1x);
                     ObjectSetInteger(chart_ID,name,OBJPROP_YDISTANCE,yy1y);
                     ObjectSetInteger(chart_ID,name,OBJPROP_CORNER,corner); 
                     ObjectSetString(chart_ID,name,OBJPROP_TEXT, stoploss   ); 
                     ObjectSetString(chart_ID,name,OBJPROP_FONT,font); 
                     ObjectSetInteger(chart_ID,name,OBJPROP_FONTSIZE,font_size); 
                     ObjectSetInteger(chart_ID,name,OBJPROP_COLOR,clrRed);            
                     ObjectSetInteger(chart_ID,name,OBJPROP_BACK,back);
 
                   break;
                   }
                  
                   }
                   
                   }

我做错了什么?

【问题讨论】:

  • 不知道自定义指标“箭头”是如何编码的或返回什么,很难提供帮助

标签: mql4 metatrader4 mql5 metatrader5


【解决方案1】:

改成:

baar =iLowest(NULL,0,MODE_LOW,5,i);

因为 iLowest 函数的第 4 个参数从计数器 i(最后一个参数)开始计算您要分析的柱数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-10
    • 1970-01-01
    • 2021-12-23
    相关资源
    最近更新 更多