[¡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

 
xant:

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
 
Ayúdame a escribir una condición para abrir una posición.

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
Archivos adjuntos:
sellbuy_4.mq4  3 kb
 
Su condición no encaja(( abre los pedidos indefinidamente siempre que el depósito sea suficiente
 
rigonich:

Para cambiar a la izquierda -- F12, a la derecha -- no sé.

RigonichGracias, ¡es un gran consejo! Justo lo que necesito.
 
Oh, genial, ¡gracias a todos!
 
Hombre, es realmente tan difícil con la condición ((( como un pequeño asesor.
 

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((

Archivos adjuntos:
trudnyaga.mq4  5 kb
 
Frostr:
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
 
Creo que lo he arreglado.
Archivos adjuntos:
 
Ese no)) ese. Ese tiene más sentido
Archivos adjuntos:
sellbuy_2.mq4  3 kb
Razón de la queja: