两融业务成员函数
credit_buying_on_margin - 融资买入
函数原型:
    Order credit_buying_on_margin(const char *symbol, int volume, double price, int order_type = OrderType_Limit, int order_duration = OrderDuration_Unknown, int order_qualifier = OrderQualifier_Unknown, const char *account = NULL);
参数:
| 参数名 | 类型 | 说明 | 
|---|---|---|
| symbol | const char * | 标的代码,只能单个标的 | 
| volume | int | 委托数量 | 
| price | double | 委托价格 | 
| order_type | int | 委托类型 参见 enum OrderType | 
| order_duration | int | 委托时间属性  参见 enum OrderDuration | 
| order_qualifier | int | 委托成交属性  参见 enum OrderQualifier | 
| account | const char * | 实盘账号id,关联多实盘账号时填写,可以从 get_accounts获取,也可以从终端实盘账号配置里拷贝。如果策略只关联一个账号,可以设置为NULL | 
| 返回值 | Order | 一个Order结构, 如果函数调用失败, Order.status 值为 OrderStatus_Rejected, Order.ord_rej_reason_detail 为错误原因描述, 其它情况表示函数调用成功,Order.cl_ord_id 为本次委托的标识,可用于追溯订单状态或撤单 | 
示例:
//以价格11.9融资买入10000股浦发银行
Order o = credit_buying_on_margin("SHSE.600000", 10000, 11.9);
credit_short_selling - 融券卖出
函数原型:
    Order credit_short_selling(const char *symbol, int volume, double price, int order_type = OrderType_Limit, int order_duration = OrderDuration_Unknown, int order_qualifier = OrderQualifier_Unknown, const char *account = NULL);
参数:
| 参数名 | 类型 | 说明 | 
|---|---|---|
| symbol | const char * | 标的代码,只能单个标的 | 
| volume | int | 委托数量 | 
| price | double | 委托价格 | 
| order_type | int | 委托类型 参见 enum OrderType | 
| order_duration | int | 委托时间属性  参见 enum OrderDuration | 
| order_qualifier | int | 委托成交属性  参见 enum OrderQualifier | 
| account | const char * | 实盘账号id,关联多实盘账号时填写,可以从 get_accounts获取,也可以从终端实盘账号配置里拷贝。如果策略只关联一个账号,可以设置为NULL | 
| 返回值 | Order | 一个Order结构, 如果函数调用失败, Order.status 值为 OrderStatus_Rejected, Order.ord_rej_reason_detail 为错误原因描述, 其它情况表示函数调用成功,Order.cl_ord_id 为本次委托的标识,可用于追溯订单状态或撤单 | 
示例:
//以价格11.9融券卖出10000股浦发银行
Order o = credit_short_selling("SHSE.600000", 10000, 11.9);
注意: 融券卖出一般不支持市价单,以柜台为准
credit_repay_share_by_buying_share - 买券还券
函数原型:
    Order credit_repay_share_by_buying_share(const char *symbol, int volume, double price, int order_type = OrderType_Limit, int order_duration = OrderDuration_Unknown, int order_qualifier = OrderQualifier_Unknown, const char *account = NULL);
参数:
| 参数名 | 类型 | 说明 | 
|---|---|---|
| symbol | const char * | 标的代码,只能单个标的 | 
| volume | int | 委托数量 | 
| price | double | 委托价格 | 
| order_type | int | 委托类型 参见 enum OrderType | 
| order_duration | int | 委托时间属性  参见 enum OrderDuration | 
| order_qualifier | int | 委托成交属性  参见 enum OrderQualifier | 
| account | const char * | 实盘账号id,关联多实盘账号时填写,可以从 get_accounts获取,也可以从终端实盘账号配置里拷贝。如果策略只关联一个账号,可以设置为NULL | 
| 返回值 | Order | 一个Order结构, 如果函数调用失败, Order.status 值为 OrderStatus_Rejected, Order.ord_rej_reason_detail 为错误原因描述, 其它情况表示函数调用成功,Order.cl_ord_id 为本次委托的标识,可用于追溯订单状态或撤单 | 
示例:
//以价格11.9买入10000股浦发银行还券
Order o = credit_repay_share_by_buying_share("SHSE.600000", 10000, 11.9);
credit_repay_cash_by_selling_share - 卖券还款
函数原型:
    Order credit_repay_cash_by_selling_share(const char *symbol, int volume, double price, int order_type = OrderType_Limit, int order_duration = OrderDuration_Unknown, int order_qualifier = OrderQualifier_Unknown, const char *account = NULL);
