###量化开发之通达信股票接口封装与生产使用

本文介绍了如何封装和使用通达信股票接口进行量化开发,包括登录、查询账户数据、委托订单和撤单等关键接口的详细操作,并展示了基于这些接口的T+0智能快捷键交易工具的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

自从2015年熊市开启以来,股票端的程序化开发者一直都很憋屈,过去无论是个人投资还是小型的机构投资者都能很好的利用各种的股票接口进行开发和交易,但股票端这一次的背锅却成了看不到希望的无穷煎熬,时间一眨眼过去快四年了,接口一直不松绑,利用接口成为一件噩梦般的事情。

之前我利用CTP接口开发了一个基于期货的T+0交易工具,当时由于缺乏股票端的接口,所以只能将就着用在期货端的交易咯,这一次我终于把这个工具覆盖到股票端了,利用通达信的接口就能完成。。。

先来逐个接口的介绍吧:

        StringBuilder ErrInfo = new StringBuilder(256);
        StringBuilder Result = new StringBuilder(1024 * 1024);

先定义两个StringBuilder类型的对象用于存储各种回调数据

1)登录接口

        private int clientID;

         /// <summary>
        /// 登录交易账户
        /// </summary>
        /// <param name="loginData"></param>
        public void Login(LoginApiInforDataAny<EnumTradeApiTypeAny> loginData)
        {

            //Logon(IP,端口,版本号,营业部ID->填0,登录账号(客户号),交易账户(资金账户),交易密码,通讯密码,ErrInfo)
            var IP_port = loginData.IPAddress.Split(new char[] { ':' });
            var IP = IP_port[0];
            short Port = Convert.ToInt16(IP_port[1]);
            clientID = Logon(IP, Port, "6.0", 0, loginData.Topology, loginData.UserID, loginData.PassWrod, string.Empty, ErrInfo);
            if (clientID == -1)
                OnLog?.Invoke($"{"通达信交易账户登录失败:" + ErrInfo.ToString() + ",请检查原因!"}");
            else
                OnLog?.Invoke($"{"通达信交易账户登录成功!"}");
            TradeApiConnected?.Invoke(this);
        }

PS:Logon接口是用于登录通达信->券商交易账户的,大概的参数字段是:IP,端口,版本号,营业部ID->填0,登录账号(客户号),交易账户(资金账户),交易密码,通讯密码,ErrInfo

我在代码这里已经写得很通俗易懂了,我就不详细讲这个接口咯。

2)查询账户各种数据的接口(这里以查询账户资金信息为例)

 public int ReqQryTradingAccount

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值