exchange.Buy
exchange.Buy()函数用于下买单。Buy()函数是交易所对象exchange的成员函数。
Buy()函数操作交易所对象exchange绑定的交易所账户,exchange对象的成员函数(方法)的用途仅与exchange相关,文档后续不再赘述。
exchange.Buy(price, amount)
exchange.Buy(price, amount, ...args)示例
-
exchange.Buy()返回的订单编号,可用于查询订单信息和取消订单。javascriptfunction main() { // 鉴于测试代码,不使用商品期货策略一般架构,这里仅判断exchange.IO("status")函数,判断连接期货公司前置机成功后立即执行测试代码。股票证券无需使用exchange.IO("status")判断连接状态 while (!exchange.IO("status")) { Sleep(1000) } // 设置合约代码 exchange.SetContractType("rb888") // 设置下单方向 exchange.SetDirection("buy") // 注意,这里的下单价格100仅为示例,具体测试时可自行设置、修改 var id = exchange.Buy(100, 1) Log("id:", id) }pythondef main(): while not exchange.IO("status"): Sleep(1000) exchange.SetContractType("rb888") exchange.SetDirection("buy") id = exchange.Buy(100, 1) Log("id:", id)c++void main() { while (exchange.IO("status") == 0) { Sleep(1000); } exchange.SetContractType("rb888"); exchange.SetDirection("buy"); auto id = exchange.Buy(100, 1); Log("id:", id); } -
商品期货、股票证券除了使用市价单(价格参数传-1,实际上是系统使用了一个较高的买入价或较低的卖出价来确保成交),还可以使用限价单方式下单。可以使用较大的滑点来确保与对手盘成交,请参考
exchange.Sell中的示例。javascriptfunction main() { // 鉴于测试代码,不使用商品期货策略一般架构,这里仅判断exchange.IO("status")函数,判断连接期货公司前置机成功后立即执行测试代码。股票证券无需使用exchange.IO("status")判断连接状态 while (!exchange.IO("status")) { Sleep(1000) } // 设置合约代码 exchange.SetContractType("rb888") // 设置下单方向 exchange.SetDirection("buy") // 下单价格参数传-1即为市价单 var id = exchange.Buy(-1, 1) Log("id:", id) }pythondef main(): while not exchange.IO("status"): Sleep(1000) exchange.SetContractType("rb888") exchange.SetDirection("buy") id = exchange.Buy(-1, 1) Log("id:", id)c++void main() { while (exchange.IO("status") == 0) { Sleep(1000); } exchange.SetContractType("rb888"); exchange.SetDirection("buy"); auto id = exchange.Buy(-1, 1); Log("id:", id); }
返回值
| 类型 | 描述 |
string / 空值 | 下单成功返回订单ID,下单失败返回空值。 |
参数
| 名称 | 类型 | 必填 | 描述 |
price | number | 是 |
|
amount | number | 是 |
|
arg | string / number / bool / object / array / any (系统支持的所有类型) | 否 | 扩展参数,可以将附加信息输出到此条下单日志中, |
参考
备注
期货合约下单时必须注意交易方向是否设置正确,如果交易方向与交易函数不匹配将会报错。参考:exchange.SetDirection
参数price设置为-1用于下市价单,回测系统、实盘环境均支持市价单。
股票证券下单:
下单量为股票股数,而非股票手数(在股票证券交易所对象中如无特殊说明,相关的量均为股票股数)。下单量需要符合股票信息中的每手股数要求。例如,02333.HK港股长城汽车,每手500股,下单量必须是500的整数倍。601633.SH为A股长城汽车,每手100股,下单量必须是100的整数倍。每手股数可以从SetContractType函数返回的数据结构中获取(VolumeMultiple字段),也可以从GetTicker()函数返回的数据结构中的Info属性中获取(LotSize字段)。