![MQL5 - Lenguaje de estrategias comerciales para el terminal de cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
¿CUÁNDO quieres usar una variable STATIC - qué problemas puede resolver?
¿Cuándo se quiere poner algo en la sección INIT() - qué problemas resuelve?
Big BeEntonces, una respuesta a esto, es que en lugar de, o además de, las explicaciones en la documentación de MQ4?
¿Cómo hacer un seguimiento de múltiples órdenes?
Actualmente estoy haciendo un EA que sólo tiene 1 comercio abierto a la vez.
Tengo un montón de variables para realizar un seguimiento de lo que está sucediendo durante este comercio.
Si tuviera más operaciones abiertas al mismo tiempo pensé que podría usar arrays para estas variables con el número de ticket como clave. Pero según tengo entendido las claves tienen que ser 0,1,2,3 etc. ¿no? Así que esto no sería posible.
En lugar de eso podría tener un array multidimensional como este, espero que entiendas mi descripción tipo javascript/php.
barsSinceOpen = array(
0 => array(0 => 123123, 1 => 63)
1 => array(0 => 552352, 1 => 5)
);
El 0 en la segunda dimensión sería el número de ticket, y el 1 sería la cantidad de barras desde que se abrió la operación.
barSinceOpen es solo un ejemplo.. Sé que podría calcular este para cada comercio cada vez que quiero, pero ese no es el punto. Tengo MUCHAS cosas que tengo en cuenta para una operación.
Y para seleccionar la orden correcta tendría que iterar sobre el array y seleccionar el array de 2º nivel con ticket correcto.
¿Crees que esto es una buena idea? ¿Cómo lo harías tú?
Otra pregunta
Parece que cuando hago un orderModify() para establecer un take profit por ejemplo.
Y luego antes del siguiente tick o podríamos decir antes de seleccionar la misma orden de nuevo hago otra orderModify() para establecer un stop loss. Y en esa orden utilizo OrderTakeProfit() para que no elimine el take profit. Pero, elimina el take profit de todos modos.
¿Tengo que esperar al siguiente tick o seleccionar la orden de nuevo para que OrderTakeProfit() me devuelva el nuevo take profit?
¿Cuándo quieres usar una variable STATIC - qué problemas puede resolver?
¿Cuándo quieres poner algo en la sección INIT() - qué problemas resuelve?
Big BeEntonces, una respuesta a esto, es que en lugar de, o además de, las explicaciones en la documentación MQ4?
Eso sería por añadidura.
(Siempre intento hacer los deberes antes).
Quizás necesite explicación y ejemplo(s).
Big Be
¿Cuando quieres usar una variable ESTATICA - que problemas puede resolver?
¿Cuándo quieres poner algo en la sección INIT() - qué problemas resuelve?
Big BeUna variable estática permanecerá igual con cada llamada a la función en la que esté esa variable, a menos que se cambie en la función, por supuesto. Puedes querer un entero en esa función solamente que quieres incrementar en 1 por ejemplo en cada llamada a la función.
Pero, también podrías usar variables globales para esto.
Ejemplo de init:
int init() {
TakeProfit=TakeProfit*Punto;
StopLoss=StopLoss*Punto;
TrailingStop=TrailingStop*Punto;
breakEven=breakEven*Point;
return(0);
}
Estas son variables externas y se pone takeprofit a 50 por ejemplo si quieres 50 pips. Pero para que esto funcione en el EA hay que multiplicarlo por el valor del pip de la divisa 0,001 por ejemplo.
Una variable estática permanecerá igual con cada llamada a la función en la que esté esa variable, a menos que se cambie en la función, por supuesto. Es posible que quieras un entero en esa función solamente que quieras aumentar en 1 por ejemplo cada llamada a la función.
Pero, también podrías usar variables globales para esto.
...
Simon-
Gracias. Por favor, ayuda a aclararlo:
¿Significa esto que una variable estática mantiene el último valor asignado a ella aunque no sea global?
En cuanto a init(), parece que se utiliza como función de configuración.
- ¿Puedes decirme otros buenos ejemplos para ello?
- ¿Hay que seguirla con deinit()?
Ser grande
Pregunta a
Hola amigos,
Tengo muchos mensajes privados pidiéndome ayuda con algunas piezas de código.
Aquí podéis publicar vuestras preguntas relacionadas con MQL4, y haré lo posible por responderlas.Hola,
Quiero aprender mql directamente de ti he leído tu tutorial y he estado codificando un par de EA.
ma color basado en el cierre
HI,
hay algún indicador de ma que cambie de color según el cierre de la vela, por ejemplo si la vela cierra por encima de la SMA entonces el color de la línea es azul pero si está por debajo de la MA entonces el color cambiará a rojo.
Sé que hay un indicador que se llama "ma_in_color.mq4" lo siento pero no sé cómo publicarlo, mi pregunta es, si hay alguien por ahí, que podría programar una alerta de sonido en este indicador.
muchas gracias
¿Cuál es la forma más fácil de conseguir que los valores de los búferes de un indicador se muestren como un comentario o se impriman en la carpeta de expertos para que pueda ver el cambio de los valores? Tengo 8 buffers en este indicador.
Dave
ctrl-D .