Ставь лайки и следи за новостями
Поставь на него ссылку - пусть другие тоже оценят
Оцени его работу в терминале MetaTrader 5
Proffessor v3 - эксперт для MetaTrader 5
- Опубликовал:
- Vladimir Karputov
- Просмотров:
- 1806
- Рейтинг:
- Опубликован:
- 2018.08.28 15:59
- Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу
Автор идеи: vitaly
Автор MQL5-кода: barabashkakvn
Стратегия торговли проста как мир. Открывается позиция BUY или SELL и сразу защищается отложенным Stop ордером на расстоянии Delta 1. Далее создаётся сетка из Limit, либо Stop отложенных ордеров на расстоянии Delta 2 один от другого. Количество отложенных ордеров каждого направления задаётся в Max Lines.Отложенные ордера (Buy Limit, Sell Limit, Buy Stop и Sell Stop) выставляются через единую функцию PendingOrder, в которую передаются тип отложенного ордера (order_type), объём отложенного ордера (volume), Стоп лосс (sl) и Тейк профит (tp)
//+------------------------------------------------------------------+ //| Pending order | //+------------------------------------------------------------------+ void PendingOrder(ENUM_ORDER_TYPE order_type,double volume,double price,double sl,double tp) { sl=m_symbol.NormalizePrice(sl); tp=m_symbol.NormalizePrice(tp); if(m_trade.OrderOpen(m_symbol.Name(),order_type,volume,0.0, m_symbol.NormalizePrice(price),m_symbol.NormalizePrice(sl),m_symbol.NormalizePrice(tp))) { if(m_trade.ResultOrder()==0) { Print("#1 ",EnumToString(order_type)," -> false. Result Retcode: ",m_trade.ResultRetcode(), ", description of result: ",m_trade.ResultRetcodeDescription()); PrintResultTrade(m_trade,m_symbol); } else { Print("#2 ",EnumToString(order_type)," -> true. Result Retcode: ",m_trade.ResultRetcode(), ", description of result: ",m_trade.ResultRetcodeDescription()); PrintResultTrade(m_trade,m_symbol); } } else { Print("#3 ",EnumToString(order_type)," -> false. Result Retcode: ",m_trade.ResultRetcode(), ", description of result: ",m_trade.ResultRetcodeDescription()); PrintResultTrade(m_trade,m_symbol); } //--- }
При достижении целевой прибыли Profit Close закрываем все позиции и удаляем все отложенные ордера. Также можно закрывать все позиции и удалять отложенные ордера при убытке более Loss Close (если выставить Loss Close в "0.0", параметр отключается).
Работа советника (открытие позиций и выставление защитных отложенных ордеров) осуществляется в рабочем временном интервале от Start hour до End hour (при этом Start hour может быть как меньше, так и больше End hour).
Основная идея
Анализируем значение индикатора ADX на таймфрейме Work TimeFrame. Если уровень ADX ниже 40, то считаем, что флет, и выставляются Limit отложенные ордера, если выше - то Stop отложенные ордера;
Если DI+ выше чем DI-, то покупаем, если наоборот, то продаем.
Лучшие результаты оптимизации двух параметров (Currenr bar ADX от 0 до 2, шаг 1 и Work TimeFrame от M1 до H1)
EURUSD, Currenr bar ADX 0, Work TimeFrame H1
USDJPY, Currenr bar ADX 2, Work TimeFrame M1
А теперь EURUSD, Currenr bar ADX 0, Work TimeFrame H1, но параметр Loss Close выставлен "0.0"
и USDJPY, Currenr bar ADX 2, Work TimeFrame M1, но параметр Loss Close выставлен "0.0"
Индикатор расширяющихся коридоров временных зон с одиннадцатью коридорами, средней линией и цветной фоновой заливкой, в котором добавлен коэффициент изменения шага расширения границ коридора
Double_Smoothed_MACD_StochasticИндикатор Double smoothed MACD Stochastic
Советник на базе индикатора iMACD (). Выражение показаний MACD через Point().
Modified_Advance_Decline_LineИндикатор Modified Advance Decline line