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

BotVS开发基础—2.4 获取订单、取消订单、获取未完成订单的更多相关文章
- BotVS开发基础—2.2 下限价单 交易
代码 import json def main(): Log("ORDER_STATE_PENDING:", ORDER_STATE_PENDING, ", ORDER_ ...
- BotVS开发基础—Python API
代码 import json def main(): # python API列表 https://www.botvs.com/bbs-topic/443 #状态信息 LogStatus(" ...
- Android应用开发基础篇(15)-----URL(获取指定网址里的图片)
链接地址:http://www.cnblogs.com/lknlfy/archive/2012/03/10/2389190.html 一.概述 URL,说白了就是一个网络地址(网址),通常一个网址里包 ...
- BotVS开发基础—2.11 API绘制图表
代码 import time chart = { '__isStock': True, # 标记是否为一般图表,有兴趣的可以改成 false 运行看看. 'tooltip': {'xDateForma ...
- BotVS开发基础—2.7 指标MACD
代码 def main(): while true: records = _C(exchange.GetRecords); # 获取K线数据 ,默认为策略界面设置的K线周期, _C 是一个容错的内置函 ...
- BotVS开发基础—2.7 指标MA
代码 #计算一小时 MA5均线 # 时间 2017-06-29 00:00:00 -2017-06-30 00:00:00 1小时 实盘级Tick # 平台 OCKCoin BTC def main( ...
- BotVS开发基础—2.5 策略交互
一.代码部分 isOpen = False; # 是否 开仓 price = 0; # 全局变量 价格 amount = 0; # 全局变量 下单量 def exec_command(command) ...
- BotVS开发基础—2.5 绘制图表
代码 import time import math def main(): chart = { # 用于初始化 图表的对象 'title': {'text': "line数值触发 plot ...
- BotVS开发基础—2.3 下市价单 交易
代码 def main(): ticker = exchange.GetTicker(); Log("初始账户信息:", exchange.GetAccount()); # 用于对 ...
随机推荐
- 关于SQL经典题
最近刚刚练过的一道sql分享给大家, 先上题目: -- 部门表 CREATE TABLE DEPT( DEPTNO INT PRIMARY KEY, -- 部门编号 DNAME VARCHAR(14) ...
- Java开源博客My-Blog(SpringBoot+Docker)系列文章
My Blog 1.Docker+SpringBoot+Mybatis+thymeleaf的Java博客系统开源啦 2.My-Blog搭建过程:如何让一个网站从零到可以上线访问 3.将数据的初始化放到 ...
- JAVA 笔记 ClassLoader.getResourceAsStream() 与 Class.getResourceAsStream()的区别
Class.getResourceAsStream() 会指定要加载的资源路径与当前类所在包的路径一致. 例如你写了一个MyTest类在包com.test.mycode 下,那么MyTest.c ...
- CVTE后台开发实习生岗位面试经验(2017.3)
3月份我在看准网发布过这篇面经,现在转过来.原文链接:http://www.kanzhun.com/gsmsh10433357.html 投递岗位是web后台实习生 做完笔试后一天对方即发来面试通知 ...
- Android学习笔记-TextView(文本框)(一)
1.基础属性详解: id:为TextView设置一个组件id,根据id,我们可以在Java代码中通过findViewById()的方法获取到该对象,然后进行相关属性的设置,又或者使用RelativeL ...
- 小程序server-实现会话层
小程序server-实现会话层开发教程: 1.安装MongoDB #安装 MongoDB及其客户端命令行工具 yum install mongodb-server mongodb -y #查看版本 m ...
- 浅谈Vue不同场景下组件间的数据交流
浅谈Vue不同场景下组件间的数据“交流” Vue的官方文档可以说是很详细了.在我看来,它和react等其他框架文档一样,讲述的方式的更多的是“方法论”,而不是“场景论”,这也就导致了:我们在阅读完 ...
- Redis-key的设计技巧
把表名转换为key前缀, 比如: tag: 第二段放置用于区分key的字段--对应mysql中的主键的列名 第三段放置主键值 第三段写列名 用户表user, 转换为redis的key-value存储 ...
- 用vector实现dijkstra
#include <stdio.h> #include <string.h> #include <string> #include <vector> # ...
- eclipse导入lombok后打不开(如果你的lombok不是最新的,那就来下载最新的)
如果你的不是最新的,去这里下载最新版的,先点击左上角的Download红方块,然后再点击下图中的位置 https://projectlombok.org/ 下载完后把eclipse关掉,双击下载的ja ...