奇怪的EA问题 新评论 秋风踏浪 2010.05.21 08:36 下面是EA中的一个自定义函数: int XY() { int _UpDownSign; //---- 定义返回变量 。。。。。。 if(。。。。。。) //---- 涨势 _UpDownSign = 2; if(。。。。。。) //---- 跌势 _UpDownSign = 1; return(_UpDownSign); } 上述自定义函数中定义的返回变量 _UpDownSign 如果不在自定义函数中定义,而是定义成全局变量,则EA的测试结果会有很大的差别,平均每个月相差一百点左右。其它的自定义函数则不存在这个问题,不论返回的变量在自定义函数中定义,还是定义成全局变量,都不会影响测试结果。 真是百思不得其解,望各位高手指教。 谢谢。 ldawen 2010.05.21 15:39 #1 没什么奇怪的,如果按你的代码,当定义为全局变量时,如果不是涨势又不是跌势,那么全局变量就保持了上一次的值,而继续按照上一次的条件进行开仓了. 修改很简单,如果是全局变量,那么在进入函数后,马上UpDownSign = 0,清空一下你的变量. 秋风踏浪 2010.05.22 16:59 #2 自己费了好大劲,也没转过这个弯。 这回明白了。 多谢。 新评论 原因: 取消 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
下面是EA中的一个自定义函数:
上述自定义函数中定义的返回变量 _UpDownSign 如果不在自定义函数中定义,而是定义成全局变量,则EA的测试结果会有很大的差别,平均每个月相差一百点左右。其它的自定义函数则不存在这个问题,不论返回的变量在自定义函数中定义,还是定义成全局变量,都不会影响测试结果。
真是百思不得其解,望各位高手指教。
谢谢。