这是个一键平仓脚本,执行中发现了一个问题,每次平仓只能平一半,今天研究了一下发现问题,出在if循环上。
看下面的代码。如果现在有4笔订单要平仓,那么在下面的代码是这样的执行的。
1、OrdersTotal()>0),判断订单4笔大于0
2、遍历4笔订单
问题就出在这里。当平掉两笔订单后i等于2,这时OrdersTotal()=2,关键是OrdersTotal(),这也是变化的数字,不再是当时的4.当i=OrdersTotal()时,程序自然就执行不下去了。这时只需要把if换成while就能解决问题。 if 只做判断,判断一次之后,便不会再回来了
while 的话,循环,直到结果为false,才跳出来
//--------------------------------------------------------------------------------------------------