咨询测试问题 新评论 BinBin Lu 2009.09.13 01:46 请教Rosh老师: 我在测试时系统提示以下信息: 2009.08.07 13:30 WYD_13n EURUSD,M30:zero divide 不知是什么意思,是什么原因造成的?能指导指导我吗?谢谢! 出现上述事件是基于EA中有以下代码: int iMarketPath() { // 放弃管理 if( nMarketAllowPath == -100 ) { return(-100); } double nMain,nSignal; int nMarketGoto; nMain = iMACD(cRunSymbol,1440,12,26,9,0,MODE_MAIN,0) - iMACD(cRunSymbol,1440,12,26,9,0,MODE_MAIN,1); nSignal = iMACD(cRunSymbol,1440,12,26,9,0,MODE_SIGNAL,0) - iMACD(cRunSymbol,1440,12,26,9,0,MODE_SIGNAL,1); if( nMain*nSignal<=0 ) { nMarketGoto=-1; } else { if( nMain>0 || nSignal>0 ) { nMarketGoto=0; } if( nMain<0 || nSignal<0 ) { nMarketGoto=2; } } if( nMarketGoto==-1 ) { nMain = iMACD(cRunSymbol,240,12,26,9,0,MODE_MAIN,1) - iMACD(cRunSymbol,240,12,26,9,0,MODE_MAIN,2); nSignal = iMACD(cRunSymbol,240,12,26,9,0,MODE_SIGNAL,1) - iMACD(cRunSymbol,240,12,26,9,0,MODE_SIGNAL,2); if( nMain*nSignal<=0 ) { return(-1); } if( nMain>0 || nSignal>0 ) { return(0); } if( nMain<0 || nSignal<0 ) { return(2); } } //------ return(nMarketGoto); } 若使用以下代码,则上述提示消失,并测试正常: int iMarketPath() { // 放弃管理 if( nMarketAllowPath == -100 ) { return(-100); } double nMain,nSignal; nMain = iMACD(cRunSymbol,1440,12,26,9,0,MODE_MAIN,0) - iMACD(cRunSymbol,1440,12,26,9,0,MODE_MAIN,1 ); nSignal = iMACD(cRunSymbol,1440,12,26,9,0,MODE_SIGNAL,0) - iMACD(cRunSymbol,1440,12,26,9,0,MODE_SIGNAL,1); if( nMain*nSignal<0 ) { return(-1); } if( nMain>0 || nSignal>0 ) { return(0); } if( nMain<0 || nSignal<0 ) { return(2); } //------ return(-1); } 谢谢! Red and White DailySignal Function Problem 郁闷!!!一个简单的MACD交叉却不成交,请各位朋友看看是怎么回事 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
请教Rosh老师:
我在测试时系统提示以下信息:
2009.08.07 13:30 WYD_13n EURUSD,M30:zero divide
不知是什么意思,是什么原因造成的?能指导指导我吗?谢谢!
出现上述事件是基于EA中有以下代码:
int iMarketPath() {
// 放弃管理
if( nMarketAllowPath == -100 ) { return(-100); }
double nMain,nSignal;
int nMarketGoto;
nMain = iMACD(cRunSymbol,1440,12,26,9,0,MODE_MAIN,0) - iMACD(cRunSymbol,1440,12,26,9,0,MODE_MAIN,1);
nSignal = iMACD(cRunSymbol,1440,12,26,9,0,MODE_SIGNAL,0) - iMACD(cRunSymbol,1440,12,26,9,0,MODE_SIGNAL,1);
if( nMain*nSignal<=0 ) { nMarketGoto=-1; }
else {
if( nMain>0 || nSignal>0 ) { nMarketGoto=0; }
if( nMain<0 || nSignal<0 ) { nMarketGoto=2; }
}
if( nMarketGoto==-1 ) {
nMain = iMACD(cRunSymbol,240,12,26,9,0,MODE_MAIN,1) - iMACD(cRunSymbol,240,12,26,9,0,MODE_MAIN,2);
nSignal = iMACD(cRunSymbol,240,12,26,9,0,MODE_SIGNAL,1) - iMACD(cRunSymbol,240,12,26,9,0,MODE_SIGNAL,2);
if( nMain*nSignal<=0 ) { return(-1); }
if( nMain>0 || nSignal>0 ) { return(0); }
if( nMain<0 || nSignal<0 ) { return(2); }
}
//------
return(nMarketGoto);
}
若使用以下代码,则上述提示消失,并测试正常:
int iMarketPath() {
// 放弃管理
if( nMarketAllowPath == -100 ) { return(-100); }
double nMain,nSignal;
nMain = iMACD(cRunSymbol,1440,12,26,9,0,MODE_MAIN,0) - iMACD(cRunSymbol,1440,12,26,9,0,MODE_MAIN,1 );
nSignal = iMACD(cRunSymbol,1440,12,26,9,0,MODE_SIGNAL,0) - iMACD(cRunSymbol,1440,12,26,9,0,MODE_SIGNAL,1);
if( nMain*nSignal<0 ) { return(-1); }
if( nMain>0 || nSignal>0 ) { return(0); }
if( nMain<0 || nSignal<0 ) { return(2); }
//------
return(-1);
}
谢谢!