文章: "MetaTrader 5 已具备锁仓账户系统" - 页 7

 
rosomah:

我想在 MQL5 终端上开设一个新的模拟账户。(我已经有一个净额模拟账户)在开设账户时,"在交易中使用对冲 "按钮没有激活。

问题: 我可以在同一终端上同时拥有对冲和净额结算外汇账户吗?还是应该重新安装终端?

这取决于您登录的交易服务器。连接到 MetaQuotes 演示版
 
Vladimir Karputov:
这取决于您登录的交易服务器。连接至 MetaQuotes-Demo。
它在 MetaQuotes-Demo 上正常工作。谢谢。
 
谁知道,我自己找不到相关信息。经纪商有对冲账户。我的机器人是为非对冲账户编写的。如何使用 MQL5关闭 对冲账户的头寸?MQL5 中没有 OrderClose() 功能。相反的头寸,如净额结算账户,不会关闭未结头寸。
 
Sergiy Riehl:
谁知道,我自己找不到相关信息。经纪商有对冲账户。我的机器人是为非对冲账户编写的。如何使用 MQL5关闭 对冲账户的头寸?MQL5 中没有 OrderClose() 功能。相反的头寸,如净额结算账户,不会关闭未结头寸。

也许应该在对冲账户的交易请求中设置TRADE_ACTION_CLOSE_BY?

还是有更正确的解决方案?

 
Sergiy Riehl:
谁知道,我自己找不到相关信息。经纪商有对冲账户。我的机器人是为非对冲账户编写的。如何使用 MQL5关闭 对冲账户的头寸?MQL5 中没有 OrderClose() 功能。相反的头寸,如净额结算账户,不会关闭未结头寸。

使用通用代码进行头寸遍历 - 它对净额结算和对冲账户都有效。GalacticExplosion 代码中的示例 - CloseAllPositions 函数

//+------------------------------------------------------------------+
//| 关闭所有位置|
//+------------------------------------------------------------------+
void CloseAllPositions()
  {
   for(int i=PositionsTotal()-1;i>=0;i--) // 返回当前位置的数量
      if(m_position.SelectByIndex(i))     // 通过索引选择位置,以便进一步访问其属性
         if(m_position.Symbol()==m_symbol.Name() && m_position.Magic()==m_magic)
            m_trade.PositionClose(m_position.Ticket()); // 用指定的符号关闭一个位置
  }
 
Carl Schreiber:

佣金怎么办?

如果我有两个未结头寸,一个买入,一个卖出,用 "买入 "平仓 "卖出",我就支付了两倍佣金。但如果我只平仓买入,就只需支付一次佣金,不是吗?

但是,如果经纪人没有要求佣金,而是增加了点差呢?我不也要支付两倍的点差吗?

卡尔担心的支付两次佣金的问题又是怎么回事?请问 MetaQuotes 是否有答案,是否有经验?