IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 区块链 -> level2行情接口怎么用? -> 正文阅读

[区块链]level2行情接口怎么用?

level2行情接口怎么用?在股票交易细节中,左第一列交易时间,一般15秒,第二列是交易价格,第三列是交易数量,如果是主动买入交易显示红色和向上箭头,如果是主动卖出交易显示绿色和向下箭头,第四列是交易数量,即多少委托交易,通过交易数量和相应数量,可以大致估计交易参与者是否有机构,大或全是散户投资者。

1、逐笔交易一般显示的数据格式是在几分钟内以多少价格划分多少手。

这里我们要注意的是,交易数量有时是小数点,这是因为股票买入的股票数量至少是100股,委托的股票数量也应该是100股的整数倍,但卖出没有限制,所以交易数量会有小数点。另一点是,如果交易价格和手数没有显示在前面,一半是默认的。

2、分时成交一般显示的数据格式为在几分几秒以多少价格成交了多少手。

这里需要注意的是成交手数永远是整数,不会出现小数点数字。

3、一个孤独的数字是缺乏意义的,但是一些连续的数字则是充满想像的。

一般来说,交易数量越少,金额越大,这意味着交易相对较强,反之亦然。特别是当交易数量相对较大且集中时,表明有大量资金活跃的迹象,股票价格变动的可能性较大,应引起投资者的注意。如果没有人买半天或一些小名单,至少在短期内不太可能成为好股票。

4、交易数据三维元素----数量、价格和笔数。

不陌生的是前两个,笔数是交易批次。在一定数量的前提下,笔数少意味着交易强度强,反之亦然。笔数的变化与数量方向一致,交易正常,反之亦然。这些都可以在以后的操作中慢慢理解。为了提升自己的炒股经验,初学者可以在前期用牛股宝模拟炒股,学习股票知识和操作技巧,未来股市的盈利有一定的帮助。

以下就是L2行情接口代码,希望对你有所帮助。

Level2行情接口

  1. 接口定义,见目录proto

订阅事件

get_subscription查询订阅

add_subscription新增订阅

del_subscription取消订阅

数据推送事件

tick_record_stream?推送逐笔成交行情数据

order_record_stream?推送逐笔委托行情数据

order_queue_record_stream推送委托队列行情数据

stock_quote_record_stream?推送股票十档行情行情数据

代码示例

# -*- coding: utf-8 -*-

# 此Demo只是演示接入过程

import grpc

import entity_pb2

import proxy_pb2_grpc

import threading

from multiprocessing import Process

# 代理服务器监听的地址和端口

ServerConnect = grpc.insecure_channel('localhost:5000')

Stub = proxy_pb2_grpc.ProxyStub(ServerConnect)

# 查询订阅

def get_subscription():

????# rep返回code为1代表成功,其余状态码可参考接入文档,data是返回订阅股票的情况

????Result = Stub.GetSubscription(entity_pb2.Void())

????print(Result)

# 新增订阅

def add_subscription():

????# 实例ProtoBuf协议的方法

????String = entity_pb2.String()

????# 修改协议的值

????# 2:市场代码标识(1为上海证券,2为深圳证券)

????# 000002:股票代码

????# 15:订阅全部标识(1为逐笔成交,2为逐笔委托,4为委托队列,8为股票十档行情,如果想全部订阅可直接填入15,原理是1+2+4+8,如果想订阅某几个行情将几个行情标识相加即可)

????String.value = '2_000002_15'

????# String.value = '2_000001_15,2_000002_5,2_000003_12,批量订阅'

????# rep返回code为1代表成功,其余状态码可参考接入文档

????Result = Stub.AddSubscription(String)

????print(Result)

# 取消订阅

def del_subscription():

????# 实例ProtoBuf协议的方法

????String = entity_pb2.String()

????# 修改协议的值

????# 2:市场代码标识(1为上海证券,2为深圳证券)

