MQL 编程语言:检查当前交易账户是否存在持仓

以下代码示例演示了如何使用 MQL 语言检查当前交易账户是否存在持仓。

bool ExistPositions() 
{
  for (int i=0; i<OrdersTotal(); i++)
  {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) 
    {
      if (OrderSymbol()==Symbol()) 
      {
        return(True);
      }
    }
  }
  return(false);
}

详细解析:

  1. 代码功能: 该代码使用一个 for 循环遍历所有当前交易账户中的订单,使用 OrderSelect 函数选择订单。
  2. 订单选择: OrderSelect(i, SELECT_BY_POS, MODE_TRADES) 函数根据订单序号 i 选择交易订单。
  3. 交易品种检查: 如果选择成功,则检查订单的交易品种是否与当前交易品种相同 (OrderSymbol()==Symbol())。
  4. 返回结果: 如果存在持仓,则返回 True,否则返回 False

代码解析:

  • ExistPositions() 函数用于检查持仓情况,返回布尔值。
  • OrdersTotal() 函数返回当前交易账户中的订单总数。
  • OrderSelect(i, SELECT_BY_POS, MODE_TRADES) 用于根据订单序号 i 选择订单。
  • OrderSymbol() 函数返回当前订单的交易品种。
  • Symbol() 函数返回当前交易品种。

使用方法:

您可以将此代码添加到您的交易策略中,用于判断交易账户是否存在持仓,从而制定不同的交易逻辑。例如,如果您希望在没有持仓的情况下才进行开仓操作,您可以使用 ExistPositions() 函数来判断是否满足条件。

MQL 编程语言:检查当前交易账户是否存在持仓

原文地址: https://www.cveoy.top/t/topic/ocrh 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录