EA: ZigZag EA - 页 6

 

当然可以。

专家中根本没有显示。

当我在编辑器中打开并重新编译时,会出现以下错误:


INIT_FAILED' - expression not boolean ZigZag EA.mq5 427 20

INIT_FAILED' - expression not boolean ZigZag EA.mq5 433 17

 
Satbieter #:

当然。

专家 "中甚至没有显示。

当我在编辑器中打开并重新编译时,我得到了以下错误:


INIT_FAILED' - expression not boolean ZigZag EA.mq5 427 20

INIT_FAILED' - expression not boolean ZigZag EA.mq5 433 17

OnInit 终止时出现错误(INIT_PARAMETERS_INCORRECT,第 135 行)--因此不会出现在图表上。

那么,您是如何指定的?

input double      InpLots           = 0;              // 手数(或 "手数">0,"风险"==0,或 "手数"==0,"风险">0)
input double      Risk              = 5;              // 风险(或 "手数">0,"风险"==0 或 "手数"==0,"风险">0)
 

使用版本 1.006

 

现在可以使用了。

太完美了

 

亲爱的弗拉基米尔

很高兴了解这款 EA。能否再增加 2 个 "之 "字形指标? 进出场规则:进场时 2 个 "之 "字形指标 在 1 个价格内相遇,出场时 2 个 "之 "字形指标 在 1 个价格内相遇。您可以选择是否使用这种进出场方式。

感谢您的进一步确认。

 
我找不到 1.006 版,请帮助?
 
需要改进,添加分形 以从新闻中获益,添加止损和止盈点数,而不是斐波,并添加反转,因此猫头鹰非常出色,您可以选择有利可图的设置,并添加限价订单进行对冲。
 
优秀顾问 !!!!!!!
 
机器人有两个编译错误,您能告诉我们如何纠正吗?
 
YANETT PIRELA 编译错误,请问如何纠正?

错误出在这个函数中:

//+------------------------------------------------------------------+
//| 自由保证金交易的手数或风险(百分比) //| 自由保证金交易的手数或风险(百分比) //| 自由保证金交易的手数或风险(百分比) //...
//+------------------------------------------------------------------+
bool LotsOrRisk(const double lots,const double risk,const int digits_adjust)
  {
   if(lots<0.0 && risk<0.0)
     {
      Print(__FUNCTION__,", ERROR: Parameter (\"lots\" or \"risk\") can't be less than zero");
      return(false);
     }
   if(lots==0.0 && risk==0.0)
     {
      Print(__FUNCTION__,", ERROR: Trade is impossible: You have set \"lots\" == 0.0 and \"risk\" == 0.0");
      return(false);
     }
   if(lots>0.0 && risk>0.0)
     {
      Print(__FUNCTION__,", ERROR: Trade is impossible: You have set \"lots\" > 0.0 and \"risk\" > 0.0");
      return(false);
     }
   if(lots>0.0)
     {
      string err_text="";
      if(!CheckVolumeValue(lots,err_text))
        {
         Print(__FUNCTION__,", ERROR: ",err_text);
         return(false);
        }
     }
   else if(risk>0.0)
     {
      if(m_money!=NULL)
         delete m_money;
      m_money=new CMoneyFixedMargin;
      if(m_money!=NULL)
        {
         if(!m_money.Init(GetPointer(m_symbol),Period(),m_symbol.Point()*digits_adjust))
            return(INIT_FAILED);
         m_money.Percent(risk);
        }
      else
        {
         Print(__FUNCTION__,", ERROR: Object CMoneyFixedMargin is NULL");
         return(INIT_FAILED);
        }
     }
//---
   return(true);
  }

为使其正常工作,您必须将 return (INIT_FAILED); 改为return false;

我想这在以前的版本中是可行的,但现在它不是布尔表达式。