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
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 ?
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](https://c.mql5.com/36/20/analiz-rezultatov-testov-i-optimizacii.jpg)
- 2018.01.28
- www.mql5.com
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.
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 ?
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 ?
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
Comment résoudre cette question dans le testeur ?
Cela fonctionne aussi dans le testeur.
Cela fonctionne aussi dans le testeur.
Merci. Indiquez-moi la direction de Spy.ex5 (préférablement .mq5)
![MQL5 - Langage des stratégies de trading intégré au terminal client MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Vous acceptez la politique du site Web et les conditions d'utilisation
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).