¿Cómo liberar los recursos del indicador? indicador llamado de EA
¿Cómo liberar los recursos del indicador? indicador llamado de EA

 

Publi

Resultados 1 al 7 de 7

Tema: ¿Cómo liberar los recursos del indicador? indicador llamado de EA

  1. #1
    Con
    http://docs.mql4.com/indiors/icustomEstoy llamando un indicador.
    Se vuelve lento, pero no es el problema.

    En EA hay un tic y cada vez que lo llama y deja de responder y no puede finalizar una prueba (no una optimización)
    Me pregunto cómo debería implementar algo para liberar los recursos del indicador.

    Mi indicador utiliza búferes auxiliares para el filtrado de señal y tiene así:
    Código insertado int OnInit () {//---- Se utilizan 4 búferes adicionales para contar. IndiorBuffers (4 4);
    Sospecho que al menos esos 4 no se eliminan.

    ¿Alguna ayuda?

  2.                         
    Publicidad
  3. #2
    Saludos ... no muy agradable ... en absoluto ... ¿pero al menos ha sido resuelto? Cheerio, John

  4. #3
    1 Adjunto (s)
    Metaquotes confirmó el error y responden 1. Debes abrir la cuenta demo en MetaQuotes-Demo server e iniciar sesión. Cuentas Abrir una cuenta haz clic en agregar nuevo intermediario ... ingresa demo.metaquotes.net haz clic en Escanear selecciona demo.metaquotes.net haz clic en Siguiente . 2. Reinicie la terminal. 3. Espere hasta que LiveUpdate finalice el registro en la pestaña Diario. 4. Reinicie la terminal una vez más. 5. Verifique la construcción de la terminal.

  5. #4
    Existe el problema
    https://www.forosforex.com/trading-s...t-trading.htmlCódigo insertado iMAOnArray tiene una fuga, MT4.0 Build 840, 12 Jun2015 - la última en mi broker

  6. #5
    Alguien me dio una propina por no culpa del indi, pero la EA, porque estoy revisando mis pedidos existentes y demás. He eliminado casi todo de EA y dejé solo una llamada. Código insertado double ExtBufUpValue = iCustom (Symbol (), PERIOD_CURRENT, myIndi, My12ParForIndi, 0, 1); if (ExtBufUpValue gt; 0) {//Señal larga: todo el código eliminado de EA para probar} else {double ExtBufDownValue = iCustom (Symbol (), PERIOD_CURRENT, myIndi, My12ParForIndi 1, 1); if (ExtBufDownValue gt; 0) {//Señal abreviada: todo el código eliminado de EA para la prueba}} Esta parte del código EXPONENCIALMENTE SE ESTÁ RETRASANDO. Me gustaría cambiar exactamente lo que muestra Indi. Si tomo toda la lógica de Indi a EA, entonces no será exponencialmente lenta, solo lenta, como la estoy usando en MT4. Por cierto: que indi tiene: Código insertado iLowest Inserted Code iHighest e Inserted Code iMAOnArray code calls para hacer sus cosas. Whem está en la vista de gráfico normal Veo que es un problema claro con él y realizar muy, pero muy, muy lento en timeframechnages (cargar y descargar) y cliching diferentes marcos de tiempo no ayuda: se vuelve más lento, pero puede ser de 6-7 veces .

  7. #6
    Hola, no he encontrado un mecanismo para liberar recursos de un indicador una vez que lo haya incluidollamado en un EA (u otro indicador) a través de iCustom (). Tampoco tengo ninguna experiencia comparable con la experiencia de iwjw, ¡pero interesante! Una serie de cosas pueden ayudarlo a resolver su problema: 1. controle en detalle lo que sucede en sus indicadores y luego en su EA, y verifique por cuánto tiempo tardan las diferentes partes de sus cálculos: Puede usar t0 = GetTickCount () ... do ciclocálculos ... t1 = GetTickCount () y luego imprimir con información adicional para permitir el análisis 2. ¿Realmente necesita calcular su indicador con cada tic? ¿Su eegia requiere conocimiento de todo lo que su indicador calcula en cada tic, o podría acceder a la información de su indicador al comienzo de una nueva barra y luego permitir la entrada al inicio de la nueva barra si las condiciones son las correctas? Si esto último es cierto ... simplemente puede acceder a su indi en una construcción como: if (NEWBAR) {.... access icustom (indi) .... haga lo suyo basado en calcs} 3. if se requiere acceso a la indi en cada tic, y si la solución de iwjw tampoco ayuda porque necesitadesea variar estos parámetros, puede transferir la lógica y los cálculos de su indicador a su EA. La diferencia principal entre el indicador y el código EA (para su pregunta) es que en un EA no tiene acceso a los almacenamientos intermedios. Dependiendo de la estructura del código en el indicador y de cómo la información de los buffers en barrasllamadas anteriores influye en el valor de los buffers en la barra actual, podría considerar una implementación de su indicador sin buffers. Si puede llamar a su indicador en NEWBAR, podría almacenar los valores previos de variables relevantes en una matriz corta, o incluso variables individuales antes de calcular los valores para su barra actual. La desventaja es que debe manipular usted mismo los datos (y debe darse cuenta de eso, y tener en cuenta las consecuencias inesperadas), pero la ventaja es enorme, ya que evita llamar a iCustom (indicador). Espero que eso ayude. Pero: si su terminal se congela debido a que llama al iCustom (indicador), es posible que haya algo más incorrecto en su indicador. A menos que su indicador haga una cantidad de cálculos ricídulos. He implementado una variedad de EA con acceso a indicadores muy complejos de tiempo. En tales casos, la terminal se ha ralentizado, y en tales casos, la terminal imprime las declaraciones en el archivo de registro a lo largo de las líneas de 'reescribir su indicador, ya que lleva demasiado tiempo calcular'. Entrar en el detalle de la carne del indicador tiende a resolver el problema. Cheerio, John

  8. #7
    desde mi experiencia personal una cosa, que es extremadamente desaceleración iCustom, es el paso de los parámetros, cuantos más parámetros de entrada tenga tu indicador, más lento será iCustom para solucionarlo, lo mejor sería llamar a iCustom sin ningún parámetro y usar la configuración predeterminada del indicador

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.