Skip to content

CTrade类 | 条件单及报单操作

条件单是指报单到经纪公司CTP服务器,按一定条件等待触发的订单,条件触发后报单会被报送到交易所。是否支持条件单和条件单使用的约束,需咨询经纪公司。

MT5CTP条件单目前仅支持开仓条件单。

条件单或报单后形成挂单,可以撤单和修改报单信息。

条件单报单

OrderOpen

OrderOpen(

const string symbol,                // 报单合约代码
const ENUM_ORDER_TYPE order_type,   // 报单类型
const double volume,                // 报单数量
const double limit_price,           // 报单触发价格
const double price,                 // 报单价格
const double sl,                    // 报单止损价
const double tp,                    // 报单止盈价
ENUM_ORDER_TYPE_TIME type_time = ORDER_TIME_GTC,    // 报单有效期类型
const datetime expiration = 0,      // 报单过期时间,与报单有效期类型配合使用
const string comment = "",          // 报单自定义标识
const int account_index = 0         // 报单账户的序号

) -> bool

功能:按参数配置报开仓条件单到CTP柜台,报单前有多重检查:是否允许自动交易、账户是否登录、报单合约是否交易时间、报单类型和报单信息是否有效

参数:

symbol:报单合约代码,必须参数

order_type:报单类型,必须参数

ORDER_TYPE_BUY_LIMIT ->限价买入(低买);
ORDER_TYPE_BUY_STOP ->突破买入(高买);
ORDER_TYPE_SELL_LIMIT ->限价卖出(高卖);
ORDER_TYPE_SELL_STOP ->突破卖出(低卖)

volume:报单数量,必须参数,double 类型

limit_price:报单触发价格,必须参数

price:报单价格,必须参数,0.0标识市价单

sl:报单止损价,必须参数

tp:报单止盈价,必须参数

type_time:报单有效期类型,可选参数,MT5CTP仅支持默认的 ORDER_TIME_GTC 类型

expiration:报单过期时间,与报单有效期类型配合使用,可选参数,MT5CTP无效

comment:报单自定义标识,可选参数

account_index:报单账户的序号,可选参数,单账户默认参数即可,多账户操作需指定账户序号

返回值类型:bool,是否报单成功。报单成功指报单信息被CTP柜台接收,价格触发后以price价格向交易所报单,不能保证实时成交,即便成交可能成交价格也可能与预期报单价格不一致,务必注意。

BuyLimit

BuyLimit(

const double volume,                // 报单数量
const double price,                 // 报单价格&报单触发价格
const string symbol = NULL,         // 报单合约代码
const double sl = 0.0,              // 报单止损价,已失效
const double tp = 0.0,              // 报单止盈价,已失效
ENUM_ORDER_TYPE_TIME type_time = ORDER_TIME_GTC,    // 报单有效期类型
const datetime expiration = 0,      // 报单过期时间,与报单有效期类型配合使用
const string comment = "",          // 报单自定义标识
const int account_index = 0         // 报单账户的序号

) -> bool

功能:按参数配置报ORDER_TYPE_BUY_LIMIT单到CTP柜台,实际调用'OrderOpen'方法

参数:

volume:报单数量,必须参数,double 类型

price:报单价格&报单触发价格,必须参数,价格触发时以触发价格报单

symbol:报单合约代码,可选参数,'NULL'或空字符串指图表合约

sl:报单止损价,可选参数

tp:报单止盈价,可选参数

type_time:报单有效期类型,可选参数,MT5CTP仅支持默认的 ORDER_TIME_GTC 类型

expiration:报单过期时间,与报单有效期类型配合使用,可选参数,MT5CTP无效

comment:报单自定义标识,可选参数

account_index:报单账户的序号,可选参数,单账户默认参数即可,多账户操作需指定账户序号

返回值类型:bool,是否报单成功。报单成功指报单信息被CTP柜台接收,价格触发后以price价格向交易所报单,不能保证实时成交,即便成交可能成交价格也可能与预期报单价格不一致,务必注意。

BuyStop

BuyStop(

const double volume,                // 报单数量
const double price,                 // 报单价格&报单触发价格
const string symbol = NULL,         // 报单合约代码
const double sl = 0.0,              // 报单止损价,已失效
const double tp = 0.0,              // 报单止盈价,已失效
ENUM_ORDER_TYPE_TIME type_time = ORDER_TIME_GTC,    // 报单有效期类型
const datetime expiration = 0,      // 报单过期时间,与报单有效期类型配合使用
const string comment = "",          // 报单自定义标识
const int account_index = 0         // 报单账户的序号

) -> bool

功能:按参数配置报ORDER_TYPE_BUY_STOP单到CTP柜台,实际调用'OrderOpen'方法

参数:

volume:报单数量,必须参数,double 类型

price:报单价格&报单触发价格,必须参数,价格触发时以触发价格报单

symbol:报单合约代码,可选参数,'NULL'或空字符串指图表合约

sl:报单止损价,可选参数

tp:报单止盈价,可选参数

