订单类型

我们知道,MetaTrader 5支持多种 订单类型:两种以当前价格买入和卖出的市场订单,以及六种具有高于和低于市价的预定义激活水平的挂单。所有这些类型在 MQL5 API 中都是可用的,并且由 ENUM_ORDER_TYPE 枚举的元素进行描述。稍后我们将探讨如何在程序中创建特定类型的订单。现在,让我们熟悉一下枚举。

标识符

说明

ORDER_TYPE_BUY

市场买入订单

ORDER_TYPE_SELL

市场卖出订单

ORDER_TYPE_BUY_LIMIT

Buy Limit 挂单

ORDER_TYPE_SELL_LIMIT

Sell Limit 挂单

ORDER_TYPE_BUY_STOP

Buy Stop 挂单

ORDER_TYPE_SELL_STOP

Sell Stop 挂单

ORDER_TYPE_BUY_STOP_LIMIT

Buy Limit 当价格达到指定的较高水平时下达的挂单

ORDER_TYPE_SELL_STOP_LIMIT

Sell Limit 当价格达到指定的较低水平时下达的挂单

ORDER_TYPE_CLOSE_BY

以相反方向的仓位平仓的订单

最后一个要素对应于反向平仓的行为:这种可能性仅存在于 对冲 账户和金融工具的特性允许此类操作 (SYMBOL_ORDER_CLOSEBY)。

下图可帮助你理解挂单激活的一般原则。该图以灰色显示预期的期货价格变动情况。但目前还不知道哪个预测是正确的。

挂单激活方案
挂单激活方案

Buy StopSell Stop 挂单遵循水平突破原则:对于 Buy Stop,该水平应位于当前价格之上,对于 Sell Stop,该水平应低于当前价格。换言之,在一个给定的水平上,我们希望执行买入或卖出运算,以期待行情沿趋势方向进一步发展。

Buy LimitSell Limit 执行从水平反弹的策略,在这种情况下,买入激活价格低于当前价格,卖出价格更高。这意味着趋势发生变化或者在区间内波动。在上图中,挂单的相同上限(较高价格)和下限(较低价格)激活水平用于说明突破和反弹。

挂单可以按当前价格下单,很可能会立即执行。此外,与市场订单不同的是,这种应用于限价订单的技术保证了交易价格不会低于要求的价格。

Buy Stop LimitSell Stop Limit 类型的订单不会因为激活而被发送到市场,而是在原始订单中指定的某个额外价位下预设挂单 Buy LimitSell Limit

对于交易所金融工具,限价订单(Buy LimitSell Limit)通常直接显示在订单簿中,并且对其他市场参与者可见。

相比之下,StopStop Limit 订单(Buy StopSell StopBuy Stop LimitSell Stop Limit)不直接输出到外部交易系统。在达到止损价格之前,这些类型的订单将在 MetaTrader 5 平台中处理。当达到买入止损订单或卖出止损订单中指定的止损价格时,执行相应的市场操作。当达到 Buy Stop LimitSell Stop Limit 订单中指定的止损价格时,就会下达相应的限制订单。

在交易所执行模式下,不会检查下达限制订单时指定的价格。该价格可以被指定为高于当前 Ask 价格(对于买入订单)和低于 Bid 价格(对于卖出订单)。以这样的价格下单时,该订单几乎会立即被触发并变成市场订单。

请注意,并非所有类型的订单都允许用于特定的金融工具: SYMBOL_ORDER_MODE 特性描述了允许的订单类型标志。