[ARCHIVO]Cualquier pregunta de novato, para no saturar el foro. Profesionales, no lo dejéis pasar. No puedo ir a ningún sitio sin ti - 5. - página 209
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
Estas son las funciones, y los objetos son los rectángulos que aparecen en la gráfica.
En primer lugar, imprime algo de las funciones de la biblioteca en Print, para que sepas si son llamadas
Los objetos gráficos se crean en las funciones de la biblioteca . Tras la primera llamada al indicador, los objetos se crean y se muestran en la ventana del terminal.
Cuando los llama de nuevo no están presentes en la lista de objetos, lo que sugiere que las funciones externas no funcionan al recalcular el indicador por alguna razón, y el terminal no dice nada al respecto.Bien. En lugar de signos indirectos, imprima ( " llamada de esta función") en el indicador; veremos de inmediato si se llama a esta función.
Deberías ser menos arrogante, entonces los errores se encontrarán más rápido)
En general, lo más probable es que su problema esté en la función
La cosa es que la estática no se reinicia durante la reinicialización, por lo que cuando se reinicia, su BarTime es siempre igual al tiempo de la última barra contada la última vez, es decir, isNewBar () es falso hasta que llega una nueva vela. Sería mejor mover la función de la biblioteca al inluder mqh y poner a cero BarTime=0 explícitamente en init ().
Esto es sólo un primer vistazo al código, así que no juzgues demasiado si me equivoco.
Yo empezaría por eliminar esta línea de su biblioteca
#property library
Dado que no está utilizando una biblioteca, sino un archivo de inclusión
Por lo que recuerdo, tienes que recordar específicamente esta hora cuando estableces la orden pendiente. Puedes memorizarlo directamente en el comentario de la orden (o en magik, como una perversión especial:).
PREGUNTA 1.
Cómo codificar esta idea.
Para establecer una orden pendiente pero hacer que se convierta en una orden de mercado sólo si el precio establecido de la orden pendiente coincide con el precio de apertura de cualquier vela TF60
PREGUNTA 2.
Cómo codificar esta idea.
Si una orden pendiente se convierte en una orden de mercado, en 10 minutos deberíamos establecer otra orden pendiente con los mismos valores: precio de apertura, precio de stop, volumen como en la orden pendiente anterior que se convirtió en una orden de mercado.
Gracias.
Bien. Tal vez, en lugar de juzgar por los signos indirectos, basta con teclear el propio indicador: Print ("llamada de tal función"); veremos de inmediato si se llama o no.
Si no se confía demasiado, los errores se encontrarán más rápido).
Y en general su problema está muy probablemente en la función
La cuestión es que la estática no se pone a cero al reiniciar, por lo que cuando se reinicia, el BarTime siempre es igual al tiempo de la última barra contada la última vez, es decir, isNewBar () será falso hasta que llegue una nueva vela. Sería mejor mover la función de la biblioteca al inluder mqh y poner a cero BarTime=0 explícitamente en init ().
Esto es sólo un primer vistazo al código, así que no juzgues demasiado si me equivoco.
¡Muchas gracias!
Se ha eliminado isNewBar () de la biblioteca y se ha puesto en el archivo del indicador. Todo funciona como un reloj.