怎样对股票交易下单接口进行测试?

当我们拿到一个股票交易下单接口以后,该如何测试它的实用性呢?我们来讲一下这个问题。

首先我们要搞清楚,我们对于这个股票交易下单接口的需求到底是什么,我们是要求它可以用呢?还是要确定它是否稳定呢?或者说是想看看能否到达自己理想中的交易频次呢?我们在进行测试之前,一定都对测试的内容确定好,接下来我们就可以进行测试了。

其实方法也简单,直接把接口对接到我们的交易软件上使用就可以了,把对应的文件放在相应的目录中,然后进行调用即可。完场后我们就可以知道接口到底能不能用了,至于稳定性方面的问题,股票交易下单接口都是自动下单的,我们放在那里,运行一段时间就知道了。而交易频率方面,如果我们想做高频的话,建议先了解清楚该接口是否可以实现操作,然后执行测试即可。

这里就有一款相对稳定而且可以进行高频交易的下单接口https://gitee.com/metatradeapi,而且操作比并不复杂,可以实现单账户和多账号自动下单,下面是c#语言的部分代码举例,大家可以了解了解。

1.	// ============================== MetaTrade.cs ==========================
2.	using System.Runtime.InteropServices;
3.	using System.Text;
4.
5.	namespace MetaTradeDemo;
6.
7.	/// <summary>
8.	/// MetaTrade 接口
9.	/// </summary>
10. public static class MetaTrade
11.	{
12.	/* ---------------------------------------------------------------------------------
13.	* 简单说明:
14.	* 1.此文件为 .Net 与 MetaTrade 接口混合调用的接口文件
15.	* 2.通常不需要修改此文件内容, 除非你非常了解 .Net 与 C++ 的调用规范
16.	* 3.本接口在 .net6 下测试通过, .net6 为当前长期支持版本, 强烈建议您也使用这个版本
17.	* ---------------------------------------------------------------------------------
18.	*/
19.
20.	/// <summary>
21.	/// 初始化接口
22.	/// 调用此方法将会检验授权, 并返回授权的账户数量
23.	/// 建议在程序启动时, 调用此方法, 以便再进行后续操作
24.	/// </summary>
25.	/// <returns>已授权的账户数</returns>
26.	[DllImport("MetaTrade.dll", CharSet = CharSet.Ansi)]
27.	public static extern int Init();
28.
29.	///	<summary>
30.	///	反初始化接口
31.	///	建议在程序退出出调用些方法
32.	///	</summary>
33.	[DllImport("MetaTrade.dll", CharSet = CharSet.Ansi)]
34.	public static extern void Deinit();
35.
36.	///	<summary>
37.	///	登录账户
38.	///	</summary>
39.	/// <param name="ip">服务端 Ip 地址</param>
40.	/// <param name="port">端口号</param>
41.	/// <param name="version">版本号, 默认为空</param>
42.	/// <param name="yybId">营业部, 默认为零</param>
43.	/// <param name="account">账号, 同授权账号</param>
44.	/// <param name="tradeAccount">资金账号</param>
45.	/// <param name="jyPassword">交易密码</param>
46.	/// <param name="txPassword">通讯密码</param>
47.	/// <param name="errorInfo">错误信息,一般要分配 256 字节的空间,出错时为非空字符串</param>
48.	/// <returns>客户端 Id</returns>
49.	[DllImport("MetaTrade.dll", CharSet = CharSet.Ansi)]
50.	public static extern int Logon(string ip, short port, string version, short yybId, string acco
unt, string tradeAccount, string jyPassword, string txPassword, StringBuilder errorInfo);
51.
52.	///	<summary>
53.	///	注销账户
54.	///	</summary>
55.	/// <param name="clientId">客户端 Id</param>
56.	[DllImport("MetaTrade.dll", CharSet = CharSet.Ansi)]
57.	public static extern void Logoff(int clientId);
58.
59.	#region + QueryData / SendOrder / CancelOrder / GetQuote / Repay
60.
61.	///	<summary>
62.	///	查询各种交易数据
63.	///	</summary>
64.	/// <param name="clientId">客户端 Id</param>
65.	/// <param name="category">信息种类:0 资金,1 股份,2 当日委托,3 当日成交,4 可撤单,5 股东代码,6 融资
余额,7 融券余额,8 可融证券</param>
66.	/// <param name="result">返回信息,一般要分配 1024*1024 字节的空间,出错时为空字符串。</param>
67.	/// <param name="errorInfo">错误信息,一般要分配 256 字节的空间,出错时为非空字符串</param>
68.	[DllImport("MetaTrade.dll", CharSet = CharSet.Ansi)]
69.	public static extern void QueryData(int clientId, int category, StringBuilder result, StringBu
ilder errorInfo);
70.
71.	/// <summary>
72.	/// 委托下单	
73.	/// </summary>
74.	/// <param name="clientId">客户端 Id</param>	
75.	/// <param name="category">委托种类:0 买入,1 卖出,2 融资买入,3 融券卖出,4 买券还券,5 卖券还款,6
现券还券</param>
76.		/// <param name="entrustType">委托类型:0 上海限价委托;深圳限价委托,1 深圳对方最优价格,2 深圳本方最优价格,3 深圳即时成交剩余撤销,4 上海五档即成剩撤;深圳五档即成剩撤,5 深圳全额成交或撤销,6 上海五档即成转限
价</param>	
77.	/// <param name="gddm">股东代码</param>
78.	/// <param name="zqdm">证券代码</param>	
79.	/// <param name="price">委托价格</param>
80.	/// <param name="quantity">委托数量</param>	
81.	/// <param name="result">返回信息,一般要分配 1024*1024 字节的空间,出错时为空字符串。</param>
82.	/// <param name="errorInfo">错误信息,一般要分配 256 字节的空间,出错时为非空字符串</param>	
83.	[DllImport("MetaTrade.dll", CharSet = CharSet.Ansi)]
84.	public static extern void SendOrder(int clientId, int category, int entrustType, string gddm,
string zqdm, float price, int quantity, StringBuilder result, StringBuilder errorInfo);	
85.
86.	/// <summary>	
87.	/// 委托撤单
88.	/// </summary>	
89.	/// <param name="clientId">客户端 Id</param>
90.	/// <param name="exchangeId">交易所 Id:A1 上海,A0 深圳(部分券商是 2)</param>	
91.	/// <param name="entrustId">委托编号</param>
92.	/// <param name="result">返回信息,一般要分配 1024*1024 字节的空间,出错时为空字符串。</param>	
93.	/// <param name="errorInfo">错误信息,一般要分配 256 字节的空间,出错时为非空字符串</param>
94.	[DllImport("MetaTrade.dll", CharSet = CharSet.Ansi)]	
95.	public static extern void CancelOrder(int clientId, string exchangeId, string entrustId, Strin
gBuilder result, StringBuilder errorInfo);

猜你喜欢

转载自blog.csdn.net/qq1841085904/article/details/127904565
今日推荐