Смотри, как бесплатно скачать роботов
Ищи нас в Telegram!
Ставь лайки и следи за новостями
Интересный скрипт?
Поставь на него ссылку - пусть другие тоже оценят
Понравился скрипт?
Оцени его работу в терминале MetaTrader 5
Советники

Multi Arbitration 1.1xx - эксперт для MetaTrader 5

Просмотров:
3410
Рейтинг:
(26)
Опубликован:
2017.07.14 12:48
Обновлен:
2018.06.26 14:50
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу

Развитие кода Multi Arbitration 1.000.

Отличия от 1.000:

  • Запускается советник ТОЛЬКО на PERIOD_M1 (пояснение ниже, смотрите параметр Time frame).

  • Теперь этот советник торгует сразу по двум символам. Второй символ берется из статического массива ExtArrSymbols:

    string         ExtArrSymbols[20]=
      {
       "EURUSD","GBPUSD","USDCHF","USDJPY","USDCAD",
       "AUDUSD","AUDNZD","AUDCAD","AUDCHF","AUDJPY",
       "CHFJPY","EURGBP","EURAUD","EURCHF","EURJPY",
       "EURNZD","EURCAD","GBPCHF","GBPJPY","CADCHF"
      };
    //+------------------------------------------------------------------+
    //| Expert initialization function                                   |
    //+------------------------------------------------------------------+
    int OnInit()
  • Изменен принцип открытия позиций:

    • Теперь новая позиция "BUY" может быть открыта только тогда, когда текущая цена будет ниже самой низкой позиции "BUY";
    • Новая позиция "SELL" может быть открыта только тогда, когда текущая цена будет выше самой высокой позиции "SELL":

    Multi Arbitration 1.1xx

  • Введен параметр Time frame - теперь можно проводить оптимизацию на любом периоде графика. Сам советник работает только в момент появления нового бара на основном символе (на символе, на графике которого запущен советник):

    //+------------------------------------------------------------------+
    //| Expert tick function                                             |
    //+------------------------------------------------------------------+
    void OnTick()
      {
    //--- we work only at the time of the birth of new bar
       static datetime prevtime=0;
       datetime time_0=iTime(0,m_symbol_one.Name(),InpTimeFrame);
       if(time_0==prevtime)
          return;
       prevtime=time_0;

    Здесь переменная InpTimeFrame - это и есть наш входной параметр Time frame. Таким образом, в зависимости от значения входного параметра Time frame мы можем заставить работать советник на любом таймфрейме!

Результаты теста на EURUSD:

Multi Arbitration 1.1xx test

Multi Arbitration 1.000 Multi Arbitration 1.000

Покупаем (открываем позиции BUY) подешевле, продаем (открываем позиции SELL) подороже.

Stop Loss Take Profit Stop Loss Take Profit

Если закрытие по Stop loss - удваиваем объём, если по Take profit - ставим минимальный объём. Для определения того, что сделка произошла вследствие срабатывания Stop loss или TakeProfit, используем OnTradeTransaction.

ColorFisher_m11 ColorFisher_m11

Осциллятор с использованием обратного преобразования Фишера.

iCCI iMA iCCI iMA

Индикатор iMA (Moving Average) от индикатора iCCI (Commodity Channel Index). Аналог выбора Previous Indicator's Data в терминале.