BotVS开发基础—2.2 下限价单 交易
代码
import json
def main():
Log("ORDER_STATE_PENDING:", ORDER_STATE_PENDING, ", ORDER_STATE_CLOSED:",
ORDER_STATE_CLOSED, ", ORDER_STATE_CANCELED:", ORDER_STATE_CANCELED);
ticker = exchange.GetTicker(); # 上一章 已经讲述了怎么获取行情信息。
Log("初始账户信息:", exchange.GetAccount()); # 用于对比交易前后账户信息
# Part 1 限价买入
ID = exchange.Buy(ticker.Sell + 0.1, 1); # ticker.Sell 即 上一章中的 depth.Asks[0].Price 。
Sleep(1000); #暂停1秒
order = exchange.GetOrder(ID); # 根据ID 获取 对应的 订单信息。
Log("订单状态 ID:", ID, "order:", order);
Log("当前账户信息:", exchange.GetAccount()); # 对比初始账户信息
# Part 2 限价卖出
ID = exchange.Sell(ticker.Sell + 0.3, 2); # 这里故意把卖出价格加了 0.3 ,并且使用的ticker.Sell,增加了未成交的几率。
Sleep(1000); #暂停1秒
order = exchange.GetOrder(ID); # 根据ID 获取 对应的 订单信息。
Log("订单状态 ID:", ID, "order:", order);
Log("当前账户信息:", exchange.GetAccount()); # 对比初始账户信息
# part 3 订单挂起 未完成
ID = exchange.Sell(ticker.Sell + 50, 2); # ticker.Sell 即 上一章中的 depth.Asks[0].Price 。
Sleep(1000);
order = exchange.GetOrder(ID); # 根据ID 获取 对应的 订单信息。
Log("订单状态 ID:", ID, "order:", order);
Log("当前账户信息:", exchange.GetAccount()); # 对比初始账户信息
Sleep(10 * 1000);
exchange.CancelOrder(ID); # 取消 这个ID 的订单
order = exchange.GetOrder(ID); # 读取这个ID的订单信息。
Log("订单状态 order:", order);
Log("当前账户信息:", exchange.GetAccount()); # 对比初始账户信息
返回

BotVS开发基础—2.2 下限价单 交易的更多相关文章
- BotVS开发基础—2.3 下市价单 交易
代码 def main(): ticker = exchange.GetTicker(); Log("初始账户信息:", exchange.GetAccount()); # 用于对 ...
- BotVS开发基础—Python API
代码 import json def main(): # python API列表 https://www.botvs.com/bbs-topic/443 #状态信息 LogStatus(" ...
- BotVS开发基础—2.4 获取订单、取消订单、获取未完成订单
代码 RetryDelay = 1500; def CancelPendingOrders(exch, orderType): # 取消所有未完成的挂单, 参数1 交易所 参数2 类型 global ...
- BotVS开发基础—2.5 策略交互
一.代码部分 isOpen = False; # 是否 开仓 price = 0; # 全局变量 价格 amount = 0; # 全局变量 下单量 def exec_command(command) ...
- BotVS开发基础—2.1 账户、行情、K线、深度
代码 import json def main(): Log("账号信息:", exchange.GetAccount()); # Log("K 线数据:", ...
- 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 绘制图表
代码 import time import math def main(): chart = { # 用于初始化 图表的对象 'title': {'text': "line数值触发 plot ...
随机推荐
- 有关Android插件化思考
最近几年移动开发业界兴起了「 插件化技术 」的旋风,各个大厂都推出了自己的插件化框架,各种开源框架都评价自身功能优越性,令人目不暇接.随着公司业务快速发展,项目增多,开发资源却有限,如何能在有限资源内 ...
- FreeRTOS源代码的编程标准与命名约定
编程标准 (Coding Standard) FreeRTOS 源代码遵守 MISRA (Motor Industry Software Reliability Association) 规范. 与 ...
- spark-2.2.0安装和部署——Spark集群学习日记
前言 在安装后hadoop之后,接下来需要安装的就是Spark. scala-2.11.7下载与安装 具体步骤参见上一篇博文 Spark下载 为了方便,我直接是进入到了/usr/local文件夹下面进 ...
- Python学习之数据类型
整数 Python可以处理任意大小的整数,在程序中的表示方法和数学上的写法一模一样,例如:1,100,-8080,0,等等. 用十六进制表示整数比较方便,十六进制用0x前缀和0-9,a-f表示,例如: ...
- poj 1200 crasy search
https://vjudge.net/problem/POJ-1200 题意: 给出一个字符串,给出子串的长度n和给出的字符串中不同字符的个数nc,统计这个字符串一共有多少不同的长度为n的子串. 思路 ...
- webpack web-dev-server 热加载
摘要 坑位: 千万不要webpack.config.js 加了HotModuleReplacementPlugin , web-dev-server 也加hot:true 配置, 会出现莫名的错误, ...
- j2ee中的2是什么意思
J2EE里面的2是什么意思 1998年Java 1.2版本发布,1999年发布Java 1.2的标准版,企业版,微型版三个版本,为了区分这三个版本,分别叫做Java2SE,Java2EE,Java2M ...
- Android学习笔记-EditText(输入框)(一)
1.设置默认提示文本 默认提示文本的两个属性如下: android:hint="默认提示文本" android:textColorHint="#95A1AA" ...
- Openresty使用Thrift安装步骤
最新想用Golang与Openresty相互通讯调用,使用RPC协议来实现,后来研究最终选择了Thrift:主要还是FB实现了支持Lua和Go模块,直接编译就可以成功嵌套使用,非常方便:研究了两天最后 ...
- Presto向分区表快速插入数据时出现'target directory already exists'的原因
因为项目使用Presto作为ETL使用,需要将关系库中的数据导入到Hive中.目前关系库中的数据每天导入一次,在Hive中以天为间隔创建新的分区.思路是正确的,但是在使用的过程中,发现将少量关系库中的 ...