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

 
rapid_minus:

¡Ay! ¡Gurú! ¿Te rompiste el dedo en la palma?

¿Creías que no tenía nada más que hacer? Me sorprende oír eso...

Nadie puede encontrar un error lógico más que tú, porque nadie sabe lo que pretendes. Y cada uno tiene un estilo de escritura diferente y a mí personalmente me cuesta leer tu código, no veo el emparejamiento de paréntesis. Cada paréntesis de cierre está situado debajo del de apertura y cada par de paréntesis no es equidistante del borde izquierdo. Esto se solucionó cuando los paréntesis no estaban resaltados, y ahora tampoco lo están en el foro.

¿Qué es (condición A, B, C, D, D, E)? Aparentemente hay un error aquí, pero no es seguro. ¿Y está seguro de que los pedidos se abren con los magos de la lista? ¿Conoce los métodos para encontrar errores lógicos? Se le ha aconsejado repetidamente que desimprima el código y vea dónde entra la ejecución y dónde no, y sigue pidiendo ayuda.

 
tuner:
Probablemente... hay funciones incorporadas en MQl4 relacionadas con el guardado y la carga de plantillas: ChartSaveTemplate, ChartApplyTemplate
Lo tengo, ¡gracias!
 

Quería escribir un sencillo script para crear un segmento(línea de tendencia) en un gráfico con el inicio en el lugar donde se lanza el script (no hay problema con eso) y el final en las coordenadas donde se hará el clic izquierdo del ratón... Aquí es donde tropecé... Cómo hacerlo en un indicador o experto para captar este evento es elemental, pero ¿cómo hacerlo en un script? ¿Cómo lo hago en Script?

 
Batman:

Quería escribir un sencillo script para crear un segmento (línea de tendencia) en un gráfico con el inicio en el lugar donde se lanza el script (no hay problema con eso) y el final en las coordenadas donde se hará el clic izquierdo del ratón... Aquí es donde tropecé... Cómo hacerlo en un indicador o experto para captar este evento es elemental, pero ¿cómo hacerlo en un script? ¿Cómo lo hago en Script?

Haciendo un bucle con el guión.
 
tara:
Haciendo un bucle con el guión.

He probado, por ejemplo, un bucle en OnStart está girando por sí mismo, peroOnChartEvent ya no se ejecuta en ese momento ...

¿Hay algún ejemplo práctico de cómo evitar que el script termine hasta que espere un evento de clic del ratón?

 
Batman:

He probado, por ejemplo, un bucle en OnStart está girando por sí mismo, pero OnChartEvent ya no se ejecuta en ese momento ...

¿Hay algún ejemplo práctico de un script que no termine hasta que espere un evento de clic del ratón?

¿Qué tal un bucle a través de una función personalizada que depende de OnChartEvent para regresar?

Esto es una improvisación. No estoy seguro de que funcione, pero si tuviera que hacerlo, probaría esta misma solución.


zy. Supongo que me precipité con mi opinión. El evento OnChartEvent parece no estar disponible en los scripts
 
AlexeyVik:

Y si se realiza un bucle a través de una función personalizada cuyo retorno depende de OnChartEvent

Esto es una improvisación. No estoy seguro de que funcione, pero si tuviera que hacerlo, probaría esta misma solución.

Y ¿cómo se vería?).

De alguna manera sospecho que al organizar cualquier bucle en el script, el procesamiento de eventos ya no tiene lugar... Si es que se hace cuando se ejecutan los scripts, ya lo dudo...

¿Una tarea tan sencilla no tiene solución, al menos "sin bailar con panderetas"?

 
Batman:

¿Cómo sería eso?)

De alguna manera sospecho que cuando se establece cualquier bucle en un script, el procesamiento de eventos ya no tiene lugar... Si se hace al ejecutar los scripts - ya lo dudo...

¿Una tarea tan sencilla no tiene solución, al menos "sin bailar con panderetas"?

Bueno, el bucle a través de una función definida por el usuario es simple. Esta función se llama a través del bucle while y dependiendo del valor devuelto repite o rompe

Pero la presencia de OnChartEvent en los scripts es... es cuestionable.

Aparentemente, hay que entender qué es posible en los guiones y qué es más caro de poner. Me parece que el resultado puede ser imprevisible y depende del usuario, no del programador. Imagínate lo que ocurrirá si no pulsas la "rata" en un script así... el bucle no terminará. ¿Y qué puede hacer el usuario a continuación? Como un mono con una granada.

 
AlexeyVik:

Bueno, el bucle a través de una función personalizada es simple. El bucle while llama a esta función y dependiendo del valor devuelto, repite o rompe

Pero la presencia de OnChartEvent en los scripts... es cuestionable.

Aparentemente, hay que entender qué es posible en los guiones y qué es más caro de poner. Me parece que el resultado puede ser imprevisible y depende del usuario, no del programador. Imagina lo que ocurrirá si no pulsas la "rata" en un script así... el bucle no terminará. ¿Y qué puede hacer el usuario a continuación? Como un mono con una granada.

Una tontería sobre un mono con una granada...)) El script se arrastra al gráfico con el ratón, luego el usuario hace clic en el lugar adecuado del gráfico (los eventos pendientes e interceptados deben gestionarse de alguna manera...), se crea un objeto gráfico, el script completa su trabajo. Para los "olvidadizos", es posible poner fin a la espera una vez transcurrido un tiempo. Incluso una secuencia de comandos "colgada" se elimina del gráfico haciendo clic con el botón derecho en "Eliminar secuencia de comandos".

Pregunta - ¿Por qué no es posible manejar eventos de pulsación de botones o similares en el script? ¿Qué está prohibido aquí?

 
Batman:

Alguna tontería sobre un mono con una granada...) El script se arrastra al gráfico con el ratón, luego se hace un clic bastante natural en el lugar correcto del gráfico (se supone que la espera y la captura de eventos se organizó de alguna manera...), se crea un objeto gráfico, el script termina. Para los "olvidadizos", es posible poner fin a la espera una vez transcurrido un tiempo. Incluso una secuencia de comandos "colgada" se elimina del gráfico haciendo clic con el botón derecho en "Eliminar secuencia de comandos".

Pregunta - ¿Por qué no es posible manejar eventos de pulsación de botones o similares en el script? ¿Qué está prohibido aquí?

No te lo vas a creer. Tengo un amigo al que le digo "terminal cercano"... ¿Qué crees que hace? EL HACE... Eso es lo que yo llamo "mono con granada". Nunca se sabe dónde la va a lanzar. Nunca adivinarás lo que un usuario así hará a tu programa.

La razón por la que el procesamiento de eventos es imposible es una pregunta para MQ.

Intente resolverlo utilizando el Asesor Experto que borra el Asesor Experto del gráfico utilizando la función ExpertRemove()