Ставь лайки и следи за новостями
Поставь на него ссылку - пусть другие тоже оценят
Оцени его работу в терминале MetaTrader 5
- Просмотров:
- 912
- Рейтинг:
- Опубликован:
- 2018.08.17 13:29
- Обновлен:
- 2023.03.16 17:13
-
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу
Торговая система, построенная на сигналах индикатора Iin_MA_Signal с возможностью менять размер предстоящей сделки в зависимости от результатов предыдущих сделок для данной торговой системы. Сигналы на совершение сделок формируется в момент закрытия бара, если произошло изменение тренда, отображаемое цветного значка индикатора.
Для управления объемами открываемых позиций добавлен блок входных переменных эксперта:
input uint BuyTotalMMTriger=5; // Количество последних сделок в Buy направлении для счёта стоплоссов input uint BuyLossMMTriger=3; // Количество убыточных сделок в Buy направлении для уменьшения MM input uint SellTotalMMTriger=5;// Количество последних сделок в Sell направлении для счёта стоплоссов input uint SellLossMMTriger=3; // Количество убыточных сделок в Sell направлении для уменьшения MM input double SmallMM_=0.01; // Доля финансовых ресурсов от депозита в сделке при убытках input double MM=0.1; // Доля финансовых ресурсов от депозита в сделке при нормальной торговле input MarginMode MMMode=LOT; // Способ определения размера лота
При таких входных параметрах эксперт при выборке из последних пяти сделок и наличии в них трех убыточных сделок в одном направлении торговли следующую сделку в этом направлении откроет объемом всего 0.01 лота. А если из пяти последних сделок количество убыточных сделок меньше трех, то объем позиции будет 0.1.
Этот эксперт является дальнейшим усложнением эксперта Exp_Iin_MA_Signal. В его код был дописан выше рассмотренный блок входных переменных эксперта и изменён блок открывания и закрывания позиций:
//---- Совершение сделок //---- Закрываем лонг по магик-номеру 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); }
Для корректной работы сгенерированного советника необходимо наличие откомпилированного файла индикатора Iin_MA_Signal.ex5 в папке <каталог_данных_терминала>\MQL5\Indicators.
При тестах, приведенных ниже, использовались входные параметры эксперта по умолчанию без использования стопов.
Рис.1. Примеры сделок на графике
Результаты тестирования за 2017 год на GBPJPY H1:
Рис. 2. График результатов тестирования

Торговая стратегия на индикаторе iAMA (Adaptive Moving Average, AMA) и iRSI (Relative Strength Index, RSI). Применяется Мартингейл.

Советник на пересечении двух iMA (Moving Average, MA) но с дополнительным фильтром: ценой из ENUM_APPLIED_PRICE

Индикатор Iin_MA_Signal в NRTR виде

Индикатор XRSI_Histogram_Vol_Direct с возможностью изменения таймфрейма индикатора во входных параметрах