exchange.CreateOrder
exchange.CreateOrder()函数用于下单。
exchange.CreateOrder(symbol, side, price, amount)
exchange.CreateOrder(symbol, side, price, amount, ...args)示例
-
现货交易所对象与期货交易所对象均通过调用
exchange.CreateOrder()函数进行下单。javascriptfunction main() { var id = exchange.CreateOrder("BTC_USDT", "buy", 60000, 0.01) // 现货交易所对象下单,交易BTC_USDT币币交易对 // var id = exchange.CreateOrder("BTC_USDT.swap", "buy", 60000, 0.01) // 期货交易所对象下单,交易BTC的U本位永续合约 Log("Order Id:", id) }pythondef main(): id = exchange.CreateOrder("BTC_USDT", "buy", 60000, 0.01) # 现货交易所对象下单,交易BTC_USDT币币交易对 # id = exchange.CreateOrder("BTC_USDT.swap", "buy", 60000, 0.01) # 期货交易所对象下单,交易BTC的U本位永续合约 Log("Order Id:", id)rustfn main() { let id = exchange.CreateOrder("BTC_USDT", "buy", 60000, 0.01); // 现货交易所对象下单,交易BTC_USDT币币交易对 // let id = exchange.CreateOrder("BTC_USDT.swap", "buy", 60000, 0.01); // 期货交易所对象下单,交易BTC的U本位永续合约 Log!("Order Id:", id); }c++void main() { auto id = exchange.CreateOrder("BTC_USDT", "buy", 60000, 0.01); // 现货交易所对象下单,交易BTC_USDT币币交易对 // auto id = exchange.CreateOrder("BTC_USDT.swap", "buy", 60000, 0.01); // 期货交易所对象下单,交易BTC的U本位永续合约 Log("Order Id:", id); } -
通过附加参数(option)下单,用于传递交易所的特定参数。
javascriptfunction main() { // 使用JSON格式传递option参数 var option = { "type": "TRAILING_STOP_MARKET", "activationPrice": "2300", "callbackRate": "0.1" } var sideWithOption = "buy;" + JSON.stringify(option) var id = exchange.CreateOrder("SOL_USDT.swap", sideWithOption, -1, 1) Log("Order Id:", id) Sleep(2000) Log(exchange.GetOrder(id)) }pythonimport json def main(): # 使用JSON格式传递option参数 option = { "type": "TRAILING_STOP_MARKET", "activationPrice": "2300", "callbackRate": "0.1" } sideWithOption = "buy;" + json.dumps(option) id = exchange.CreateOrder("SOL_USDT.swap", sideWithOption, -1, 1) Log("Order Id:", id) Sleep(2000) Log(exchange.GetOrder(id))rustfn main() { // 使用JSON格式传递option参数(Rust不支持JSON.stringify,直接使用原始字符串构造JSON文本) let option = r#"{"type": "TRAILING_STOP_MARKET", "activationPrice": "2300", "callbackRate": "0.1"}"#; let sideWithOption = format!("buy;{}", option); let id = exchange.CreateOrder("SOL_USDT.swap", &sideWithOption, -1, 1).unwrap(); Log!("Order Id:", id); Sleep(2000); Log!(exchange.GetOrder(&id)); }c++void main() { // 使用JSON格式传递option参数 json option = R"({ "type": "TRAILING_STOP_MARKET", "activationPrice": "2300", "callbackRate": "0.1" })"_json; string sideWithOption = "buy;" + option.dump(); auto id = exchange.CreateOrder("SOL_USDT.swap", sideWithOption, -1, 1); Log("Order Id:", id); Sleep(2000); Log(exchange.GetOrder(id)); }
返回值
| 类型 | 描述 |
string / 空值 | 下单成功时返回订单Id,下单失败时返回空值。FMZ平台的订单 调用 |
参数
| 名称 | 类型 | 必填 | 描述 |
symbol | string | 是 | 参数 当调用 当调用 当调用 |
side | string | 是 | 参数 对于现货交易所对象, 对于期货交易所对象, 支持附加参数(option):可以通过 例如: 附加参数用于传递交易所特定的参数(如订单类型、生效规则等),具体支持的参数取决于交易所API。 |
price | number | 是 | 参数 |
amount | number | 是 | 参数 |
arg | string / number / bool / object / array / any (平台支持的任意类型) | 否 | 扩展参数,用于将附带信息输出到本次下单日志中, |
参考
备注
支持通过side参数传递附加参数(option),用于指定交易所特定的参数。附加参数需与side参数合并传入,格式为"side;{JSON对象}"(推荐)或"side;key=value&key=value"(URL编码格式)。例如:"buy;{\"type\":\"TRAILING_STOP_MARKET\"}"。
不同交易所支持的option参数各不相同,具体支持的参数以交易所API文档为准。常见参数包括:订单类型(type)、生效规则(timeInForce)、触发价格(activationPrice)、回调比率(callbackRate)等。
使用option参数时,仍需提供price和amount参数。若某些参数已通过option传递,则这些基础参数可能会被option中的对应参数覆盖,具体行为取决于交易所API的实现。