代码

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. python基础(6):列表和字典类型

    前面我们所接触的数据类型都是存单个值,今天我们来看看可以存多个值的列表和字典. 预习: 1.有列表data=['alex',49,[1900,3,18]],分别取出列表中的名字,年龄,出生的年,月,日 ...

  2. jenkins外网slave配置

    背景: 客户提供了测试服务器,但不能外网直连需要通过windows跳板进行进行连接. 方案设定将windows跳板机配置为远程slave节点. 技术支持: jenkins-slave  windows ...

  3. maven引入已经拥有的jar包

    <!-- https://mvnrepository.com/artifact/jfree/jcommon --><dependency>    <groupId> ...

  4. 天地图使用过程中由于display:none导致加载部分地图瓦片失败

    在为按钮添加点击事件让地图显示的时候,初始加载未加载到当前页面尺寸的所有地图瓦片,在display:none之后停止加载地图,所以display:none属性去掉,改为dom解析完成之后$('#map ...

  5. Spring源码情操陶冶-AbstractApplicationContext#registerBeanPostProcessors

    承接前文Spring源码情操陶冶-AbstractApplicationContext#invokeBeanFactoryPostProcessors 瞧瞧官方注释 /** * Instantiate ...

  6. 基于NFS实现WordPress

    实验内容: (1)主机IP nfs server IP :192.168.29.120 nfs server IP: 192.168.29.110 (2)要求 nfs server共享/data/we ...

  7. iOS源码博文集锦2

    iOS精选源码 快速集成观看直播和开播   一款类携程商旅的城市选择界面   一个类似于QQ电话的动画效果   高德地图定位,导航,轨迹,GPS纠偏   真实逻辑滚动数字DPScrollNumberL ...

  8. mybatis 详解(一)------JDBC

    1.什么是MyBatis? MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且 ...

  9. 网站限制某些ip访问,仅允许某些ip…

    代码: function getIP() { return isset($_SERVER["HTTP_X_FORWARDED_FOR"])?$_SERVER["HTTP_ ...

  10. struts2增删改查---layer---iframe层---通配符---国际化

    在前一篇文章的基础上,修改一部分即可(在此只是简单介绍) struts.xml页面 在原来的基础之上 action的name="*_*"  class="包名.{1}&q ...