你刚买了一个EA,装上MT4,默认参数直接跑。三天后账户回撤了15%,你慌了。问题出在哪?大概率不是EA本身不行,而是你根本没搞懂那些参数在干什么。
EA参数就像汽车的方向盘、油门和刹车。车是好车,但你不会开,照样翻车。这篇文章把EA里最常见的几类核心参数拆开讲,每个参数是什么意思、怎么调、调多少合适,全说清楚。
手数到底该填多少?
手数(LotSize)是EA参数里最重要的一个,没有之一。它直接决定了你每笔交易承担多少风险。
固定手数是最简单的方式。比如你填0.1手,那不管账户是1000美金还是10000美金,每次都开0.1手。好处是简单可控,坏处也明显——账户小的时候0.1手可能偏大,账户大了之后0.1手又太保守。
大多数EA会提供动态手数选项,通常叫RiskPercent或者MoneyManagement。你填一个百分比,比如2,意思是每笔交易的风险金额占账户净值的2%。
一个实际例子:账户10000美金,RiskPercent设为2,止损50点。EA会自动算出合适的手数。如果是EURUSD标准账户,大约是0.4手。
这比固定手数聪明多了。账户亏损缩水时,手数自动变小,保护你的本金。账户赚钱增长时,手数自动放大,加速复利。
手数参考表
| 账户资金(美金) | 建议风险比例 | 50点止损对应手数(EURUSD) |
|---|---|---|
| 1,000 | 1%-2% | 0.02-0.04 |
| 5,000 | 1%-2% | 0.1-0.2 |
| 10,000 | 1%-2% | 0.2-0.4 |
| 50,000 | 0.5%-1% | 0.5-1.0 |
资金量越大,风险比例反而应该往下调。因为绝对亏损金额已经够大了。
MaxLot 别忘了设
很多EA有一个MaxLot参数,限制单笔最大手数。这个一定要设。万一动态手数计算出错,或者行情剧烈波动导致算出来的手数异常大,MaxLot就是你的安全阀。建议设为你心理承受极限的手数,而不是随便填个10。
止损止盈怎么设才合理?
止损(StopLoss)和止盈(TakeProfit)通常以点数为单位填写。有些EA用的是传统点(pip),有些用的是小数点(point),这两者差10倍。
先搞清楚你的EA用的是pip还是point。
最简单的方法:填50进去,看看挂出来的订单止损距离是50个pip还是5个pip。如果是5个pip,说明EA用的是pip单位,你填的50实际上就是50 pip。如果是50个point(即5个pip),那你可能需要填500才能得到50 pip的止损。
搞混这个,止损要么大得离谱,要么小到不够行情呼吸。
止损的合理范围
不同策略类型,止损差异很大:
| 策略类型 | 常见止损范围(pip) | 特点 |
|---|---|---|
| 剥头皮 | 10-20 | 快进快出,止损小 |
| 日内交易 | 30-80 | 中等止损,持仓几小时 |
| 波段交易 | 80-200 | 大止损,持仓数天 |
| 网格/马丁类 | 不固定或无硬止损 | 靠加仓摊平,需关注整体风险 |
关于马丁格尔类策略,它的止损逻辑和普通策略不同,通常不设单笔止损,而是通过最大层数和账户回撤比例来控制总风险。这类策略在震荡行情中表现不错,但遇到单边趋势时回撤会比较大。用的时候把最大层数和单层间距想清楚就行。
盈亏比这件事
TakeProfit和StopLoss的关系,就是盈亏比。止损50点,止盈100点,盈亏比就是1:2。
盈亏比不是越大越好。盈亏比1:3听着很美,但如果胜率只有15%,你照样亏钱。EA回测报告里的期望值(Expected Payoff)比盈亏比更值得看。
期望值 = 平均盈利 x 胜率 - 平均亏损 x 败率。这个数字为正,EA才有赚钱的可能。
魔术号是干什么的?
MagicNumber(魔术号)是很多新手直接跳过的参数。它其实非常重要。
魔术号是EA给自己下的订单打的标签,就像餐厅里不同桌的号码牌。EA通过魔术号识别哪些订单是自己下的,哪些不是。
什么时候魔术号会出问题?
你在同一个MT4账户、同一个货币对上挂了两个EA。如果两个EA的魔术号一样,A下的单B可能会去平掉,或者B把A的止损给改了。账户直接乱套。
解决办法很简单:每个EA用不同的魔术号。比如第一个EA设为10001,第二个设为10002。只要不重复就行。
魔术号设置建议
- 同一个EA挂在不同货币对上,最好也用不同魔术号
- 记下每个EA用的魔术号,方便以后排查问题
- 不要用0作为魔术号,因为有些EA把0当作"不过滤"处理,会管理所有订单
时间过滤器怎么用?
大多数EA都有时间过滤参数,常见的叫StartHour、EndHour或者TradingTime。
这组参数控制EA在什么时间段内允许开新仓。注意,是开新仓,不是平仓。已经持有的仓位通常不受时间过滤影响。
为什么需要时间过滤?
因为外汇市场不同时段的特征差距很大。亚盘(东京时间9:00-15:00)波动小,适合做区间策略。欧盘美盘重叠时段(北京时间20:00-24:00)波动最大,适合趋势策略。而非农、利率决议这些大新闻公布的时候,价格会剧烈跳动,很多策略在这种时候容易被止损打穿。
时间参数注意事项
一定要搞清楚EA用的时区。 大部分EA用的是MT4服务器时间,而不是你电脑的本地时间。MT4服务器时间通常是GMT+2或GMT+3(夏令时),跟北京时间差5-6个小时。
你想让EA只在北京时间20:00-24:00交易,换算成服务器时间(假设GMT+2),就是14:00-18:00。
在EA参数里填StartHour=14,EndHour=18。不确定服务器时区的话,打开MT4看左上角的时间,跟北京时间对比一下就知道了。
有些EA还有周五过滤参数(FridayFilter或CloseFriday),在周五某个时间之后不再开新仓,甚至会平掉所有持仓。这是为了避开周末持仓的跳空风险。如果你的策略止损不大,建议打开这个功能。
滑点和点差参数要不要改?
MaxSlippage(最大滑点)和MaxSpread(最大点差)是两个保护性参数。
MaxSlippage控制下单时允许的最大滑点。比如你设为3,意味着如果实际成交价和请求价差超过3个点,这笔订单就不执行。在VPS上跑EA,滑点通常很小,设3-5个point就够了。
MaxSpread更实用。深夜流动性差或者大新闻前后,点差会突然放大到平时的5-10倍。这时候开仓成本非常高,策略很容易亏损。设一个合理的MaxSpread,比如平时EURUSD点差是12个point,你可以把MaxSpread设为25-30,超过这个值EA就不开仓。
这两个参数属于"设了不一定用得上,但用上一次就值回票价"的类型。别嫌麻烦,填上。
回测和实盘参数要一样吗?
很多人在回测时用一套参数,觉得效果不错,直接照搬到实盘。然后发现实盘表现差很多。
回测和实盘最大的区别在于执行环境。 回测没有滑点、没有点差波动、没有断网、没有服务器延迟。所以回测结果永远比实盘好看。
几个实操建议:
- 回测时把点差设为实际点差的1.5倍,模拟真实环境
- 止损不要卡得太紧,给实盘的滑点留余量
- 手数在实盘先用回测的一半跑,观察1-2个月
- 如果EA有EveryTick模式,一定要用EveryTick回测,而不是Open Price Only
参数优化的陷阱
MT4的参数优化功能很强大,但也很危险。你可以跑出一组在过去5年表现完美的参数,但那可能只是对历史数据的过度拟合。
怎么判断是不是过拟合?用2015-2020的数据优化参数,然后用2020-2025的数据验证。如果验证期的表现跟优化期差太多,大概率就是过拟合了。
好的参数应该是"模糊的正确",而不是"精确的完美"。 止损设48和设52,如果结果天差地别,说明策略本身不够稳健。
常见问题
EA参数改了之后需要重启EA吗?
在MT4里直接改参数(右键-属性-输入参数),改完点确定就会生效,不需要重新加载EA。但如果你改的是.set文件,需要重新加载才能读取。
同一个EA能不能挂多个货币对?
可以,但每个货币对上的参数可能需要单独调整。比如EURUSD和GBPJPY的波动幅度差很多,止损点数肯定不能一样。另外,每个图表上的魔术号必须不同。
参数里的UseTrailingStop要不要开?
追踪止损(移动止损)在趋势行情中能帮你锁住更多利润,但在震荡行情中容易被反复扫掉。看你的EA是什么策略类型。趋势型EA建议开,剥头皮型建议关。
最大持仓数(MaxOrders)设多少?
这取决于策略类型和你的资金量。普通单向策略设1-3就够了。网格和马丁类策略需要允许更多持仓,但一定要配合资金管理参数一起看。持仓越多,占用保证金越多,爆仓风险越大。
参数没有万能的最优解,只有适合你账户和风格的合理值。花一个周末的时间,把你EA的每个参数都搞明白,比盲目跑三个月实盘学到的东西多得多。FXTool外汇课堂后续还会拆解更多EA实战技巧,帮你把工具用对、用好。