1 Star 0 Fork 0

adam01/poboquant

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
多周期K线数据获取 Multiple Time Frame Price Data Test 2.79 KB
一键复制 编辑 原始数据 按行查看 历史
# coding:utf-8
#!/usr/bin/env python
from PoboAPI import *
import datetime
#用poboquant python实现,在poboquant上运行,如果有问题 可加群 726895887 咨询
#回测时需自行指定策略在“分钟”级别运行
#设置分钟级别回测可参考 https://www.zhihu.com/question/306448777/answer/557286856
#开始时间,用于初始化一些参数
def OnStart(context) :
print "I\'m starting..."
#设定一个全局变量品种
g.code = "600000.SHSE"
#订阅实时数据,用于驱动OnQuote事件
SubscribeQuote(g.code)
#订阅K线数据,用于驱动OnBar事件
SubscribeBar(g.code, BarType.Min)
#登录交易账号,需在主页用户管理中设置账号,并把证券测试替换成您的账户名称
context.myacc = None
if context.accounts.has_key("回测证券") :
print "登录交易账号[回测证券]"
if context.accounts["回测证券"].Login() :
context.myacc = context.accounts["回测证券"]
#实时行情事件,当有新行情出现时调用该事件
def OnQuote(context, code) :
#过滤掉不需要的行情通知
if code != g.code :
return
#获取最新行情
dyndata = GetQuote(code)
if dyndata :
#.now指最新价,详细属性见API文档
now1 = dyndata.now
#打印最新价
log.info("最新价: " + str(dyndata.now))
#获取K线数据
klinedata3 = GetHisData(code, BarType.Min3)
klinedata1 = GetHisData(code, BarType.Min)
#打印K线数据,如最新一根K线的最高价
if len(klinedata3) > 0 and len(klinedata1)> 0:
lasthigh3 = klinedata3[-2].high
lasthigh1 = klinedata1[-2].high
log.info("最新3分钟K线的最高价: " + str(lasthigh3))
log.info("最新1分钟K线的最高价: " + str(lasthigh1))
#如果配置好交易账号了,可以根据条件下单,需把下面中的证券测试账号换成您设置的账号名称
if len(klinedata3) > 1 and klinedata3[-1].close < klinedata3[-2].close and len(klinedata1) > 1 and klinedata1[-1].close < klinedata1[-2].close and context.myacc :
# 当日收盘价小于昨收则买入
print "满足开仓条件......."
context.myacc.InsertOrder(code, BSType.Buy, dyndata.now, 10000)
elif len(klinedata3) > 1 and klinedata3[-1].close > klinedata3[-2].close and len(klinedata1) > 1 and klinedata1[-1].close > klinedata1[-2].close and context.myacc :
# 当日收盘价大于昨收则卖出
print "满足平仓条件......."
context.myacc.InsertOrder(code, BSType.Sell, dyndata.now, 10000)
#委托回报事件,当有委托回报时调用
def OnOrderChange(context, AccountName, order) :
#打印委托信息,id是编号,volume是数量,详细见API文档
print "委托编号: " + order.id + " 账号名称: " + AccountName
print "Vol: " + str(order.volume) + " Price: " + str(order.price)
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Python
1
https://gitee.com/adam01/poboquant.git
git@gitee.com:adam01/poboquant.git
adam01
poboquant
poboquant
master

搜索帮助