炒股自动化:交易接口API才是重点,券商官方散户可用的接口

2024-04-11 22:04

本文主要是介绍炒股自动化:交易接口API才是重点,券商官方散户可用的接口,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

上一篇我们用get_full_tick取到了数据,也讲了变量和字典的基本概念,这次我们向交易所发送订单试试。前面文章的链接放在文末了,需要的可以看一下

这些内容是给新手看的,找接口的大佬们直接拉到文末即可

取市场数据的方法很多,官方接口取到的要比第三方的准确及时,就如上一篇取的实时数据,我用普通100M的家庭宽带,延迟也就是30毫秒左右。

要实现程序交易,首先取数据,然后我们要判断市场数据是否符合某个条件,然后根据条件来决定是否执行交易。交易接口和行情接口不一样,行情接口可以直接调用,交易接口需要和交易中心建立连接,还要告诉交易所是你的账户发来的指令。

# 客户端的路径
客户端路径 = 'D:/程序交易客户端/userdata_mini'
# 随便输入一个整数
会话编号 = random.randint(100, 10000)
# 创建交易对象实例
交易对象 = XtQuantTrader(客户端路径, 会话编号)
# 启动交易对象
交易对象.start()
# 创建交易连接
连接返回值 = 交易对象.connect()
# 返回值是0就是连接成功,失败返回非0的值,一般是-1
print('连接状态:', 连接返回值)
# 创建账户对象,默认STOCK,表示股票账户,也支持港股通、期权、期货等
账户对象 = StockAccount('你的资金账号', 'STOCK')

首先指定客户端的路径,所有的接口调用都是Python层在和客户端交互,这里你去GPT①问一下,为什么Python中,\要换成/来表示路径的字符串。路径用字符串表示,并赋值给变量“客户端路径”;不同的策略要用不同的会话编号,这里先不用理解,复杂的需要保持连接或者多个策略运行的才需要注意。

创建交易对象API实例,之后所有交易和账户类的操作都要用到,GPT问一下:Python中的对象是什么?面向对象编程是个什么概念?暂时不理解没事,简单读一下就行,这里我们就把对象想象成一把多功能军刀,用到哪个工具就拿出来,不用的时候收起来,就是个对象。后面创建连接,输出连接状态看一下是否成功,还有创建账户对象这些就好理解了。

准备工作做好了,上一篇也取了实时数据,现在就要根据实时价格来判断是否执行交易,还是以平安银行为例,代码000001.SZ,假设今天的价格到了10.01,我们就认为可以建仓了,执行买入一手。

实时数据 = xtdata.get_full_tick(['000001.SZ'])
卖一价 = 实时数据['000001.SZ']['askPrice'][0]
if 卖一价 <= 10.01:订单号 = 交易对象.order_stock(账户对象,'000001.SZ',xtconstant.STOCK_BUY,100,xtconstant.FIX_PRICE,卖一价)print('订单号:', 订单号)
# 一直忘说了,Python的注释是行首加#号
'''
也可以这样用大段注释,三个引号,
Python会认为这是字符串,直接跳过
注释是给人看的,代码是给编译器读的
注释的作用是给别人解释你的代码,给自己做的笔记
代码越写越多,逻辑越来越复杂,
回头再来修改和复用的时候,多半会忘了这段代码的作用
有个段子讲,代码写完当天只有自己和上帝知道什么意思
第二天就只有上帝知道了
'''

这里是以卖一价为准,主要是为了确保吃单成交,如果用买一价报单,就要挂单等待成交,不方便之后演示。

函数还有两个参数,strategy_name和order_remark,主要用于策略中识别订单来源,这里简化了先不用,第三个参数“委托类型”,股票普通交易只有STOCK_BUY和STOCK_SELL两种,两融、期货和ETF还有很多种,这里用不到。第四参数就是“委托数量”,股票是100的整倍数,也就是一手。第五个参数“报价类型”,这里用指定价xtconstant.FIX_PRICE,也就是我们取到的卖一价下单,也可以是自定一个价格,不要超出价格笼子就行。

上面的代码执行后,不一定会输出订单号,因为价格没到,所以要加上循环判断,一直等到价格到了,就执行,当然也可用订阅数据的方式来判断,那个复杂点,后边慢慢讲到。

今天的分享就这里吧,字数挺多了,无心学这些的人也读不到这里,有心学的也要去GPT问问,加深一下理解,对股票量化程序化自动交易感兴趣的朋友可以关注我,有任何相关问题也可以留言讨论或者私信与我交流

前面的相关文章如下:

http://炒股自动化:申请官方API接口,散户也可以icon-default.png?t=N7T8https://mp.csdn.net/mp_blog/creation/editor/136907158炒股自动化:官方API接口,Python程序员炒股利器,散户可用icon-default.png?t=N7T8https://mp.csdn.net/mp_blog/creation/editor/137236078简版:

