您需要 登录 才可以下载或查看,没有帐号?注册
这些小问题往往很困扰开发人员,且很难发现,现列举几个:
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));
}
---------------------------------------------------------------------------------复制代码
外汇交易有很大的风险性,本站所有资源均来自网络,请选择使用,如若出现亏损,本站不承担任何责任!