VnTrader的数据流
主动订阅端
- 用户发起调用mainEngine.subscribe函数
- mainEngine.subscribe中调用ctpGateway.subscribe函数
- ctpGateway.subscribe中调用ctpMdApi.subscrbie函数
- ctpMdApi.subscribe中调用C++封装的MdApi.subscribeMarketData函数,将订阅行情的请求最终通过底层C++ CTP API发出
回调推送端
- ctaEngine对象向eventEngine中注册EVENT_TICK类型事件的处理函数句柄ctaEngine.processTickEvent
- C++ CTP API收到Tick推送,自动回调MdApi.onRtnDepthMarketData函数推送行情数据字典data
- MdApi.onRtnDepthMarketData中将data里的数据读取并转化成VtTickData对象,并调用ctpGateway.onTick函数
- ctpGateway.onTick函数将VtTickData对象包装成类型为EVENT_TICK的行情事件对象Event,并调用eventEngine.put函数,放入事件引擎的缓冲队列
- 事件引擎的工作线程,从缓冲队列中读取出最新的行情事件后,根据EVENT_TICK事件类型去查找缓存在内部字典中的处理函数列表,并将事件对象作为入参,遍历调用到列表中的处理函数ctaEngine.processTickEvent
- ctaEngine.processTickEvent中查看Tick的代码vtSymbol,并调用交易该代码合约的策略对象strategy.onTick函数,最终去运行策略中的逻辑
VnTrader的数据流相关推荐
- 一张图看懂VnTrader的数据流
转载自:https://zhuanlan.zhihu.com/p/32848878 作者(用Python的交易员) 今天被一位用户吐槽了:作为vn.py最核心的开箱即用交易平台,VnTrader的数据 ...
- vnpy学习_03学习推荐
本来是打算花大时间,好好的学习vnpy的,后续作为自己主要开发工具(冲着可实盘). 但这两天扫了遍代码,发现还是挺轻量级的,如果当做主要开发工具,需要补充还是挺多的(只支持单标的以及缺少分钟数据源.多 ...
- 【TCP/IP详解 卷一:协议】第十九章 TCP的交互数据流
19.1 引言 前一章我们介绍了TCP连接的建立与释放:三握四挥,以及状态转移图. TCP报文段分为:交互数据,以及成块数据(下一章介绍). 交互数据:例如telnet,ssh,这种类型的协议在大多数 ...
- 剑指offer:面试题41. 数据流中的中位数
题目:数据流中的中位数 如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值.如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数 ...
- 利用python中的gzip模块压缩和解压数据流和文件
直接给出源码实现, 分为两种情况: 1.网络连接中的数据流的压缩和解压,或是打开的文件读取一部分 2.打开文件压缩或是解压 #!/usr/bin/env python #encoding: utf-8 ...
- leetcode-295 数据流的中位数
中位数是有序列表中间的数.如果列表长度是偶数,中位数则是中间两个数的平均值. 例如, [2,3,4] 的中位数是 3 [2,3] 的中位数是 (2 + 3) / 2 = 2.5 设计一个支持以下两种操 ...
- python ffmpeg pipe_ffmpeg-python通过pipe与librosa进行数据流交互
本项目的音频分类流程如下,整个处理流程都基于python实现: 从线上拿到m3u8媒体数据流,解析ts链接,通过ffmpeg库提取视频流中的音频数据,音频重采样到16k,切分为10s的音频段,使用li ...
- swift x输入流_SwiftUI 探索 - 状态和数据流
SwiftUI是iOS13新出的声明式UI框架,将会完全改变以前命令式操作UI的开发方式.此文章主要介绍SwiftUI中状态管理的方式. 可变状态 @State 与React和Flutter中的Sta ...
- JSP中的文件操作:数据流、File类、文件浏览、目录操作、上传下载
文件可以永久地存储信息,从本质上讲文件就是存放在盘上的一系列数据的集合.应用程序如果想长期保存数据,就必须将数据存储到文件中,这就涉及到文件的操作.而在编写网站应用程序的过程中,有许多地方要对文件 ...
最新文章
- DCN-S4600 telent、http远程登录配置
- Request_获取请求参数通用方式演示
- 文件特殊权限及facl
- windows系统c 实现ftp服务器,windows系统c 实现ftp服务器
- 1006. 换个格式输出整数 (15)
- (数据库系统概论|王珊)第三章关系数据库标准语言SQL-第零节:MYSQL环境安装和表的建立以及一些注意事项
- 学习JDK源码(一):String
- 【Redis】Redis替代方案
- Q窗口操作函数(窗口最大化,全屏,隐藏最大化最小化按钮)
- linux 在命令行中复制的快捷键_在 Linux 中加速工作的键盘快捷键 | Linux 中国
- html css 命名规范,浅谈css命名规则(新手必看)
- phonegap走起
- HTML学习总结(3)——Audio/Video
- stm32单片机+驱动L298N控制直流电机调速
- 用Python3抓取并分析猫眼电影TOP100
- html5css字竖着显示,css如何设置竖排文字?
- Java笔记:面向对象3大特性
- 怎么才能做好一套软件系统
- 元学习入门:MAML
- NFT 制作生成进阶:男女性别区分+特殊款形象/头像完整项目