Discusión sobre el artículo "LifeHack para tráders: preparando "comida rápida" a partir de indicadores" - página 2
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
...
Además, extracción ineficiente por 1 valor del indicador.
...
Todo esto es en teoría. Pero en la práctica, el 99% de los indicadores se calculan en búferes anulares FIFO: eliminar el último elemento, añadir uno nuevo, volver a calcular el indicador. Es decir, de nuevo en la práctica la adición al buffer de cálculo se hace por un elemento y el 99% de todos los cálculos en el indicador es la adición de un elemento. Por lo tanto, la idea de CopyBuffer, CopyRates, CopyXXX es bonita pero no corresponde al tema.
...
Horror duro con fugas de mango (¿por qué cerrar el mango del indicador?) y la sobrecarga increíble (tratando de recrear el indicador, cayendo dentro del gestor de indicadores). Y bastante gente lo copiará sin mirar y sin entender.
...
No está claro lo que querías decir. Por lo que tengo entendido, los manejadores no se cierran en ningún sitio( no hayllamadas a IndicatorRelease ). Hay una llamada constante a funciones estándar de creación de hendle, como iMACD:
Obviamente, todo el juego aquí se basa en el hecho de que iMACD y funciones similares almacenan en caché la manija devuelta previamente dentro de sí mismos, por lo que no debería haber recreación del indicador.
Todo esto es en teoría. Pero en la práctica, el 99% de los indicadores son cálculos en búferes de anillo FIFO: borrar el último elemento, añadir uno nuevo, recalcular el indicador. Es decir, de nuevo en la práctica la adición al buffer de cálculo se hace por un elemento y el 99% de todos los cálculos en el indicador es la adición de un elemento. Por lo tanto, la idea de CopyBuffer, CopyRates, CopyXXX es hermosa pero no corresponde al tema.
Esto es si escribes los manejadores de ultima mirada mas simples y primitivos. Pero en cuanto des un paso al lado y empieces a controlar 2 o más puntos, verás inmediatamente la diferencia y el efecto.
En general, por supuesto, es extraño escuchar que las funciones CopyXXX supuestamente no están en el tema.
Usted debe tratar muy duro para decir tales cosas acerca de las funciones básicas de acceso al entorno de mercado.
Y también - no es por nada que los indicadores se les da el 100% de toda la historia para los cálculos:
Esto es para demostrar que no hay "99% en el búfer de anillo". El acceso masivo al historial, no a los últimos valores individuales, es muy necesario.No está claro a qué te refieres con lo que has dicho. Por lo que tengo entendido, los hendles no se cierran en ninguna parte( no hayllamadas a IndicatorRelease ). Hay una llamada constante a funciones estándar de creación de hendles, como iMACD:
Obviamente, todo el juego se basa en el hecho de que iMACD y funciones similares caché de la manija devuelta anteriormente dentro de sí mismos, por lo que no debería haber ninguna recreación del indicador.
Todo el juego está construido sobre hack y completa indiferencia por el control de las manijas.
Otro trader toma este código, no presta atención a la asignación de handles, comienza a hacer llamadas con diferentes parámetros, multiplica indicadores, pierde todos los handles, y luego se sorprende por los frenos y el consumo de memoria.
Ya se sabe de quién es la culpa.
El artículo es un pequeño extracto de otro.
No he visto ninguna analogía.
No se ha hecho nada para que funcione eficientemente. No hay almacenamiento en caché de los indicadores y series de tiempo.
Realmente hay espacio para la optimización aquí. La introducción de almacenamiento en caché sería una muy buena idea.
High[i], Low[i], etc. faltan.
¿Deberían estar presentes? Creo que el título del artículo (o más bien su descripción) dice claramente sólo acerca de los indicadores?
No iCustom.
Desafortunadamente, MQL no soporta funciones con un número arbitrario de parámetros, por lo que no es posible implementar iCustom "como en MT4".
Era de esperar ver algo completamente diferente. Por otra parte, ¿cuál es el punto de comida rápida en EAs, si ni siquiera huele en las fuentes de todos modos?
No creo que sea posible escribir un motor completo emulando completamente el estilo de MT4 en un solo artículo. El tema estaba claramente expuesto: trabajar con indicadores al estilo MQL4 (es una lástima que el título del artículo no refleje el tema, que es confuso).
...
Esto es para demostrar que no hay "99% en el búfer de anillo". Son los accesos masivos a la historia, no los últimos valores individuales, los que son muy necesarios.Los hay y se utilizan un poco más a menudo que constantemente. Simplemente no hay medios especiales y los desarrolladores tienen que crear bucles anidados. Abra cualquier indicador con doble anidado for's: felicitaciones, el búfer de anillo se ha encontrado. He aquí un ejemplo de su cálculo supereficiente del indicador IMF:
Bueno, es obvio que la velocidad de cálculo de este indicador depende del periodo de promediación, y no debería ser así. Y hay un montón de ejemplos de este tipo, algunos escritos por el propio MQ, y dices que no hay ring buffer.
Los hay y se utilizan un poco más a menudo que siempre. Lo que ocurre es que no hay herramientas especiales y los desarrolladores tienen que crear bucles anidados. Abra cualquier indicador con doble for anidado: enhorabuena, se ha encontrado el búfer anular. He aquí un ejemplo de su cálculo supereficiente del indicador IMF:
Bueno, es obvio que la velocidad de cálculo de este indicador depende del periodo de promediación, y no debería ser así. Y hay un montón de ejemplos de este tipo, algunos escritos por el propio MQ, y dices que no hay ring buffers.
No existen en el 99% de los casos. Y en el 90% de los casos no hay ring buffers y en el 50% de los casos no hay ring buffers. Pero hay un 100% de volumen de datos iniciales (para toda la profundidad de la historia) en los parámetros OnCalculate.
Y ni siquiera se trata de calcular indicadores, sino de utilizar tanto los resultados de los indicadores como el acceso a los datos de partida. El acceso se requiere a escala masiva, no una sola.
Intentas presentar la situación de tal manera que "todo el mercado de análisis está representado por el último valor del indicador" y "CopyXXXX no corresponde al ámbito temático".
Usted se esfuerza por esbozar.
...
Y ni siquiera se trata de calcular indicadores, sino de utilizar tanto los resultados de los indicadores como el acceso a los datos originales. El acceso es necesario a escala masiva, no individual.
...
Por favor, preste atención a la solicitud #1923700. Hay algunos problemas con el acceso frecuente a grandes cantidades de datos.
Hace mucho tiempo que no hay comentarios y preguntas para proporcionar información adicional para ayudar a averiguar la razón de este resultado.
Otro trader toma este código, no presta atención a la asignación de handles, comienza a hacer llamadas con diferentes parámetros, multiplica los indicadores, pierde todos los handles, y luego se sorprende por los frenos y el consumo de memoria.
Del mismo modo, este otro trader puede empezar a hacer llamadas a iHandles estándar con diferentes parámetros. Si los parámetros son diferentes, se crearán indicadores diferentes, independientemente de si trabaja con el handle directamente o utiliza MQL4-Style.
Te estás esforzando mucho por esbozar.
Y esto es una vergüenza.
Y ni siquiera se trata de calcular indicadores, sino de usarlos como resultados de indicadores.
Sí.
...
De todos modos, no voy a discutir, ya que no tiene sentido. Sería interesante recopilar estadísticas sobre el uso de las funciones Copy***. Cuántos elementos copian los usuarios por término medio mostraría mucho.