Appearance
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