Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Интересуют возможности MetaTrader 5? Загляни и узнай!
MetaQuotes Software Corp.
Модератор
177303
MetaQuotes Software Corp. 2013.06.11 09:47 

Опубликована статья Рецепты MQL5 - Мультивалютный эксперт: пример простой, точной и быстрой схемы:

В этой статье мы рассмотрим реализацию простой схемы для мультивалютного эксперта. В данном случае имеется в виду, что эксперт можно будет настроить на тестирование/торговлю по одинаковым условиям, но с разными параметрами для каждого символа. В качестве примера создадим схему для двух символов, но сделаем это так, чтобы при необходимости можно было добавлять дополнительные символы, внося небольшие изменения в код.

Рецепты MQL5 - Мультивалютный эксперт: пример простой, точной и быстрой схемы

Автор: Anatoli Kazharski

RekkeR
1818
RekkeR 2013.06.26 19:35  
Подскажите, пожалуйсмта, индикатор EventsSpy, необходимо размещать в окне каждого добавленного в советник инструмента?
Anatoli Kazharski
51703
Anatoli Kazharski 2013.06.26 19:40  
RekkeR:
Подскажите, пожалуйсмта, индикатор EventsSpy, необходимо размещать в окне каждого добавленного в советник инструмента?
Достаточно чтобы индикатор находился в папке индикаторов: Metatrader 5\MQL5\Indicators и эксперт сам всё установит.
RekkeR
1818
RekkeR 2013.06.26 20:32  
tol64:
Достаточно чтобы индикатор находился в папке индикаторов: Metatrader 5\MQL5\Indicators и эксперт сам всё установит.

Не ожидал быстрого ответа, спасибо!

spy_indicator_handles[s]=iCustom(Symbols[s],_Period,"EventsSpy.ex5",ChartID(),0,CHARTEVENT_TICK);

Подскажите пожалуйста еще, очему указано именно .ех5? 

Anatoli Kazharski
51703
Anatoli Kazharski 2013.06.26 20:40  
RekkeR:

Не ожидал быстрого ответа, спасибо!

spy_indicator_handles[s]=iCustom(Symbols[s],_Period,"EventsSpy.ex5",ChartID(),0,CHARTEVENT_TICK);

Подскажите пожалуйста еще, очему указано именно .ех5? 

Почему именно так, не знаю. Такие правила. Посмотрите в справке описание к функции iCustom.
RekkeR
1818
RekkeR 2013.06.26 21:36  
//+------------------------------------------------------------------+
//| Получает хэндлы индикаторов                                      |
//+------------------------------------------------------------------+
void GetIndicatorHandles()
  {
//--- Пройдемся по всем символам
   for(int s=0; s<NUMBER_OF_SYMBOLS; s++)
     {
      //--- Если торговля по этому символу разрешена
      if(Symbols[s]!="")
        {
         //--- Если хэндл еще не получен
         if(signal_indicator_handles1[s]==INVALID_HANDLE || signal_indicator_handles2[s]==INVALID_HANDLE || signal_indicator_handles3[s]==INVALID_HANDLE || signal_indicator_handles4[s]==INVALID_HANDLE)
           {
            //--- Получим хэндл индикатора
            signal_indicator_handles1[s]=iMA(Symbols[s],_Period,IndicatorPeriod1[s],0,MODE_SMA,PRICE_CLOSE);
            signal_indicator_handles2[s]=iMA(Symbols[s],_Period,IndicatorPeriod2[s],0,MODE_SMA,PRICE_CLOSE);
            signal_indicator_handles3[s]=iMA(Symbols[s],_Period,IndicatorPeriod3[s],0,MODE_SMA,PRICE_CLOSE);
            signal_indicator_handles4[s]=iMA(Symbols[s],_Period,IndicatorPeriod4[s],0,MODE_SMA,PRICE_CLOSE);
            //--- Если не удалось получить хэндл индикатора
            if(signal_indicator_handles1[s]==INVALID_HANDLE || signal_indicator_handles2[s]==INVALID_HANDLE || signal_indicator_handles3[s]==INVALID_HANDLE || signal_indicator_handles4[s]==INVALID_HANDLE)
               Print("Не удалось получить хэндл индикатора для символа "+Symbols[s]+"!");
           }
        }
     }
  }
tol64
:

Почему именно так, не знаю. Такие правила. Посмотрите в справке описание к функции iCustom.

Спасибо. 

Странно, что нет ажиотажа по поводу этого советника, можно сказать "приоткрыт железный занавес мультивалютности", для масс.

Так бы дополнить, добавить буфера для использования дополнительных индикаторов.

Anatoli Kazharski
51703
Anatoli Kazharski 2013.06.26 21:43  
RekkeR:

Спсибо.

Странно, что нет ажиотажа по поводу этого советника, можно сказать "приоткрыт железный занавес мультивалютности".

Да он уже давно приоткрыт. Я просто выложил свою версию, может кому-нибудь будет так удобнее. 

Вот ещё статьи на эту тему:

Создание мульти-экспертов на основе торговых моделей 

Создание эксперта, торгующего на разных инструментах 

RekkeR
1818
RekkeR 2013.06.26 21:55  
tol64:

Да он уже давно приоткрыт. Я просто выложил свою версию, может кому-нибудь будет так удобнее. 

Вот ещё статьи на эту тему:

Создание мульти-экспертов на основе торговых моделей 

Создание эксперта, торгующего на разных инструментах 

В обеих ссылках  Создание мульти-экспертов на основе торговых моделей , но я вторую статью читал, спасибо. 
Anatoli Kazharski
51703
Anatoli Kazharski 2013.06.26 22:04  
Исправил ссылку. Что касается дополнений, то далее каждый может сам экспериментировать, усложнять и дополнять. От практики не увернуться. ))
RekkeR
1818
RekkeR 2013.06.26 22:10  
tol64:
Исправил ссылку. Что касается дополнений, то далее каждый может сам экспериментировать, усложнять и дополнять. От практики не увернуться. ))
Да, если бы еще "ошибок трудных, нам не готовил, просвещенья дух". ))
Anatoli Kazharski
51703
Anatoli Kazharski 2013.09.06 12:21  
paladin800:

В цикле перебора символов от SymbolsTotal() надо отнять 1 (как ниже). Если SymbolsTotal() вернёт например 100, то надо сравнивать от 0 до 99.

Нет. Если делать так, как Вы советуете, то последний символ не будет проверен, поэтому нужно оставить так, как есть. 
/ /12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий