Мультивалютный - мультитаймовай советник

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Tango_X
717
Tango_X  

Привет! Не могу найти нигде шаблон такого советника. Нашел только мультивалютный, вот ссылка на описание https://www.mql5.com/ru/articles/648

На основе этой статьи попробовал добавить еще и мультитаймовость но не очень хорошо получается, поэтому прошу помочь в поиске схемы примера такого советника, может кто где видел на просторах интернета)

Рецепты MQL5 - Мультивалютный эксперт: пример простой, точной и быстрой схемы
Рецепты MQL5 - Мультивалютный эксперт: пример простой, точной и быстрой схемы
  • www.mql5.com
В этой статье мы рассмотрим реализацию простой схемы для мультивалютного эксперта. В данном случае имеется в виду, что эксперт можно будет настроить на тестирование/торговлю по одинаковым условиям, но с разными параметрами для каждого символа. В качестве примера создадим схему для двух символов, но сделаем это так, чтобы при необходимости можно...
Fast235
2002
Fast235  

там не правильный прием данных, цикл надо убирать, при приходе тика проходят все пары в цикле..

этот робот вполне и мультитаймовый

Tango_X
717
Tango_X  
Fast528:

там не правильный прием данных, цикл надо убирать, при приходе тика проходят все пары в цикле..

этот робот вполне и мультитаймовый

Какой именно цикл - можете показать?

Fast235
2002
Fast235  
Tango_X:

Какой именно цикл - можете показать?

вот смотри, ончартивент  там получает тики с каждого символа, а в данном роботе при приходе каждого тика по символу дополнительно пробегает еще и цикл по всем этим парам, этот цикл нужно убрать

Anatoli Kazharski
34677
Anatoli Kazharski  

Вот такое решение на данный момент наилучшее: https://www.mql5.com/ru/forum/225832/page2#comment_6406538

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Анализ результатов тестов и оптимизации в тестере стратегий MetaTrader 5

fxsaber, 2018.01.28 16:22

Значительно ускорил
#include <TesterBenchmark.mqh> // https://www.mql5.com/ru/code/18804

input int AmountSymbols = 1;

const string Symbols[] = {"EURUSD", "GBPUSD", "AUDUSD", "USDJPY", "USDCAD"};

double Sum2 = 0;

double GetBid( const string &Symb )
{
  static MqlTick Tick;

  return(SymbolInfoTick(Symb, Tick)? Tick.bid : 0);
}

void OnInit()
{
  for (int i = 0; i < AmountSymbols; i++)
    if (Symbols[i] != _Symbol)
      iCustom(Symbols[i], PERIOD_W1, "Spy.ex5", ChartID(), i); // MQL5\Indicators\Spy.ex5
}

void OnDeinit( const int )
{
  Print(Sum2);
}

void OnTick()
{
  OnTick(_Symbol); 
}

void OnTick( const string &Symb )
{
  Sum2 += GetBid(Symb);
}

void OnChartEvent( const int id, const long &lparam, const double&, const string& )
{
  if (id == CHARTEVENT_CUSTOM)
    OnTick(Symbols[(int)lparam]);
}


Один символ

i = 0 Pass = 0 OnTester = 2.697 s.: Count = 9986677, 3702883.6 unit/sec, Agent = C:\Program Files\Alpari Limited MT5\Tester\Agent-127.0.0.1-3000 build = 1755
i = 1 Pass = 1 OnTester = 2.657 s.: Count = 9986677, 3758628.9 unit/sec, Agent = C:\Program Files\Alpari Limited MT5\Tester\Agent-127.0.0.1-3000 build = 1755


Два символа

i = 0 Pass = 0 OnTester = 17.632 s.: Count = 9986677, 566395.0 unit/sec, Agent = C:\Program Files\Alpari Limited MT5\Tester\Agent-127.0.0.1-3000 build = 1755
i = 1 Pass = 1 OnTester = 17.539 s.: Count = 9986677, 569398.3 unit/sec, Agent = C:\Program Files\Alpari Limited MT5\Tester\Agent-127.0.0.1-3000 build = 1755


Три символа

i = 0 Pass = 0 OnTester = 35.639 s.: Count = 9986677, 280217.7 unit/sec, Agent = C:\Program Files\Alpari Limited MT5\Tester\Agent-127.0.0.1-3000 build = 1755
i = 1 Pass = 1 OnTester = 35.462 s.: Count = 9986677, 281616.3 unit/sec, Agent = C:\Program Files\Alpari Limited MT5\Tester\Agent-127.0.0.1-3000 build = 1755


Четыре символа

i = 0 Pass = 0 OnTester = 68.459 s.: Count = 9986677, 145878.2 unit/sec, Agent = C:\Program Files\Alpari Limited MT5\Tester\Agent-127.0.0.1-3000 build = 1755
i = 1 Pass = 1 OnTester = 69.429 s.: Count = 9986677, 143840.1 unit/sec, Agent = C:\Program Files\Alpari Limited MT5\Tester\Agent-127.0.0.1-3000 build = 1755
Анализ результатов тестов и оптимизации в тестере стратегий MetaTrader 5
Анализ результатов тестов и оптимизации в тестере стратегий MetaTrader 5
  • 2018.01.28
  • www.mql5.com
Рассмотрим результаты тестов на одном и нескольких символах. Тесты будем проводить в режиме Все тики...
Tango_X
717
Tango_X  
Fast528:

вот смотри, ончартивент  там получает тики с каждого символа, а в данном роботе при приходе каждого тика по символу дополнительно пробегает еще и цикл по всем этим парам, этот цикл нужно убрать

Так все правильно - он и должен получать все тики по всем парам

Andrey Barinov
52020
Andrey Barinov  
Anatoli Kazharski:

Вот такое решение на данный момент наилучшее: https://www.mql5.com/ru/forum/225832/page2#comment_6406538

А в тестере как этот вопрос решаете?

Tango_X
717
Tango_X  
Anatoli Kazharski:

Вот такое решение на данный момент наилучшее: https://www.mql5.com/ru/forum/225832/page2#comment_6406538

Можно Ваш индикатор Spy выложить сюда или подойдет тот что в статье?

Fast235
2002
Fast235  
Tango_X:

Так все правильно - он и должен получать все тики по всем парам

ончартивент и так получает по всем символам, а цикл дополнительно кратно увеличивает обработку сигналов

пришел тик на евро, вместе с ним пробежали все пары.., пришел тик на другую пару и опять пробежали все пары из списка, **ная работа

Anatoli Kazharski
34677
Anatoli Kazharski  
Andrey Barinov:

А в тестере как этот вопрос решаете?

Работает и в тестере.

Andrey Barinov
52020
Andrey Barinov  
Anatoli Kazharski:

Работает и в тестере.

Спасибо. Ткните носом, где взять Spy.ex5 (лучше .mq5)

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий