Skip to content
This repository has been archived by the owner on Apr 15, 2020. It is now read-only.

可否支持数据推送 #41

Closed
zcy421593 opened this issue Aug 28, 2017 · 21 comments
Closed

可否支持数据推送 #41

zcy421593 opened this issue Aug 28, 2017 · 21 comments

Comments

@zcy421593
Copy link

请问是否支持数据推送的方式?我看到提供的接口都是请求响应的方式。

@rainx
Copy link
Owner

rainx commented Aug 29, 2017

嗯,目前还没有看到通达信支持推送功能的接口

@zfsamzfsam
Copy link

zfsamzfsam commented Sep 10, 2017

pytdx是最好能够支持推送方式(Pub/Sub)!!!

[推送方式(Pub/Sub)]提供 多进程/多线程 同步大批量获取<Custom股票列表>实时行情的API,将行情分发到MessageQueue(ZeroMQ/nanomsg/nats.io)

参数/配置包括:
	WorkerNum(进程数量)
	ip与port列表(按速度排序)
	板块代码 or Custom股票列表
		<全市场股票>
		<全市场板块指数>
		<全市场期货>
		<...>
		
实时行情数据分发(Pub/Sub)到MessageQueue(ZeroMQ/nanomsg/nats.io)
	一方面用于存储,一方面用做LiveFeed供各种交易平台使用!!!

	最好是先将行情数据按股票设立Topic,分发到各Topic中

@yutiansut
Copy link
Collaborator

这个完全可以自己写 mq的方法各种各样 难道还要作者都给你写一遍?

@zcy421593
Copy link
Author

了解了,非常感谢~如果服务器没有推送功能,就只能自己轮询实现了

@zcy421593
Copy link
Author

@yutiansut 我并不是不会写,只是想知道服务器协议本身是否支持订阅功能罢了。

@rainx
Copy link
Owner

rainx commented Sep 12, 2017

@zcy421593 好像服务器有一个类似订阅的接口,不过这个订阅好像不能维持太久的时间,而且支持之后,对目前其它的接口的形式会有比较大的影响,所以就不在这里提供了..

@zcy421593
Copy link
Author

@rainx 谢谢,我现在每隔15秒扫描一次所有股票的最新一条分笔,每次耗时大约4秒,已经解决了实时行情获取的需求了

@niucool
Copy link

niucool commented Sep 14, 2017

@zcy421593 请问有没有出现过数据更新过于频繁导致无法更新或者IP被BLOCK的问题?

@rainx
Copy link
Owner

rainx commented Sep 15, 2017

@niucool 每隔15秒一次应该问题不大,我现在每隔250毫秒全量获取实时行情也是可以的,不过最好写一下自己的断线重连策略。

@rwayan
Copy link

rwayan commented Oct 5, 2017

请问看期货行情的时候,那些价格跳的很快的,这种也不是服务器推送的,也是程序自己请求的吗?

@rainx
Copy link
Owner

rainx commented Oct 9, 2017

@rwayan tdx 还有一系列接口,是一次请求返回多次应达的,估计是使用的那个接口.. 和订阅有点类似,不过应答过几次之后需要再次订阅...

@rainx rainx closed this as completed Oct 9, 2017
@yutiansut
Copy link
Collaborator

@rainx 难道是在握手

@rwayan
Copy link

rwayan commented Oct 11, 2017

可以通过API monitor之类的程序看到调用过程的吗?

@doskoi
Copy link

doskoi commented Nov 1, 2017

我现在每隔250毫秒全量获取实时行情也是可以的,不过最好写一下自己的断线重连策略。

@rainx 请教一下是同时使用n个连接到不同的服务器做到的吗?记得另外的issue提到每次80的限制,如果避免被返回None,每个服务器的频率要比较低才行。

@rainx
Copy link
Owner

rainx commented Nov 1, 2017

如果有需要的话,n个连接到不同的服务器肯定是可以做到的..

@JaysonAlbert
Copy link
Contributor

@doskoi 我试过n个链接到同一个服务器,可以快两倍多的样子,用concurrent.futures.ThreadPoolExecutor实现的,这个是python3.5才有的库。可以参考一下https://github.com/JaysonAlbert/tdx/blob/master/tdx/engine.py。

@yutiansut
Copy link
Collaborator

concurrent 这么搞这个接口迟早要被封

@JaysonAlbert
Copy link
Contributor

没办法,如果不并行的话,最快的ip要3s左右才能拿到全部a股行情。

@yutiansut
Copy link
Collaborator

我不知道为啥要三秒 我不并行就700ms 并行是180ms

@doskoi
Copy link

doskoi commented Nov 2, 2017

@yutiansut 是一个连接然后分批获取所有股票700ms?

@yutiansut
Copy link
Collaborator

@doskoi en 这个函数 https://github.com/yutiansut/QUANTAXIS/blob/master/QUANTAXIS/QAFetch/QATdx.py#L291

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants