MetaTrader 4 Build 529测试版发布,带有新的编译器 - 页 126 1...119120121122123124125126127128129130131132133...161 新评论 Artyom Trishkin 2013.12.13 12:23 #1251 Wahoo: 其物理意义是检查在EA的输入参数中以字符串形式输入的符号是否可以交易。在MT5中相同的代码可以工作。 我给你的代码只是一个例子。它有点不同,但意思没有改变。 P.S. 测试器中的错误138是怎么回事? 代码。 结果。 检查。 if (OrderSend(SYMBOL,OP_BUY,0.1,NormalizeDouble(ask,digits),1000,0,0,"Test",0,0,CLR_NONE)<0) { Print("ask = "+DoubleToStr(ask,Digits)+", bid = "+DoubleToStr(bid,Digits)+", digits = "+digits); } 是什么阻止了你去看原因? Dmitiry Ananiev 2013.12.13 12:51 #1252 Renat: 这意味着合格的结果是无用的,被丢弃了。 谢谢你的翻译。我在翻译时很纠结,无法理解...... 但旧的构建需要大约3个小时来优化,并找到大约2000个有利可图的EA参数。新的构建开始时正常优化半分钟甚至更少,找到有利可图的参数,然后突然中断并完成优化。 我重复一遍,大约一个月前我就写过这种奇怪的优化行为。 它似乎已经被修复。现在我有同样的问题。 Andrey Barinov 2013.12.13 14:34 #1253 artmedia70: 检查。 是什么阻碍了你看到原因? 没有任何东西阻挡。 void OnTick() { if(OrdersTotal()==0) { string SYMBOL=Symbol(); int digits=(int)SymbolInfoInteger(SYMBOL,SYMBOL_DIGITS); MqlTick lasttick={0}; if(!SymbolInfoTick(SYMBOL,lasttick)) return; double ask=lasttick.ask; double bid=lasttick.bid; if(OrderSend(SYMBOL,OP_BUY,0.1,NormalizeDouble(ask,digits),1000,0,0,"Test",0,0,CLR_NONE)<0) { Print("ask = "+DoubleToStr(ask,Digits)+", bid = "+DoubleToStr(bid,Digits)+", digits = "+(string)digits); } } } Igor Semyonov 2013.12.13 14:45 #1254 向Metacquotes提问: 为什么将iVolume 的类型从double 改为ulong?为什么有必要只改变一个技术指标的类型?为什么不能让它保持原样? Andrey Barinov 2013.12.13 15:09 #1255 Wahoo: 没有什么妨碍。 总之,在这里。SymbolInfoTick 似乎还是有点歪(它似乎复制的是真实的最后价格,而不是来自历史的)。 void OnTick() { if(OrdersTotal()==0) { string SYMBOL=Symbol(); int digits=(int)SymbolInfoInteger(SYMBOL,SYMBOL_DIGITS); MqlTick lasttick={0}; if(!SymbolInfoTick(SYMBOL,lasttick)) return; double ask=lasttick.ask; double bid=lasttick.bid; if(OrderSend(SYMBOL,OP_BUY,0.1,NormalizeDouble(ask,digits),1000,0,0,"Test",0,0,CLR_NONE)<0) { Print(SYMBOL+" ask = "+DoubleToStr(ask,Digits)+", bid = "+DoubleToStr(bid,Digits)+", digits = "+(string)digits); if(OrderSend(Symbol(),OP_BUY,0.1,NormalizeDouble(Ask,Digits),100,0,0,"Test",0,0,CLR_NONE)>0) Print("Opened using Ask ="+DoubleToStr(Ask,Digits)); } //=== Final Check SymbolInfoTick(SYMBOL,lasttick); Print("Ask: "+(string)Ask+" lastick.ask: "+(string)lasttick.ask); } } 结果。 Renat Fatkhullin 2013.12.13 16:08 #1256 为了MT5的兼容性,不得不改变交易量。现在MT4中的内部条形图与5中相同。 Artyom Trishkin 2013.12.13 16:15 #1257 Renat: 为了与MT5兼容,我不得不改变音量。现在,MT4中的内部条形图与5中相同。这不可能是你的模拟账户和例如我的客户正在测试的Alpari账户的测试结果之间存在强烈差异的原因。 以前,即使有报价差异,一个EA在不同账户上的表现也不会如此完全不同。现在,在视觉模式下,我们可以看到,在一个测试中,位置显然是正的或负的,但在另一个测试中,情况却完全相反。 Renat Fatkhullin 2013.12.13 18:05 #1258 你必须详细查看与所有日志的差异。你不能从一般的观点得出结论,这意味着你需要细节。 Artyom Trishkin 2013.12.14 01:41 #1259 Renat: 你必须详细查看与所有日志的差异。你不能从一般的观点得出结论。 我是说,你需要细节。 我明白了,我以后会详细介绍。现在,议程上的主要事情是把算法搞好。 Igor Semyonov 2013.12.14 15:31 #1260 Mt 560, Me 881.再谈一下旧的错误的恢复,在进行更新时,似乎已经被你关闭了,在ServiceDesk中描述。 1...119120121122123124125126127128129130131132133...161 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
其物理意义是检查在EA的输入参数中以字符串形式输入的符号是否可以交易。在MT5中相同的代码可以工作。
我给你的代码只是一个例子。它有点不同,但意思没有改变。
P.S. 测试器中的错误138是怎么回事?
代码。
结果。
检查。
是什么阻止了你去看原因?这意味着合格的结果是无用的,被丢弃了。
谢谢你的翻译。我在翻译时很纠结,无法理解......
但旧的构建需要大约3个小时来优化,并找到大约2000个有利可图的EA参数。新的构建开始时正常优化半分钟甚至更少,找到有利可图的参数,然后突然中断并完成优化。
我重复一遍,大约一个月前我就写过这种奇怪的优化行为。 它似乎已经被修复。现在我有同样的问题。
检查。
是什么阻碍了你看到原因?没有任何东西阻挡。
没有什么妨碍。
总之,在这里。SymbolInfoTick 似乎还是有点歪(它似乎复制的是真实的最后价格,而不是来自历史的)。
结果。
为了与MT5兼容,我不得不改变音量。现在,MT4中的内部条形图与5中相同。
这不可能是你的模拟账户和例如我的客户正在测试的Alpari账户的测试结果之间存在强烈差异的原因。
以前,即使有报价差异,一个EA在不同账户上的表现也不会如此完全不同。现在,在视觉模式下,我们可以看到,在一个测试中,位置显然是正的或负的,但在另一个测试中,情况却完全相反。
你必须详细查看与所有日志的差异。你不能从一般的观点得出结论。 我是说,你需要细节。