请教各位大神,想写一个多订单总盈利达到目标值就全部平仓的EA,运行时发现只要一个订单达到目标,就全部平仓了,请教大神排查一下问题 新评论 Yolin 2024.05.09 10:02 想写一个多订单总盈利达到目标值就全部平仓的EA,运行时发现只要一个订单达到目标,就全部平仓了,请教大神排查一下问题 void OnTick() { double smallma1=iMA(NULL,0,5,0,MODE_EMA,PRICE_CLOSE,1); double smallma2=iMA(NULL,0,5,0,MODE_EMA,PRICE_CLOSE,2); double smallma0=iMA(NULL,0,5,0,MODE_EMA,PRICE_CLOSE,0); double bigma1=iMA(NULL,0,25,0,MODE_EMA,PRICE_CLOSE,1); double bigma2=iMA(NULL,0,25,0,MODE_EMA,PRICE_CLOSE,2); double bigma0=iMA(NULL,0,25,0,MODE_EMA,PRICE_CLOSE,0); double sum = 0.0; if(Volume[0]>1) return; { if(smallma1>smallma2) { int ticket=OrderSend(Symbol(),OP_BUY,0.1,Ask,3,0,0,"buy",1,0,Violet); if(ticket<0) { Print("Ordersend failed with error",GetLastError()); } else { Print("Ordersend successfully"); } } if(smallma1<smallma2) { int ticket=OrderSend(Symbol(),OP_SELL,0.1,Bid,3,0,0,"sell",1,0,Violet); if(ticket<0) { Print("Ordersend failed with error",GetLastError()); } else { Print("Ordersend successfully"); } } } for(int i=OrdersTotal()-1; i>=0; i--) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true) { sum+=OrderProfit(); if(sum >30) { for(int i=OrdersTotal()-1; i>=0; i--) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),10,Red); } } } } } } EA不会在多对上运行,需要帮助 same EA...BUT DIFFERENT RESULT 如何编码? Hung Wen Lin 2024.05.09 11:08 #1 for(int i=OrdersTotal()-1; i>=0; i--) if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true) sum+=OrderProfit(); if(sum >30) { for(int i=OrdersTotal()-1; i>=0; i--) if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true) OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),10,Red); } 試看看 Yolin 2024.05.09 12:27 #2 Hung Wen Lin #: 試看看 可以了 谢谢 mua~ yanjiangjiang 2024.05.18 03:39 #3 膜拜大神 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
想写一个多订单总盈利达到目标值就全部平仓的EA,运行时发现只要一个订单达到目标,就全部平仓了,请教大神排查一下问题
}