Trailing Stops e Trailing Profit - página 7

 
Arav007:

Aqui está.

Cumprimentos


Veja https://www.mql5.com/en/forum/150195/page6#924239 para uma maneira melhor
 

Eu também já vi e testei isso.

Também não resolve o problema com'Stop Loss' e 'Least Profit Locking', que eu só preciso para completar este EA.

 

Este é o início do seu código

if(OrdersTotal()>0)
   {//----------------------------------------------------------------->1
   for(int cnt=OrdersTotal()-1;cnt>=0;cnt--)
     {//--------------------------------------------------------------->2    
     if(!OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES)) continue;
     if(OrderSymbol() == Symbol() && OrderMagicNumber() ==Magic_Number_1)
       {
       if (OrderProfit()<0.03)
         {
         if(OrderType()==OP_BUY)
           {  
           bOrderClosed = closeBuyOrder(iOrderType_Buy); //Closing Buy order    
           if(bOrderClosed)
             {
             Print("Buy Order 1 Closed");
             }
            else
               {
               iLastError = GetLastError();                                       
               }//end else if(bOrderClosed)
           }//end if(OrderType()==OP_BUY)
       if(OrderType()==OP_SELL)
          {  
          bOrderClosed = closeSellOrder(iOrderType_Sell); //Closing Sell order
          if(bOrderClosed)
            {
            Print("Sell Order 1 Closed");
            }
           else
              {
              iLastError = GetLastError();
              }//end else if(bOrderClosed)
          }//end if(OrderType()==OP_SELL)
        }// if (OrderProfit()<0.03)                          
      }// if(OrderSymbol() == Symbol() && OrderMagicNumber() ==Magic_Number_1)

explicar o que este código está fazendo e

por que fez isso.... e quando isso acontece

o que você quer que este código esteja fazendo

você sabe iLastError se houver um erro ??

 

Ohhh, obrigado. Você me abriu os olhos.

Está fechando todas as ordens abertas sempre que estiver sendo executada, porque a Condição está:

se (OrderProfit()<0.03 )

Assim, fechará naturalmente todas as ordens recém-abertas.

Meu objetivo era, se uma negociação entrar com lucro digamos $0,1 e depois, se essa negociação voltar atrás, será fechada com o mínimo de lucro digamos $0,01.

Provavelmente isso não é possível pela função'OrderProfit()'.

Teria que usar a função de trailing stops.

 
Arav007:

Eu também já vi e testei isso.

Também não resolve o problema com 'Stop Loss' e 'Least Profit Locking', que eu só preciso para completar este EA.


o que você queria codificar ????

qual é o problema com o "Stop Loss" e o "Mínimo Lucro

no breakeven você tem menos lucro com o fechamento para os dois primeiros negócios como você queria,..... eu pensei

 
deVries:


o que você queria codificar ????

qual é o problema com o stoploss

no breakeven você tem menos lucro com o fechamento para os dois primeiros negócios como você queria,..... eu pensei


Por favor, me perdoe.

Eu não consegui definir os parâmetros corretamente.

Sim, é isso mesmo! Muito obrigado.

SL Mudou-se para as duas primeiras negociações e para o TP também.

Usei esta configuração agora:

BreakEven duplo externo =5;

BreakEvenSL duplo externo =1;

TrailingStop duplo externo =10;

TrailingStep duplo externo =3;

Apenas para esclarecer o conceito:

Se o mercado movimentar 5 pips de lucro a partir do preço aberto, o Stop Loss será fixado em 1 pip de lucro. Então a função do TrailingStop começará.

Com um Trailing Stop de 10, se o mercado se mover 10 pips de lucro a partir do preço de abertura, o Stop Loss se tornará em 3 pips de lucro, certo?

E então se o mercado atingir 10 pips a mais, ou seja, 20 pips no total, o SL estará a 6 pips de lucro?

Cumprimentos