我现在用的是 zeromq 通过 socket 接收到的行情数据,因为行情数据更新太频繁,太快了肉眼也查看不到,需要把频率控制在 100 毫秒刷新页面一次,请问有什么好的设计么,就是如果两个数据之间间隔小于 100 毫秒就丢弃。
1
jones2000 2020 年 11 月 12 日
收到到本地以后, 自己发快照数据, 如 100ms 发一次变动品种的快照数据。
|
2
jones2000 2020 年 11 月 12 日 另外高频数据一般不是用来展示的,浪费, 界面更不上数据变动的。 一般做量化交易,跑实时策略用的。
|
4
l00t 2020 年 11 月 12 日
100ms 刷一次不是你自己说的嘛。你都想 100ms 刷一次了你说到底是实时还是定时?
|
6
kanezeng 2020 年 11 月 12 日
感觉需求没有描述得很清楚。
如果是界面上只显示一个最新行情,那就每次接收到数据检查一下是否有变动,有变动再做后续处理比如更新显示。 如果时要画曲线图,也是每次接收到数据检查一下是否有变动,有变动再增加一条变动记录。 如果没变动就都丢弃呗 |
7
AlohaV2 2020 年 11 月 12 日
自己维护一个 per instrument order book / price book,存一下上次更新的时间,下次来行情的时候检查一下呗
|
8
imn1 2020 年 11 月 12 日
这个其实是两个步骤,数据还是要及时的,不应降频,显示上控制频率就好了
|
10
WispZhan 2020 年 11 月 12 日
ReactiveX,Rx 系列库
|
11
SmiteChow 2020 年 11 月 12 日
那要看你刻度单位,秒的话就按秒更新,以此类推
|
12
GBdG6clg2Jy17ua5 2020 年 11 月 12 日 via iPhone
才用订阅模式。来一次就推一次,不要主动拉。然后,如果数值不变。不用推。
|
13
Yoock 2020 年 11 月 12 日 via iPhone
降维,算涨速和量比
|
14
mimi888 2020 年 11 月 12 日 via Android
楼主接美股的数据吗?
|
15
BingoXuan 2020 年 11 月 12 日 via Android
zmq poll 获取数据,写到缓存里面,时间到了就 publish 出去,页面 subscribe 就好了
|
16
jones2000 2020 年 11 月 12 日
@marine2c 你直接对照市面上主流的高频软件 UI 上面是怎么更新的不就可以了。 用网路工具看下,他的发包频率, 这些东西不是新出来的,5,6年前就有高频数据,都有成熟的解决方案的。
|
17
pelloz 2020 年 11 月 12 日
弄个实现 throttle 或 debounce 的 js 库,手动限制下就好
|
18
mepwang 2020 年 11 月 12 日 via iPhone
高频数据降低频率给人看的话,简单的抽取数据做显示会有遗漏,不如漏掉了这一秒中间的最高价 /最低价等,最好做成 bar 数据
|
19
raycool 2020 年 11 月 13 日
数据都有时间戳,判断时间戳,100ms 内的直接丢弃不推送 UI 显示组件
|
21
marine2c OP 其实是这样的,我订阅后就必须通过 socket 不断拉数据,我写的是一个 while true 拉数据,不然推送那边会有积压的,至于显不显示是我需要处理的,就是显示的频率肯定要低于拉的频率的,请问各位大佬这样怎么设计。
|
22
treblex 2020 年 11 月 13 日
之前看过 okex 的文档,他们的做法是在建立链接之后 发送一条消息,告诉服务器要订阅的内容和更新频率,不知道服务端好不好实现
|
23
yuandong 2020 年 11 月 13 日
|
24
hurricane1260 2020 年 11 月 13 日
看看股票交易终端的分时行情怎么做的呗
|