python炒股自动化(0),申请券商API接口icon-default.png?t=N7T8https://mp.csdn.net/mp_blog/creation/editor/135455065python炒股自动化(1),量化交易接口区别icon-default.png?t=N7T8https://mp.csdn.net/mp_blog/creation/editor/134665080Python炒股自动化(2):获取股票实时数据和历史数据icon-default.png?t=N7T8https://mp.csdn.net/mp_blog/creation/editor/136244006Python炒股自动化(3):分析取回的实时数据和历史数据icon-default.png?t=N7T8https://mp.csdn.net/mp_blog/creation/editor/136347285Python炒股自动化(4):通过接口向交易所发送订单icon-default.png?t=N7T8https://mp.csdn.net/mp_blog/creation/editor/136620466Python炒股自动化(5):通过接口查询订单,查询账户资产icon-default.png?t=N7T8https://mp.csdn.net/mp_blog/creation/editor/136812940①:chatGPT、迅飞星火、通义千问、文心一言等等AI大模型,在之后都会用GPT表示,随便哪个都能协助编程,就普通的默认版本足够,不用付费买高级版本。很多很多人,主要是对编程完全没概念的人,认为GPT可以一劳永逸,完全不用懂编程,想多了,目前还做不到

这篇关于炒股自动化:交易接口API才是重点,券商官方散户可用的接口的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/895299

相关文章

活用c4d官方开发文档查询代码

当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来

【Linux 从基础到进阶】Ansible自动化运维工具使用

Ansible自动化运维工具使用 Ansible 是一款开源的自动化运维工具,采用无代理架构(agentless),基于 SSH 连接进行管理,具有简单易用、灵活强大、可扩展性高等特点。它广泛用于服务器管理、应用部署、配置管理等任务。本文将介绍 Ansible 的安装、基本使用方法及一些实际运维场景中的应用,旨在帮助运维人员快速上手并熟练运用 Ansible。 1. Ansible的核心概念

如何使用Ansible实现CI/CD流水线的自动化

如何使用Ansible实现CI/CD流水线的自动化 持续集成(CI)和持续交付(CD)是现代软件开发过程中的核心实践,它们帮助团队更快地交付高质量的软件。Ansible,作为一个强大的自动化工具,可以在CI/CD流水线中发挥关键作用。本文将详细介绍如何使用Ansible实现CI/CD流水线的自动化,包括设计流水线的结构、配置管理、自动化测试、部署、以及集成Ansible与CI/CD工具(如Jen

Java 后端接口入参 - 联合前端VUE 使用AES完成入参出参加密解密

加密效果: 解密后的数据就是正常数据: 后端:使用的是spring-cloud框架,在gateway模块进行操作 <dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><version>30.0-jre</version></dependency> 编写一个AES加密

【LabVIEW学习篇 - 21】:DLL与API的调用

文章目录 DLL与API调用DLLAPIDLL的调用 DLL与API调用 LabVIEW虽然已经足够强大,但不同的语言在不同领域都有着自己的优势,为了强强联合,LabVIEW提供了强大的外部程序接口能力,包括DLL、CIN(C语言接口)、ActiveX、.NET、MATLAB等等。通过DLL可以使用户很方便地调用C、C++、C#、VB等编程语言写的程序以及windows自带的大

如何更优雅地对接第三方API

如何更优雅地对接第三方API 本文所有示例完整代码地址:https://github.com/yu-linfeng/BlogRepositories/tree/master/repositories/third 我们在日常开发过程中,有不少场景会对接第三方的API,例如第三方账号登录,第三方服务等等。第三方服务会提供API或者SDK,我依稀记得早些年Maven还没那么广泛使用,通常要对接第三方

Sentinel 高可用流量管理框架

Sentinel 是面向分布式服务架构的高可用流量防护组件,主要以流量为切入点,从限流、流量整形、熔断降级、系统负载保护、热点防护等多个维度来帮助开发者保障微服务的稳定性。 Sentinel 具有以下特性: 丰富的应用场景:Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应

JAVA用最简单的方法来构建一个高可用的服务端,提升系统可用性

一、什么是提升系统的高可用性 JAVA服务端,顾名思义就是23体验网为用户提供服务的。停工时间,就是不能向用户提供服务的时间。高可用,就是系统具有高度可用性,尽量减少停工时间。如何用最简单的方法来搭建一个高效率可用的服务端JAVA呢? 停工的原因一般有: 服务器故障。例如服务器宕机,服务器网络出现问题,机房或者机架出现问题等;访问量急剧上升,导致服务器压力过大导致访问量急剧上升的原因;时间和

java线程深度解析(一)——java new 接口?匿名内部类给你答案

http://blog.csdn.net/daybreak1209/article/details/51305477 一、内部类 1、内部类初识 一般,一个类里主要包含类的方法和属性,但在Java中还提出在类中继续定义类(内部类)的概念。 内部类的定义:类的内部定义类 先来看一个实例 [html]  view plain copy pu

Java基础回顾系列-第五天-高级编程之API类库

Java基础回顾系列-第五天-高级编程之API类库 Java基础类库StringBufferStringBuilderStringCharSequence接口AutoCloseable接口RuntimeSystemCleaner对象克隆 数字操作类Math数学计算类Random随机数生成类BigInteger/BigDecimal大数字操作类 日期操作类DateSimpleDateForma