Gold Expansion D
- 专家
-
Daniele Fughelli
Hi! I'm Daniele. I've been developing trading EAs for more than 4 years. Everything I create is based upon years of data and stress-tested by me. I always use out-of-sample data for final validation. For any questions, message me, and I'll answer you as soon as possible. Making EAs takes effort and - 版本: 1.0
- 激活: 10
在长达 9 年的回测中,Gold Expansion D 始终表现出良好的有效性和稳健性,其中有 3 年的数据完全用于样本外测试(out-of-sample)。这是一个我会长期保留在自己 EA 组合中的交易机器人。
该 EA 默认使用突破策略(也可以通过将 "Version" 参数从 1 改为 2 来切换为反转策略),利用黄金本身所具有的市场特性。它专为黄金设计,但也可以通过调整输入参数来适配其他市场。
回测结果:
- 在初始资金为 $100,000、每笔交易使用 1 手的情况下,累计收益超过 241%。
- 基于超过 9 年的历史数据,共完成 3,076 笔交易,其中最近 3 年的数据完全保留为样本外数据,以降低过度拟合的风险。
- 相对于初始资金,最大回撤低于 49%。考虑到该策略在样本外数据上的盈利表现,这一回撤水平仍然较为稳健。
下方图片中展示的所有数据均来自 IC Markets,使用 GMT+2 的经纪商时间。我在 FTMO 自营交易公司(prop firm)上也获得了类似的表现,而 FTMO 以明显更高的点差而闻名。这说明该策略对点差具有较强的稳健性。请始终使用您自己的经纪商历史数据进行回测,以确认这些设置在您的经纪商环境下同样有效,并在必要时对参数进行微调。
如何运行
将 EA 加载到图表上,并根据需要调整输入参数。如果您将其用于黄金(XAUUSD),可以直接使用默认输入参数。下方展示的回测结果正是使用这些默认参数获得的。
通用性
该 EA 可以适配任何金融市场(商品、外汇等)。默认设置是专门针对黄金(XAUUSD)进行校准的——如果您要在其他交易品种上测试,请相应调整参数。
回测建议
由于该 EA 只分析 K 线的开盘价和收盘价,因此在回测时可以使用 "1 Minute OHLC" 模式,而无需使用逐笔 Tick 数据。这样可以显著提升回测速度,同时得到几乎相同的结果——建议您自行验证。
手数设置
手数为固定值,而不是根据账户百分比自动计算。我刻意没有采用按账户百分比计算仓位的方式,因为在连续盈利后,这种方式可能会放大后续亏损。您可以随时手动调整手数。
输入参数
- SIZE — 默认值:0.01。手数参数。修改时请务必谨慎。不要使用负数。
- GMT — 默认值:2。时区参数。请根据您的经纪商时区进行调整。不要使用负数或小数。
- Magic Number — 默认值:1。为了防止冲突,该数值在每一个具体图表上都必须与其他 EA 的 Magic Number 不同,尤其是在同一交易品种上使用本 EA 的不同参数设置时(这是推荐的用法)。不要使用负数或小数。
- EuroDST — 默认值:false。欧洲经纪商的夏令时切换参数。建议分别使用 "true" 和 "false" 进行测试,以确定哪一种设置更适合您。
- starttime — 交易开始时间:可以设置 0 到 2400 之间、以 100 为倍数的数值(例如 100、200、300、...、1000、1100、...)。对于欧洲经纪商,请确保该值小于 "endtime"。不要使用负数或小数。
- endtime — 交易结束时间:可以设置 0 到 2400 之间、以 100 为倍数的数值(例如 100、200、300、...、1000、1100、...)。重要:如果设置为 2400,当 "CloseAtEnd" 为 "true" 时,该参数将无法正常工作。不要使用负数或小数。
- CloseAtEnd — 默认值:true。当最后一根已收盘 K 线的时间等于或大于 "endtime" 时,该参数会关闭当前持仓。如果您希望持仓过夜,请设置为 "false"(EA 的表现将会完全改变——如果您想尝试创建新的策略配置,可以自行测试)。
- Version — 默认值:1。允许的数值:1 或 2。设置为 1 时,EA 将使用突破逻辑,尝试顺势交易。设置为 2 时,EA 将使用假突破逻辑,利用价格反转进行交易。不要使用负数或小数。不要使用 1 和 2 以外的任何数值,否则不会产生交易。
- stopPercent — 默认值:true。该参数允许您将止损和止盈设置为上一根已收盘 K 线收盘价的百分比(%)。我专门为黄金设计了这一功能,因为黄金的价格水平随着时间推移发生了非常大的变化。该功能也可以用于其他交易品种,但与普通基于绝对价格的止损和止盈相比,差异可能会更小,因为外汇市场的价格变化通常较为缓慢。如果设置为 "false",止损和止盈将使用绝对价格值进行设置(例如 0.005$)。
- Mfilter, Mfilter1, Mfilter2 — 默认值:false。这三个参数是月度过滤器。设置为 true 后,EA 将不会在所选择的月份进行交易(这些过滤器可能非常有效)。
- Dfilter — 默认值:true。这是星期过滤器。设置为 true 后,EA 将不会在所选择的星期进行交易(例如所有星期一、所有星期五等)。
- OnePerDay — 默认值:false。设置为 true 后,EA 每个交易日最多只会交易一次(我的默认设置中没有使用这一功能)。
- Month, Month1, Month2 — 这三个参数是月度过滤器。1 到 12 中的每个数字分别对应一个月份(1:一月,2:二月,……)。不要使用负数或小数。不要使用大于 12 的数值。
- Day — 这是星期过滤器。0 到 6 中的每个数字分别对应一周中的一天(0:星期日,1:星期一,……,6:星期六)。不要使用负数或小数。不要使用大于 6 的数值。
- mystop — 止损参数。不要使用负数。可以使用小数。
- myprofit — 止盈参数。不要使用负数。可以使用小数。
平仓逻辑:
EA 只会在以下情况下关闭持仓:止损或止盈被触发;最后一根 K 线的时间等于或大于 "endtime"(当 CloseAtEnd 设置为 true 时);或者满足反向开仓条件。在最后一种情况下,EA 会先关闭当前持仓,然后立即在相反方向开立新的仓位。
修改 "myprofit" 和 "mystop" 时请务必谨慎:止损和止盈是本 EA 中最容易产生过度拟合的两个参数。
如果您在设置任何参数时需要帮助,或者有任何其他问题,请在 EA 的产品页面留言。我会尽快回复。
**TimeFrame:**30 分钟。您可以更改时间周期,但更改后需要重新进行回测,并对参数进行进一步微调。
所需账户类型:Hedging。
金融交易品种:Gold。
如果您对手数设置还不熟悉,可以在回测中修改 SIZE,并在测试结束后查看最大和平均盈利以及最大和平均亏损。通过这种方式,您可以在真正使用新的手数进行交易之前,了解自己实际承担的风险。
不使用 Martingale(马丁格尔)、Grid Trading(网格交易)或类似策略。EA 在任何时刻只会持有一个仓位。
请注意,回撤可能发生,而且这是交易过程的一部分。这不是一个快速致富方案,即使回测结果确实非常不错。在使用真实资金之前,请务必先在模拟账户中测试该算法。
历史表现并不代表未来结果。交易存在风险,您只应使用自己能够承受损失的资金进行交易。
