欢迎来到我的博客!今天要和大家分享的是一款名为EMAplusWPRv1_1的交易系统,专为MetaTrader 4平台设计。
当前版本:
这个交易顾问系统结合了指数移动平均线(EMA)和威廉指标(Williams %R),旨在把握趋势中的买入和卖出信号。
我设计这个系统时,考虑了以1000欧元的初始资金进行交易,并尽量降低回撤,希望大家能喜欢。如果你有任何反馈,请随时告诉我!
优化货币对:EUR/USD 5分钟
我已经修复了一些bug,调整了仓位规模,你可以自定义每笔交易希望冒的风险比例。此外,我还增加了简单的移动止损功能,如果将trailingStop设置为0,则该功能将被禁用。
使用本系统风险自负。对于任何损失,我不承担责任,请根据自己的需求进行调整、测试和优化。
输入参数:
extern double takeProfit = 200; // 止盈 extern double maxStopLoss = 50; // 止损 extern double maxLots = 10; // 每笔最大手数 extern double maxContracts = 2; // 最大持仓数,2手为最佳,确保资金平稳 extern double EMA = 144; // 用于识别趋势的EMA extern int iWPRPeriod = 46; // 威廉指标周期 extern int iWPRretracement = 30; // 威廉指标回撤值 extern double trailingStop = 50; // 移动止损,0为禁用 extern int risk = 2; // 每笔交易风险占账户比例 extern double magicNumber = 13131; // 魔法数字
策略测试报告
EMAplusWPRv1_1
XTrade-MT4 演示 (Build 229)
| 交易品种 | EUR/USD(欧元对美元) | ||||
| 周期 | 5分钟(M5) 2010.01.04 00:00 - 2011.02.01 23:55 | ||||
| 模型 | 每个tick(最精确的方法,基于所有可用的最小时间框架) | ||||
| 参数 | takeProfit=200; maxStopLoss=50; maxLots=0.1; maxContracts=2; EMA=144; iWPRPeriod=46; trailingStop=50; risk=6; magicNumber=13131; | ||||
| 测试中的Bars | 59025 | 模型Ticks | 7365767 | 建模质量 | n/a |
| 不匹配的图表错误 | 8220 | ||||
| 初始存款 | 1000.00 | ||||
| 总净利润 | 1635.88 | 总利润 | 4478.56 | 总亏损 | -2842.67 |
| 利润因子 | 1.58 | 预期回报 | 3.92 | ||
| 绝对回撤 | 22.16 | 最大回撤 | 249.69 (10.77%) | 相对回撤 | 12.99% (188.82) |
| 总交易次数 | 417 | 空头持仓胜率 | 198 (67.68%) | 多头持仓胜率 | 219 (73.52%) |
| 盈利交易占比 | 295 (70.74%) | 亏损交易占比 | 122 (29.26%) | ||
| 最大盈利交易 | 67.23 | 最大亏损交易 | -39.62 | ||
| 平均盈利交易 | 15.18 | 平均亏损交易 | -23.30 | ||
| 最大连续盈利 | 20 (273.93) | 最大连续亏损 | 6 (-142.17) | ||
| 最大盈利总额 | 326.42 (15) | 最大亏损总额 | -142.17 (6) | ||
| 平均连续盈利 | 4 | 平均连续亏损 | 2 | ||

为了使用我的仓位规模策略,你可以增加maxLots的大小,并定义每笔交易希望冒的风险比例。
关于仓位规模,我使用了以下代码:
minAllowedLot = MarketInfo(Symbol(), MODE_MINLOT); // IBFX= 0.10 lotStep = MarketInfo(Symbol(), MODE_LOTSTEP); // IBFX= 0.01 maxAllowedLot = MarketInfo(Symbol(), MODE_MAXLOT); // IBFX=50.00 balance = AccountBalance(); ilo = ((balance * risk / 100) / maxStopLoss); lots = NormalizeDouble(ilo, 0) * lotStep; if (lots < minAllowedLot) lots = minAllowedLot; if (lots > maxLots) lots = maxLots; if (lots > maxAllowedLot) lots = maxAllowedLot;
策略测试报告
EMAplusWPRv1_1 + 仓位规模
XTrade-MT4 演示 (Build 229)
| 交易品种 | EUR/USD(欧元对美元) | ||||
| 周期 | 5分钟(M5) 2010.01.04 00:00 - 2011.02.01 23:55 | ||||
| 模型 | 每个tick(最精确的方法,基于所有可用的最小时间框架) | ||||
| 参数 | takeProfit=200; maxStopLoss=50; maxLots=10; maxContracts=2; EMA=144; iWPRPeriod=46; trailingStop=50; risk=6; magicNumber=13131; | ||||
| 测试中的Bars | 59025 | 模型Ticks | 7365767 | 建模质量 | n/a |
| 不匹配的图表错误 | 8220 | ||||
| 初始存款 | 1000.00 | ||||
| 总净利润 | 4655.80 | 总利润 | 13740.16 | 总亏损 | -9084.36 |
| 利润因子 | 1.51 | 预期回报 | 11.16 | ||
| 绝对回撤 | 22.16 | 最大回撤 | 1139.43 (28.08%) | 相对回撤 | 28.08% (1139.43) |
| 总交易次数 | 417 | 空头持仓胜率 | 198 (67.68%) | 多头持仓胜率 | 219 (73.52%) |
| 盈利交易占比 | 295 (70.74%) | 亏损交易占比 | 122 (29.26%) | ||
| 最大盈利交易 | 268.93 | 最大亏损交易 | -256.75 | ||
| 平均盈利交易 | 46.58 | 平均亏损交易 | -74.46 | ||
| 最大连续盈利 | 20 (353.21) | 最大连续亏损 | 6 (-354.36) | ||
| 最大盈利总额 | 1466.13 (15) | 最大亏损总额 | -664.91 (4) | ||
| 平均连续盈利 | 4 | 平均连续亏损 | 2 | ||

希望大家能从这篇文章中获得启发,祝各位交易顺利!