在今日的文章中,我们来聊聊一个基于 ColorSchaffJJRSXTrendCycle 指标的双系统交易策略。这套系统可以同时管理多头和空头交易,并且可以在同一个EA(专家顾问)中进行多种配置,能够根据之前交易的结果动态调整即将进行的交易量。
交易系统的输入参数
为了更好地管理这两个交易系统,所有的输入参数可以被分为两个主要的组别:
- 以 L 开头的参数用于管理多头持仓;
- 以 S 开头的参数用于管理空头持仓。
//+----------------------------------------------+ //| 多头交易的输入参数 | //+----------------------------------------------+ magic numberinput uint L_Magic=777; //多头魔法数字 //+----------------------------------------------+ //| 空头交易的输入参数 | //+----------------------------------------------+ input uint S_Magic=555; //空头魔法数字
这两个交易系统使用不同的魔法数字,相互独立。实际上,金融市场很少是对称的。在上涨和下跌市场中,往往需要针对同一交易系统设置完全不同的参数。因此,在正确配置EA之前,建议先仅测试其中一个交易系统,并关闭另一个系统。
input bool L_PosOpen=true; //允许进入多头持仓 input bool L_PosClose=true; //允许退出多头持仓
完成这一步后,接下来可以对第二个系统执行相同的操作。
管理持仓量的输入参数
EA的输入参数中增加了用于管理已开持仓量的模块:
input uint L_TotalMMTriger=5; //用于计算止损的最近5笔买入交易数量 input uint L_LossMMTriger=3 //用于减少MM的亏损买入交易数量 input double L_SmallMM=0.01 //亏损情况下交易的存款比例 input double L_MM=0.1 //正常交易情况下交易的存款比例 input MarginMode L_MMMode=LOT; //手数设置模式
同样的代码块也适用于空头交易:
input uint S_TotalMMTriger=5 //用于计算止损的最近5笔卖出交易数量 input uint S_LossMMTriger=3 //用于减少MM的亏损卖出交易数量 input double S_SmallMM=0.01 //亏损情况下交易的存款比例 input double S_MM=0.1 //正常交易情况下交易的存款比例 input MarginMode S_MMMode=LOT; //手数设置模式
在此情况下,如果最近五笔交易中有三笔是亏损的,EA会以0.01手的量在相同方向上开下一笔交易。若最近五笔交易中亏损交易少于三笔,则持仓量为0.1手。
为了让EA正常工作,编译后的 JJRSX.ex5 和 ColorSchaffJJRSXTrendCycle.ex5 指标文件需要放置在 <terminal_data_directory>\MQL5\Indicators 目录下。
以下测试中使用了EA的默认输入参数,测试期间未使用止损和止盈。

图1:对称设置下的交易示例
2017年EURAUD H8的测试结果:

图2:测试结果图

图3:非对称设置下的交易示例
评论 0