Condition

条件单配置信息结构,用于设置条件单的触发条件和执行价格。

条件单类型,可选值: - {@var/ORDER_CONDITION_TYPE/ORDER_CONDITION_TYPE_OCO ORDER_CONDITION_TYPE_OCO}(值为0):OCO订单(One-Cancels-the-Other,二择一订单) - {@var/ORDER_CONDITION_TYPE/ORDER_CONDITION_TYPE_TP ORDER_CONDITION_TYPE_TP}(值为1):止盈单(Take Profit) - {@var/ORDER_CONDITION_TYPE/ORDER_CONDITION_TYPE_SL ORDER_CONDITION_TYPE_SL}(值为2):止损单(Stop Loss) - {@var/ORDER_CONDITION_TYPE/ORDER_CONDITION_TYPE_GENERIC ORDER_CONDITION_TYPE_GENERIC}(值为3):通用条件单 ConditionType number 止盈触发价格。当条件单类型为TP或OCO时使用,当市场价格达到该价格时触发止盈订单。 TpTriggerPrice number 止盈订单执行价格,即止盈触发后的实际下单价格。价格为-1时表示以市价单执行。 TpOrderPrice number 止损触发价格。当条件单类型为SL或OCO时使用,当市场价格达到该价格时触发止损订单。 SlTriggerPrice number 止损订单执行价格,即止损触发后的实际下单价格。价格为-1时表示以市价单执行。 SlOrderPrice number

  • OCO订单(ConditionType={@var/ORDER_CONDITION_TYPE/ORDER_CONDITION_TYPE_OCO ORDER_CONDITION_TYPE_OCO})同时设置止盈和止损条件,当其中一个条件触发时,另一个自动取消。
  • TP订单(ConditionType={@var/ORDER_CONDITION_TYPE/ORDER_CONDITION_TYPE_TP ORDER_CONDITION_TYPE_TP})仅使用TpTriggerPrice和TpOrderPrice字段。
  • SL订单(ConditionType={@var/ORDER_CONDITION_TYPE/ORDER_CONDITION_TYPE_SL ORDER_CONDITION_TYPE_SL})仅使用SlTriggerPrice和SlOrderPrice字段。
  • GENERIC订单(ConditionType={@var/ORDER_CONDITION_TYPE/ORDER_CONDITION_TYPE_GENERIC ORDER_CONDITION_TYPE_GENERIC})为通用条件单,具体使用的字段取决于交易所的实现。 条件单功能的支持情况取决于具体交易所,部分交易所可能不支持某些类型的条件单。 C++语言中Condition结构的特殊使用方式: 在C++策略中,Condition结构需要使用OrderCondition结构体类型,而非JSON对象。

JavaScript/Python示例(使用对象/字典):

var condition = {
    ConditionType: ORDER_CONDITION_TYPE_TP,
    TpTriggerPrice: 65000,
    TpOrderPrice: 65000
}

C++示例(使用OrderCondition结构体):

OrderCondition condition = {.ConditionType = ORDER_CONDITION_TYPE_TP, .TpTriggerPrice = 65000, .TpOrderPrice = 65000};

注意:在C++中不应使用json condition = R"({...})"_json;的JSON字符串方式,应直接使用OrderCondition结构体的初始化语法。

{@struct/Order Order}, {@fun/Trade/exchange.CreateConditionOrder exchange.CreateConditionOrder}, {@fun/Trade/exchange.GetConditionOrder exchange.GetConditionOrder}