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
Foro sobre trading, sistemas de trading automatizados y pruebas de estrategias de trading
Bichos, errores, preguntas
tol64, 2013.05.05 19:21
Lo he entendido, pero no he resuelto mi problema. Todavía no lo he solucionado, ocurre en contadas ocasiones y en fines de semana (cuando los ticks no llegan) al cambiar de timeframe/símbolo. En ocasiones, la serie de indicadores no se muestra ni en el navegador de la ventana de datos ni en el gráfico, pero los datos pueden recuperarse mediante programación. Se ve así:
...
//---
Primero pensé que si la subventana no se muestra y en el navegador de la ventana de datos también, significa que los buffers están vacíos(empty_value) y al comprobarlo puede llamar a OnCalculate() para actualizar. Pero no funcionó porque los melones están en los topes.
¿Es un error?
Manualmente se arregla rápidamente si se cambia de horario. Por supuesto, me gustaría no tener que explicárselo a los usuarios, sino resolverlo de forma ordenada mediante programación. ¿Alguien se ha encontrado con este problema?
Si no es un error, entonces necesitamos una forma de determinar que las series gráficas del indicador no se muestren en la subventana (y en la ventana de Datos, también). El modo de hacerlo no está claro, ya que es posible obtenerlos mediante programación. A continuación, tras determinar que no hay nada en la subventana, llamamos a OnCalculate() en el temporizador para recalcular poniendo a cero la variable prev_calculado.
Lo siguiente está escrito en la Ayuda:
Para ello, suele bastar con devolver el valor del parámetro rates_total, que contiene el número de barras de la llamada a la función actual. Si desde la última llamada de OnCalculate() los datos del precio fueron cambiados (se bombeó un historial más profundo o se llenaron los espacios en blanco del historial), entonces el valor del parámetro de entrada prev_calculado será puesto a cero por la terminal.
Nota: si la funciónOnCalculate devuelve cero, los valores del indicador no se muestran en la DataWindow del terminal cliente.
En mi caso se han realizado todos los cálculos (sólo pueden iniciarse después de todas las comprobaciones) y OnCalculate() devuelve un valor distinto de cero, por lo que los datos pueden obtenerse mediante programación. Pero esto no es coherente con lo que está escrito en la Ayuda.
En el código fuente de la biblioteca estándar encontré la siguiente construcción
//+------------------------------------------------------------------+}
¿Qué es esto? :)
En el código fuente de la biblioteca estándar encontré la siguiente construcción
//+------------------------------------------------------------------+}
¿Qué es esto? :)
¿Qué quieres decir?
Lo que hace, lo entiendo. Más bien, me refiero a dónde en el doc dice que se use este tipo de sintaxis, cómo se llama, por ejemplo
allí
Foro sobre trading, sistemas de trading automatizados y pruebas de estrategias de trading
Bichos, errores, preguntas
tol64, 2013.05.06 02:38
...
En mi caso, todos los cálculos se han realizado (es posible hacerlos sólo después de todas las comprobaciones) y OnCalculate() devuelve un valor distinto de cero, por lo que los datos se pueden obtener mediante programación. Pero esto no concuerda con lo que está escrito en la Ayuda.
Solicitud #740856.
Por lo tanto, hay alguna otra razón por la que los valores de los indicadores pueden no mostrarse, incluso si los búferes se han llenado y OnCalculate ha devuelto un valor distinto de cero.
Descubierto accidentalmente. Si hace doble clic en un espacio vacío de la ventana de órdenes, el gráfico de ticks se oculta. ¿Es un error o una característica? )