Una buena CPU hace mas rapido Backtesting mt4?

 

Hola a todos. Ya se que Mt4 es 32bits y solo ejecuta 1 nucleo. Que nadie me diga que me pase a Mt5, soy consciente de eso.


Vamos a centranos unicamente en Mt4. Tengo varios EA, no los puedo editar ni cambiar.  Solo deseo saber si una mejor CPU hara mas rapido el trabajo de BAcktesting.  POngo el ejemplo un Xeon 2690 del 2012, un I7 5820K 2014, o un Intel Ryzen 5800x


HAce poco rompi mi ordenador i7 5820K, y quisiera saber si hay una gran diferencia con un ryzen 5800x.


Por favor no me digan optimizar codigo o pasarme a Mt5, no es una opcion para mi.  Supongo que el aumento de IPC de las nuevas CPU haran mas rapido el backtesting en Mt4.


Gracias por adelantado por su ayuda y opiniones

 
Jesus Torres Parraga:

Hola a todos. Ya se que Mt4 es 32bits y solo ejecuta 1 nucleo. Que nadie me diga que me pase a Mt5, soy consciente de eso.


Vamos a centranos unicamente en Mt4. Tengo varios EA, no los puedo editar ni cambiar.  Solo deseo saber si una mejor CPU hara mas rapido el trabajo de BAcktesting.  POngo el ejemplo un Xeon 2690 del 2012, un I7 5820K 2014, o un Intel Ryzen 5800x


HAce poco rompi mi ordenador i7 5820K, y quisiera saber si hay una gran diferencia con un ryzen 5800x.


Por favor no me digan optimizar codigo o pasarme a Mt5, no es una opcion para mi.  Supongo que el aumento de IPC de las nuevas CPU haran mas rapido el backtesting en Mt4.


Gracias por adelantado por su ayuda y opiniones

Voy a responder desde mi experiencia, lo que va a continuación no se basa en cálculos, solo en lo que yo noto. La velocidad del procesador importa. Pero no influye apenas. 

Yo uso varios pc's para optimizar. Uno de ellos es un i3, otro es un i7. Si hablamos de tiempo, no noto ni un 10% de diferencia
 
Mi antiguo I7 con turboboost era 3.6 ghz y el AMD 5800x  seria mas de 4.5 ghz, eso ya es considerable. Yo hago backtesting muy densos de 13-16 años de historial usando TDS emulando Spread variable, Swap, Apalancamiento etc...  HAcer backtesting de los datos del proveedor a 90% y sin comisiones es muy rapido pero poco preciso
 

No profundizaré mucho en el tema, pero en síntesis los factores más determinantes en cuanto a hardware para el backtester son (en orden de importancia):

  1. La cantidad de memoria RAM.
  2. La velocidad de la RAM.
  3. El número de núcleos del microprocesador.
  4. La velocidad del microprocesador.

Ese sería el ranking.

 
Miguel Angel Vico Alba #:

No profundizaré mucho en el tema, pero en síntesis los factores más determinantes en cuanto a hardware para el backtester son (en orden de importancia):

  1. La cantidad de memoria RAM.
  2. La velocidad de la RAM.
  3. El número de núcleos del microprocesador.
  4. La velocidad del microprocesador.

Ese sería el ranking.

ME está hablando de Mt5 donde la cantidad de núcleos y velocidad de memoria es importante. Yo hablo de Mt4 donde da igual la cantidad de núcleos y con poca memoria vas sobrado porque ademas MT4 no usa la memoria para el backtesting apenas.

Curiosamente, nadie habla que desde el 2017 el IPC se ha incrementado, que es el número de instrucciones por ciclo (IPC) de CPU, todos responden como si estuvieramos en 2015.

Al igual que importa la velocidad de microprocesador, lo cual es obvio, la cantidad de IPC también importa.  SI leemos los foros antiguos, las contestaciones son todas iguales como estoy viendo.  Alguien ha montado una CPU moderna para Mt4? por moderna me refiero a posterior de 2019.... De todas maneras ya comentaré yo cuando lo monte, porque todos contestan igualito que lo que se contestaba en 2014

 
Jesus Torres Parraga #:

Perdón, no leí que hablaba de MT4.

Dice "Que nadie me diga que me pase a Mt5, soy consciente de eso.", no obstante hoy por hoy es inevitable hacerle tal recomendación. MT5 supera en muchos aspectos técnicos a MT4 e incluso en cuota de mercado (tanto en uso, servicios, etc).

 

Respecto a la pregunta en cuestión "Solo deseo saber si una mejor CPU hara mas rapido el trabajo de BAcktesting."

Dejando de lado las instrucciones por ciclo (IPC) resulta obvio que, si entendemos "una mejor CPU" como una mayor potencia, efectivamente, sí, una "mejor" CPU hará que los backtesting sean más rápidos.

Ahora bien, debemos entender que partimos de una ganancia ínfima que escala con según la profundidad del backtest en cuestión. Con profundidad me refiero a fechas de los históricos, barras o ticks, etc.

En un backtest en barras (OHLC M1) de 1 año la diferencia de un microprocesador a otro puede ser de pocos segundos en su resultado final. Mientras que en uno de 10 años y usando ticks la diferencia tal vez sean horas, dias...

Ahora bien ¿es determinante una mejor CPU en MT4? Pues no mucho, la verdad. La gracia de MT5 es que al ser multihilo eso magnífica todos los procesos (algoritmo genético, etc). En un proceso mononucleo donde el proceso lo determina la fuerza bruta de ese núcleo en cuestión...hoy por hoy además de un atraso, es que no tendría ni sentido hacer una comparativa.

 
Jesus Torres Parraga:

Hola a todos. Ya se que Mt4 es 32bits y solo ejecuta 1 nucleo. Que nadie me diga que me pase a Mt5, soy consciente de eso.


Vamos a centranos unicamente en Mt4. Tengo varios EA, no los puedo editar ni cambiar.  Solo deseo saber si una mejor CPU hara mas rapido el trabajo de BAcktesting.  POngo el ejemplo un Xeon 2690 del 2012, un I7 5820K 2014, o un Intel Ryzen 5800x


HAce poco rompi mi ordenador i7 5820K, y quisiera saber si hay una gran diferencia con un ryzen 5800x.


Por favor no me digan optimizar codigo o pasarme a Mt5, no es una opcion para mi.  Supongo que el aumento de IPC de las nuevas CPU haran mas rapido el backtesting en Mt4.


Gracias por adelantado por su ayuda y opiniones

Para saber si hay gran diferencia entre un i7 5820K y un Ryzen 5800x debes de considerar buscar benchmarks de velocidad base y/o en turbo/boost. Existen muchas páginas especializadas para revisar ese aspecto (como user.benchmark) y tomar una buena decisión. 

y sí, un mejor CPU hará más rápido el trabajo de backtesting en MT4, pero también tiene que ver el código del .mq4 ya que esta debe estar optimizada y sin errores, sin fugas de RAM, ciclos repetidos, etc. Un código limpio en general.

En general para tener un Backtesting veloz es recomendable vía código utilizar los precios abiertos en la estrategia principal o cálculos internos. (Open Prices)  

Razón de la queja: