
MQL4(53):终端全局变量
我们已经掌握了EA这栋“房子”内部的两种变量:放在独立房间的“私人物品”(局部变量),和放在大厅的“公共家具”(程序内全局变量)。但现在思考一个问题:如果整栋房子突然断电(MT4重启或崩溃),会发生什么? 答案是:房子里的一切“记忆”都会丢...
我们已经掌握了EA这栋“房子”内部的两种变量:放在独立房间的“私人物品”(局部变量),和放在大厅的“公共家具”(程序内全局变量)。但现在思考一个问题:如果整栋房子突然断电(MT4重启或崩溃),会发生什么? 答案是:房子里的一切“记忆”都会丢...
在某些交易策略中,您可能需要针对同一个入场信号(或持仓)下达多个订单,这些订单可以拥有各自不同的止损、止盈水平以及手数大小。实现这一需求有多种途径,最直接的一种方法是,发出的每一笔订单都单独编写一条 OrderSend() 指令。这种方式的...
一个成功的交易策略,不仅仅在于何时入场,更在于何时不该入场。专业的交易员会主动规避那些高风险、低胜率的“垃圾时间”。今天我们就来为我们的EA安装上两套至关重要的“风险过滤器”,教会它这项宝贵的交易纪律。 我们将在下单前的最后一步,执行这套“...
在此前的课程中,我们一直使用“魔术号”作为EA的唯一标识,来区分EA自己下的订单和手动订单。但如果你的EA变得更复杂,需要在同一个图表上,同时运行多个不同的、独立的子策略,那该怎么办? 比如,你的EA中既有一个长线的趋势跟踪策略,又有一个短...
我们始终强调在尝试发出交易指令前,预先检验订单的各项参数。这样做是为了尽可能避免因参数设置错误或价格不当而引发的常见错误提示。然而,即便如此,实际交易中仍可能遭遇重新报价、交易环境繁忙或服务器通讯故障等问题。这些问题并非总能完全规避,但当它...
EA可以配置为在发生特定事件时(例如,成功下单、出现交易信号、达到止损/止盈等)通过电子邮件向您发送通知。这可以通过 MQL4内置的 SendMail() 函数来实现。 1. 配置 MetaTrader 的邮件发送功能: 在使用 SendM...
在之前的示例中,我们主要使用 Alert() 函数来向用户显示简单的提示或错误信息。但如果您希望创建更具交互性、外观更丰富的自定义对话框(例如,包含不同的按钮选项、图标等),或者需要获取用户的明确输入(如“是/否”选择),那么 Messag...
当你投入了大量心血,终于开发出一款能稳定盈利的EA时,你可能会考虑将它商业化,或者至少,希望能安全地分享给朋友测试。这时,我们就必须为EA加上一把“锁”,以确保它不会被随意复制和滥用。 今天,我们就来学习如何为我们的EA打造一套简单而有效的...
想象一下,你精心聘请了一位顶级的交易员(你的EA)来管理账户。你把他带到了交易大厅,却忘记给他办理进入交易室的“门禁卡”。他空有一身本领,却什么也做不了。 在MetaTrader平台中,“允许实时交易”、“允许导入DLL”这些选项,就是我们...
从本章开始,我们将学习一些在开发EA时可能会非常实用的一些附加功能和技巧。 转义字符 在MQL4的字符串常量(即用双引号括起来的文本)中,如果您希望包含某些特殊字符,如双引号本身、单引号或反斜杠符号,您需要在这些特殊字符前加上一个反斜杠 (...