
Parameters & Features
For versions released in 2026 and later
EA 手册(MQL5 Market 版)
AT_SYSTEM EA 通用使用方法与参数说明
目录
前言
本手册说明我提供的各款 EA 共通的使用方法和参数等内容。
说明和截图均为 MT5 的内容。MT4 版与之相同,不同之处会单独注明。
功能和参数是否具备、名称是否相同,因 EA 和版本而异。您所用的 EA 中没有的项目,请直接跳过。
EA 的设置方法
- 将 EA 拖放到任意外汇货币对的图表上。
- 图表会自动切换为该 EA 的货币对和时间周期
(自动图表设置功能)。 - K 线的配色会改变,右侧会显示参数的设置内容。
(详情见后文。除此之外,设置方法与一般 EA 相同)

EA 是否设置成功,也可以在工具箱的“Experts”选项卡的日志中确认。

附加 EA 时,“Common”选项卡(MT4 为“About”选项卡)中会显示简要规格。图表的 K 线数量请设置为不少于其中所写的数字。

参数与图表注释


以下按模块逐一说明。
[ ] 内是图表注释中显示的项目。
1. 基本设置与复利设置


| 参数 | 说明 |
|---|---|
| Magic Number [magic] | EA 的识别编号。请为每个 EA 设置不同的值。如果与其他 EA 重复,会导致运行异常。 |
| Fixed Lot [lots] | 固定手数交易时的手数。选择复利但没有 SL 时,也使用该值。 |
| Lot Calculation Mode [met] | 复利设置。0 = 固定手数,1 = 复利(余额),2 = 复利(可用保证金) |
| Risk Percent [risk] | 复利运行时的风险设置。以所选基准(余额或可用保证金)为准,表示最大 SL 亏损所占的比例(%)。 |
| Initial Balance | 开始复利运行时的余额,以账户货币输入。图表注释中不会显示。 |
| Lot Growth Rate [ver] | 以 0 到 100 设置资金变动反映到手数上的比例。可以缓和资金剧烈变动引起的手数骤变。 |
复利模式的区别
- 余额:即使多个 EA 的交易重叠,手数也不易随可用保证金的增减而变化的计算方法。不过,可用保证金可能会变少。
- 可用保证金:多个 EA 的交易重叠、可用保证金大幅变动时,会影响手数的计算。另一方面,即使可用保证金较少,也能相应地使用。
Initial Balance 无论开始运行多少年之后都会被参照。即使因终端重启等原因 EA 停止,也能在相同条件下重新计算手数。
回测中的复利按 1 USD = 150 JPY 的假定汇率计算。因此手数可能与实际运行不同。
即使设置了复利,手数仍停留在 Fixed Lot 的值时,请参考 Experts 选项卡,将计算所需的货币对添加到“市场报价”(Market Watch)中。这样可能就能正常计算了。
例:账户货币为日元、运行 AUDCAD 时,如果市场报价中没有 USDCAD,就无法计算复利,手数会保持为 Fixed Lot 的值。
复利计算公式
复利手数 = 风险金额 ÷ 每 1 手的 SL 亏损
风险金额 = 基准余额 × 风险比例(Risk Percent)
基准余额 = 初始余额(Initial Balance)+(当前资金 − 初始余额)× 手数变动率(Lot Growth Rate)
当前资金 = 当前余额 + 信用额度,或当前可用保证金
计算示例:USDJPY,Lot Calculation Mode 为可用保证金,Risk Percent 5%,Initial Balance 70 万日元,当前资金 100 万日元,Lot Growth Rate 30%,SL 210 点
{70 万日元 +(100 万日元 − 70 万日元)× 30%} × 5% ÷ 21 万日元 ≈ 0.188 → 0.18 手(不足手数步长的部分舍去)
计算出的手数低于经纪商的最小手数时,将使用最小手数。此时风险会大于设定值。
2. 过滤器与交易控制


