MT5 分方向平仓问题 新评论 dvarlife 2023.04.05 06:44 一个加仓EA,设定一个条件给予订单出场,出场的方式有多种,有分方向出场,有不论方向全部出场,如何这种目地,下面是代码层 void orderclose(int type) { for (int i=PositionsTotal()-1;i>=0;i--) { if(PositionSelectByTicket(PositionGetTicket(i))) if(PositionGetSymbol(POSITION_SYMBOL) == Symbol() && PositionGetString(POSITION_COMMENT) == EXPERT_COMMENT && PositionGetInteger(POSITION_MAGIC) == EXPERT_MAGIC) if(PositionGetInteger(POSITION_TYPE) == type || type == -100) { MqlTradeRequest reqst = {}; MqlTradeResult reslt = {}; reqst.action = TRADE_ACTION_DEAL; reqst.position = PositionGetTicket(i); reqst.symbol = PositionGetSymbol(POSITION_SYMBOL); reqst.volume = PositionGetDouble(POSITION_VOLUME); reqst.magic = EXPERT_MAGIC; reqst.comment = EXPERT_COMMENT; reqst.deviation = 10 * SymbolInfoDouble(Symbol(),SYMBOL_POINT); if(type == POSITION_TYPE_BUY) { reqst.type = ORDER_TYPE_SELL; reqst.price = SymbolInfoDouble(Symbol(),SYMBOL_BID); } if(type == POSITION_TYPE_SELL) { reqst.type = ORDER_TYPE_BUY; reqst.price = SymbolInfoDouble(Symbol(),SYMBOL_ASK); } if(type == -100) { if(PositionGetInteger(POSITION_TYPE) == POSITION_TYPE_BUY) { reqst.type = ORDER_TYPE_SELL; reqst.price = SymbolInfoDouble(Symbol(),SYMBOL_BID); } if(PositionGetInteger(POSITION_TYPE) == POSITION_TYPE_SELL) { reqst.type = ORDER_TYPE_BUY; reqst.price = SymbolInfoDouble(Symbol(),SYMBOL_ASK); } } if(OrderSend(reqst,reslt) == 1) { Print("平仓委托发出,单号:",PositionGetTicket(i)); ZeroMemory(reqst); ZeroMemory(reslt); } } else if(PositionGetInteger(POSITION_TYPE) != type && type != -100) { i=i-1; } } } 虽然看着感觉没问题,但是运行起来不行 求教大神,移动止盈怎么写,请大神帮忙 关于MT5 Symbol()加入循环之后取得的结果失真 问题 请教高手看一下,为什么我这个EA不会开仓 dvarlife 2023.04.05 06:50 #1 逻辑是,比如要平多头,ORDERCLOSE(POSITION_TYPE_BUY); 这时循环判断顺序上的订单是不是当前EA加载运行开仓的,然后确定方向是否是需要平仓的方向,再平仓,但目前是触发后续是没平仓的,换另一种写法就是有时平仓正确,有时又会全部平仓 dvarlife 2023.04.05 10:22 #2 以上是订单情况 附加的文件: tj1.PNG 15 kb 3t2.PNG 41 kb 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
一个加仓EA,设定一个条件给予订单出场,出场的方式有多种,有分方向出场,有不论方向全部出场,如何这种目地,下面是代码层
void orderclose(int type)
{
}
虽然看着感觉没问题,但是运行起来不行