[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. No puedo ir a ningún sitio sin ti - 4. - página 569
![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
Por favor, avisa.
En mi EA, el cálculo de salida se basa en el beneficio acumulado. Por ejemplo, si en algún momento la equidad=balance, entonces el EA cerrará todas las operaciones cuando la equidad actual exceda esta misma inicial. Cerrará todas las operaciones sin importar el número de ellas.
Es sencillo en el probador, ya que hay un par de divisas.
Sin embargo, el comercio se efectúa de forma realista con varias divisas y cada una de ellas debe considerarse por separado. Por ejemplo: Si no hay operaciones abiertas en algún par de divisas, entonces la variable==0. Y debemos rastrear las operaciones cerradas en este símbolo también y esperar hasta que el beneficio acumulado supere la pérdida de las órdenes abiertas de este símbolo por el valor especificado.
No encuentro en el tutorial una función que pueda utilizarse para separar la contabilidad de los beneficios acumulados para diferentes monedas. Por favor, avisa. Gracias.
https://www.mql5.com/ru/forum/131859/page3#434223 aquí, y tambiénhttps://www.mql5.com/ru/forum/131859/page3#434222
No puedo escribir una condición adicional para abrir una posición según mi idea.
Si cierro alguna posición con TP o SL debería reabrirse con la posición contraria.
Ejemplo: Si se cierra una posición de venta, digamos SL, se reabrirá una posición de venta junto con ella y se comprará
Aquí hay 2 condiciones del Asesor Experto:
condición para comprar
si (BUY)
{
si (takeprofit!=0) TP = NormalizeDouble(Ask + takeprofit*Point,Digits); si no TP=0;
si (stoploss!¡=0) SL = NormalizeDouble(Ask - stoploss*Point,Digits); else SL=0;
if(NumberOfPositions(Symbol(),OP_BUY,Magic)<MaxOrders)OPENORDER ("Buy");
}
condición de venta
if (SELL)
{
if (takeprofit!=0) TP = NormalizeDouble(Bid - takeprofit*Point,Digits); else TP=0;
if (stoploss!=0) SL = NormalizeDouble(Bid + stoploss*Point,Digits); else SL=0;
if(NumberOfPositions(Symbol(),OP_SELL,Magic)<MaxOrders)OPENORDER ("Sell");
}
Quien entienda esto, por favor ayúdeme a escribir la condición adicional
Para cambiar a la izquierda -- F12, a la derecha -- no sé.
RigonichGracias, ¡es un gran consejo! Justo lo que necesito.
No he hecho nada con él, todavía no funciona ((((
Funcionó solo si el precio va en una dirección entonces se abre y si el precio se da vuelta no se abre((
Ayúdenme a redactar una condición para abrir un puesto.
No puedo escribir una condición adicional para abrir una posición según mi idea.
Si cierro alguna posición con TP o SL, quiero que se abra una nueva posición con el valor opuesto.
Ejemplo: si una posición de venta fue cerrada por SL, reabrirá una posición de venta junto con ella y de compra.
Aquí hay 2 condiciones del EA:
Condición de compra
si (COMPRA)
{
if (takeprofit!=0) TP = NormalizeDouble(Ask + takeprofit*Point,Digits); else TP=0;
if (stoploss!=0) SL = NormalizeDouble(Ask - stoploss*Point,Digits); else SL=0;
if(NumberOfPositions(Symbol(),OP_BUY,Magic)<MaxOrders)
}
Condición de venta
si (VENTA)
{
if (takeprofit!=0) TP = NormalizeDouble(Bid - takeprofit*Point,Digits); else TP=0;
if (stoploss!=0) SL = NormalizeDouble(Bid + stoploss*Point,Digits); si no SL=0;
if(NumberOfPositions(Symbol(),OP_SELL,Magic)<MaxOrders)
}
Quien entienda esto, por favor ayúdeme a escribir las condiciones adicionales
Lo siento, pero en los archivos adjuntos tienes un archivo compilado, no el archivo fuente. No se puede ver. Por favor, envía el archivo con la extensión .mq4