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());
        

    返回

  • 相关阅读:
    显示非模式窗口和模式窗口
    delphi 版本号
    数字证书和签名
    DLL知道自己的位置
    拖动处理
    驱动配置相关
    python sturct模块操作C数据
    Lambda学习笔记
    【转】update select
    [转]视频格式分类
  • 原文地址:https://www.cnblogs.com/bitquant/p/7209769.html
Copyright © 2011-2022 走看看