Skip to content

Latest commit

 

History

History
76 lines (54 loc) · 1.44 KB

定时撤单.md

File metadata and controls

76 lines (54 loc) · 1.44 KB

Name

定时撤单

Author

亚瑟d

Strategy Description

定时撤单

Strategy Arguments

Argument Default Description
LoopInterval 30 轮询间隔(分)

Source (javascript)

// 回测环境
/*backtest
start: 2018-01-01 00:00:00
end: 2018-08-01 11:00:00
period: 1m
exchanges: [{"eid":"Bitfinex","currency":"BTC_USD"}]
*/



// 撤单函数
function CancelPendingOrders() {
    Sleep(1000); // 休眠 1秒
    var ret = false;
    while (true) {
        var orders = null;
        // 持续获取未成交订单数组,如果返回异常,则继续获取
        while (!(orders = exchange.GetOrders())) {
            Sleep(1000); // 休眠 1秒
        }
        if (orders.length == 0) { // 如果订单数组为空
            return ret; // 返回撤单状态
        }
        for (var j = 0; j < orders.length; j++) { // 遍历未成交订单数组
            exchange.CancelOrder(orders[j].Id); // 依次取消未成交订单
            ret = true;
            if (j < (orders.length - 1)) {
                Sleep(1000); // 休眠 1秒
            }
        }
    }
}


// 主函数
function main() {
    while (true) { // 轮询模式
            CancelPendingOrders(); // 取消未成交的挂单
            Log(_C(exchange.GetAccount)); // 打印当前账户信息
        Sleep(LoopInterval * 60000); // 休眠
    }
}

Detail

https://www.fmz.com/strategy/284760

Last Modified

2021-05-25 18:15:28