| 参数 | 说明 |
|---|---|
| Allowed Max Spread [max] | 允许交易的点差上限(点)。图中框内左上方的 8 就是该值。 |
| Allowed range from average spread [adj] | 加到内部自动测得的平均点差(图表注释中显示为 [avg])上的点数。点差超过“平均值 + 该值”时,EA 会放弃交易。平均值上下波动时,允许的点差也会随之缓慢上下变动。其上限由 Allowed Max Spread 决定。 |
| Buy / Sell 的 TP 和 SL [Buy TP,SL / Sell TP,SL] | 可以更改 TP 和 SL 的 EA,会在参数栏中显示。单位原则上为点(1 点 = 10 个最小报价单位)。 |
| Stop new entries after loss Loss that triggers entry stop [cooldown h,pips] | 仅限具备该功能的 EA。单次平仓亏损达到 Loss that triggers entry stop(点)以上时,在 Stop new entries after loss(小时)的时间内禁止新开仓。将小时设为 0 即为无效。详情请参见内置辅助功能第 5 项。 |
| Operation Mode | 可以在参数中切换仅买入、仅卖出、双向运行、双向停止。MT5 中的操作也相同。不运行的一侧,其 TP 和 SL 会变暗显示。 |
| Allow hedging [2way] | true:允许对冲,false:不允许对冲。默认值因 EA 而异。为了在经纪商禁止对冲时能够切换,原则上标配此开关。 |
| Weekend carry-over [weekend] | true:持仓过周末,false:不持仓过周末。默认值因 EA 而异。设为 false 时,周五 23 点如果有持仓就会平仓。 |
| Triple swap stop control [3xSwapTrade] | 仅限具备该功能的 EA。EA 会自动判断三倍隔夜利息的日期,并从该日换日前后起不再开仓。不再开仓的时间段因 EA 而异。 |
| Summertime [DST] | 仅限受夏令时影响的 EA。EA 会在内部自动判断,并在图表注释中增加相应项目。 none:无 | American:美国式 | European:欧洲/英国式 |
3. 辅助功能(Utilities)


| 参数 | 说明 |
|---|---|
| Export trade info to CSV [csv] | 针对开仓、平仓、TP/SL、订单失败,分别将点差、跳空、滑点、延迟、浮动盈亏、隔夜利息等输出到 CSV。详情见后文。 |
| Show P/L pips on chart [pips] | 根据终端中的交易历史,在图表上显示从开仓到平仓的连线和获得的点数。 |
| Order Comment [cmt] | 输入的文本会显示在下单时的注释栏中。超过 31 个字符时,会自动从末尾截断。即使注释丢失,也会显示内部的默认注释。 |
4. 买入/卖出各策略的参数


| 参数 | 说明 |
|---|---|
| Enable Strategy1~ | 运行:true / 不运行:false |
| TP [pips] | 可以更改最大 TP。部分 EA 的数值会根据情况变动。 |
| SL [pips] | 最大 SL。部分 EA 的数值会根据情况变动。用于复利计算。同一策略有多个 SL 时,按运行中的策略里的最大值计算。最大值会在设置 EA 之后的初始化时显示在 Experts 选项卡中。 |
内置辅助功能
为了防止人为失误造成不必要的亏损,EA 具备了各种不易出现操作失误的辅助功能。另外,作为验证支持功能,也原样保留了我开发时使用的交易详情输出、在图表上显示交易历史等功能。
1. 自动图表设置
将 EA 拖放到外汇图表上后,图表会自动切换为正确的货币对和时间周期,右侧显示参数设置。K 线等的配色也会改变。
外汇以外的品种(加密货币、指数等),其品种名称后面附加的字符因经纪商而异。因此,请先自己打开正确品种和时间周期的图表,再设置 EA。
2. 图表注释
参数等简要信息配置在图表右侧,便于查看。弄错就可能引发事故的“Magic Number”和“手数”会换色并放大显示。
即使缩小图表、并排显示多个图表,也尽量能显示出来,因此内容紧凑,优先级高的项目排在上方。订单注释较长时,字体会变小。字体使用默认字体,以避免乱码。

3. 因状态错误等引起的图表变化
处于无法运行的状态时,图表的显示会根据情况变化,让人一眼就能看出。因通信中断等原因而停止运行时,除 Magic Number 和手数外,其余内容都会变暗。


