欢迎光临散文网 会员登陆 & 注册

MT5 EA交易期货-查询资金

2022-11-08 21:38 作者:wewin28  | 我要投稿

例子演示了EA如何获得期货账号下的权益、手续费、占用保证金、平仓盈亏、持仓盈亏和可用资金。

EA是通过调用mt5ctp.dll进行期货交易,所以EA需要先引用mt5ctp.dll,该DLL头文件mt5ctp.mqh在\MQL5\Include目录下。

MT5通过mt5ctp.dll得到交易所的各种回调(如报单回调,成交回调,撤单回调,错误回调,仓位回调,资金回调),之后会把这些回调作为MQL图表事件(ChartEvent)发送给当前打开的全部图表,EA 则通过MQL图表事件响应函数OnChartEvent得到这些回调。

期货发送的MQL图表事件ID都是3000,EA需要在OnChartEvent函数中只处理ID是3000的事件。

EA通过OnChartEvent函数的sparam参数获得MQL图表事件中的资金回调。

资金回调是一个字符串,格式如下:

OnRspQryTradingAccount, 期货公司编码, 期货交易账号, 上次结算准备金, 占用保证金, 手续费, 平仓盈亏, 浮动盈亏, 动态权益, 可用资金,e

把sparam参数对应的字符串按逗号拆分后保存到字符数组chartEvents[],处理后chartEvents[0]就等于"OnRspQryTradingAccount"。

因为在OnChartEvent函数中ID是3000的事件包括了各种的交易所回调(如报单回调,成交回调,撤单回调,错误回调,仓位回调,资金回调), 所以EA需要先根据chartEvents[0]=OnRspQryTradingAccount找出其中的资金回调。

然后遍历chartEvents数组,得到资金回调中的各项数据:

chartEvents[1]就是期货公司编码,

chartEvents[2]就是期货交易账号,

chartEvents[3]就是上次结算准备金,

chartEvents[4]就是占用保证金,

chartEvents[5]就是手续费,

chartEvents[6]就是平仓盈亏,

chartEvents[7]就是浮动盈亏,

chartEvents[8]就是动态权益,

chartEvents[9]就是可用资金,

最后把资金回调的各项数据按指定的格式打印出来。



MT5 EA交易期货-查询资金的评论 (共 条)

分享到微博请遵守国家法律