代码

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 下限价单 交易的更多相关文章

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

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

  2. BotVS开发基础—Python API

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

  3. BotVS开发基础—2.4 获取订单、取消订单、获取未完成订单

    代码 RetryDelay = 1500; def CancelPendingOrders(exch, orderType): # 取消所有未完成的挂单, 参数1 交易所 参数2 类型 global ...

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

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

  5. BotVS开发基础—2.1 账户、行情、K线、深度

    代码 import json def main(): Log("账号信息:", exchange.GetAccount()); # Log("K 线数据:", ...

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

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

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

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

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

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

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

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

随机推荐

  1. 有关Android插件化思考

    最近几年移动开发业界兴起了「 插件化技术 」的旋风,各个大厂都推出了自己的插件化框架,各种开源框架都评价自身功能优越性,令人目不暇接.随着公司业务快速发展,项目增多,开发资源却有限,如何能在有限资源内 ...

  2. FreeRTOS源代码的编程标准与命名约定

    编程标准 (Coding Standard) FreeRTOS 源代码遵守 MISRA (Motor Industry Software Reliability Association) 规范. 与 ...

  3. spark-2.2.0安装和部署——Spark集群学习日记

    前言 在安装后hadoop之后,接下来需要安装的就是Spark. scala-2.11.7下载与安装 具体步骤参见上一篇博文 Spark下载 为了方便,我直接是进入到了/usr/local文件夹下面进 ...

  4. Python学习之数据类型

    整数 Python可以处理任意大小的整数,在程序中的表示方法和数学上的写法一模一样,例如:1,100,-8080,0,等等. 用十六进制表示整数比较方便,十六进制用0x前缀和0-9,a-f表示,例如: ...

  5. poj 1200 crasy search

    https://vjudge.net/problem/POJ-1200 题意: 给出一个字符串,给出子串的长度n和给出的字符串中不同字符的个数nc,统计这个字符串一共有多少不同的长度为n的子串. 思路 ...

  6. webpack web-dev-server 热加载

    摘要 坑位: 千万不要webpack.config.js 加了HotModuleReplacementPlugin , web-dev-server 也加hot:true 配置, 会出现莫名的错误, ...

  7. j2ee中的2是什么意思

    J2EE里面的2是什么意思 1998年Java 1.2版本发布,1999年发布Java 1.2的标准版,企业版,微型版三个版本,为了区分这三个版本,分别叫做Java2SE,Java2EE,Java2M ...

  8. Android学习笔记-EditText(输入框)(一)

    1.设置默认提示文本 默认提示文本的两个属性如下: android:hint="默认提示文本" android:textColorHint="#95A1AA" ...

  9. Openresty使用Thrift安装步骤

    最新想用Golang与Openresty相互通讯调用,使用RPC协议来实现,后来研究最终选择了Thrift:主要还是FB实现了支持Lua和Go模块,直接编译就可以成功嵌套使用,非常方便:研究了两天最后 ...

  10. Presto向分区表快速插入数据时出现'target directory already exists'的原因

    因为项目使用Presto作为ETL使用,需要将关系库中的数据导入到Hive中.目前关系库中的数据每天导入一次,在Hive中以天为间隔创建新的分区.思路是正确的,但是在使用的过程中,发现将少量关系库中的 ...