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

 
evillive:

El problema no es para los principiantes, la verdad. Es necesario guardar todo en el gráfico en una plantilla. Luego hay que añadir a esta plantilla el indicador requerido con todos los parámetros y cargar una nueva plantilla de nuevo en el gráfico. El guardado y la carga de la plantilla es posible por medio de MQL, pero para editar el archivo de la plantilla probablemente necesite escribir una DLL, no estoy seguro de que el script personalizado tenga acceso a la escritura de los archivos de la plantilla.

Operaciones con gráficos

Funciones para trabajar con gráficos. Todas las operaciones gráficas son aplicables sólo a los Asesores Expertos y a los scripts.

Las funciones que establecen las propiedades del gráfico sirven en realidad para enviarle las órdenes de cambio. Si estas funciones se ejecutan con éxito, el comando llega a la cola general de eventos del gráfico. La modificación del gráfico se realiza en el proceso de procesamiento de la cola de eventos del gráfico dado.

Por esta razón, no se debe esperar una actualización visual inmediata del gráfico tras la llamada de las funciones. En general, el gráfico es actualizado automáticamente por el terminal en función de los eventos de cambios - llegada de una nueva cotización, cambios en el tamaño de la ventana del gráfico, etc. Para la actualización forzada de la apariencia del gráfico, utilice el comando ChartRedraw().

Función

Acción

ChartApplyTemplate

Aplica al gráfico especificado una plantilla del archivo especificado

ChartSaveTemplate

Guarda la configuración actual del gráfico en una plantilla con el nombre especificado

ChartWindowFind

Devuelve el número de la subventana donde se encuentra el indicador

ChartTimePriceToXY

Convierte las coordenadas del gráfico de la representación de tiempo/precio a coordenadas X e Y

ChartXYToTimePrice

Convierte las coordenadas X e Y del gráfico en valores de tiempo y precio

ChartOpen

Abre un nuevo gráfico con el símbolo y el periodo especificados

ChartFirst

Devuelve el ID del gráfico que sigue al especificado

ChartNext

Devuelve el ID del primer gráfico del terminal cliente

ChartClose

Cierra el gráfico especificado

ChartSymbol

Devuelve el nombre del símbolo del gráfico especificado

ChartPeriod

Devuelve el valor del período del

 
Vinin:

Operaciones con gráficos


Sí, sí exactamente. ¿Dónde está la edición de patrones (o añadir un indicador, como en MT5)? No. Así que la DLL es necesaria, ¿no? ¿O hay algún otro método para añadir un indicador a un gráfico de MT4 que no sea la edición de la plantilla?


La pregunta era sobre la adición de un indicador con la ayuda de un Asesor Experto, aquí

 
evillive:

La tarea no es para principiantes, para ser sinceros. Es necesario guardar todo lo que está en el gráfico en una plantilla, luego añadir el indicador requerido con todos los parámetros a esta plantilla y cargar una nueva plantilla de nuevo en el gráfico. El guardado y la carga de la plantilla es posible por medio de MQL, pero para editar el archivo de la plantilla probablemente necesite escribir una DLL, no estoy seguro de que el script personalizado tenga acceso a la escritura de los archivos de la plantilla.

¿Qué pasa si abro los indicadores requeridos en una ventana separada, lo guardo todo en una plantilla y luego ejecuto el programa en un gráfico "vacío" y abro esta plantilla?
 
waroder:

¿Qué pasa si abro los indicadores que necesito en una ventana separada, lo guardo todo en una plantilla. Luego ejecuto el programa en un gráfico "vacío" y abro esta plantilla. se abrirán todos los indicadores también? o tengo que prescribir la apertura de los indicadores en la propia plantilla?

Después de aplicar la plantilla, todos los indicadores se adjuntarán automáticamente a la ventana del gráfico en cuestión.
 
barabashkakvn:

Después de aplicar la plantilla, todos los indicadores se adjuntarán automáticamente a esta ventana del gráfico.


océanos) lo tengo) gracias, otros

 
waroder:

¿Qué pasa si abro los indicadores que necesito en una ventana separada, lo guardo todo en una plantilla. entonces ejecuto el programa en un gráfico "vacío" y abro esta plantilla. se abrirán también todos los indicadores? o ¿tengo que prescribir la apertura de los indicadores en la propia plantilla?
también hay que añadir el prog a la plantilla, de lo contrario se descargará al cargar la propia plantilla, porque no está prescrito allí. Este es un buen método para desactivar un EA, por cierto ;)
 
Envíame un indicador para que pite cuando se crucen dos coches)
 

Pregunta 1 - En las nuevas versiones de los parámetros externos de los EA (ME5 Build 934; MT4 Build 646), se muestran los comentarios en lugar de los nombres de las variables. ¿Cómo deshacerse de él? Por favor, no me sugiera que no escriba comentarios: los necesito (véase la pregunta 2).

