代码

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. PHP闭包和高阶函数

    <?php function func($a, $b) { $line = function ($x) use ($a, $b) { return $a*$x + $b; }; return $ ...

  2. 51nod_1627:瞬间移动

    题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1627 还是杨辉三角~ #include<bits/st ...

  3. 【转载】Android 开发 命名规范

    原文地址:http://www.cnblogs.com/ycxyyzw/p/4103284.html 标识符命名法标识符命名法最要有四种: 1 驼峰(Camel)命名法:又称小驼峰命名法,除首单词外, ...

  4. jenkins+ANT+jmeter 接口测试环境搭建

    目的 jmeter很早就接触了,最近又在接触项目的时候整了一下.写这篇博客主要有两个目的 1,为了给自己搭建jmeter做一个总结. 2,在部署过程中遇到过一些坑,在这分享出来,也希望能给需要的人一个 ...

  5. 分页功能的实现——Jdbc && JSP

    @目录 什么是分页 ? 两个子模块功能的问题分析 和 解决方案 有条件查和无条件查询的影响 和 解决方案 项目案例: mysql + commons-dbutils+itcast-tools+Base ...

  6. Spring源码情操陶冶-AbstractApplicationContext#finishRefresh

    承接前文Spring源码情操陶冶-AbstractApplicationContext#finishBeanFactoryInitialization 约定web.xml配置的contextClass ...

  7. java+反射+多线程+生产者消费者模式+读取xml(SAX)入数据库mysql-【费元星Q9715234】

    java+反射+多线程+生产者消费者模式+读取xml(SAX)入数据库mysql-[费元星Q9715234] 说明如下,不懂的问题直接我[费元星Q9715234] 1.反射的意义在于不将xml tag ...

  8. Redis-简单实现星形主从配置

    高级参考(https://www.zhihu.com/question/21419897) 简单应用场景 现在配置redis 星形 集群, 有三台服务器, 怎样实现? 复制redis.conf两份, ...

  9. kafka使用场景

    kafka使用场景 消息 Kafka被当作传统消息中间件的替代品.消息中间件的使用原因有多种(从数据生产者解耦处理,缓存未处理的消息等).与大多数消息系统相比,Kafka具有更好的吞吐量,内置的分区, ...

  10. Java位操作

    无论说是在哪一门计算机语言,位操作运算对于计算机来说肯定是最高效的,因为计算机的底层是按就是二进制,而位操作就是为了节省开销,加快程序的执行速度,以及真正的实现对数的二进制操作.      使用位操作 ...