exchange.CancelOrder()函数用于取消订单。FMZ平台的订单{@struct/Order Order}结构的Id属性由交易所品种代码和交易所原始订单ID组成,以英文逗号分隔。例如,OKX交易所的现货交易对ETH_USDT订单的Id属性格式为:ETH-USDT,1547130415509278720。
调用exchange.CancelOrder()函数撤销订单时,传入的参数orderId需与订单{@struct/Order Order}结构的Id属性保持一致。
exchange.CancelOrder()函数返回布尔值:true表示取消订单请求发送成功,false表示取消订单请求发送失败。返回值仅代表请求发送的状态,若要确认交易所是否已实际取消订单,需调用exchange.GetOrders()进行验证。
bool
exchange.CancelOrder(orderId) exchange.CancelOrder(orderId, …args)
orderId参数用于指定需要取消的订单。
orderId
true
string
扩展参数,可以将附加信息输出到撤单日志中。arg参数支持传入多个值。
arg
false
string / number / bool / object / array / any (平台支持的任意类型)
function main(){
var id = exchange.Sell(99999, 1)
exchange.CancelOrder(id)
}
def main():
id = exchange.Sell(99999, 1)
exchange.CancelOrder(id)
void main() {
auto id = exchange.Sell(99999, 1);
exchange.CancelOrder(id);
}
撤销订单。
“`javascript
function main() {
if (exchange.GetName().includes(“Futures_”)) {
Log(“Set contract to: perpetual swap, set direction to: open long.”)
exchange.SetContractType(“swap”)
exchange.SetDirection(“buy”)
}
var ticker = exchange.GetTicker()
exchange.Buy(ticker.Last * 0.5, 0.1)
var orders = exchange.GetOrders()
for (var i = 0 ; i < orders.length ; i++) {
exchange.CancelOrder(orders[i].Id, "Canceled order:", orders[i])
Sleep(500)
}
}
python
def main():
if exchange.GetName().find(“Futures_”) != -1:
Log(“Set contract to: perpetual swap, set direction to: open long.”)
exchange.SetContractType(“swap”)
exchange.SetDirection(“buy”)
ticker = exchange.GetTicker()
exchange.Buy(ticker["Last"] * 0.5, 0.1)
orders = exchange.GetOrders()
for i in range(len(orders)):
exchange.CancelOrder(orders[i]["Id"], "Canceled order:", orders[i])
Sleep(500)```
”`cpp void main() { if (exchange.GetName().find(“Futures_”) != std::string::npos) { Log(“Set contract to: perpetual swap, set direction to: open long.”); exchange.SetContractType(“swap”); exchange.SetDirection(“buy”); }
auto ticker = exchange.GetTicker();
exchange.Buy(ticker.Last * 0.5, 0.1);
auto orders = exchange.GetOrders();
for (int i = 0 ; i < orders.size() ; i++) {
exchange.CancelOrder(orders[i].Id, "Canceled order:", orders[i]);
Sleep(500);
}
}
FMZ的API函数中,可以产生日志输出的函数(例如:Log()、exchange.Buy()、exchange.CancelOrder()“`等)都可以在必要参数后附加一些额外的输出参数。
例如:exchange.CancelOrder(orders[i].Id, orders[i]),这样在取消ID为orders[i].Id的订单时,会同时输出该订单的完整信息,即orders[i]这个{@struct/Order Order}结构。
如果使用较旧版本的托管者,exchange.CancelOrder()函数的orderId参数可能与当前文档中描述的orderId存在差异。
{@fun/Trade/exchange.Buy exchange.Buy}, {@fun/Trade/exchange.Sell exchange.Sell}, {@fun/Trade/exchange.GetOrders exchange.GetOrders}