type_time:报单有效期类型,可选参数,MT5CTP仅支持默认的 ORDER_TIME_GTC 类型

expiration:报单过期时间,与报单有效期类型配合使用,可选参数,MT5CTP无效

comment:报单自定义标识,可选参数

account_index:报单账户的序号,可选参数,单账户默认参数即可,多账户操作需指定账户序号

返回值类型:bool,是否报单成功。报单成功指报单信息被CTP柜台接收,价格触发后以price价格向交易所报单,不能保证实时成交,即便成交可能成交价格也可能与预期报单价格不一致,务必注意。

SellLimit

SellLimit(

const double volume,                // 报单数量
const double price,                 // 报单价格&报单触发价格
const string symbol = NULL,         // 报单合约代码
const double sl = 0.0,              // 报单止损价,已失效
const double tp = 0.0,              // 报单止盈价,已失效
ENUM_ORDER_TYPE_TIME type_time = ORDER_TIME_GTC,    // 报单有效期类型
const datetime expiration = 0,      // 报单过期时间,与报单有效期类型配合使用
const string comment = "",          // 报单自定义标识
const int account_index = 0         // 报单账户的序号

) -> bool

功能:按参数配置报ORDER_TYPE_SELL_LIMIT单到CTP柜台,实际调用'OrderOpen'方法

参数:

volume:报单数量,必须参数,double 类型

price:报单价格&报单触发价格,必须参数,价格触发时以触发价格报单

symbol:报单合约代码,可选参数,'NULL'或空字符串指图表合约

sl:报单止损价,可选参数

tp:报单止盈价,可选参数

type_time:报单有效期类型,可选参数,MT5CTP仅支持默认的 ORDER_TIME_GTC 类型

expiration:报单过期时间,与报单有效期类型配合使用,可选参数,MT5CTP无效

comment:报单自定义标识,可选参数

account_index:报单账户的序号,可选参数,单账户默认参数即可,多账户操作需指定账户序号

返回值类型:bool,是否报单成功。报单成功指报单信息被CTP柜台接收,价格触发后以price价格向交易所报单,不能保证实时成交,即便成交可能成交价格也可能与预期报单价格不一致,务必注意。

SellStop

SellStop(

const double volume,                // 报单数量
const double price,                 // 报单价格&报单触发价格
const string symbol = NULL,         // 报单合约代码
const double sl = 0.0,              // 报单止损价,已失效
const double tp = 0.0,              // 报单止盈价,已失效
ENUM_ORDER_TYPE_TIME type_time = ORDER_TIME_GTC,    // 报单有效期类型
const datetime expiration = 0,      // 报单过期时间,与报单有效期类型配合使用
const string comment = "",          // 报单自定义标识
const int account_index = 0         // 报单账户的序号

) -> bool

功能:按参数配置报ORDER_TYPE_SELL_STOP单到CTP柜台,实际调用'OrderOpen'方法

参数:

volume:报单数量,必须参数,double 类型

price:报单价格&报单触发价格,必须参数,价格触发时以触发价格报单

symbol:报单合约代码,可选参数,'NULL'或空字符串指图表合约

sl:报单止损价,可选参数

tp:报单止盈价,可选参数

type_time:报单有效期类型,可选参数,MT5CTP仅支持默认的 ORDER_TIME_GTC 类型

expiration:报单过期时间,与报单有效期类型配合使用,可选参数,MT5CTP无效

comment:报单自定义标识,可选参数

account_index:报单账户的序号,可选参数,单账户默认参数即可,多账户操作需指定账户序号

返回值类型:bool,是否报单成功。报单成功指报单信息被CTP柜台接收,价格触发后以price价格向交易所报单,不能保证实时成交,即便成交可能成交价格也可能与预期报单价格不一致,务必注意。

报单操作

OrderModify

OrderModify(

const ulong ticket,                 // 报单标识
const double price,                 // 报单价格
const double sl,                    // 报单止损价
const double tp,                    // 报单止盈价
const ENUM_ORDER_TYPE_TIME type_time,       // 报单有效期类型
const datetime expiration,          // 报单过期时间
const double stoplimit = 0.0        // 报单触发价格

) -> bool

功能:修改指定报单标识的报单价格、报单触发价格、止损价、止盈价等报单信息,CTP不支持修改报单信息,MT5CTP实际执行了撤单后重新下单的操作

参数:

ticket:报单标识,必须参数

price:报单价格,必须参数,0.0标识市价单

sl:报单止损价,必须参数

tp:报单止盈价,必须参数

type_time:报单有效期类型,必须参数,MT5CTP仅支持默认的 ORDER_TIME_GTC 类型

expiration:报单过期时间,与报单有效期类型配合使用,必须参数,MT5CTP无效

stoplimit:报单触发价格,可选参数

返回值类型:bool

OrderDelete

OrderDelete(const ulong ticket) -> bool

功能:撤销指定报单标识的报单,撤单前有多重检查:是否允许自动交易、账户是否登录、报单合约是否交易时间

参数: ticket:报单标识,必须参数

返回值类型:bool