????# 000002:股票代码

????# 15:取消全部标识(1为逐笔成交,2为逐笔委托,4为委托队列,8为股票十档行情,如果想全部取消可直接填入15,原理是1+2+4+8,如果想取消某几个行情将几个行情标识相加即可)

????String.value = '2_000002_15'

????# String.value = '2_000001_15,2_000002_5,2_000003_12,批量取消'

????# rep返回code为1代表成功,其余状态码可参考接入文档

????Result = Stub.DelSubscription(String)

????print(Result)

# 推送逐笔成交行情数据

def tick_record_stream():

????StreamResult = Stub.NewTickRecordStream(entity_pb2.Void())

????# 用For循环就可以不断消费数据

????for Result in StreamResult:

????????print(Result)

# 推送逐笔委托行情数据

def order_record_stream():

????StreamResult = Stub.NewOrderRecordStream(entity_pb2.Void())

????# 用For循环就可以不断消费数据

????for Result in StreamResult:

????????print(Result)

# 推送委托队列行情数据

def order_queue_record_stream():

????StreamResult = Stub.NewOrderQueueRecordStream(entity_pb2.Void())

????# 用For循环就可以不断消费数据

????for Result in StreamResult:

????????print(Result)

# 推送股票十档行情行情数据

def stock_quote_record_stream():

????StreamResult = Stub.NewStockQuoteRecordStream(entity_pb2.Void())

????# 用For循环就可以不断消费数据

????for Result in StreamResult:

????????print(Result)

if __name__ == '__main__':

????# 可以使用多线程并发接收推送数据

????ThreadOne = threading.Thread(target=tick_record_stream)

????ThreadTwo = threading.Thread(target=order_record_stream)

????ThreadThree = threading.Thread(target=order_queue_record_stream)

????ThreadFour = threading.Thread(target=stock_quote_record_stream)

????# 多进程并发接收推送数据

????# ProcessOne = Process(target=tick_record_stream)

????# ProcessTwo = Process(target=order_record_stream)

????# ProcessThree = Process(target=order_queue_record_stream)

????# ProcessFour = Process(target=stock_quote_record_stream)

????# 这设置为随主线程退出子线程,避免产生孤儿或僵尸线程

????ThreadOne.daemon = True

????ThreadTwo.daemon = True

????ThreadThree.daemon = True

????ThreadFour.daemon = True

????# ProcessOne.daemon = True

????# ProcessTwo.daemon = True

????# ProcessThree.daemon = True

????# ProcessFour.daemon = True

????# 有一点值得注意一下,假如订阅的股票相对活跃,推送的数据就不会有休眠的状态出现,因为Python的GIL锁,所以用多线程接收推送效率不显著,这个时候可以考虑用多进程来接收推送

????ThreadOne.start()

????ThreadTwo.start()

????ThreadThree.start()

????ThreadFour.start()

????# ProcessOne.start()

????# ProcessTwo.start()

????# ProcessThree.start()

????# ProcessFour.start()

????ThreadOne.join()

????ThreadTwo.join()

????ThreadThree.join()

????ThreadFour.join()

????# ProcessOne.join()

????# ProcessTwo.join()

????# ProcessThree.join()

????# ProcessFour.join()

  区块链 最新文章
盘点具备盈利潜力的几大加密板块,以及潜在
阅读笔记|让区块空间成为商品,打造Web3云
区块链1.0-比特币的数据结构
Team Finance被黑分析|黑客自建Token“瞒天
区块链≠绿色?波卡或成 Web3“生态环保”标
期货从入门到高深之手动交易系列D1课
以太坊基础---区块验证
进入以太坊合并的五个数字
经典同态加密算法Paillier解读 - 原理、实现
IPFS/Filecoin学习知识科普(四)
上一篇文章      下一篇文章      查看所有文章
加:2022-10-17 12:39:00  更:2022-10-17 12:40:08 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 21:27:16-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码