炒股自动化:交易接口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

相关文章

Mybatis官方生成器的使用方式

《Mybatis官方生成器的使用方式》本文详细介绍了MyBatisGenerator(MBG)的使用方法,通过实际代码示例展示了如何配置Maven插件来自动化生成MyBatis项目所需的实体类、Map... 目录1. MyBATis Generator 简介2. MyBatis Generator 的功能3

Java后端接口中提取请求头中的Cookie和Token的方法

《Java后端接口中提取请求头中的Cookie和Token的方法》在现代Web开发中,HTTP请求头(Header)是客户端与服务器之间传递信息的重要方式之一,本文将详细介绍如何在Java后端(以Sp... 目录引言1. 背景1.1 什么是 HTTP 请求头?1.2 为什么需要提取请求头?2. 使用 Spr

Python Invoke自动化任务库的使用

《PythonInvoke自动化任务库的使用》Invoke是一个强大的Python库,用于编写自动化脚本,本文就来介绍一下PythonInvoke自动化任务库的使用,具有一定的参考价值,感兴趣的可以... 目录什么是 Invoke?如何安装 Invoke?Invoke 基础1. 运行测试2. 构建文档3.

使用SpringBoot创建一个RESTful API的详细步骤

《使用SpringBoot创建一个RESTfulAPI的详细步骤》使用Java的SpringBoot创建RESTfulAPI可以满足多种开发场景,它提供了快速开发、易于配置、可扩展、可维护的优点,尤... 目录一、创建 Spring Boot 项目二、创建控制器类(Controller Class)三、运行

Windows自动化Python pyautogui RPA操作实现

《Windows自动化PythonpyautoguiRPA操作实现》本文详细介绍了使用Python的pyautogui库进行Windows自动化操作的实现方法,文中通过示例代码介绍的非常详细,对大... 目录依赖包睡眠:鼠标事件:杀死进程:获取所有窗口的名称:显示窗口:根据图片找元素:输入文字:打开应用:依

centos7基于keepalived+nginx部署k8s1.26.0高可用集群

《centos7基于keepalived+nginx部署k8s1.26.0高可用集群》Kubernetes是一个开源的容器编排平台,用于自动化地部署、扩展和管理容器化应用程序,在生产环境中,为了确保集... 目录一、初始化(所有节点都执行)二、安装containerd(所有节点都执行)三、安装docker-

Jenkins中自动化部署Spring Boot项目的全过程

《Jenkins中自动化部署SpringBoot项目的全过程》:本文主要介绍如何使用Jenkins从Git仓库拉取SpringBoot项目并进行自动化部署,通过配置Jenkins任务,实现项目的... 目录准备工作启动 Jenkins配置 Jenkins创建及配置任务源码管理构建触发器构建构建后操作构建任务

活用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