代码

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

返回

BotVS开发基础—2.4 获取订单、取消订单、获取未完成订单的更多相关文章

  1. BotVS开发基础—2.2 下限价单 交易

    代码 import json def main(): Log("ORDER_STATE_PENDING:", ORDER_STATE_PENDING, ", ORDER_ ...

  2. BotVS开发基础—Python API

    代码 import json def main(): # python API列表 https://www.botvs.com/bbs-topic/443 #状态信息 LogStatus(" ...

  3. Android应用开发基础篇(15)-----URL(获取指定网址里的图片)

    链接地址:http://www.cnblogs.com/lknlfy/archive/2012/03/10/2389190.html 一.概述 URL,说白了就是一个网络地址(网址),通常一个网址里包 ...

  4. BotVS开发基础—2.11 API绘制图表

    代码 import time chart = { '__isStock': True, # 标记是否为一般图表,有兴趣的可以改成 false 运行看看. 'tooltip': {'xDateForma ...

  5. BotVS开发基础—2.7 指标MACD

    代码 def main(): while true: records = _C(exchange.GetRecords); # 获取K线数据 ,默认为策略界面设置的K线周期, _C 是一个容错的内置函 ...

  6. BotVS开发基础—2.7 指标MA

    代码 #计算一小时 MA5均线 # 时间 2017-06-29 00:00:00 -2017-06-30 00:00:00 1小时 实盘级Tick # 平台 OCKCoin BTC def main( ...

  7. BotVS开发基础—2.5 策略交互

    一.代码部分 isOpen = False; # 是否 开仓 price = 0; # 全局变量 价格 amount = 0; # 全局变量 下单量 def exec_command(command) ...

  8. BotVS开发基础—2.5 绘制图表

    代码 import time import math def main(): chart = { # 用于初始化 图表的对象 'title': {'text': "line数值触发 plot ...

  9. BotVS开发基础—2.3 下市价单 交易

    代码 def main(): ticker = exchange.GetTicker(); Log("初始账户信息:", exchange.GetAccount()); # 用于对 ...

随机推荐

  1. 用caffe一步一步实现人脸检测

    学习深度学习已有一段时间了,总想着拿它做点什么,今天终于完成了一个基于caffe的人脸检测,这篇博文将告诉你怎样通过caffe一步步实现人脸检测.本文主要参考唐宇迪老师的教程,在这里感谢老师的辛勤付出 ...

  2. poj_2186: Popular Cows(tarjan基础题)

    题目链接 tarjan参考博客 本文代码参考博客 题意:求在图上可以被所有点到达的点的数量. 首先通过tarjan缩点,将所有内部两两可达的子图缩为一点,新图即为一个有向无环图(即DAG). 在这个D ...

  3. vue.js移动端app实战1:初始配置

    本系列将会用vue.js2制作一个移动端的webapp单页面,页面不多,大概在7,8个左右,不过麻雀虽小,五脏俱全,常用的效果如轮播图,下拉刷新,上拉加载,图片懒加载都会用到.css方面也会有一些描述 ...

  4. 整理的 matplotlib 绘图笔记

  5. 【Mysql】MySQL与Oracle的大小写问题

    转载来源:http://aofengblog.blog.163.com/blog/static/63170212010101065030136/ MySQL与Oracle在大小写处理上的区别: 1MY ...

  6. python自动化运维:系统基础信息模块

    p { margin-bottom: 0.25cm; line-height: 120% } a:link { } 第一章: 首先介绍下系统性能信息模块:psutil psutil能够轻松实现获取系统 ...

  7. tomato dualwan /root目录的特殊用途

    测试发现tomato dualwan /root目录下存储的文件重启后会自动清掉.利用这个特性可以把测试生成的临时文件丢到这里. root下本应该存在的.vimrc 文件 采用如下方法生成: 在/op ...

  8. HDU1035 Robot Motion

    Problem Description A robot has been programmed to follow the instructions in its path. Instructions ...

  9. HDU1049

    Problem Description An inch worm is at the bottom of a well n inches deep. It has enough energy to c ...

  10. css3鼠标悬停图片抖动效果

    提供一个参考的链接 http://demo.lanrenzhijia.com/2015/pic0113/