Deseos para MQL5 - página 100

 
YuraZ >> :

Veo que hay una función printf

y lo bonito que sería tener también sprintf

Quizás la función StringFormat() pueda sustituirla:

StringFormat

Formatea los parámetros recibidos y devuelve una cadena.

cadena StringFormat(
cadena formato, // cadena de formato
... ... // parámetros
);

Parámetros

formato

[Cadena que contiene el método de formateo. Las reglas de formato son las mismas que para PrintFormat.

...

[en] Parámetros, separados por comas.

Valor devuelto

Cuerda.


 
Rosh писал(а) >>

Quizás la función StringFormat() podría sustituirla:

Entiendo que a la función StringFormat se le debería asignar un sinónimo de sprintf, similar a PrintFormat y printf. Pero en este caso, necesitamos implementar también la función snprintf.

 
Rosh >> :

La ayuda de MQL5 dice:


Uh-huh... Sólo este evento para los indicadores, que (por ahora?) no permiten trabajar con objetos.

Nos pidieron que implementáramos dicho indicador como Asesor Experto. Pero los expertos no pueden contar las barras modificadas(OnCalculate)

 
Roffild писал(а) >>

Uh-huh... Sólo este evento es para los indicadores que (¿todavía?) prohíben trabajar con objetos.

Nos pidieron que implementáramos dicho indicador como Asesor Experto. Pero la función para calcular las barras modificadas(OnCalculate) no está disponible para los Asesores Expertos.

En OnCalculate, pasamos el número de barras procesadas prev_calculadas que nos devuelve la anterior llamada de OnCalculate. Puede contar las barras procesadas en un Asesor Experto utilizando una variable global o local estática.

 
stringo >> :

En OnCalculate el número de barras procesadas prev_calculado, que es devuelto por la llamada anterior a OnCalculate. En un Asesor Experto, usted puede contar las barras procesadas por usted mismo usando alguna variable global o local estática.

¿Puedo saber en un Asesor Experto que un usuario ha cambiado el marco temporal del gráfico y que todas las barras deben ser recalculadas?

No existe ese problema en los indicadores.

 
Roffild писал(а) >>

¿Puedo saber en el EA que el usuario ha cambiado el marco temporal del gráfico y que todas las barras deben ser recalculadas?

Sí, puedes hacerlo. Primero se llamará a la función OnDeinit con los parámetros antiguos y luego a la función OnInit con los nuevos

 
Permitir que los expertos muestren sus datos enla"Ventana de datos" ya que muchos tienen que reescribir los indicadores en los "expertos"
 

Me gustaría que mql5 tuviera resaltado de sintaxis, y lo que es más importante, corchetes al cerrar (un par de corchetes es cerrable), sustitución de funciones y texto, corrección de la sintaxis de la escritura de comandos y signos de comparación >=,<=,=<,=>, la posibilidad de conectar ventanas adicionales en el Asesor Experto - por ejemplo ObjWindowCreate(string Name, bool TypeWindow=false) [false - como ventana del indicador, true - como ventana independiente para los pares de divisas].

También aconsejaría tomar la interfaz del editor de NotePade++

Me gustaría poder ocultar o abrir el texto de las funciones marcando el código de la función y haciendo clic en el signo menos en el panel izquierdo junto al título de la función.

Añadir el tipo de variable como LineType - para que las propiedades del EA puedan seleccionar por separado el tipo de línea mostrada en sus ajustes

Crear int's separados para la inicialización de los ajustes cuando el EA está trabajando - ejemplo int OnChangeProperty() { return(0)}

Añadir funciones como AccountMaxLot() - la oferta máxima actual de un cliente

También estaría bien añadir a la ventana de creación de pedidos una etiqueta que muestre la cantidad necesaria para el lote seleccionado

Crear una función que muestre el beneficio actual de una orden específica con o sin tener en cuenta el spread y el swap - por ejemplo int CalculateProfitOrder(int OrderNumberHistoryList, bool spred=false, bool swop=false)

donde el número es el número de orden en la lista de órdenes activas

Hacer soporte de variables de cadena en unicode y función de inserción - cadena CharUTF(cadena Fuente, cadena 'u+0021') donde u+ es la cabecera unicode y 0021 es el código del símbolo en la tabla de símbolos

o cadena CharUTF(cadena Fuente, cadena U'0021'), mejor añadir una representación de caracteres al intérprete, como fecha o color con cabecera U'xxxxx'.

también hacen funciones para traducir cadenas mediante string CharToUtf(string Text) y string UtfToChar(string UtfText).

Y en general, sería mejor describir los avatares por tipo para mayor comodidad:

Activación del Asesor Experto OnInit()

Apagando el Asesor Experto OnDeinit()

Cambio de marco temporal OnChangeTimeFrame(int TimePeriod=Period())

Cambiar el zoom OnChangeZoom( int CountBarPerWindow=WindowBarsPerChart())

Nuevo precio OnNewPrice()

Crear una nueva ventana OnCreateNewWindow(string NameWindow, int IndexWindow=WindowFind(NameWindow), bool TypeWindow=false)

Recepción de una solicitud de inversor int OnInvestor (int IndexInvestor - ID del inversor (número de cuenta),string NameInvestor - descripción del inversor, ..... - parámetros separados por comas para el comando OrderSend( return(Id Create Order) ))

Crear pedido - OnCreateOrder (int IndexOrder=OrderNumberHistoryList)

Editar orden - OnModifyOrder (int IndexOrder=OrderNumberHistoryList)

Evento para cerrar la orden por TP, SL, Fecha o manualmente OnOrderClose (int TypeCloseOrder= CLOSEMODE_ [TP, SL, Fecha, Manual], int IndexOrder=OrderNumberHistoryList, bool PriceType=true)

donde PriceType es un indicador del cierre de la orden verdadero - comercio con un saldo de orden positivo falso - comercio con un saldo de orden negativo

Archivos adjuntos:
 
Quizás esto ya esté implementado en algún EA, pero quiero verlo en la versión básica del programa, es decir, que las etiquetas de los gráficos en los que hay posiciones abiertas o pendientes se resalten con un determinado color. Por ejemplo, la etiqueta del gráfico en el que hay una posición abierta se destaca en amarillo, si el precio se acerca a T/P - en verde, a S/L, respectivamente, en rojo. También sería muy conveniente marcar el atajo necesario con algún color. Esto es muy útil cuando se trabaja con varios (muchos o todos) los instrumentos. El sábado y el domingo, haces tus análisis, seleccionas los pares para esperar una señal, los marcas con un bonito color y los observas.
 

¿Y puede en la parte inferior de la Mt, donde se informa el nombre del perfil y añadir el nombre de la plantilla impuesta?

Nombre del perfil y por lo que se puede ver en la lista de perfiles (siempre hay una marca de verificación para saber dónde se encuentra), pero que la plantilla se superpone ahora no.