Conseiller en multidevise - multitime

 

Bonjour, je ne trouve nulle part un tel modèle d'EA. Je n'ai trouvé qu'un multidevise, voici un lien vers la description https://www.mql5.com/ru/articles/648.

J'essaie d'ajouter le multitâche sur la base de cet article, mais ce n'est pas très bon, alors aidez-moi à trouver un exemple d'un tel EA, peut-être que quelqu'un l'a vu sur Internet).

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

il y a une mauvaise réception de données, la boucle doit être supprimée, quand un tick arrive, toutes les paires dans la boucle passent...

ce robot est assez et multitemporel

 
Fast528:

il y a une mauvaise réception des données, la boucle doit être supprimée, quand un tick arrive, toutes les paires dans la boucle passent...

ce robot est assez et multitemporel.

Quel cycle - pouvez-vous me montrer ?

 
Tango_X:

Quelle boucle - pouvez-vous me montrer ?

Regardez, le onchartivent reçoit les ticks de chaque symbole, mais dans ce robot, chaque tick sur un symbole exécute en plus une boucle sur toutes ces paires, cette boucle doit être supprimée.

 

C'est la meilleure solution pour le moment : https://www.mql5.com/ru/forum/225832/page2#comment_6406538

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégie

Analyse des résultats des tests et optimisation dans le testeur de stratégie MetaTrader 5

fxsaber, 2018.01.28 16:22

Accéléré de manière significative
#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]);
}


Un symbole

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


Deux symboles

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


Trois symboles

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


Quatre symboles

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:

Regardez, le onchartivent reçoit les ticks de chaque symbole, mais dans ce robot, lorsque chaque tick arrive pour un symbole, il exécute également une boucle sur toutes ces paires, donc cette boucle doit être supprimée.

C'est exact - il doit recevoir tous les ticks pour toutes les paires.

 
Anatoli Kazharski:

C'est actuellement la meilleure solution : https://www.mql5.com/ru/forum/225832/page2#comment_6406538

Et dans le testeur, comment résolvez-vous ce problème ?

 
Anatoli Kazharski:

C'est la meilleure solution pour le moment : https://www.mql5.com/ru/forum/225832/page2#comment_6406538

Puis-je poster votre indicateur Spy ici ou celui de l'article fera-t-il l'affaire ?

 
Tango_X:

C'est exact - il doit recevoir tous les ticks pour toutes les paires.

Le onchartivent reçoit des ticks pour tous les symboles, et la boucle augmente le traitement du signal par un multiple de

Un tick est apparu pour l'euro, et toutes les paires ont couru avec lui..., puis un tick est apparu pour une autre paire et à nouveau toutes les paires de la liste ont couru, **smooth work

 
Andrey Barinov:

Comment résoudre cette question dans le testeur ?

Cela fonctionne aussi dans le testeur.

 
Anatoli Kazharski:

Cela fonctionne aussi dans le testeur.

Merci. Indiquez-moi la direction de Spy.ex5 (préférablement .mq5)