exchange.Buy
exchange.Buy()函数用于下买单。Buy()函数是交易所对象exchange的成员函数。Buy()函数操作交易所对象exchange所绑定的交易所账户。exchange对象的成员函数(方法)的用途仅与exchange相关,本文档后续不再赘述。
exchange.Buy(price, amount)
exchange.Buy(price, amount, ...args)示例
-
exchange.Buy()返回的订单编号,可用于查询订单信息和取消订单。javascriptfunction main() { var id = exchange.Buy(100, 1); Log("id:", id); }pythondef main(): id = exchange.Buy(100, 1) Log("id:", id)rustfn main() { let id = exchange.Buy(100, 1).unwrap(); Log!("id:", id); }c++void main() { auto id = exchange.Buy(100, 1); Log("id:", id); } -
加密货币期货合约下单时必须注意交易方向是否设置正确,如果交易方向与交易函数不匹配将会报错:
```log
direction is sell, invalid order type Buy
direction is buy, invalid order type Sell
direction is closebuy, invalid order type Buy
direction is closesell, invalid order type Sell
```
javascript// 以下为错误调用 function main() { exchange.SetContractType("quarter") // 设置做空方向 exchange.SetDirection("sell") // 下买单,会报错,做空只能卖出 var id = exchange.Buy(50, 1) // 设置做多方向 exchange.SetDirection("buy") // 下卖单,会报错,做多只能买入 var id2 = exchange.Sell(60, 1) // 设置平多方向 exchange.SetDirection("closebuy") // 下买单,会报错,平多只能卖出 var id3 = exchange.Buy(-1, 1) // 设置平空方向 exchange.SetDirection("closesell") // 下卖单,会报错,平空只能买入 var id4 = exchange.Sell(-1, 1) }python# 以下为错误调用 def main(): exchange.SetContractType("quarter") exchange.SetDirection("sell") id = exchange.Buy(50, 1) exchange.SetDirection("buy") id2 = exchange.Sell(60, 1) exchange.SetDirection("closebuy") id3 = exchange.Buy(-1, 1) exchange.SetDirection("closesell") id4 = exchange.Sell(-1, 1)rust// 以下为错误调用 fn main() { let _ = exchange.SetContractType("quarter"); // 设置做空方向 let _ = exchange.SetDirection("sell"); // 下买单,会报错,做空只能卖出 let id = exchange.Buy(50, 1); // 设置做多方向 let _ = exchange.SetDirection("buy"); // 下卖单,会报错,做多只能买入 let id2 = exchange.Sell(60, 1); // 设置平多方向 let _ = exchange.SetDirection("closebuy"); // 下买单,会报错,平多只能卖出 let id3 = exchange.Buy(-1, 1); // 设置平空方向 let _ = exchange.SetDirection("closesell"); // 下卖单,会报错,平空只能买入 let id4 = exchange.Sell(-1, 1); }c++// 以下为错误调用 void main() { exchange.SetContractType("quarter"); exchange.SetDirection("sell"); auto id = exchange.Buy(50, 1); exchange.SetDirection("buy"); auto id2 = exchange.Sell(60, 1); exchange.SetDirection("closebuy"); auto id3 = exchange.Buy(-1, 1); exchange.SetDirection("closesell"); auto id4 = exchange.Sell(-1, 1); } -
现货市价单。
javascript// 例如交易对:ETH_BTC ,市价单买入 function main() { // 下市价单买入,买入0.1个BTC(计价币)金额的ETH币 exchange.Buy(-1, 0.1) }pythondef main(): exchange.Buy(-1, 0.1)rust// 例如交易对:ETH_BTC ,市价单买入 fn main() { // 下市价单买入,买入0.1个BTC(计价币)金额的ETH币 let _ = exchange.Buy(-1, 0.1); }c++void main() { exchange.Buy(-1, 0.1); }
返回值
| 类型 | 描述 |
string / 空值 | 下单成功返回订单Id,下单失败返回空值。FMZ平台的订单 |
参数
| 名称 | 类型 | 必填 | 描述 |
price | number | 是 |
|
amount | number | 是 |
|
arg | string / number / bool / object / array / any (平台支持的任意类型) | 否 | 扩展参数,用于将附带信息输出到该条下单日志中, |
参考
exchange.Sell exchange.SetContractType exchange.SetDirection exchange.IO(API限流控制,Buy函数受CreateOrder限流设置影响)
备注
期货合约下单时必须注意交易方向是否设置正确,如果交易方向与交易函数不匹配将会报错。加密货币期货合约交易所的下单量如无特殊说明,则以合约张数为单位。
参数price设置为-1时用于下市价单,此功能需要交易所的下单接口支持市价单。以市价单方式对加密货币现货下买单时,下单量参数amount为以计价币计价的金额数量。以市价单方式对加密货币期货合约下单时,下单量参数amount的单位为合约张数。实盘时,有少数加密货币交易所不支持市价单接口。个别现货交易所市价单买单的下单量为交易币数量,具体请查看「用户指南」中的交易所特殊说明。
如使用较旧版本的托管者,exchange.Buy()函数返回的订单Id可能与当前文档中描述的返回值订单Id有所差别。
需要注意,以下三家交易所的下单接口较为特殊。对于现货市价单的买单,其下单量为币数,而非金额。
-
AscendEx -
BitMEX -
Bitfinex