参数:
| 参数名 | 类型 | 说明 | 
|---|---|---|
| symbol | const char * | 标的代码,只能单个标的 | 
| volume | int | 委托数量 | 
| price | double | 委托价格 | 
| order_type | int | 委托类型 参见 enum OrderType | 
| order_duration | int | 委托时间属性  参见 enum OrderDuration | 
| order_qualifier | int | 委托成交属性  参见 enum OrderQualifier | 
| account | const char * | 实盘账号id,关联多实盘账号时填写,可以从 get_accounts获取,也可以从终端实盘账号配置里拷贝。如果策略只关联一个账号,可以设置为NULL | 
| 返回值 | Order | 一个Order结构, 如果函数调用失败, Order.status 值为 OrderStatus_Rejected, Order.ord_rej_reason_detail 为错误原因描述, 其它情况表示函数调用成功,Order.cl_ord_id 为本次委托的标识,可用于追溯订单状态或撤单 | 
示例:
//以价格11.9卖出10000股浦发银行还款
Order o = credit_repay_share_by_buying_share("SHSE.600000", 10000, 11.9);
credit_buying_on_collateral - 担保品买入
函数原型:
    Order credit_buying_on_collateral(const char *symbol, int volume, double price, int order_type = OrderType_Limit, int order_duration = OrderDuration_Unknown, int order_qualifier = OrderQualifier_Unknown, const char *account = NULL);
参数:
| 参数名 | 类型 | 说明 | 
|---|---|---|
| symbol | const char * | 标的代码,只能单个标的 | 
| volume | int | 委托数量 | 
| price | double | 委托价格 | 
| order_type | int | 委托类型 参见 enum OrderType | 
| order_duration | int | 委托时间属性  参见 enum OrderDuration | 
| order_qualifier | int | 委托成交属性  参见 enum OrderQualifier | 
| account | const char * | 实盘账号id,关联多实盘账号时填写,可以从 get_accounts获取,也可以从终端实盘账号配置里拷贝。如果策略只关联一个账号,可以设置为NULL | 
| 返回值 | Order | 一个Order结构, 如果函数调用失败, Order.status 值为 OrderStatus_Rejected, Order.ord_rej_reason_detail 为错误原因描述, 其它情况表示函数调用成功,Order.cl_ord_id 为本次委托的标识,可用于追溯订单状态或撤单 | 
示例:
//以价格11.9买入10000股浦发银行
Order o = credit_buying_on_collateral("SHSE.600000", 10000, 11.9);
credit_selling_on_collateral - 担保品卖出
函数原型:
    Order credit_selling_on_collateral(const char *symbol, int volume, double price, int order_type = OrderType_Limit, int order_duration = OrderDuration_Unknown, int order_qualifier = OrderQualifier_Unknown, const char *account = NULL);
参数:
| 参数名 | 类型 | 说明 | 
|---|---|---|
| symbol | const char * | 标的代码,只能单个标的 | 
| volume | int | 委托数量 | 
| price | double | 委托价格 | 
| order_type | int | 委托类型 参见 enum OrderType | 
| order_duration | int | 委托时间属性  参见 enum OrderDuration | 
| order_qualifier | int | 委托成交属性  参见 enum OrderQualifier | 
| account | const char * | 实盘账号id,关联多实盘账号时填写,可以从 get_accounts获取,也可以从终端实盘账号配置里拷贝。如果策略只关联一个账号,可以设置为NULL | 
| 返回值 | Order | 一个Order结构, 如果函数调用失败, Order.status 值为 OrderStatus_Rejected, Order.ord_rej_reason_detail 为错误原因描述, 其它情况表示函数调用成功,Order.cl_ord_id 为本次委托的标识,可用于追溯订单状态或撤单 | 
示例:
//以价格11.9卖出10000股浦发银行
Order o = credit_selling_on_collateral("SHSE.600000", 10000, 11.9);
credit_repay_share_directly - 直接还券
函数原型:
    Order credit_repay_share_directly(const char *symbol, int volume, const char *account = NULL);
参数:
| 参数名 | 类型 | 说明 | 
|---|---|---|
| symbol | const char * | 标的代码,只能单个标的 | 
| volume | int | 委托数量 | 
| account | const char * | 实盘账号id,关联多实盘账号时填写,可以从 get_accounts获取,也可以从终端实盘账号配置里拷贝。如果策略只关联一个账号,可以设置为NULL | 
| 返回值 | Order | 一个Order结构, 如果函数调用失败, Order.status 值为 OrderStatus_Rejected, Order.ord_rej_reason_detail 为错误原因描述, 其它情况表示函数调用成功,Order.cl_ord_id 为本次委托的标识,可用于追溯订单状态或撤单 | 
示例:
//还券10000股浦发银行
Order o = credit_repay_share_directly("SHSE.600000", 10000);
credit_repay_cash_directly - 直接还款
函数原型:
    int credit_repay_cash_directly(double amount, const char *account = NULL, double *actual_repay_amount = NULL, char *error_msg_buf = NULL, int buf_len = 0);
