事件驱动框架建议
onbaropen, onbar, onbarclose, 这么多回调函数, 还是做不了高频, 还有未来函数, 信号闪烁等问题 建议用这两个: ontick: 订单薄回调 (回测可禁用, 毕竟tick数据量太大) onbar: 历史K线回调 (回测和实盘计算的指标都是历史数据) ontick就可以计算一些因子, 比如订单薄不平衡, 流动性变化, 深度变化等, 如果能用python计算回传, 甚至可以做机器学习策略.
onbaropen, onbar, onbarclose, 这么多回调函数, 还是做不了高频, 还有未来函数, 信号闪烁等问题 建议用这两个: ontick: 订单薄回调 (回测可禁用, 毕竟tick数据量太大) onbar: 历史K线回调 (回测和实盘计算的指标都是历史数据) ontick就可以计算一些因子, 比如订单薄不平衡, 流动性变化, 深度变化等, 如果能用python计算回传, 甚至可以做机器学习策略.
请具体说明ontick和onbar这两个驱动机制的驱动条件及返回的数据结构。 引用:ontick: 订单薄回调 请说明订单薄是哪些数据,什么时候驱动 引用:onbar 历史K线回调 回调是什么意思,什么时候驱动 如果没有能力说清楚,可以具体举一个例子来说明 正常来说,onbar,onbaropen,onbarclose属于行情驱动,基本已经囊括了所有的行情驱动需求。 onorder,onposition,onfill属于订单驱动,囊括了所有的订单驱动需求。 如果不够,还有ontimer的定时驱动 不太清楚你说的策略需求无法实现到底是因为缺了驱动域还是你没搞懂各个事件域的用法?
回复:这个人就是不懂装懂
回复:挺有意思的, 我之前参与中国外汇交易中心的回测和实盘系统落地和测试的时候, 他们的系统也是订单薄marketdata和bar分开回调. 现在开始用的MT5, 也全球最流行的外汇交易平台, 用的是onTick, 但是在onTick里面可以用主动API访问Bar数据. 还有目前最流行的开源量化框架之一的VNPY也是onbar, ontick, 我还用它做了大半年的数字货币, 现货跑下来大约翻了3倍, 远超HODL的收益. 您说我不懂装懂, 我看你是井底之蛙吧
回复:订单薄(OrderBook): N档, 一般是五档或者十档挂单价量数据; OnTick(或者OnReceiveMarketData), 订单薄更新时候触发, 返回五档或十档挂单价量数据 OnBar, Bar结束后返回上根Bar的开高收低等数据 回调是一个广泛使用的概念, 不清楚请自查, 反倒事件域是贵司独创的说法 请问: 1. 挂单在对手方或者己方第二档价格 -/+ 2跳怎么写? 2. 计算 (五档量加权Ask平均价 / 五档量加权Bid平均价) 怎么写? .... 1, 2及其类似的用到OrderBooK的需求, 现有的事件驱动能实现?
回复:可是 国内的多档行情都只是展示行情,是无法通过接口调取的,这个您了解过吗?
回复:另外 回调这个概念我搜索了不少,程序化回调 交易回调,都没搜出来您说的这个概念,不知道您说的这个普遍概念从何而来啊? 事件驱动是软件开发里比较成熟的概念,这个应该不难理解吧。 如果您按您说的这个bar结束的时候返回前一根bar的bar数据,完全可以通过onbarclose结合bar'数据回溯来实现 另外,bar结束这个概念其实在技术上很难实现,因为你很难判断当前这tick数据是不是当前bar的最后一跳。您如果有成熟精妙的判断算法可以启发一下,谢谢
回复:说你不懂装懂还不服气,国内交易所没有订单本数据只发切片数据这种常识问题都不知道还扯什么外盘虚拟货币,你也就靠这种杂七杂八的东西唬唬人了
回复:我知道是返回切片数据, 而且巧了我一直还都能拿到.
回复:高频行情确实没有主动访问的api接口, 都是通过websocket订阅的. 新浪财经好像可以订阅, 我一个哥们一直在用, 可能他写了爬虫的代码获取的
回复:可能是跨语言的称呼不同吧. 之前接触的事件驱动系统基本都是Python平台, 事件触发后, 被调用的函数也就是所谓的回调函数, 和TB的事件域类似
回复:确定Bar结束确实是难题, 我没解决这个的本事, 自己做没太在意这个, 公司交易是同时订阅3个以上数据源确保无误
为什么这么建议? 很简单, tb的onbar搞了三个, 不迷糊么? 实用性也不是很强. 很方便, 要啥有啥, 啥都能做, 连自己写撤单重发, 拆单逻辑都是可行的. 流行的开源平台VNPY就是这个设计, MT5是onTick事件驱动, onTick里可以获取bar数据, 也算是有onbar, ontick的.
回复:你确定你搞懂了tb的事件域么?