Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 261

 
tiiga:

Bueno, hay muchos temas con qué índices y qué parámetros usar para ellos - así que decidí hacer un programa que selecciona su propio conjunto de índices.

Se trata de una red neuronal de unas 100 neuronas (se puede cambiar el número, pero incluso con 10 sigue funcionando lentamente) cada una tiene su propio conjunto de diferentes números de índices de 2 a 20. Si una neurona se mata por fallo obtiene un nuevo conjunto de índices.

Optimice primero el algoritmo y luego el código.
 
El algoritmo funciona perfectamente, el mismo algoritmo, cuando no trabajaba con pavos, sino que asignaba yo mismo los paternones, permitía analizar millones de neuronas con suficiente rapidez. (alrededor de una hora para un par de años de historia) son los tocadiscos los que se ralentizan.
 
y con un pavo dinámico también funcionaba más o menos rápido, pero en cuanto aumentaba el número de pavos dinámicos se ralentizaba mucho.
 
tiiga:
Y funcionaba más o menos rápido con un solo indicador dinámico, pero cuando aumentaba el número de indicadores, todo se ralentizaba drásticamente.

¿Debo rociarlo con agua bendita?

¿Qué otro consejo puedo darle? Te has quedado con el hecho de que has acertado. La lógica es perfecta, el algoritmo es súper. Todo está afinado, no hay errores en ninguna parte, todo el código está optimizado para la velocidad de ejecución.

Puedo darte el número de teléfono de Hottabych.

 

la pregunta era

1) ¿el trabajo del indicador es diferente si se llama a través de iCastom

2) ¿Es razonable intentar arrancar los cálculos del indicador y pegarlos en el Asesor Experto?

También tengo una idea: cuando hago clic en la ayuda, aparece la versión 509. He leído que hay nuevas versiones y que la nueva podría funcionar más rápido.

 
tiiga:

la pregunta era

1) ¿el trabajo del indicador es diferente si se llama a través de iCastom

2) ¿Es razonable intentar arrancar los cálculos del indicador y pegarlos en el Asesor Experto?

También tengo una idea - cuando hago clic en la ayuda, muestra que tengo la build 509 - me pareció leer que hay builds más nuevos y que el nuevo podría funcionar más rápido - tal vez esto ayude?

En tu caso (teóricamente), teniendo en cuenta que cuando llamas al indicador con nuevos parámetros, el terminal carga una nueva copia del indicador y recalcula todo el volumen histórico en el gráfico, tiene sentido "cortar los cálculos del indicador". No olvide añadir el parámetro del número de barras calculadas. Pero la vara siempre es de "doble filo": un indicador correcto en cada tick recalcula 1-2 barras, el código en el Asesor Experto calculará un cierto número de barras para cada tick (y normalmente el cálculo del algoritmo del indicador requiere más que las mencionadas 1-2 barras).

Este tipo de sistemas complejos (adaptativos) deben ejecutarse a la llegada de un nuevo bar. La nueva construcción (por ahora experimental) no ayudará.

P.D. Un ejemplo de cómo "arrancar" un código indicador puede verse aquí.

 

Gracias, eso suena bien.

Sólo necesito entender un poco el código:)

Menos mal que está bien comentado.

 
TarasBY:

En tu caso (teóricamente), teniendo en cuenta que cuando llamas al indicador con nuevos parámetros, el terminal carga una nueva copia del indicador y recalcula todo el volumen histórico en el gráfico, tiene sentido "arrancar los cálculos del indicador". No olvide añadir el parámetro del número de barras calculadas. Pero la vara siempre es de "doble filo": un indicador correcto en cada tick recalcula 1-2 barras, el código en el Asesor Experto calculará un cierto número de barras para cada tick (y normalmente el cálculo del algoritmo del indicador requiere más que las mencionadas 1-2 barras).

Este tipo de sistemas complejos (adaptativos) deben funcionar a la llegada de un nuevo bar. La nueva compilación (por ahora, experimental) no ayudará.

P.D. Un ejemplo de cómo "arrancar" el código del indicador puede verse aquí.


Pero hay una opción alternativa - para organizar sobre la base de los búferes dinámicos EA, como en el indicador, y transferir toda la lógica a la EA. En este caso, lo único que debe cuidar el programador es el tamaño de los búferes, que se ajusta automáticamente al número de barras en el historial (lo mismo que hace el terminal para el indicador). Por lo demás, obtenemos las ventajas del Asesor Experto y del indicador en un solo paquete (además, el número de buffers es casi ilimitado).


Cómo organizar los buffers dinámicos en un EA, lo mostré una vez, puedo repetirlo, si lo necesitas.

 
He oído que los induladores estándar también pueden modificarse: ¿es posible hacer que lean un número limitado de compases en lugar de toda la historia?
 
tiiga:
Me ha parecido oír que los indicadores estándar también se pueden modificar: ¿es posible hacer que lean un número limitado de barras en lugar de todo el historial?

Por supuesto, basta con establecer una condición adecuada, en los ejemplos estándar es una variable límite