今天我要和大家分享一个非常实用的交易系统,名为 ColorXPWMA_Digit,它是一个结合了三种独立交易系统的EA,能够根据之前交易的结果调整未来交易的手数。这种灵活的交易信号生成方式,使得你在趋势变化时能够迅速反应。
EA的输入变量模块可以帮助你管理已开仓位的手数。例如,对于第一个系统,我们可以设置:
input uint A_BuyTotalMMTriger=5; // 计算止损的最后5笔买入交易 input uint A_BuyLossMMTriger=3; // 亏损的买入交易数量,用于减少MM input uint A_SellTotalMMTriger=5;// 计算止损的最后5笔卖出交易 input uint A_SellLossMMTriger=3; // 亏损的卖出交易数量,用于减少MM input double A_SmallMM=0.01; // 亏损时的仓位比例 input double A_MM=0.1; // 正常交易时的仓位比例 input MarginMode A_MMMode=LOT; // 手数设置模式
在这种设置下,如果最近五笔交易中有三笔是亏损的,EA将以0.01手的量继续在同一方向开仓;如果亏损交易少于三笔,则仓位为0.1手。
第二个交易系统的输入设置类似:
input uint B_BuyTotalMMTriger=5; // B 计算止损的最后5笔买入交易 input uint B_BuyLossMMTriger=3; // B 亏损的买入交易数量,用于减少MM input uint B_SellTotalMMTriger=5;// B 计算止损的最后5笔卖出交易 input uint B_SellLossMMTriger=3; // B 亏损的卖出交易数量,用于减少MM input double B_SmallMM=0.01; // B 亏损时的仓位比例 input double B_MM=0.1; // B 正常交易时的仓位比例 input MarginMode B_MMMode=LOT; // B 手数设置模式
第三个系统则以C_作为前缀。
最佳的EA设置方式是分别为每个交易系统进行配置,关闭其他两个系统,并通过以下参数进行适当的设置:
input bool B_BuyPosOpen=true; // B 允许开多仓 input bool B_SellPosOpen=true // B 允许开空仓
如果你希望暂停某个系统的交易,只需将其设为false即可。
为了确保EA的正常运行,必须在 <terminal_data_directory>\\MQL5\Indicators 文件夹下有编译好的 ColorXPWMA_Digit.ex5 指标文件。
下面的测试结果使用了默认的EA输入参数及止损设置。

图1. 交易示例
USDJPY在H2、H4和H8的测试结果,覆盖2017年。

图2. 测试结果