Exp_Iin_MA_Signal_MMRec - MetaTrader 5EA
- 显示:
- 763
- 等级:
- 已发布:
- 2018.11.05 09:56
- 需要基于此代码的EA交易或指标吗?请在自由职业者服务中订购 进入自由职业者服务
基于 Iin_MA_Signal 指标发出信号的交易系统,能够根据此交易系统之前交易的结果改变即将到来的交易量。 如果趋势发生变化(由指标颜色标签示意),当柱线收盘时,则形成交易信号。
在 EA 中 添加输入变量模块以便管理已开仓的数量:
input uint BuyTotalMMTriger=5; // 计算止损时最后买入成交的数量 input uint BuyLossMMTriger=3; // 降低资金管理时亏损买入成交的数量 input uint SellTotalMMTriger=5;// 计算止损时最后卖出成交的数量 input uint SellLossMMTriger=3; // 降低资金管理时亏损卖出成交的数量 input double SmallMM_=0.01; // 成交亏损时可用的存款份额 input double MM=0.1; // 正常交易时可用的存款份额 input MarginMode MMMode=LOT; // 手数值判断方法
如果依照此输入,并且从最后五笔交易中进行选择,其中有三笔单向亏损,EA 将以相同的方向开启下一笔交易,交易量为 0.01 手。 如果最后五笔交易中亏损少于三笔,则开仓量为 0.1。
此 EA 是 Exp_Iin_MA_Signal EA 的进一步细化。 EA 的输入模块已添加到代码中,仓位开/平模块已更改:
//---- 成交执行 //---- 通过魔幻数字平多头持仓 BuyPositionClose_M(BUY_Close,Symbol(),Deviation_,BuyMagic); //---- 通过魔幻数字平空头持仓 SellPositionClose_M(SELL_Close,Symbol(),Deviation_,SellMagic); double mm; //---- 通过魔幻数字开多头持仓 if(BUY_Open) { mm=BuyTradeMMRecounterS(BuyMagic,BuyTotalMMTriger,BuyLossMMTriger,SmallMM_,MM); // 根据先前交易的结果定义多头开仓量 BuyPositionOpen_M1(BUY_Open,Symbol(),UpSignalTime,mm,MMMode,Deviation_,StopLoss_,TakeProfit_,BuyMagic); } //---- 通过魔幻数字开多头持仓 if(SELL_Open) { mm=SellTradeMMRecounterS(SellMagic,SellTotalMMTriger,SellLossMMTriger,SmallMM_,MM); // 根据先前交易的结果定义空头开仓量 SellPositionOpen_M1(SELL_Open,Symbol(),DnSignalTime,mm,MMMode,Deviation_,StopLoss_,TakeProfit_,SellMagic); }
为令生成的 EA 正常运行,已编译的 Iin_MA_Signal.ex5 指标文件应放在 <终端_数据_目录>\MQL5\Indicators 文件夹中。
在下示的测试期间,采用默认 EA 交易输入参数,但未使用止损。
图例 1. 图表上的交易示例
2017 全年 GBPJPY H1 的测试结果:
图例 2. 测试结果图表
由MetaQuotes Ltd译自俄语
原代码: https://www.mql5.com/ru/code/21969
Iin_MA_Signal_NRTR
NRTR 形式的 Iin_MA_Signal 指标
AMA 交易员基于 iAMA(自适应移动平均线,AMA)和 iRSI(相对强弱指数,RSI)指标的交易策略。 应用马丁格尔(逆势翻倍加仓)。
XRSI_Histogram_Vol_Direct_HTF
XRSI_Histogram_Vol_Direct 指标,输入参数中有时间帧选项
XCCI_Histogram_Vol_Direct_HTFXCCI_Histogram_Vol_Direct 指标,输入参数中有时间帧选项