Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 1076
![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
Hola. Me pueden ayudar si tienen tiempo La pregunta es la siguiente, necesito que el EA abra una orden en cada señal de dos indicadores, (dan una señal cuando están en cierta combinación) en una palabra, debe haber varias órdenes para comprar o vender en el mercado, en consecuencia, de acuerdo a las señales de los indicadores. Pero sólo tengo una orden en el mercado y hasta que no se cierra no se abre la siguiente...... ¿Es cuestión de contar órdenes? Por favor, dame una pista. Si lo necesitas, puedo enviarte el código.
Gracias de antemano.
eliminar la condición "if (OrdersTotal()==0)....". - Sólo dicen: buscar entradas y abrir nuevas órdenes sólo cuando no haya ninguna.
Si no quiere abrir un gran paquete de nuevos pedidos sin esa condición, debe crear una condición adicional. Y esto depende de tu estrategia: no abrir una nueva dentro del tiempo T de la anterior, o controlar las barras o mantener distancias en pips entre órdenes...
Hola. Empezaré diciendo que muchas gracias por ayudar a los novatos. No sería capaz de responder a preguntas elementales por mí mismo día tras día a un novato y luego a otro.
Y la pregunta es la siguiente:
Yo pensaba antes, cuando mql4 era un poco diferente, que cualquier procesamiento de órdenes, como abrir/cerrar/modificar después de un posible error debería ser interrumpido por la función return(0). Debido a eso, si tenía que cerrar varias órdenes abiertas al precio actual, el probador las cerraría una por una en cada nueva barra y eso probablemente distorsionaría la imagen real (bastante dramáticamente, a veces) en el probador (para cada tick de un frame). El nuevo EA tiene que cerrar varias órdenes exactamente por la señal y parcialmente.
Pregunta: ¿Es posible procesar todos ellos (cerrarlos parcialmente) en un bucle, sin interrumpir el bucle cada vez? ¿Podrá el probador manejarlo? Es decir, ¿podrá cerrar parcialmente todas ellas en una sola barra?
Hola. Empezaré diciendo que muchas gracias por ayudar a los novatos. No sería capaz de responder a preguntas elementales por mí mismo día tras día a un novato y luego a otro.
Y la pregunta es la siguiente:
Antes, cuando mql4 era un poco diferente, pensaba que cualquier procesamiento de órdenes, como la apertura/cierre/modificación después de un posible error debería ser interrumpido por la función return(0). Debido a eso, si tenía que cerrar varias órdenes abiertas al precio actual, el probador las cerraba una por una en cada nueva barra, lo que distorsionaba la imagen real (bastante dramáticamente, a veces) en el probador (para cada tick de un frame). El nuevo EA tiene que cerrar varias órdenes exactamente por la señal y parcialmente.
Pregunta: ¿Es posible procesar todos ellos (cerrarlos parcialmente) en un bucle, sin interrumpir el bucle cada vez? ¿Podrá el probador manejarlo? Es decir, ¿podrá cerrar parcialmente todas ellas en una sola barra?
Puede hacerlo sin problemas con una pequeña condición. El código debe estar escrito correctamente.
Si hay 2 funciones (posiblemente sobrecargadas), por ejemplo, int Funkz(int a) int Funkz(int a, int b, int w), y luego se compila el programa, ¿qué función funcionará más rápido, la primera teniendo en cuenta que tiene un argumento o no importa, porque el programa ya está construido y lo que se describe en el cuerpo, o después de todo hay un pequeño efecto porque los argumentos de la función representan una pila para la que se reserva la memoria?
Si tienes dos funciones del mismo nombre con diferente número de argumentos, no es cuestión de cuál será llamada más rápido. Cuando llamas a una función, no escribes Funkz(), sino que especificas el número de argumentos.
La cuestión es si el compilador masticará las funciones con el mismo nombre.
Según tengo entendido, no estamos hablando del código, sino del archivo compilado?
Si tienes dos funciones del mismo nombre con diferente número de argumentos, no es cuestión de cuál será llamada más rápido. Cuando llamas a una función, no escribes Funkz(), sino que especificas el número de argumentos.
La cuestión es si el compilador masticará las funciones con el mismo nombre.
¿Te refieres al archivo compilado, no al código?
Y si las funciones son diferentes, ¿cuál funcionará más rápido con menos o más argumentos? Creo que sobrecargar con diferentes números también conlleva una carga o es sólo por comodidad?
Por favor, dígame cómo escribir #define ?
Lo escribo así
#define my_POS cst_Position.my_Position
Si cambio esta construcción a def - todo funciona.
Pero cuando sólo escribo mi_POS. la lista de funciones no aparecerá después de un punto.
Lo mismo para
#define pos_DATA cst_Position.getPositionData
no hay pistas después de la pos_DATA(.
¿Qué estoy haciendo mal?
¡Hola, queridos expertos!
Por favor, ayúdenme a resolver este problema.
Al probar cualquier par, todo funciona correctamente, pero al trabajar con otras divisas, las órdenes pendientes no se colocan (tengo que exponerlas a mano) y no se cierran tras la activación del Take Profit.
Por favor, indíqueme cómo cambiar el código, si es posible:
Muchas gracias de antemano
¡Hola, queridos expertos!
Por favor, ayúdenme a resolver este problema.
...Por favor, introduzca el código correctamente: