zoukankan      html  css  js  c++  java
  • BotVS开发基础—2.4 获取订单、取消订单、获取未完成订单

    代码

    RetryDelay = 1500;
    def CancelPendingOrders(exch, orderType):  # 取消所有未完成的挂单, 参数1 交易所 参数2 类型
        global RetryDelay
        orders = _C(exch.GetOrders);      #取订单确保成功
        for order in orders:
            if order.Type == orderType:    #当前订单类型不符合,跳过
                exch.CancelOrder(order.Id, order);   #取消订单
                Sleep(RetryDelay);
    def StripOrders(exch, orderId):             # 取消除 orderId 以外的 所有未成交 挂单
        global RetryDelay
        orders = _C(exch.GetOrders);      #取订单确保成功
        for order in orders:
            if order.Id != orderId:    #排除指定ID ,并且订单有未完成
                exch.CancelOrder(order.Id, order, " 买单" if order.Type == ORDER_TYPE_BUY else " 卖单", ' 已成交', order.DealAmount);   #取消订单
                Sleep(RetryDelay);
    def main():
        ticker = exchange.GetTicker();               # 获取  初始时的行情数据
        Log("当前行情ticker:", ticker);             #获取并打印行情
        # 下一些不会成交的单子,  让单子 处于  pending  状态
        ID1 = exchange.Buy(ticker.Last - 100, 0.1);
        ID2 = exchange.Buy(ticker.Last - 150, 0.2);
        ID3 = exchange.Sell(ticker.Last + 100, 0.3);
        ID4 = exchange.Sell(ticker.Last + 200, 0.4);
        pendingOrders = exchange.GetOrders();
        for order in pendingOrders:        # 第二个实例
            Log("挂起订单Order:", order);
        CancelPendingOrders(exchange, ORDER_TYPE_BUY);   # 按类型取消未完成的挂单
        Sleep(2000);
        Log("当前订单orders : ", exchange.GetOrders());
        
        StripOrders(exchange, ID4);         # 按类型取消未完成的挂单
        Sleep(2000);
        Log("当前订单orders : ", exchange.GetOrders());
        

    返回

  • 相关阅读:
    linux 共享内存 信号量 同步
    进程间通信 共享内存
    linux 多进程绑定问题
    C 语言调用python 脚本函数
    C 语言 和 python 调用 .so 文件
    好好学习
    three.js
    AMD、CMD、UMD 模块的写法
    webpack查缺补漏
    什么是 Web 服务器(server)
  • 原文地址:https://www.cnblogs.com/bitquant/p/7209769.html
Copyright © 2011-2022 走看看