Loading ...

如何解决botvs上执行cancelorder函数失败的问题?

Author: alinwo, Created: 2019-01-12 12:12:46, Updated:

botvs提供的api函数cancelorder只负责把指令发送到交易所,至于交易所是否真的执行成功与否并不会做判断和检测,所以我们需要在自己的程序中做这个检测工作,保证cancelorder能执行成功。

以下函数会重试cancelorder直到交易所成功执行,调用cancelorder的地方替换为此函数即可:

$.retry_cancelorder=function(ex,order_id){ Log(“取消订单”+order_id); ex.CancelOrder(order_id); Sleep(5000); var orders=_C(ex.GetOrders); var find=false; for (var i=0;i<orders.length;++i){ if (orders[i].Id===order_id){ find=true; break; } } if (find){ $.retry_cancelorder(ex.order_id); } }


More

小小梦 取消订单失败 , 可以重新 尝试取消,并且调用 获取所有挂单接口,看是不是订单还在挂着。