Pregunta 2 - Según tengo entendido, los comentarios están pensados para que el propio programador escriba sus pensamientos, notas y demás mientras escribe el código. Si esto es así (y así lo enseñan en libros y cursos), entonces es una tarea única. Y se nos enseña: una función - una tarea. En consecuencia, cuando esta tarea tiene otra tarea -este es exactamente el juego de palabras para lo que se hace en las nuevas construcciones- se obtiene una vinagreta. - ¿Es esto lo correcto? Si no, cómo escribo entonces mis comentarios, que los necesito, y no quiero que nadie más los vea. Porque si mis comentarios se reflejan en la publicidad, ¿qué clase de comentarios son? Esa es una tarea completamente diferente.

Así que tenemos dos tareas diferentes: "comentar por mí mismo mientras escribo el código" y "describir las variables externas".

Parece que para la nueva tarea "descripción de variables externas", debería asignarse otra opción independiente del compilador. O, al menos, hacer que esta opción la elija el usuario (aunque, esto ya contradice principios básicos de programación).

Si me equivoco, corrígeme.

 
Chiripaha:

Pregunta 1 - En los parámetros externos del EA en las nuevas construcciones (ME5 Build 934; MT4 Build 646), se muestran comentarios en lugar de nombres de variables. ¿Cómo deshacerse de él? Por favor, no me sugiera que no escriba comentarios: los necesito (véase la pregunta 2).

Pregunta 2 - Según tengo entendido, los comentarios están pensados para que el propio programador escriba sus pensamientos, notas y demás mientras escribe el código. Si esto es así (y así lo enseñan en libros y cursos), entonces es una tarea única. Y se nos enseña: una función - una tarea. En consecuencia, cuando esta tarea tiene otra tarea -este es exactamente el juego de palabras para lo que se hace en las nuevas construcciones- obtenemos una vinagreta. - ¿Es esto lo correcto? Si no, cómo escribo entonces mis comentarios, que los necesito, y no quiero que nadie más los vea. Porque si mis comentarios se reflejan en el público, ¿qué clase de comentarios son? Esa es una tarea completamente diferente.

Así que tenemos dos tareas diferentes: "comentar por mí mismo mientras escribo el código" y "describir las variables externas".

Parece que para la nueva tarea "descripción de variables externas", debería asignarse otra opción independiente del compilador. O, al menos, hacer que esta opción la elija el usuario (aunque, esto ya contradice principios básicos de programación).

Si me equivoco, corrígeme.


Por lo tanto, es conveniente que las variables externas sean más legibles para uno mismo y/o para los usuarios.

Y para que los comentarios sobre las variables externas no sean visibles (visibles sólo en el código), basta con escribirlos como una segunda línea.

Así, por ejemplo, en lugar de:

input double AbcD=1.2345;//Хочу профит на отметке:

hacerla en dos líneas:

input double AbcD=1.2345;
//Желаемый уровень профита

En el primer caso, en lugar de Abcd, aparecerían las variables externas: "Quiero beneficiarme a: 1,2345",

en el segundo:"AbcD 1.2345"

 
DiPach:

Es bueno poder hacer que las variables externas sean más legibles para ti y/o tus usuarios.

Y para que los comentarios a las variables externas no se muestren (sólo son visibles en el código), puedes simplemente escribirlos como una segunda línea.

Así, por ejemplo, en lugar de:

hacerla en dos líneas:

En el primer caso, en lugar de Abcd, aparecerían las variables externas: "Quiero beneficiarme a: 1,2345",

en el segundo caso:"AbcD 1,2345".


Sí, no me molesta en absoluto, lo cual es conveniente. Además, entiendo lo que querían conseguir. Pero no se puede implementar una tarea mientras se mata otra.

Es menos conveniente escribir en 2 líneas, porque si hay 5-10 variables, podemos soportarlo (aunque, de nuevo, ¿por qué deberíamos soportarlo?). ¿Pero qué pasa si hay unas 200 de estas variables? En este caso, el tamaño del código será mucho mayor.
Por otro lado, si es otra opción, tendrás que aumentar el tamaño del código a costa de la descripción de la variable. Así que quizás la solución que sugieres sea más óptima y concisa que introducir la 2ª opción. Estoy de acuerdo.

Si no me equivoco, ¿la traducción de carros es una restricción para la descripción de variables?

Y tengo una pregunta adicional:

¿Sería posible hacer las descripciones opcionalmente en varios idiomas a elegir? Eso sería aún más conveniente. : )) En este caso es mejor hacer un opcional de todos modos, en lugar de utilizar los comentarios habituales para la descripción.

Por cierto. De todos modos, estas descripciones de las variables se muestran poco en el diálogo de opciones, ya que los tamaños de las columnas no conservan ninguna extensión y lamayor parte de la descripción se "come" por la estrechez de la columna de descripción. Pero hay un espacio excesivo para los valores variables. Así que queríamos mejorarlo... Pero esto también es un paso adelante. : ))