Hacer referencia a matrices de indicadores.

 

Publi

Resultados 1 al 5 de 5

Tema: Hacer referencia a matrices de indicadores.

  1. #1
    ¿Es posible mencionar una matriz que ya se ha inicializado en un indicador? Algo similar a la función iCustom que pasa el índice de la ventana, el búfer del indicador y el índice de nombrerango.

    Tengo un indicador que crea 6 búferesmatrices. Luego tengo un par de indicadores diferentes que ejecutan código duplicado para crear tal vez 2 o 3 de los mismos búferes. Lo que está funcionando bien pero estoy descubriendo que puede ser costoso en funcionalidad, los detalles de eso gané # 8217; t ingresé hoy.

    Si lo entiendo correctamente, iCustom, usando sus propios parámetros, realmente ejecuta el código (en su cinta) para crear el valor de retorno deseado, lo cual es genial, pero no es lo que quiero si mi preocupación principal ahora es el rendimiento.

    Lo que busco es la capacidad de hacer referencia a una colección particular de un indicador que YA está inicializado. En este caso, la referencia será desde un indicador diferente montado en la misma ventana. Sin embargo, sería útil si se pudiera recuperar de otra parte ya que tengo otros indicadores de ventanas secundarias separadas que nuevamente duplican el código para crear uno o dos de los búferes del indicador base.

    He leído muchos artículos pero no encuentro lo que quiero. No creo que sea posible que esta sea una eegia bien documentada para superar parcialmente el límite de 8 buffer en cada indicador. (¿Por qué tendrían eso?)

    Hmmm # 8230 ;. O estoy respondiendo mi propia pregunta aquí8230; es el remedio para rediseñar mis indicadores para usar una serie de llamadas iCustom # 8230 ;. Hmnmmmm # 8230 ;. . Compleja y probablemente más allá de mis habilidades de programación para principiantes.

    Cualquier pensamientoconsejo o un crítico # 8220; NO # 8230; puede # 8217; t hacerse # 8221; será muy valorado Lo siento si esta pregunta se ha abordado antes yo exhibe mi propio desconocimiento de MQL.

    Muchas gracias de antemano por cualquier respuesta.

  2. #2
    Verifique que sus indicadores solo estén calculando las velas que han cambiado. Entre los mayores asesinos de rendimiento están los indicadores que pasan por cada vela cada tic.

  3. #3

    Cita Iniciado por ;
    Verifique que sus indicadores solo calculen para las velas que han cambiado. Entre los mayores asesinos de rendimiento están los indicadores que pasan por cada vela cada tic.
    Gracias por la respuesta . Sí, con counted_bars = IndiorCounted () ect ect. Me encanta es difícil comentar el código cuando no tengo ninguno enviado ... Sin embargo, supongo que solo esperaba que hubiera una respuesta rápida y sin esfuerzo ... SÍ ... Lo haces así. Estoy seguro de que el código básico está bien ... Lo publicaré si lo desea ... Pero estoy seguro de que el código básico es genial porque los lo compusieron ... jajajajaja. La dificultad que tengo es mucho más teórica que cualquier otra cosa ... Me doy cuenta de que estoy duplicando una gran cantidad de código para replicar un valor que ya se ha producido dentro de un indicador ... ¿No sería bueno si pudiera? hacer referencia a ese valor en lugar de ejecutar el código una y otra vez .... Como dije .... Mi código está funcionando bien, pero desde que retocarlo aquí y modificarlo no experimentar con diferentes indicadores que utilizan los mismos tampones inidior base. .. esta pregunta sigue surgiendo para mí .... Quiero pasar horas rastreando archivos de ayuda y artículos aquí y en tsd para averiguar si hay una solución a lo que estoy seguro es un problema común. Básicamente ... ¿Se puede hacer referencia a una matriz inicializada dentro de un indicador desde un indicador separado diferente? El indicador en cuestión es uno que traza una cesta de pares de divisas como un par de divisas. . .esuma el HLOC de cada par de divisas y lo representa como una vela. Tal vez no estoy explicando con suficiente claridad. Sin embargo, no puedo pensar en una mejor manera de explicarlo que no sea enviar páginas y páginas de código. ================================================== ============== bien aquí están algunos segmentos de este código que puede ayudar a aclarar lo que quiero decir .... estoy en condiciones de publicar los indicadores, si lo desea, pero sería tomar algún tiempo como yo He hecho bastantes modificaciones en el indicador de cesta básica que me permite cargar cestas diferentes rápidamente ... sin embargo, estoy seguro de que verá exactamente lo que quiero decir en relación con la cuestión de los hilos. Int start () {int counted_bars = IndiorCounted (); dual ch, cl, cb, compañeros de trabajo; if (counted_barslt; 0) return (-1);/- la última barra contada probablemente se volverá a contar si (counted_barsgt; 0) counted_bars--; int pos = Bars-counted_bars; while (posgt; = 0) {ch = gethigh (Pair1, Tperiod, pos) gethigh (Pair2, Tperiod, pos) gethigh (Pair3, Tperiod, pos) gethigh (Pair4, Tperiod, pos) gethigh (Pair5, tperíodo, pos) gethigh (Pair6, tperíodo, pos) gethigh (Pair7, tperíodo, pos) gethigh (Pair8, tperíodo, pos); cl = Getlow (Pair1, tperíodo, pos) Getlow (Pair2, tperíodo, pos) Getlow (Pair3, tperíodo, pos) Getlow (Pair4, tperíodo, pos) Getlow (Pair5, tperíodo, pos) Getlow (Pair6 , Tperiod, pos) getlow (Pair7, Tperiod, pos) getlow (Pair8, Tperiod, pos); cb = getbid (Pair1, Tperiod, pos) getbid (Pair2, Tperiod, pos) getbid (Pair3, Tperiod, pos) getbid (Pair4, Tperiod, pos) getbid (Pair5, Tperiod, pos) getbid (Pair6 , Tperiod, pos) getbid (Pair7, Tperiod, pos) getbid (Pair8, Tperiod, pos); co = getopen (Pair1, tperíodo, pos) getopen (Pair2, tperíodo, pos) getopen (Pair3, tperíodo, pos) getopen (Pair4, tperíodo, pos) getopen (Pair5, tperíodo, pos) getopen (Pair6, Tperiod, pos) getopen (Pair7, Tperiod, pos) getopen (Pair8, Tperiod, pos); ... Estos valores luego pasan a una sucesión de amortiguadores y se utilizan para trazar una vela. Las funciones llamadas se encuentran en: - .... Dual gethigh (cadena c, int tf, int ni) if (StringLen (c) lt; 6) return (0); RefreshRates (); dual chigh = iHigh (c), tf, ni)MarketInfo (c, MODE_POINT); rendimiento (chigh); dual getlow (cadena c, int tf, int ni) if (StringLen (c) lt; 6) return (0); RefreshRates (); dual clow = iLow (c), tf, ni)MarketInfo (c, MODE_POINT); rendimiento (clow); doble getbid (cadena c, int tf, int ni) if (StringLen (c) lt; 6) return (0); RefreshRates (); dual cbid = iClose (c), tf, ni)MarketInfo (c, MODE_POINT); rendimiento (cbid); doble getopen (cadena c, int tf, int ni) if (StringLen (c) lt; 6) return (0); RefreshRates (); dual copen = iOpen (c), tf, ni)MarketInfo (c, MODE_POINT); rendimiento (copen); =============================================== ======= Entonces, supongamos que quiero crear un indicador RSI o un indicador Stochs para su cesta ... En lugar de tener que duplicar el código para replicar los búferes, por ejemplo ... la oferta (como RSI). ... O los almacenamientos intermedios altos, bajos, de la oferta (tales como Stochs) puede ser referencia posible del Indicador original en digamos ... Sub Window1, indicador = BasketBars, buffer1, elemento del conjunto 27 o cualquier cosa. Espero que puedas ver a dónde voy para esto. ¿Hay algo que estoy pasando por alto en la programación general de MQL que podría disminuir todo este código redundanteduplicado que estoy usando actualmente? Como dije ... mis indicadores funcionan bien ... Sin embargo, tengo la sensación de que me estoy perdiendo algo que podría hacer que TODO sea más simple y quizás más rápido. Me encanta que tener la capacidad de referenciar el indicador original ... no conduzca a un rendimiento mucho más rápido en este caso, ya que ambos amortiguadores ... desde el original y en el indicador de cesta RSI solo están modificando las velas cambiadas más recientes cuando apuntaste fuera ... pero teóricamente ... ¿Podría ser posible? Como el resultado final de la eegia utiliza múltiples marcos de tiempo para las 8 cestas, cada período utiliza RSI y Stochs con cada uno usando 3 períodos distintos .... Por lo tanto, aunque en 1 caso el aumento del rendimiento podría ser insignificante, en general podría ser signifiivo . Gracias por cualquier ayuda o sugerencias ... Me encanta.

  4. #4
    Veo lo que está pidiendo y, lamentablemente, no puede mencionar los búferes de un indicador de realización. Eso estaría bien, y MT4 no está bien. Jaja! Su única esperanza es la función iCustom en la que es posible hacer referencia individualmente a cada uno de esos búferes.

  5. #5

    Cita Iniciado por ;
    Veo lo que estás pidiendo y lamentablemente no puedes hacer referencia a los almacenamientos intermedios desde un indicador de funcionamiento. Eso sería realmente bueno, y MT4 no es agradable. Jaja!
    Gracias Magnum Freak. No lo creo. Oh, bueno ... Al menos no me estoy preguntando. Salud.

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •  
Cookies
Utilizamos cookies propias y de terceros para mejorar nuestros servicios y mostrarle publicidad relacionada con sus preferencias mediante el análisis de sus hábitos de navegación. Si continua navegando, consideramos que acepta su uso. Puede cambiar la configuración u obtener más información y política de cookies aquí.