MT4与MT5专项问题解决:通过EA开启和关闭自动交易按钮功能

本文探讨了通过EA实现开启和关闭MT4及MT5自动交易按钮的功能,强调其在远程风控系统中的重要性。通过DLL调用操作系统功能,利用TerminalInfoInteger获取交易状态,并通过PostMessageW函数控制窗口构件来达到目的。提供了一个脚本实例以验证效果。

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

实现EA开启和关闭自动交易按钮的难度和意义

  • 首先"自动交易"按钮属于MT4和MT5交易软件的,由用户通过鼠标点击执行。
  • EA程序输入MT4或MT5的子程序,权限低于MT4和MT5平台,无法实现开关自动交易功能
  • 实现EA开启和关闭自动交易,可实现远程风控系统,通过网络通信来集中控制多个MT4或者MT5终端的自动交易的开启

EA开启和关闭自动交易的思想及代码实施

  • 虽然EA的权限低于MT4和MT5,但权限最高的是操作系统,而EA可以通过DLL调用操作系统的功能来间接实现。
  • TerminalInfoInteger(TERMINAL_TRADE_ALLOWED) 函数获取当前终端自动交易状态。
  • (HANDLE)ChartGetInteger(ChartID(), CHART_WINDOW_HANDLE) 获取当前窗口的句柄;
  • 将指定窗口句柄传入 GetAncestor函数获取先祖窗口的句柄,也就是MT4和MT5终端的窗口句柄。
  • 直接通过 PostMessageW 函数向指定窗口句柄传入指令来实现对窗口指定构件的控制。
#ifdef __MQL5__
// 导入所需的dll文件
#define MT_WMCMD_EXPERTS   32851
#define WM_COMMAND         0x0111
#define GA_ROOT            2
#include <WinAPI\winapi.mqh>
#endif

#ifdef __MQL4__
简介 这是一个控制管理订单的风控软件,可用于监控交易员的成交手数,也避免忘记设置止损止盈的错误。 很多风控技术工作者在该软件系统的帮助下,节约了大量的工作时间,同时也避免了很多严重性的错误。 同时它可以根据风控参数的设置,关闭其他窗口的EA运行,并执行风控指令。 设计原理 该程序会不断扫描账户的资金订单信息,并用户设定的风控参数等信息进行比较。 当账户的的资金状态订单状态超过风控参数设置的要求时,该系统会立刻进行对账户订单进行平仓,减仓或者清仓的操作。 风控大师的优点 节省风控时间,管理员不需要一直24小时盯着账户信息,通过该软件实现风控操作。 避免人为错误,人工执行风控,可能会出现疏忽性的错误,该系统可以避免人为错误。 提高风控执行,人工风控总是收到心里因素的影响,从而错过了最佳风控时间,该系统可以避免人性的不足。 风控时间及时,人工风控操作会有操作时间差,再瞬息万变的金融市场,速度就是一切,避免因人工风控不足的穿仓。 面板选项选择组合自由使用,易学易用,不用退出软件。 功能简介 净值以上清仓线--当账户的净资产大于该值时,执行清仓操作。 净值以下清仓线--当账户的净资产小于该值时,执行清仓操作。 整体盈利清仓线-- 当账户的浮动盈利大于该值时,执行清仓操作。 整体亏损清仓线-- 当账户的浮动亏损大于该值时,执行清仓操作。 单笔浮盈平仓线-- 当该笔订单浮动盈利大于该值时,执行该订单的平仓。 单笔浮亏平仓线-- 当该笔订单浮动亏损大于该值时,执行该订单的平仓。 盈利关其他窗线-- 当账户的浮动盈利超过该值时,关闭除本软件所在的其他任何窗口。 亏损关其他窗线-- 当账户的浮动亏损超过该值时,关闭除本软件所在的其他任何窗口。 最大单笔仓手数-- 当某笔订单的手数超过该值时候,执行减仓操作,直到符合要求。 最大总持仓手数-- 当账户的总持仓手数超过该值时候,执行减仓操作,直到符合要求。 限制最大止损点-- 当某订单无止损或止损点数超过该值时候,执行修改止损符合要求。 限制最大止盈点--当某订单无止盈或止盈点数超过该值时候,执行修改止盈符合要求。 自动平保盈利点-- 当某订单盈利点超过该值时,修改止损到入场位附近。 跟踪止损距离点-- 订单每次盈利该指定点数,执行跟踪止损。 自动平保盈亏比-- 当某订单的的盈利止损的比例超过该值时,修改止损到入场价附近。 使用注意事项 本软件运行速度很快,先修改数值,在选择✓,否则数值尚未输入完毕就开始执行风控了。 mt4软件本身固有缺陷,在输入数值时,不要用按键,而是双击直接修改,否则会删除软件界面,如果不幸遇到,那么退出该软件重新加载即可,这种现象在mt5中没有。 软件意义 很多人操盘习惯性不带止损, 重仓,或者疏忽下错手数。执行力不够,到达止盈止损位时,舍不得平仓了结。 总想赚得更多, 或者再等一等浮亏就会回来,这种赌徒的心理最终会害了自己的。该软件解决交易员执行力问题。 监控其他交易员及其他EA的运行状态并执行风控,也可以辅助自己盯盘执行平仓操作。 关于我们 迈达量化专业开发mt4mt5程序服务,十几年金融编程经验。 若您有任何软件开发功能升级等相关需求欢迎联系我们。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

迈达量化

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值