客服热线:18391752892

指标编程中容易犯的几个典型错误

   日期:2019-01-12     浏览:244    
马上注册,结交更多好友,下载更多资源

您需要 登录 才可以下载或查看,没有帐号?注册 这些小问题往往很困扰开发人员,且很难发现,现列举几个:
   1、增加Buffer以后容易忘记修改关联代码。必须时刻牢记一个Buffer的成功定义需要3个部分:
     (1) 修改指标buffer总数
        #property indicator_buffers 5
     (2) 定义buffer数组,要求double类型;
        double ExtEABuffer[]; //专门用来给EA传送信号,返回值1-4跟上面4个Buffer作用相同。
     (3) 绑定buffer到一个序列上,并设置输出形式
        SetIndexBuffer(4,ExtEABuffer);
        SetIndexStyle(4,DRAW_NONE);
    2、很多时候需要比较两个均线之间的距离为7点,很容易写成ma5-ma10 10。而正确的写法应该为ma5-ma10 10*Point
    3、容易把检查是否相等写成赋值,例如
      if(a==true)写成了if(a=true),避免的方式可以写为if(true==a),因为true是不能作为变量所赋值的,但是却可以放在==的左边。
    很多时候,我们仅需要输出2-3个bar相关的数据来进行验证编程中是否出现了错误。怎么做呢?这里有一个测试的小技巧,既控制打印的开始和结束时间来实现。---------------------------------------------------------------------------------
 int currentTime = Hour() * 100 + Minute();
 int targetTime = 17*100 + 32;
 int targetEndTime = 17*100 + 36;
 
 if(currentTime targetTime currentTime targetEndTime)
 {
    Print( currentTime= + DoubleToStr(Hour(), 0) + : +DoubleToStr(Minute(),0));
    Print( ma5x= + DoubleToStr(ma5x, 4));
    Print( ma10x + DoubleToStr(ma10x, 4));
    Print( ma5y= + DoubleToStr(ma5y, 4));
    Print( ma10y= + DoubleToStr(ma10y, 4));
 }
---------------------------------------------------------------------------------复制代码
外汇交易有很大的风险性,本站所有资源均来自网络,请选择使用,如若出现亏损,本站不承担任何责任!


特别提示:本信息由相关企业自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


0相关评论
相关行情快递
推荐行情快递
点击排行