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
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.
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.
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)
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.
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.
¿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
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
¿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.