参数:
| 参数名 | 类型 | 说明 | 
|---|---|---|
| amount | double | 还款金额 | 
| account | const char * | 实盘账号id,关联多实盘账号时填写,可以从 get_accounts获取,也可以从终端实盘账号配置里拷贝。如果策略只关联一个账号,可以设置为NULL | 
| actual_repay_amount | double* | 出参,返回值,如果还款成功,返回实际的还款金额 | 
| error_msg_buf | char * | 出参,返回值,如果还款失败,返回错误信息,内存需要用户分配 | 
| buf_len | int | 指定error_msg_buf 空间大小 | 
| 返回值 | int | 成功返回0,否则返回非0错误 | 
示例:
//还款 100000块
double actual_repay_amount;
char error_msg_buf[256] = {0};
int ret = credit_repay_cash_directly("SHSE.600000", 100000, &actual_repay_amount, error_msg_buf, sizeof(error_msg_buf));
credit_collateral_in - 担保品转入
函数原型:
    Order credit_collateral_in(const char *symbol, int volume, const char *account = NULL);
参数:
| 参数名 | 类型 | 说明 | 
|---|---|---|
| symbol | const char * | 标的代码,只能单个标的 | 
| volume | int | 委托数量 | 
| account | const char * | 实盘账号id,关联多实盘账号时填写,可以从 get_accounts获取,也可以从终端实盘账号配置里拷贝。如果策略只关联一个账号,可以设置为NULL | 
| 返回值 | Order | 一个Order结构, 如果函数调用失败, Order.status 值为 OrderStatus_Rejected, Order.ord_rej_reason_detail 为错误原因描述, 其它情况表示函数调用成功,Order.cl_ord_id 为本次委托的标识,可用于追溯订单状态或撤单 | 
示例:
//担保品转入10000股浦发银行
Order o = credit_collateral_in("SHSE.600000", 10000);
credit_collateral_out - 担保品转出
函数原型:
    Order credit_collateral_out(const char *symbol, int volume, const char *account = NULL);
参数:
| 参数名 | 类型 | 说明 | 
|---|---|---|
| symbol | const char * | 标的代码,只能单个标的 | 
| volume | int | 委托数量 | 
| account | const char * | 实盘账号id,关联多实盘账号时填写,可以从 get_accounts获取,也可以从终端实盘账号配置里拷贝。如果策略只关联一个账号,可以设置为NULL | 
| 返回值 | Order | 一个Order结构, 如果函数调用失败, Order.status 值为 OrderStatus_Rejected, Order.ord_rej_reason_detail 为错误原因描述, 其它情况表示函数调用成功,Order.cl_ord_id 为本次委托的标识,可用于追溯订单状态或撤单 | 
示例:
//担保品转出10000股浦发银行
Order o = credit_collateral_out("SHSE.600000", 10000);
credit_get_collateral_instruments - 查询担保证券
函数原型:
DataArray<CollateralInstrument>* credit_get_collateral_instruments(const char *account = NULL);
参数:
| 参数名 | 类型 | 说明 | 
|---|---|---|
| account | const char * | 账号IDaccount_id, 如果输入为NULL, 则返回所有账号的委托 | 
| 返回值 | DataArray<CollateralInstrument>* | 
一个CollateralInstrument结构数组 | 
credit_get_borrowable_instruments - 查询融券标的证券
查询标的证券,可做融券标的股票列表
函数原型:
DataArray<BorrowableInstrument>* credit_get_borrowable_instruments(const char *account = NULL);
参数:
| 参数名 | 类型 | 说明 | 
|---|---|---|
| account | const char * | 账号IDaccount_id, 如果输入为NULL, 则返回所有账号的委托 | 
| 返回值 | DataArray<BorrowableInstrument>* | 
一个BorrowableInstrument结构数组 | 
credit_get_borrowable_instruments_positions - 查询融券账户头寸
查询券商融券账户头寸,可用融券的数量
函数原型:
DataArray<BorrowableInstrumentPosition>* credit_get_borrowable_instruments_positions(const char *account = NULL);
参数:
| 参数名 | 类型 | 说明 | 
|---|---|---|
| account | const char * | 账号IDaccount_id, 如果输入为NULL, 则返回所有账号的委托 | 
| 返回值 | DataArray<BorrowableInstrumentPosition>* | 
一个BorrowableInstrumentPosition结构数组 | 
credit_get_contracts - 查询融资融券合约
查询融资融券合约,负债
函数原型:
DataArray<CreditContract>* credit_get_contracts(const char *account = NULL);
参数:
| 参数名 | 类型 | 说明 | 
|---|---|---|
| account | const char * | 账号IDaccount_id, 如果输入为NULL, 则返回所有账号的委托 | 
| 返回值 | DataArray<CreditContract>* | 
一个CreditContract结构数组 | 
credit_get_cash - 查询融资融券资金
函数原型:
int credit_get_cash(CreditCash &cash, const char *account = NULL);
参数:
| 参数名 | 类型 | 说明 | 
|---|---|---|
| cash | CreditCash | 出参,返回资金信息 | 
| account | const char * | 账号IDaccount_id, 如果输入为NULL, 则返回所有账号的委托 | 
| 返回值 | int | 成功返回0,否则返回非0错误 | 
示例:
CreditCash cash;
int ret = credit_get_cash(cash);