¿Algún consejo para una EA de ejecución más rápida?
¿Algún consejo para una EA de ejecución más rápida?

 

Publi

Página 1 de 352 12 ??ltimo??ltimo
Resultados 1 al 10 de 12

Tema: ¿Algún consejo para una EA de ejecución más rápida?

  1. #1

    Cita Iniciado por ;
    {quote} Supongo que tienes una PC de cuatro núcleos, en ese caso, el 25% equivale al 100% de un núcleo. Para beneficiarse de múltiples núcleos, una aplicación debe estar diseñada para múltiples hilos (ejecución paralela), por lo que probablemente no haya nada que pueda hacer en su extremo.
    Sí, tiene usted razón. Mi PC tiene un quad core en la CPU. Gracias.

  2.                         
    Publicidad
  3. #2

    Cita Iniciado por ;
    Veo el administrador de tareas de Windows, vi que mt4 solo puede usar 25 CPU como máximo y luego, mt4 stucked. ¿Cómo aumentar el% de uso de la CPU para mt4 para que mt4 funcione rápido, sin complicaciones?
    Supongo que tienes una PC de cuatro núcleos, en ese caso, el 25% equivale al 100% de un núcleo. Para beneficiarse de múltiples núcleos, una aplicación debe estar diseñada para múltiples hilos (ejecución paralela), por lo que probablemente no haya nada que pueda hacer en su extremo.

  4. #3
    Veo el administrador de tareas de Windows, vi que mt4 solo puede usar 25 CPU como máximo y luego, mt4 stucked. ¿Cómo aumentar el% de uso de la CPU para mt4 para que mt4 funcione rápido, sin complicaciones?

  5. #4

    Cita Iniciado por ;
    {quote} No sé mucho sobre MQL, acabo de entrar el fin de semana. Aunque tengo muchos conocimientos sobre otros idiomas. Lo que pasa es que los lenguajes de programación no están hechos para computadoras, están hechos para humanos. La computadora lee una versión traducida, generada por el compilador. La salida de los compiladores no se parece demasiado a lo que ve en su editor. El compilador cambiará (optimizará) mucho, incluida la inserción de código que, a su vez, hará que el código sea aún más grande en lugar de más pequeño. Consejo general: no vaya por la micro optimización ...
    Gracias por el consejo general. Haré solo eso. Aborde el problema más grande (estructura, lógica y cálculos) y luego avance hasta el nivel micro. OnTick () parece un excelente lugar para comenzar y obtener ganancias fáciles. ¿Nuevo en mql? ¡La mejor de las suertes para ti en tus operaciones! Si está familiarizado con la programación en general, debe agitar rápidamente mql. Mql4 es ciertamente el sabor de elección, pero si sabes tus cosas ve directamente a mql5. Los beneficios de las pruebas comporta cualquier ventaja que mql4 puede ofrecer. Es un viejo caballo cansado y todos siguen azotándolo.

  6. #5

    Cita Iniciado por ;
    Hola, por lo que sé: MT5 multinúcleo podría estar bien, pero es necesario programar en consecuencia. Eso significa separar su código en varios subprocesos que se pueden ejecutar simultáneamente. CPU más potente, eso acelerará el tiempo de ejecución, pero si el tiempo de transmisión (Internet) es lento no tiene sentido. Uso de enteros? No entiendo esto, ¿quieres convertir dobles en números enteros y viceversa? El tiempo de conversión te hará perder la ganancia de usarlos a menos que hagas cálculos realmente pesados. OOP, no, eso solo permite reorganizar ...
    Hola Broketrader, MT5 multinúcleo: nunca me di cuenta de que puedes separar tu código en diferentes hilos como ese. Esto podría marcar una gran diferencia. Actualmente, solo obtiene la ventaja de multinúcleo cuando ejecuta el optimizador. (que es una diferencia épica sobre mt4). CPU: Estoy buscando adquirir una nueva máquina actualmente. Las nuevas chips Haswell se ven bastante resbaladizas. La velocidad de conexión a Internet no es un problema. Solo estoy centrado en la ejecución del código. Enteros: podría estar totalmente equivocado, pero con mi entendimiento limitado Los enteros son más fáciles de calcular para una máquina que decir un doble. p.ej. solo trabaje en pips o _Points al calcular cosas como stops y targets. No estoy interesado en convertir números enteros y dobles de ida y vuelta. int StopLoss = 300;/StopLoss en _Points No se puede hacer en todas partes, solo donde se presenta la oportunidad. Gracias por su aporte, es muy apreciado.

  7. #6

    Cita Iniciado por ;
    {quote} Aumentar el poder de cálculo es la última medida que debes tomar. La verdadera disminución de cálculo viene en la optimización de los algoritmos. Puede ver el efecto de la optimización de algoritmo muy bien si intenta calcular un número de Fibonacci iterativo vs recursivo. Uno de ellos lleva unos minutos el otro solo milisegundos. El editor mql45 tiene una herramienta de creación de perfiles que le proporcionará una comprensión básica sobre qué parte del algoritmo lleva mucho tiempo. ¿Con qué frecuencia se ejecuta tu código? ¿Es realmente importante para cada tic ...
    Hola Kilian, gracias por la respuesta. Fibonacci iterativo vs recursivo: Nunca he oído hablar de esto y es algo que seguiré leyendo. Encontré algunas cosas en stackoverflow. Herramienta de creación de perfiles mql5: no es algo que haya usado antes, encontré algunos artículos y lo leo ahora. Solución obvia, ¡gracias! OnTick: He estado muy consciente de esto y he tratado de mantener la mayoría de las tareas en OnBar, pero sí, uno de los tipos de comercio es OnTick, que se estará comiendo en el momento del procesamiento. Esto se ve como una fruta baja que cuelga. ¿Porciones del código que se ejecutan una y otra vez ?: Este no es un área que haya considerado demasiado y que debería analizar. Creo que está en lo cierto, debería haber una buena eficiencia que encontrar aquí. Micro optimización: me encantan las sugerencias y si llego tan lejos, definitivamente intentaré cualquier cosa (bueno para mi aprendizaje, independientemente). Muy apreciado.

  8. #7
    Cita Iniciado por ;
    Gracias por la aclaración.
    No tengo experiencia en computadoras, pero hace tiempo que me enseño a programar, por lo que faltan grandes capítulos de mi conocimiento de informática. Lo siento si fue un error obvio. Buscando buenos hábitos para aprender, con ganas de aprender.
    No sé mucho sobre MQL, lo hice durante el fin de semana. Aunque tengo muchos conocimientos sobre otros idiomas. Lo que pasa es que los lenguajes de programación no están hechos para computadoras, están hechos para humanos. La computadora lee una versión traducida, generada por el compilador. La salida de los compiladores no se parece demasiado a lo que ve en su editor. El compilador cambiará (optimizará) mucho, incluida la inserción de código que, a su vez, hará que el código sea aún más grande en lugar de más pequeño. Consejo general: no busque la micro optimización hasta que su código realmente funcione. Es una pérdida de tiempo. Aborda la estructura general del programa, la lógica y tal vez tus cálculos (si dependes en gran medida de ellos). Con solo mirar la estructura de un EA, por ejemplo, está bastante claro que para mucha (innecesaria) computación en OnTick () es una mala idea, ya que esa rutina se llama con mucha frecuencia.

  9. #8
    Hola, por lo que sé: MT5 multinúcleo podría estar bien, pero es necesario programar en consecuencia. Eso significa separar su código en varios subprocesos que se pueden ejecutar simultáneamente. CPU más potente, eso acelerará el tiempo de ejecución, pero si el tiempo de transmisión (Internet) es lento no tiene sentido. Uso de enteros? No entiendo esto, ¿quieres convertir dobles en números enteros y viceversa? El tiempo de conversión te hará perder la ganancia de usarlos a menos que hagas cálculos realmente pesados. OOP, no, eso solo permite reorganizar el código, el binario resultante no es más rápido que el código de procedimiento. Y la longitud de los archivos de encabezado o tener varios archivos de encabezado en lugar de uno grande no tiene nada que ver con la velocidad de ejecución. BT

  10. #9
    Cita Iniciado por ;
    Gracias por la aclaración.
    No tengo experiencia en computadoras, pero hace tiempo que me enseño a programar, por lo que faltan grandes capítulos de mi conocimiento de informática. Lo siento si fue un error obvio. Buscando buenos hábitos para aprender, con ganas de aprender.
    Aumentar el poder de cálculo es la última medida que debe tomar. La verdadera disminución de cálculo viene en la optimización de los algoritmos. Puede ver el efecto de la optimización de algoritmo muy bien si intenta calcular un número de Fibonacci iterativo vs recursivo. Uno de ellos toma minutos y el otro solo milisegundos. </P> El editor mql45 tiene una herramienta de creación de perfiles que le proporcionará una comprensión básica sobre qué parte del algoritmo lleva mucho tiempo. ¿Con qué frecuencia se ejecuta tu código? ¿Es realmente importante que simule cada tic o que sea suficiente para verificar solo la apertura de la barra? Esto le dará un xxx% de disminución en el tiempo de backtesting. ¿Hay grandes porciones del código que no necesitan ser ejecutadas una y otra vez? ¿Puedes escribir un cheque simple e ignorar muchos cálculos en cada ciclo? Micro optimización (si realmente quieres ese último bit que puede hacer mql4) como mapear los valores utilizados a menudo en lugar de calcularlos una y otra vez. Variables condicionales del búfer de búfer. Creo que las variables locales son un poco más rápidas, así como el alcance global. Entonces puedes guardar una fracción de segundo allí. Usando bit shift en lugar de división. Intenta evitar el módulo, etc ... Pero supongo que es un exceso de talento para ti.

  11. #10
    Gracias por la aclaración.
    No tengo experiencia en computadoras, pero hace tiempo que me enseño a programar, por lo que faltan grandes capítulos de mi conocimiento de informática. Lo siento si fue un error obvio. Buscando buenos hábitos para aprender, con ganas de aprender.

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •  
Uso de cookies
Utilizamos cookies propias y de terceros para elaborar información estadística y mostrarle publicidad personalizada a través del análisis de su navegación. Si continúa navegando acepta su uso. Más información y política de cookies.
     

Aviso legal: Ni forosforex.com ni ninguna persona involucrada en forosforex.com aceptarán ninguna responsabilidad por cualquier pérdida o daño en el trading como resultado de la confianza en la información contenida en este sitio web, incluidos datos, cotizaciones, gráficos y señales de compra/venta. Por favor, infórmese plenamente de los riesgos y costes asociados a las operaciones en los mercados financieros, una de las formas de inversión que más riesgos entrañan.
forosforex.com le quiere recordar que los datos contenidos en este sitio web no son necesariamente en tiempo real ni exactos. forosforex.com no asume responsabilidad alguna por las pérdidas en que usted podría incurrir como resultado de la utilización de estos datos. Este acuerdo se rige por su versión en inglés, que prevalecerá siempre que haya alguna discrepancia entre la versión en inglés y la versión en español. Los CFD son un producto difícil de entender, varios organismos reguladores consideran que no es adecuado para inversores minoristas debido a su complejidad y riesgo.
Advertencia de riesgo: Los CFDs son un producto difícil de entender, y puede no ser adecuado para inversores minoristas debido a su complejidad y riesgo. Existe la posibilidad de sufrir una pérdida igual o superior a la inversión. Por lo tanto, no debe invertir o arriesgar dinero que no pueda permitirse perder. Debe asegurarse de que comprende todos los riesgos. Antes de abrir una cuenta en un broker por favor sea consciente e infórmese de los riesgos asociados con el trading. El contenido de este sitio web no debe interpretarse como asesoramiento personal. ForosForex recomienda que busque el consejo de un asesor financiero independiente.