易得程序化第三方交易API,对接minitqmt实现易得官方交易界面的下单、撤单、查询持仓、查询成交记录、挂单记录、以及实时成交回报等功能。 如果对您有用,请点个star: )
特别说明
1)强烈建议用模拟盘测试验证后再实盘,本人不对使用该软件产生的任何损失承担责任,使用即同意本条。
2)文档很久没更新了,如果使用有不对的地方,可以提issue,或者自行看源码,有空我再更新。
一、模块
共3个功能模块:
1)qmt_api后端,用于对接miniqmt,实际执行交易指令。
2)易得OpenTraderApi模块,即易得的开发交易API接口,调用qmt_api后端,执行界面下单、撤单、成交回报、查询持仓、查询成交记录、查询挂单记录等。
3)yd_qmt.dll自动交易函数模块,用于易得股池、预警方式实现自动化交易(通过调用qmt_api后端)。
4)注意:需要用易得最新的64位的V3.3.2版本。
二、部署步骤
1)先用miniqmt模式启动qmt客户端
2)在miniqmt里面登录证券账户
这里的资金账号要填入qmt_api文件夹的config.json文件里面,另外还有填入qmt所在的文件夹路径,如下:
3)解压qmt_api.zip到任意文件夹,双击qmt_api.exe启动。如果显示"qmt连接成功",后端就好了。
4)将yd_qmt_v1.0.0.dll重命名为:yd_qmt.dll放到易得的FmtDll文件夹。
5)将OpenTraderApi_v1.0.0.zip放到易得根目录(如:放在D:\YdmfStk(x64)V300目录下,也就是和MagicStk同一个文件夹),解压到当前文件夹,全部覆盖。
6)打开易得,按F6,或从菜单打开“交易”-->“证券交易登录”-->点确定,如果显示出总资金、持仓等,表示部署成功。
三、功能
一、易得的股池和预警的界面,下单选实盘开多是买入、实盘平多是卖出。选固定股数。
二,易得自带的下单界面,按股数下单。
三,目前易得界面下单、条件预警下单、股池入池出池下单,只实现了按固定股数。其他下单方法后面实现。
四、以下是yd_qmt.dll的函数说明:
AutoTrade函数(下单):
第一个参数:价格
第二个参数:买卖多少,0不满足下单条件,>0委托金额、或百分比、或股数。
当第三个参数为1或2时,为按金额买入或卖出
当第三个参数为3或4时,为股数买入卖出
单第三个参数为5或6时,为按百分比(填1-100)买入或卖出
第三个参数:买卖类型,1按金额买入。2按金额卖出。3按股数买入。4按股数卖出。5按总资金的百分比买入。6按可用持仓的百分比卖出卖出。
第四个参数:填1(预留)
使用示例:
条件:=Close>0;
按金额买入:"yd_qmt@AUTOTRADE"(委托价格,委托金额*条件,1,1);
全部卖出:"yd_qmt@AUTOTRADE"(委托价格,100*条件,6,1);
AutoCancel函数(撤单):
第一个参数:撤单类型:1撤买。2撤卖。3全撤。
第二个参数:撤单范围:0不满足撤单条件。1撤单个股票。2撤全部股票。
第三个参数:填1(预留)
第四个参数:填1(预留)
使用示例:
撤当前股票的买入挂单:"yd_qmt@AutoCancel"(1,1,1,1);
撤全部买入挂单:"yd_qmt@AutoCancel"(1,2,1,1);
撤全部卖出挂单:"yd_qmt@AutoCancel"(2,2,1,1);
ACCOUNT函数(查询账户):
第一个参数:查询类型:1可用金额。2冻结金额。3持仓市值。4总资产
第二个参数:是否满足查询条件:0不满足。1满足
第三个参数:填1(预留)
第四个参数:填1(预留)
使用示例:
查询可用金额:"yd_qmt@Account"(1,1,1,1);
ASKBID函数(查询挂单):
第一个参数:买卖类型:1查询买入挂单。2查询卖出挂单。
第二个参数:是否满足查询条件:0不满足。1满足
第三个参数:查询类型:1股数。2金额
第四个参数:填1(预留)
使用示例:
查询买入挂单的股数:"yd_qmt@AskBid"(1,1,1,1);
ACCOUNTAll函数(查询账户,一次返回所有值):
acountall:="yd_qmt@ACCOUNTAll"(1,1,1,1);
可用金额:acountall;
冻结金额:ref(acountall,1);
持仓市值:ref(acountall,2);
总资产:ref(acountall,3);
stock_positions函数(查询单个股票持仓,一次返回所有值)
stockall:="yd_qmt@stock_positions"(1,1,1,1);
持仓数量:stockall;
可用数量:ref(stockall,1);
平均成本:ref(stockall,2);
挂买单数量:"yd_qmt@askbid"(1,IsLastBar=1,1,1);
挂卖单数量:"yd_qmt@askbid"(2,IsLastBar=1,1,1);
挂买单金额:"yd_qmt@askbid"(1,IsLastBar=1,2,1);
挂卖单金额:"yd_qmt@askbid"(2,IsLastBar=1,2,1);






