Multimoeda - assessor multitemporal

 

Olá! Não consigo encontrar um modelo EA desse tipo em nenhum lugar. Só consegui encontrar uma de múltiplas moedas, aqui está um link para a descrição https://www.mql5.com/ru/articles/648

Estou tentando adicionar multitarefa com base neste artigo, mas não é muito bom, então por favor me ajude a encontrar um exemplo de tal EA, talvez alguém o tenha visto na Internet)

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

há uma recepção de dados errada, o laço tem que ser removido, quando chega um tick, todos os pares do laço passam...

este robô é bastante e multitemporal

 
Fast528:

há uma recepção de dados errada, o laço tem que ser removido, quando chega um tick, todos os pares do laço passam...

este robô é bastante e multitemporizado.

Qual ciclo - você pode me mostrar?

 
Tango_X:

Qual laço - você pode me mostrar?

Olhe, o oncartivent recebe carrapatos de cada símbolo, mas neste robô, cada carrapato em um símbolo, adicionalmente, faz um loop em todos estes pares, este loop precisa ser removido

 

Esta é a melhor solução no momento: https://www.mql5.com/ru/forum/225832/page2#comment_6406538

Fórum sobre comércio, sistemas automatizados de comércio e testes estratégicos

Análise de resultados de testes e otimização no MetaTrader 5 testador de estratégia

fxsaber, 2018.01.28 16:22

Significativamente acelerado
#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]);
}


Um símbolo

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


Dois símbolos

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


Três símbolos

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


Quatro símbolos

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
Рассмотрим результаты тестов на одном и нескольких символах. Тесты будем проводить в режиме Все тики...
 
Fast528:

Olha, o oncartivent recebe carrapatos de cada símbolo, mas neste robô, quando cada carrapato vem por um símbolo, ele também executa um loop em todos estes pares, portanto este loop deve ser removido

Isso mesmo - deve receber todos os carrapatos para todos os pares

 
Anatoli Kazharski:

Esta é atualmente a melhor solução: https://www.mql5.com/ru/forum/225832/page2#comment_6406538

E no testador, como você resolve este problema?

 
Anatoli Kazharski:

Esta é a melhor solução no momento: https://www.mql5.com/ru/forum/225832/page2#comment_6406538

Posso colocar seu indicador de espionagem aqui ou será que o do artigo o fará?

 
Tango_X:

Isso mesmo - deve receber todos os carrapatos para todos os pares

O oncartivent recebe carrapatos para todos os símbolos, e o loop aumenta o processamento do sinal através de um múltiplo

Um tick veio para o euro, e todos os pares correram com ele..., depois um tick veio para outro par e novamente todos os pares da lista correram, **smooth work

 
Andrey Barinov:

Como você resolve esta questão no testador?

Funciona no testador também.

 
Anatoli Kazharski:

Trabalha também no testador.

Obrigado. Aponte-me na direção de Spy.ex5 (de preferência .mq5)

Razão: