Asesor multidivisa - multitiempo
hay una recepción de datos errónea, el bucle tiene que ser eliminado, cuando llega un tick, todos los pares en el bucle pasan...
este robot es bastante y multitemporal.
¿Qué ciclo - puede mostrarme?
Esta es la mejor solución por el momento: https://www.mql5.com/ru/forum/225832/page2#comment_6406538
Foro sobre comercio, sistemas de comercio automatizados y pruebas de estrategias
fxsaber, 2018.01.28 16:22
Aceleración significativa#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 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
Dos 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
Tres 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
Cuatro 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
- 2018.01.28
- www.mql5.com
Esta es la mejor solución actualmente: https://www.mql5.com/ru/forum/225832/page2#comment_6406538
Y en el probador, ¿cómo se resuelve este problema?
Esta es la mejor solución por el momento: https://www.mql5.com/ru/forum/225832/page2#comment_6406538
¿Puedo publicar aquí su indicador de espionaje o bastará con el que aparece en el artículo?
Así es, debe recibir todos los ticks de todos los pares
El onchartivent recibe ticks para todos los símbolos, y el bucle aumenta el procesamiento de la señal aún más
Vino un tick para el euro, y todos los pares corrieron con él..., luego vino un tick para otro par y de nuevo todos los pares de la lista corrieron, **trabajo suave
¿Cómo se resuelve esta cuestión en el probador?
También funciona en el probador.
También funciona en el probador.
Gracias. Indícame la dirección de Spy.ex5 (preferiblemente .mq5)
Hola, no encuentro una plantilla de EA de este tipo en ningún sitio. Sólo he podido encontrar uno multidivisa, aquí hay un enlace a la descripción https://www.mql5.com/ru/articles/648
Estoy tratando de añadir la multitarea sobre la base de este artículo, pero no es muy bueno, así que por favor me ayude a encontrar un ejemplo de tal EA, tal vez alguien lo vio en el Internet)