Deseos para MT5 - página 113

 

Lo que falta en MQL es una función que dé salida al número de barras cambiadas para un símbolo/línea de tiempo especificado. Cada vez tengo que comprobar todo el historial y compararlo con el anterior para encontrar los cambios. Es muy irracional, requiere un gasto de memoria para guardar el historial completo en un array, además del coste de obtener y comparar el propio historial.Especialmente con MT5, donde el historial anterior se borra periódicamente de la memoria y luego hay que descargarlo del disco. Y ni siquiera voy a hablar de complicar el código. Tantas dificultades ridículas, en lugar de simplemente preguntar a Metatrader que sabe exactamente si el historial ha sido cambiado o no.

Los indicadores tienen un mecanismo similar (parámetro prev_calculado), pero sólo para ese símbolo y período, en el que el indicador se está ejecutando. Y diferentes símbolos pueden participar en los cálculos. Por lo tanto, necesitamos una función que devuelva el número de barras actualizadas (o el tiempo, desde el que comienzan las barras actualizadas) para cualquier símbolo.

 
Señores desarrolladores, ¿piensan hacer un resaltado de sintaxis normal en el MetaEditor? Es decir, los tipos/clases en un color, las variables en otro, las funciones en el tercero, las macros en el cuarto, etc. En general, como en los IDEs normales. De lo contrario, sólo se resaltan las herramientas estándar de MQL. Como resultado, cuando se utiliza activamente OOP todo el código se convierte en un texto negro sólido (sin contar los operadores). No podrá distinguir inmediatamente los nombres de las clases, objetos y funciones. Es muy difícil de leer. A menudo me sorprendo pensando que es mucho más agradable utilizar las primitivas estándar en aras de la claridad del código (para que no parezca una masa negra). Y no debería ser así.
 
meat:
Señores desarrolladores, ¿piensan hacer un resaltado de sintaxis normal en el MetaEditor? Es decir, los tipos/clases con un color, las variables con otro, las funciones con otro, las macros con el cuarto, etc. En general, como en los IDEs normales. De lo contrario, sólo se resaltan las herramientas estándar de MQL. Como resultado, cuando se utiliza activamente OOP todo el código se convierte en un texto negro sólido (sin contar los operadores). No podrá distinguir inmediatamente los nombres de las clases, objetos y funciones. Es muy difícil de leer. A menudo me sorprendo pensando que es mucho mejor utilizar primitivas estándar en aras de la claridad del código (para que no parezca una masa negra). Pero no debería ser así.
¡¡¡Abrir en otros compiladores!!!
 

Lástima que ninguno de los desarrolladores responda en este hilo. Me pregunto si siquiera miran aquí... En el servicio de atención al cliente también, todas las sugerencias suelen quedar sin respuesta (sólo se responden los errores). No es bueno.

Pero sigamos con ello.

De vez en cuando me encuentro con un problema tal que es imposible identificar claramente el Asesor Experto/indicador que se está ejecutando. Por ejemplo, un Asesor Experto crea y utiliza un archivo (o una variable global) que se utiliza específicamente para este EA (o más bien, para esta instancia).Y otros EAs no deberían utilizar este archivo / variable global, tienen los suyos propios. Entonces, ¿cómo debería el EA encontrar su archivo / variable después del reinicio del terminal o después de la reinicialización de los parámetros?

Si el archivo se nombra por el nombre del EA / símbolo / marco temporal, entonces cualquier otra instancia de este EA en un gráfico similar abrirá ese archivo. Si el archivo se nombra por el manejador de la ventana, entonces el manejador ya no será válido después de una recarga.

En resumen, necesitamos un ID único para el EA/indicador, que no cambie en la recarga. Por ejemplo, puede ser la hora de vinculación del EA con el gráfico. Sugiero añadir este parámetro a MQLInfoInteger.

 

En el MetaEditor, queremos ser capaces de ir un paso atrás.

Es decir, llamar a la función "Función_B" desde la función "Función_A":

bool Function_A(void)
  {
   Function_B()
   return(true);
  }

Después de hacer clic en el texto"Función_B" y de pulsar el botón central o Alt+G, se pasa a la función_B. Después de revisar el código, es necesario volver al lugar de la llamada - a Function_A. Pero no existe tal funcionalidad. Y queremos hacerlo.

 
Karputov Vladimir:

En el MetaEditor, queremos ser capaces de ir un paso atrás.

Es decir, llamar a la función "Función_B" desde la función "Función_A":

Después de hacer clic en el texto"Función_B" y, a continuación, pulsar el botón central o Alt+G, se pasa a la Función_B. Después de revisar el código, es necesario volver al lugar de la llamada - a Function_A. Pero no existe tal funcionalidad. Pero nos gustaría.

Sí, sería conveniente. Escriba también al Servicio de Atención al Cliente.

Tenemos acceso rápido a la definición(Alt+G). Necesitamos un cambio rápido de la definición a la espalda.

 
Karputov Vladimir:

En el MetaEditor, queremos ser capaces de ir un paso atrás.

Es decir, llamar a la función "Función_B" desde la función "Función_A":

Después de hacer clic en el texto"Función_B" y, a continuación, pulsar el botón central o Alt+G, se pasa a la Función_B. Después de revisar el código, es necesario volver al lugar de la llamada - a Function_A. Pero no existe tal funcionalidad. Y queremos hacerlo.

paso adelante Ctrl+-, paso atrás Ctrl+Mayús+-
 
Vitalie Postolache:
paso adelante Ctrl+-, paso atrás Ctrl+Mayús+-
No es cierto. No funciona.
 
Karputov Vladimir:
No es cierto. No funciona.

Es extraño, a mí me funciona. He pulsado Alt+G en la llamada a la función y he saltado a la definición de la función, luego he pulsado Ctrl+- y he vuelto a saltar.

Me confundí con las combinaciones anteriores, es al revés: paso adelante Ctrl+Mayús+-, paso atrás Ctrl+-, lo siento.

 
Karputov Vladimir:
No es cierto. No funciona.
Lo he probado. A mí me funciona. )
Razón de la queja: