Loading ...

cancelorder加强版

Author: alinwo, Date: 2019-01-12 12:34:11
Tags: Tool

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

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

函数源码分析:http://www.pcclean.io/如何解决botvs上执行cancelorder函数失败的问题?/


$.retry_cancelorder=function(ex,order_id){
	Log("取消订单"+order_id);
	ex.CancelOrder(order_id);
	Sleep(3000);
	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);
	}
}



Related

More