2007年自动交易锦标赛:专家的常见错误 - 页 6 1234567891011 新评论 Renat Fatkhullin 2007.09.08 15:05 #51 错误信息"OrderModify error 1 "意味着OrderModify被调用时参数没有改变,这是由于编程不准确造成的。 在调用OrderModify之前,请检查你是用新数据调用更新,还是试图设置现有的值。 Сергей 2007.09.08 16:03 #52 你的专家的测试已经完成。专家测试报告。 ----------------------- 2007.09.08 17:47 关于欧元兑美元:60 17:38:34 2007.01.04 00:01 Stalker_2 EURUSD,H4:OrderModify 错误1 17:38:34 2007.01.04 00:02 Stalker_2 EURUSD,H4: OrderModify错误1 17:38:34 2007.01.04 00:03 Stalker_2 EURUSD,H4: OrderModify错误1 17:38:34 2007.01.04 00:04 Stalker_2 EURUSD,H4: OrderModify错误1 17:38:34 2007.01.04 00:04 Stalker_2 EURUSD,H4: OrderModify错误1 17:38:34 2007.01.04 00:06 stalker_2 EURUSD,H4: OrderModify错误1 17:38:34 2007.01.04 00:06 stalker_2 EURUSD,H4: OrderModify错误1 17:38:34 2007.01.04 00:06 stalker_2 EURUSD,H4: OrderModify错误1 17:38:34 2007.01.04 00:06 stalker_2 EURUSD,H4: OrderModify错误1 17:38:34 2007.01.04 00:06 stalker_2 EURUSD,H4: OrderModify错误1 17:38:34 2007.01.04 00:06 stalker_2 EURUSD,H4: OrderModify错误1 17:38:34 2007.01.04 00:07 stalker_2 EURUSD,H4: OrderModify错误1 17:38:34 2007.01.04 00:07 stalker_2 EURUSD,H4: OrderModify错误1 17:38:34 2007.01.04 00:07 stalker_2 EURUSD,H4: OrderModify错误1 17:38:34 2007.01.04 00:07 stalker_2 EURUSD,H4: OrderModify错误1 17:38:34 2007.01.04 00:07 stalker_2 EURUSD,H4: OrderModify错误1 17:38:34 2007.01.04 00:07 stalker_2 EURUSD,H4: OrderModify错误1 17:38:34 2007.01.04 00:07 stalker_2 EURUSD,H4: OrderModify错误1 17:38:34 2007.01.04 00:07 stalker_2 EURUSD,H4: OrderModify错误1 17:38:34 2007.01.04 00:08 stalker_2 EURUSD,H4: OrderModify 错误 1 0分49秒 错误:20 ----------------------- 请更正您的专家顾问代码,并将新版本上传到您的个人资料页面。 我认为你的机器人已经疯了,它似乎有很多参与者:-)它已经把专家顾问搞混了。我有一个专家顾问,在评论中不写 "stalker_2",在小时图上工作。而OrderModify命令根本就没有使用它。 Automated Trading Championship 2007: Better NN EA development Once again, about the Yuriy Zaytsev 2007.09.08 20:38 #53 Renat: 错误信息 "OrderModify error 1 "意味着在参数未变的情况下调用OrderModify,这是由于编程不准确造成的。 在调用OrderModify之前,请检查你是用新数据调用更新,还是试图设置已经存在的值。 也许你是指建筑? 如果 ( RefreshRates() == true ) { .... OrderModify(Ticket,... } 在我的拖网中 循环中每次修改订单后重新刷新()。 盈利35点后达到收支平衡 外部变量,最小值 FirstTralStopSell = 35; 达到50个点后的后续trall 我不太明白为什么会出现这种错误--我在测试中没有这种错误。 有可能在发出OrderModify命令后,测试系统模拟重新报价,使价格有时间返回50点以上。 但随后如何避免这种情况? 此外,我的LOGS并没有显示在测试系统给出的日志文件中! if ( err != 0 ) { if ( ECHOerror == 1 ) Print("Error("+err+") Open="+OrderOpenPrice()+""+OrderStopLoss()+" 修改SL。"+(Ask+Point*FirstTralStopSell)+" TP "+(0)+"+msgErrors(err)); } void TralYZ(int lLockTralSell, int lLockTralBuy) { int err; int cnt=OrdersTotal(); int LocalDinamicTrallSELL; int LocalDinamicTrallBUY; int FirstTralStopSell; int FirstTralStopBuy; LocalDinamicTrallSELL = oDinamicTrallSELL ; // значения по умолчанию LocalDinamicTrallBUY = oDinamicTrallBUY ; FirstTralStopSell = oFirstTralStopSell; // первый безуюыток FirstTralStopBuy = oFirstTralStopBuy; while(cnt>=0) { RefreshRates(); OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES); Sleep(10000); int Ticket=OrderTicket(); int IDorder; IDorder = FindID(Ticket); if (OrderSymbol() == Symbol() ) { if (OrderType()==OP_SELL && lLockTralSell == 0 ) { if ( OrderMagicNumber() == MAGIC3 ) FirstTralStopSell = d3FirstTralStopBuy; if ( OrderMagicNumber() == MAGIC2 ) FirstTralStopSell = d2FirstTralStopBuy; if ( OrderMagicNumber() == MAGIC1 ) FirstTralStopSell = d1FirstTralStopBuy; if ( OrderMagicNumber() == cMAGIC3 ) FirstTralStopSell = c3FirstTralStopSell; if ( OrderMagicNumber() == cMAGIC2 ) FirstTralStopSell = c2FirstTralStopSell; if ( OrderMagicNumber() == cMAGIC1 ) FirstTralStopSell = c1FirstTralStopSell; if ( ( OrderStopLoss() == 0 && ( OrderOpenPrice()-Ask )>=(FirstTralStopSell*Point) + Ask-Bid ) || ( OrderStopLoss() > OrderOpenPrice() && ( OrderOpenPrice()-Ask )>=(FirstTralStopSell*Point) + Ask-Bid ) ) { if ( DEBUG == 1 ) Print( "1 SL="+OrderStopLoss()+" > OP="+OrderOpenPrice() +" && ( OP"+OrderOpenPrice()+" - Ask"+Ask+") "+( OrderOpenPrice()-Ask ) +" >= ( "+FirstTralStopSell+" * "+Point+") "+Ask+" - "+Bid+" ="+(Ask-Bid)); lotlib_PrevLots = OrderLots(); lotlib_PrevProfit = OrderProfit(); OrderModify(Ticket,OrderOpenPrice(),Ask+(Point*FirstTralStopSell) , 0 ,0,Purple); Sleep( 10000 ); err=GetLastError(); if (err != 0 ) { if ( ECHOerror == 1 ) Print("Error("+err+") Open="+OrderOpenPrice()+" "+OrderStopLoss()+" modifying SL: "+(Ask+Point*FirstTralStopSell)+" TP "+(0)+" "+msgErrors(err)); } } Automated Trading Championship 2007: Dear Mr. Rosh, Please 初学者的问题 MQL4 MT4 MetaTrader [Удален] 2007.09.08 20:42 #54 我已经检查了同一个专家代码三次。前两次没有错误,第三次突然出现了错误,我现在不得不改变专家代码。不清楚为什么同一个专家代码需要检查几次? Yuriy Zaytsev 2007.09.08 20:54 #55 Renat: 错误信息"OrderModify error 1 "意味着OrderModify被调用时参数未变,这是由于编程不准确。 在调用OrderModify之前,请检查你是用新数据调用更新,还是试图设置现有的值。 在介绍了该结构后 if ( RefreshRates() == true ) OrderModify(Ticket,OrderOpenPrice(),Bid-Point*LocalDinamicTrallBUY , 0,0,Purple); 终端版本208在测试中完全不工作 RefreshRates() == true ? 当地DinamicTrallBUY = 50。 进入Trall if ( OrderStopLoss() > OrderOpenPrice() && ( Bid - OrderStopLoss() ) >= (LocalDinamicTrallBUY*Point) + Ask-Bid ) { lotlib_PrevLots = OrderLots(); lotlib_PrevProfit = OrderProfit(); if ( RefreshRates() == true ) OrderModify(Ticket,OrderOpenPrice(),Bid-Point*LocalDinamicTrallBUY , 0,0,Purple); 一定有一些微妙的地方......我不知道 Renat Fatkhullin 2007.09.08 20:57 #56 YuraZ: 雷纳特。 错误信息 "OrderModify error 1 "意味着OrderModify被调用时参数未变,这是由于编程不准确。 在调用OrderModify之前,检查你是用新的数据调用更新,还是试图设置现有的值。 也许你是指建筑? 这意味着你试图在OrderModify中设置已经存在的相同StopLoss值。例如,如果StopLoss是1.3020,你试图在1.3020再次设置止损,OrderModify将返回代码1。这在OrderModify文档 中被明确指出。 bool OrderModify( int ticket, double price, double stoploss, double takeprofit, datetime expiration, color arrow_color=CLR_NONE) 改变先前开仓或挂单的参数。 如果函数成功完成,返回TRUE。 如果函数失败,返回FALSE。 你必须调用GetLastError()来获得错误信息。 注意:开盘价和到期时间只能对挂单进行更改。 如果未改变的值作为参数传递给函数,将产生一个错误 1(ERR_NO_RESULT)。 在一些交易服务器上,可能会设置禁止挂单到期。在这种情况下,当试图在过期 参数中设置一个非零值时,会产生一个错误 147(ERR_TRADE_EXPIRATION_DENIED)。 [警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 为什么执行修改止盈很慢 [存档!]任何菜鸟问题,为了不使论坛变得混乱。专业人士,不要路过。没有你,哪里都不能去 - 4. Yuriy Zaytsev 2007.09.08 20:59 #57 Renat: YuraZ: 雷纳特。 错误信息 "OrderModify error 1 "意味着一个参数未变的OrderModify调用,这是由于不准确的编程造成的。 在调用OrderModify之前,请检查你是用新数据调用更新,还是试图设置已经存在的值。 也许你是指建筑? 所谓的意思是,你试图在OrderModify中设置已经存在的相同StopLoss值。例如,如果StopLoss是1.3020,你试图在1.3020再次设置止损,OrderModify将返回代码1。这在OrderModify文档 中被明确指出。 bool OrderModify( int ticket, double price, double stoploss, double takeprofit, datetime expiration, color arrow_color=CLR_NONE) 改变先前开仓或挂单的参数。 如果函数成功完成,返回TRUE。如果函数失败,返回FALSE。调用GetLastError()来获取错误的信息。 注意:开盘价和到期时间只能对挂单进行更改。 如果未改变的值作为参数传递给函数,将产生一个错误 1(ERR_NO_RESULT)。 在一些交易服务器上,可能会设置禁止挂单到期。在这种情况下,当试图在过期 参数中设置一个非零值时,会产生一个错误 147(ERR_TRADE_EXPIRATION_DENIED)。 雷纳特 谢谢! 增加了Trall入口条件 && OrderStopLoss() != Ask+Point*LocalDinamicTrallSELL if ( OrderStopLoss() < OrderOpenPrice() && ( OrderStopLoss()-Ask )>=(LocalDinamicTrallSELL*Point) + Ask-Bid && OrderStopLoss() != Ask+Point*LocalDinamicTrallSELL ) { if ( DEBUG == 1 ) Print( "2 SL="+OrderStopLoss()+" < OP="+OrderOpenPrice() +" && ( OP"+OrderOpenPrice()+" - Ask"+Ask+") "+( OrderOpenPrice()-Ask ) +" >= ( "+LocalDinamicTrallSELL+" * "+Point+") "+Ask+" - "+Bid+" ="+(Ask-Bid)); lotlib_PrevLots = OrderLots(); lotlib_PrevProfit = OrderProfit(); if ( RefreshRates() == true ) OrderModify(Ticket,OrderOpenPrice(),Ask+Point*LocalDinamicTrallSELL , 0,0,Purple); err=GetLastError(); if (err != 0 ) { if ( ECHOerror == 1 ) Print("Error("+err+") Open="+OrderOpenPrice()+" "+OrderStopLoss()+" modifying SL: "+(Ask+Point*LocalDinamicTrallSELL)+" TP "+(0)+" "+msgErrors(err)); } } 但在测试过程中,我的日志中没有任何错误!- 这是很奇怪的 Renat Fatkhullin 2007.09.08 21:03 #58 pilgrim: 我认为你的机器人已经疯了,我认为它有很多参与者:-)它已经开始迷惑EA了。我的EA在评论中没有写 "stalker_2",它在小时图上工作。而OrderModify 命令根本就没有使用它。 自动测试员的脚本捕获了别人的日志--已经被修复了。 [Удален] 2007.09.08 21:17 #59 也就是说,我已经两次收到电子邮件,说支出已经通过测试,我已经注册了......在第三个问题上,它说我的代码有一个错误......为什么我必须改变专家的代码,我已经把它上传到档案中了? Renat Fatkhullin 2007.09.08 21:37 #60 folver: 也就是说,我已经两次收到电子邮件,说专家已经成功地通过了测试,我已经注册......第三次它说我的代码有错误......为什么我在上传了专家顾问的代码后,还要改变它的代码? 从结果来看,专家顾问已经抓到了一个追加保证金。我还不能说什么。明天早上将完成下一次检查,我们将检查结果。 1234567891011 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
在调用OrderModify之前,请检查你是用新数据调用更新,还是试图设置现有的值。
-----------------------
2007.09.08 17:47
关于欧元兑美元:60
17:38:34 2007.01.04 00:01 Stalker_2 EURUSD,H4:OrderModify 错误1
17:38:34 2007.01.04 00:02 Stalker_2 EURUSD,H4: OrderModify错误1
17:38:34 2007.01.04 00:03 Stalker_2 EURUSD,H4: OrderModify错误1
17:38:34 2007.01.04 00:04 Stalker_2 EURUSD,H4: OrderModify错误1
17:38:34 2007.01.04 00:04 Stalker_2 EURUSD,H4: OrderModify错误1
17:38:34 2007.01.04 00:06 stalker_2 EURUSD,H4: OrderModify错误1
17:38:34 2007.01.04 00:06 stalker_2 EURUSD,H4: OrderModify错误1
17:38:34 2007.01.04 00:06 stalker_2 EURUSD,H4: OrderModify错误1
17:38:34 2007.01.04 00:06 stalker_2 EURUSD,H4: OrderModify错误1
17:38:34 2007.01.04 00:06 stalker_2 EURUSD,H4: OrderModify错误1
17:38:34 2007.01.04 00:06 stalker_2 EURUSD,H4: OrderModify错误1
17:38:34 2007.01.04 00:07 stalker_2 EURUSD,H4: OrderModify错误1
17:38:34 2007.01.04 00:07 stalker_2 EURUSD,H4: OrderModify错误1
17:38:34 2007.01.04 00:07 stalker_2 EURUSD,H4: OrderModify错误1
17:38:34 2007.01.04 00:07 stalker_2 EURUSD,H4: OrderModify错误1
17:38:34 2007.01.04 00:07 stalker_2 EURUSD,H4: OrderModify错误1
17:38:34 2007.01.04 00:07 stalker_2 EURUSD,H4: OrderModify错误1
17:38:34 2007.01.04 00:07 stalker_2 EURUSD,H4: OrderModify错误1
17:38:34 2007.01.04 00:07 stalker_2 EURUSD,H4: OrderModify错误1
17:38:34 2007.01.04 00:08 stalker_2 EURUSD,H4: OrderModify 错误 1
0分49秒
错误:20
-----------------------
请更正您的专家顾问代码,并将新版本上传到您的个人资料页面。
我认为你的机器人已经疯了,它似乎有很多参与者:-)它已经把专家顾问搞混了。我有一个专家顾问,在评论中不写 "stalker_2",在小时图上工作。而OrderModify命令根本就没有使用它。
错误信息 "OrderModify error 1 "意味着在参数未变的情况下调用OrderModify,这是由于编程不准确造成的。 在调用OrderModify之前,请检查你是用新数据调用更新,还是试图设置已经存在的值。
也许你是指建筑?
如果 ( RefreshRates() == true )
{
....
OrderModify(Ticket,...
}
在我的拖网中
循环中每次修改订单后重新刷新()。
盈利35点后达到收支平衡
外部变量,最小值
FirstTralStopSell = 35;
达到50个点后的后续trall
我不太明白为什么会出现这种错误--我在测试中没有这种错误。
有可能在发出OrderModify命令后,测试系统模拟重新报价,使价格有时间返回50点以上。
但随后如何避免这种情况?
此外,我的LOGS并没有显示在测试系统给出的日志文件中!
if ( err != 0 )
{
if ( ECHOerror == 1 )
Print("Error("+err+") Open="+OrderOpenPrice()+""+OrderStopLoss()+" 修改SL。"+(Ask+Point*FirstTralStopSell)+" TP "+(0)+"+msgErrors(err));
}
错误信息"OrderModify error 1 "意味着OrderModify被调用时参数未变,这是由于编程不准确。
在调用OrderModify之前,请检查你是用新数据调用更新,还是试图设置现有的值。
在介绍了该结构后
终端版本208在测试中完全不工作
RefreshRates() == true ?
当地DinamicTrallBUY = 50。
进入Trall
一定有一些微妙的地方......我不知道
错误信息 "OrderModify error 1 "意味着OrderModify被调用时参数未变,这是由于编程不准确。
在调用OrderModify之前,检查你是用新的数据调用更新,还是试图设置现有的值。
也许你是指建筑?
这意味着你试图在OrderModify中设置已经存在的相同StopLoss值。例如,如果StopLoss是1.3020,你试图在1.3020再次设置止损,OrderModify将返回代码1。这在OrderModify文档 中被明确指出。
注意:开盘价和到期时间只能对挂单进行更改。
如果未改变的值作为参数传递给函数,将产生一个错误 1(ERR_NO_RESULT)。
在一些交易服务器上,可能会设置禁止挂单到期。在这种情况下,当试图在过期 参数中设置一个非零值时,会产生一个错误 147(ERR_TRADE_EXPIRATION_DENIED)。
错误信息 "OrderModify error 1 "意味着一个参数未变的OrderModify调用,这是由于不准确的编程造成的。
在调用OrderModify之前,请检查你是用新数据调用更新,还是试图设置已经存在的值。
也许你是指建筑?
所谓的意思是,你试图在OrderModify中设置已经存在的相同StopLoss值。例如,如果StopLoss是1.3020,你试图在1.3020再次设置止损,OrderModify将返回代码1。这在OrderModify文档 中被明确指出。
注意:开盘价和到期时间只能对挂单进行更改。
如果未改变的值作为参数传递给函数,将产生一个错误 1(ERR_NO_RESULT)。
在一些交易服务器上,可能会设置禁止挂单到期。在这种情况下,当试图在过期 参数中设置一个非零值时,会产生一个错误 147(ERR_TRADE_EXPIRATION_DENIED)。
雷纳特 谢谢!
增加了Trall入口条件
&& OrderStopLoss() != Ask+Point*LocalDinamicTrallSELL
但在测试过程中,我的日志中没有任何错误!- 这是很奇怪的
我认为你的机器人已经疯了,我认为它有很多参与者:-)它已经开始迷惑EA了。我的EA在评论中没有写 "stalker_2",它在小时图上工作。而OrderModify 命令根本就没有使用它。
也就是说,我已经两次收到电子邮件,说专家已经成功地通过了测试,我已经注册......第三次它说我的代码有错误......为什么我在上传了专家顾问的代码后,还要改变它的代码?