Trailing Stops y Trailing Profit

 

Necesito utilizar Trailing Stops y Trailing Profit.

Mi plan:

Para el Trailing Stop:

*Después de alcanzar un cierto límite de ganancias digamos 10 pips, el Stop Loss se moverá a 5 pips. Ahora bien, si esa operación retrocede a 5 pips entonces 'Dos Tercios' de la operación serán Cerrados.

*El tercio restante seguirá funcionando y no se aplicará el "Trailing Stop".

Para el Trailing Profit:

*Si esa operación se mueve 5 pips más (es decir, 10+5=15 pips) entonces "Un Tercio" de esa operación se cerrará y el "Dos Tercios" restante seguirá corriendo.

*Y entonces digamos que después de 10 pips más, (i.e. 15+10=25 pips) la 'Mitad' de la operación restante será cerrada y la 'Mitad' restante seguirá corriendo sin ningún límite de Take Profit.

Pero no estoy seguro de si se puede hacer para un comercio "simple". Es por eso que estaba pensando un poco diferente.

--->Tres operaciones diferentes se abrirán del mismo lote en el mismo momento.

--->Dos de ellas se cerrarán si el precio vuelve al nivel de trailing stop loss y la restante se mantendrá en funcionamiento para la parte de Trailing Stop.

--->La primera operación se cerrará en el 'TP-1', la segunda se cerrará en el 'TP-2' y la última se mantendrá para la parte de Trailing Profit.

¿Pero cómo distinguir estas operaciones? Se puede utilizar el "Order Ticket", pero no se puede asegurar que estas tres operaciones tengan series de Ticket consecutivas, ya que también habrá operaciones de otros pares.

En realidad es como si para una operación el Stop Loss inicial no se moviera.
 

¿Es usted programador?

¿Estás aprendiendo a programar?

¿Está interesado en aprender a programar sus ideas?

Si su respuesta es No a lo anterior, por favor intente buscar en la Base de Código lo que está buscando.

Arav007:

Necesito usar Trailing Stops y Trailing Profit.

Mi plan:

Para el Trailing Stop:

*Después de alcanzar un cierto límite de ganancia digamos 10 pips, el Stop Loss se moverá a 5 pips. Ahora bien, si esa operación retrocede a 5 pips entonces 'Dos Tercios' de la operación serán Cerrados.

*El tercio restante seguirá funcionando y no se aplicará el "Trailing Stop".

Para el Trailing Profit:

*Si esa operación se mueve 5 pips más (es decir, 10+5=15 pips) entonces "Un Tercio" de esa operación se cerrará y el "Dos Tercios" restante seguirá corriendo.

*Y entonces digamos que después de 10 pips más, (i.e. 15+10=25 pips) la 'Mitad' de la operación restante será cerrada y la 'Mitad' restante seguirá corriendo sin ningún límite de Take Profit.

Pero no estoy seguro de si se puede hacer para un comercio "simple". Es por eso que estaba pensando un poco diferente.

--->Tres operaciones diferentes se abrirán del mismo lote en el mismo momento.

--->Dos de ellas se cerrarán si el precio vuelve al nivel de trailing stop loss y la restante se mantendrá en funcionamiento para la parte de Trailing Stop.

--->La primera operación se cerrará en el 'TP-1', la segunda se cerrará en el 'TP-2' y la última se mantendrá para la parte de Trailing Profit.

¿Pero cómo distinguir estas operaciones? Se puede utilizar el "Order Ticket", pero no hay garantía de que estas tres operaciones tengan series de tickets consecutivas, ya que habrá otras operaciones de pares también.

En realidad es como si para una operación el Stop Loss inicial no se moviera.

 
ubzen:

¿Es usted programador?

¿Estás aprendiendo a programar?

¿Está interesado en aprender a programar sus ideas?

Si su respuesta es No a lo anterior, entonces por favor intente buscar en la Base de Código lo que está buscando.



He buscado y luego he publicado esto.

Hay posts sobre 'Trailing Stops' pero no pude encontrar 'Exactamente' lo que necesito. Puede ser que me haya perdido allí. Así que si usted sabe el enlace por favor dame.

 
Arav007: He buscado y luego publicado esto. Hay posts sobre 'Trailing Stops' pero no pude encontrar 'Exactamente' lo que necesito. Puede ser que me haya perdido allí. Así que si usted sabe el enlace por favor dame.
Lamento no poder encontrar uno para usted tampoco. Por favor, tenga paciencia, tal vez alguien venga y lo codifique para usted.
 
ubzen:
Lo siento, no puedo encontrar uno para usted tampoco. Por favor, sea paciente, tal vez alguien vendrá y el código para usted.


En realidad no necesito todo el código. Sólo necesito saber qué 'Lógica' se puede implementar aquí con qué'Función(es)'?

Tengo alguna Lógica en mi mente pero necesito una manera de 'Distinguir' las operaciones por 1,2,3.

 
Arav007:


En realidad no necesito todo el código. Sólo necesito saber qué 'Lógica' se puede implementar aquí con qué 'Función(es)'?