因终端更新等原因 EA 被移除时,注释可能会保留,而右上角的 EA 名称变为空白。由于不会变暗,容易被误认为正常运行,请注意。
4. 资金不足判断
保证金不足的检查,以前就已作为标配提供。但以前存在这样的情况:距离 SL 还有余地,却用连小幅浮亏都承受不住的资金开仓。
因此,当资金承受不了一次 SL 时,EA 会放弃新开仓并发出警告。出现该警告时,请确认资金和手数。


5. 冷却(Cooldown)
这是仅限具备该功能的 EA 的功能。上一次平仓出现较大亏损时,在一段时间内停止新开仓。用于在行情急剧变化时抑制连续开仓(过度交易)。
- Loss that triggers entry stop [pips]:触发停止的亏损大小。
- Stop new entries after loss [0=off, hours]:停止新开仓的时间。设为 0 则该功能无效。
冷却期间,图表注释下方会以橙色显示剩余时间(时:分)。


时间从出现亏损的持仓的平仓时刻开始计算。判定对象仅为同一货币对、同一 Magic Number 的最近一次平仓。买入和卖出两个方向的新开仓都会停止。平仓则照常进行。
6. Magic Number 重复警报
在同一个 MT4/MT5 内,如果认为 Magic Number 可能重复,会显示警报画面。

如果不关闭 MT4/MT5 终端就关机,结束时的处理不会执行,即使没有重复也可能出现警报。此外也可能意外出现。如果没有重复,可以忽略并继续设置。
7. GMT0 经纪商警告
对于 GMT0 经纪商中内部定义的几家,会显示警告提示。其他 GMT0 经纪商不在判定范围内,请您自行判断。
所支持的 GMT,请参见“其他补充”中的 GMT。
8. 夏令时自动控制
需要设置夏令时的 EA,会按经纪商自动判别。设置 EA 时,Experts 选项卡中会显示以下之一。
- No summertime
- American summertime
- European(UK) summertime
图表注释下方也会显示。判定以我所了解的经纪商为依据。其他经纪商的判定结果可能有所不同。如果显示结果与您所用的经纪商不符,请告知我。


9. 点差自动测量
EA 会自动计算平均点差,并在内部将该平均值加上几点后的值设为点差过滤器的值。不再需要每次设置 EA 时都去测量、确认点差。
- 参数方面,设置上限(Allowed Max Spread)和与平均值的幅度(Allowed range from average spread)。
- 回测中也能运行。可以利用 TDS 的可变点差或 MT5 的真实 Tick,对点差相关参数进行优化。
- 平均值不包含服务器时间的 0 点时段。如果不重启而持续运行,最长按一个月的平均值计算。终端重启时以及月份变化时,累积的数据会被重置。
- 图表停止走动时,不会进行测量。
10. 交易历史线与点数显示
在图表上直观地显示交易历史。更改时间周期后也会显示。不需要时,可在参数中切换 ON/OFF。会显示从开仓到平仓的连线和获得的点数。
MT4 在回测中也能显示。MT5 的回测仅在可视化模式下运行。

11. 测试器显示
回测时会显示年化恢复因子(YRF)。这是我在开发中用作参考的指标之一。
YRF = 盈亏 ÷ 回撤 ÷ 年数
- MT4:回测后显示在“Journal”选项卡中。优化时,也会显示在 OnTester 栏中。
- MT5:回测后在“Journal”选项卡中显示 YRF。优化结果的结果栏中显示最大回撤。




12. 交易信息记录(CSV 输出)
可以将交易时的信息记录到 CSV 文件中。请在参数中切换。输出时,处理会相应变重。
| Ticket | Order Time | Hour | Minute | Day of Week | Order Type | Order Price | Fill Price | Allowed Spread(pips) | Average Spread(pips) | Fill Spread(pips) | Gap(pips) | Slippage(pips) | Latency(ms) | Runtime(ms) | Order Retries | Profit/Loss(pips) | Max Floating Profit(pips) | Max Floating Loss(pips) | Commission | Swap | Gross P/L | Net P/L | Hold Time | Lot Size | Symbol | Timeframe | EA Name | Version | Magic Number |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2 | 2021.01.06 02:00:00 | 2 | 0 | Wed | Buy | 139.933 | 139.933 | 3.8 | 0.8 | 0.6 | 0.6 | 0.0 | 0 | 0 | 1 | --- | --- | --- | --- | --- | --- | --- | --- | 0.1 | GBPJPY- | M5 | Murasame | 6.4 | 852431095 |
| 3 | 2021.01.06 06:25:00 | 6 | 25 | Wed | Sell | 139.926 | 139.926 | 3.9 | 0.9 | 0.7 | 0.0 | 0.0 | 0 | 0 | 1 | --- | --- | --- | --- | --- | --- | --- | --- | 0.1 | GBPJPY- | M5 | Murasame | 6.4 | 852431095 |
| 3 | 2021.01.06 11:00:00 | 11 | 0 | Wed | Close | 140.1 | 140.1 | 3.9 | 0.9 | 0.7 | -0.7 | 0.0 | 0 | 0 | 1 | -17.4 | 8.5 | -45.2 | 0.0 | 0.0 | -16.92 | -16.92 | 4:35:00 | 0.1 | GBPJPY- | M5 | Murasame | 6.4 | 852431095 |
| 2 | 2021.01.08 09:04:58 | 9 | 4 | Fri | TP | 141.099 | 141.099 | 3.9 | 0.9 | 0.9 | 0.0 | 0.0 | 0 | 0 | 1 | 116.6 | 116.7 | -16.2 | 0.0 | 2.69 | 112.19 | 114.88 | 55:04:58 | 0.1 | GBPJPY- | M5 | Murasame | 6.4 | 852431095 |
| 6 | 2021.01.19 01:00:00 | 1 | 0 | Tue | Buy | 140.835 | 140.835 | 3.9 | 0.9 | 2.8 | 2.8 | 0.0 | 0 | 0 | 1 | --- | --- | --- | --- | --- | --- | --- | --- | 0.1 | GBPJPY- | M5 | Murasame | 6.4 | 852431095 |
| 6 | 2021.01.20 10:34:59 | 10 | 34 | Wed | TP | 141.884 | 141.884 | 3.9 | 0.9 | 0.7 | 0.0 | 0.0 | 0 | 0 | 1 | 104.9 | 106.3 | -5.4 | 0.0 | 0.67 | 101.06 | 101.73 | 33:34:59 | 0.1 | GBPJPY- | M5 | Murasame | 6.4 | 852431095 |
| 8 | 2021.01.21 01:10:00 | 1 | 10 | Thu | Sell | 141.456 | 141.456 | 3.9 | 0.9 | 2.1 | -0.1 | 0.0 | 0 | 0 | 1 | --- | --- | --- | --- | --- | --- | --- | --- | 0.1 | GBPJPY- | M5 | Murasame | 6.4 | 852431095 |
| 8 | 2021.01.21 06:20:00 | 6 | 20 | Thu | Close | 141.561 | 141.561 | 3.9 | 0.9 | 1.1 | -1.1 | 0.0 | 0 | 0 | 1 | -10.5 | 0.4 | -26.7 | 0.0 | 0.0 | -10.15 | -10.15 | 5:10:00 | 0.1 | GBPJPY- | M5 | Murasame | 6.4 | 852431095 |
| 保存位置 | 实盘/模拟运行时:MQL4 或 MQL5 文件夹内的 Files 回测时(MT4):MT4 数据文件夹内的 tester\files 回测时(MT5):测试器专用文件夹内的 MQL5\Files(例:MetaQuotes\Tester\(ID)\Agent-127.0.0.1-(端口号)\MQL5\Files) |
|---|---|
| 文件名 | EA 名称_账号_TradeLog.csv(MT4/MT5 通用。每个 EA 单独一个文件) |
| 分隔符 | 制表符分隔 |
| 项目 | Ticket / Order Time / Hour / Minute / Day of Week / Order Type / Order Price / Fill Price / Allowed Spread(pips) / Average Spread(pips) / Fill Spread(pips) / Gap(pips) / Slippage(pips) / Latency(ms) / Runtime(ms) / Order Retries / Profit/Loss(pips) / Max Floating Profit(pips) / Max Floating Loss(pips) / Commission / Swap / Gross P/L / Net P/L / Hold Time / Lot Size / Symbol / Timeframe / EA Name / Version / Magic Number |
- MT4 的数据文件夹可以通过菜单“File → Open Data Folder”打开。
- MT5 测试器专用文件夹中的 ID 和端口号会因环境而异。找不到时,请在 MetaQuotes\Tester 文件夹内搜索 _TradeLog.csv。
- Order Type 分为 buy / sell / Close / TP / SL 分别记录。
- TP/SL 可能被重复计数。
内置逻辑与技术
| 名称 | 说明 |
|---|---|
| 服务器时间 0 点时段禁止新开仓 | 点差容易扩大的 0 点时段,原则上不开仓。平仓则因逻辑而异,有的会在此时段平仓,有的不会。 |
| 平仓点差过滤器 | 为了避免早晨点差扩大时平仓,平仓也配备了点差过滤器。但触及 SL 时无法控制,该过滤器不起作用。因逻辑特性,也有 EA 不具备该过滤器。 |
| 跳空过滤器 | 上一根 K 线收盘价与当前价格之差达到一定值以上时,不开仓。该值按 EA 分别设置。许多逻辑以上一根 K 线的收盘价为判定依据,成交价偏离较远会不利,该过滤器的目的就是抑制这种情况。对于价格跳变后成交的问题,也有防范作用。平仓时不起作用。交易时发生了多大的跳空,可以通过 CSV 输出确认。 |
| 防止跳价成交 | 过去曾出现过开仓后价格立即跳变、触及 SL 的情况。推测是在价格显示异常值时发生的。点差过滤器无法防止,SL 的设置时机和滑点设置也无法防止。可能防止这种情况的方法,已标配在所有能够搭载的 EA 中。 |
| 年末年初控制 | 从 12 月 20 日前后(因 EA 而异)到次年 1 月 3 日,不再开新仓,只进行平仓。期间想提前平仓时,请手动操作。 |
| 保证金不足与交易许可检查 | 防止以超出保证金的手数下单,或在 MT4/MT5 不允许交易的状态下下单。这样可以避免因订单错误而持续向服务器发送无用的通信。 |
| AMPAC (Anti Miss Positioning Auto Control) | 这是我自主研发的提高成交能力的技术。在 MT4/MT5 中,常会因通信导致报价延迟到达,或 EA 处理拥堵等原因,使订单被跳过。通过我独有的重复下单和轻量化来弥补,从而提高成交能力。 |
| Magnet coding | 这是我为 MT4 自主研发的、让 EA 在实盘中正确运行的编码技术。MT4 有时不会按代码运行,回测中有效的过滤器在实盘中可能不起作用。这是避免该问题的一种方法。它并不完美,仍可能出现误差,但与 2024 年以前制作的 EA 相比,同一期间的回测与实盘之间的误差有缩小的趋势。 |
其他补充
GMT
我的 EA 大量使用日线,因此只能在冬季 GMT+2、夏季 GMT+3 且每周有 5 根日线的经纪商处使用。在其他 GMT 下,每周会有 6 根日线,日线与 4 小时线的计算会发生变化,逻辑就不成立了。
图表显示的 K 线数量
大多数 EA 需要 1000 根以上。设置 EA 时,“Common”选项卡(MT4 为“About”选项卡)中的简要规格里写有所需的 K 线数量。请设置为不少于该数量。
周末的设置
周末图表不走动,因此在 MT5 中设置 EA 后,图表注释可能不显示。此时请再次在参数画面按“OK”,可能就会显示了。
注意事项与免责声明
- 各功能因 EA 和版本而异,可能不具备,或表述有所不同。
- 辅助功能和图表注释只是辅助手段,并不保证其准确运行。
- 我已尽力做到万全,但仍可能发现缺陷。如果发现,若您能通过 MQL5 上对应 EA 页面的评论,或给我发私信告知,我将不胜感激。