Tengo un poco de lógica en mi mente, pero necesito una manera de 'Distinguir' los oficios por 1,2,3.


entonces trata de hacerlo y muestra aquí tus intentos cuando no tengas éxito sea lo que sea que intentes....

La forma más fácil de implementar es abrir 3 operaciones "a la nueva señal" y luego hacer su plan.

 

He pensado algo así:

Habrá tres oficios.

for(cnt=3;cnt>0;cnt--)

{

if (cnt==1)

{ 

 Disable Trailing Stop and Trailing Step

}

else

{

Enable Trailing Stop and Trailing Step

}

} 

//Trailing Profit:

for(cnt=3;cnt>0;cnt--)

{

if (cnt==3)

{ 

Set take profit=TP1

}

if (cnt==2)

{

Set take profit= TP2

} 

else

{

Disable Take Profit

}

}  

Esto es sólo un esquema. Habrá carne en este esqueleto si la "lógica" funciona.

 
Arav007:

He pensado algo así:

Habrá tres oficios.

Esto es sólo un esquema. Habrá carne en este esqueleto si la 'Lógica' funciona.


no recibe señal para abrir la venta o la compra

ahora usted tiene que hacer una lógica de abrir 3 operaciones

con el mismo stoploss

1 con takeprofit en su primer nivel

1 con takeprofit en su segundo nivel

1 sin takeprofitlevel

 
deVries:


no se obtiene la señal para abrir vender o comprar

ahora tienes que hacer una lógica abres 3 operaciones

con el mismo stoploss

1 con takeprofit en su primer nivel

1 con takeprofit en su segundo nivel

1 sin takeprofitlevel


¿Así que debe ser algo como esto?

double dTakeProfitPrice_1=10;

double dTakeProfitPrice_2=20;

double dTakeProfitPrice_3=0;

if (Buy Condition Met)

{

if(iOpenOrders_Buy < iMaxOrders)

{

if(iOpenOrders_Buy ==0) // there is no 'Open' Buy orders

{

BuyOrder_1=OrderSend(Symbol(), iOrderType_Buy, LotSize,OpenPrice,Slippage,dStopLossPrice,dTakeProfitPrice_1, "Buy Order",MagicNumber, 0,Blue);

BuyOrder_2=OrderSend(Symbol(), iOrderType_Buy, LotSize,OpenPrice,Slippage,dStopLossPrice,dTakeProfitPrice_2, "Buy Order",MagicNumber, 0,Blue);

BuyOrder_3=OrderSend(Symbol(), iOrderType_Buy, LotSize,OpenPrice,Slippage,dStopLossPrice,dTakeProfitPrice_3, "Buy Order",MagicNumber, 0,Blue);

}

¿Y qué pasa con el Stop Loss?

 
Arav007:


¿Así que va a ser algo así?

¿Y qué pasa con el Stop Loss?


stoploss se modifica para dos operaciones cuando el precio se ha movido > 10 pips por encima de orderopenprice

double dTakeProfitPrice_1=10;

double dTakeProfitPrice_2=20;

double dTakeProfitPrice_3=0;
double BuyOrder_1,.......,.......;
if (Buy Condition Met && iOpenOrders_Buy == 0)
{

iOpenOrders_Buy = 3;

{

if(iOpenOrders_Buy  > 0) // we have to open new Buy orders

{

if(iOpenOrders_Buy == 3)
         {
         BuyOrder_1=OrderSend(Symbol(), iOrderType_Buy, LotSize,OpenPrice,Slippage,dStopLossPrice,dTakeProfitPrice_1, "Buy Order",MagicNumber, 0,Blue);
         if(BuyOrder_1 > 0).......
         

         }
if(iOpenOrders_Buy == 2)
         {
         BuyOrder_2=OrderSend(Symbol(), iOrderType_Buy, LotSize,OpenPrice,Slippage,dStopLossPrice,dTakeProfitPrice_2, "Buy Order",MagicNumber, 0,Blue);
....



if(iOpenOrders_Buy == 1)
         {
         BuyOrder_3=OrderSend(Symbol(), iOrderType_Buy, LotSize,OpenPrice,Slippage,dStopLossPrice,dTakeProfitPrice_3, "Buy Order",MagicNumber, 0,Blue);
....
}
 
deVries:


El stoploss se modifica para dos operaciones cuando el precio se ha movido > 10 pips sobre el orderopenprice


Lo siento en realidad me he confundido un poco.

if(iOpenOrders_Buy = 3)

Aquí, si el total de órdenes de compra abiertas es igual a '3', el código pasará a la siguiente parte.

if(iOpenOrders_Buy> 0)

Si el número de órdenes de compra abiertas es mayor que "0", el código pasará a la siguiente parte.

if(iOpenOrders_Buy== 3)

Entonces si la cuenta de órdenes de compra abiertas es igual a 3 entonces se abrirá la orden de compra_1, si es igual a '2' entonces se abrirá la orden decompra_2 y luego laorden de compra_3 si la cuenta de órdenes de compra abiertas es igual a 1.

¿Estoy en lo cierto?

Razón de la queja: