EA posicionando StopLoss e TakeProfit no lugar errado devido a volatilidade.

fillipeyuri_  

Olá, boa tarde! Gostaria de uma ajuda relacionada ao meu ExpertAdivisor, ele está funcionando, entrando nos sinais corretos etc. O problema é que quando ele envia uma ordem, os stops (predefinidos em 100pts de lucro e 100pts de prejuízo) não ficam no seu lugar exato, por exemplo, um o lucro fica 90pts e o prejuízo 110pts, outras vezes fica o prejuízo 50 pts e lucro 150pts etc. A distancia entre os dois está correta, mas por conta da volatilidade acaba acontecendo esse problema. Alguém saberia alguma dica para correção disso? Penso em inserir comando para ele abrir a posição sem stops e depois que a posição estiver aberta ele abre os stops de acordo com o preço que estou posicionado.

Se alguém puder me ajudar, agradeço!


Fillipe Araújo

Жоселино  
fillipeyuri_:

Olá, boa tarde! Gostaria de uma ajuda relacionada ao meu ExpertAdivisor, ele está funcionando, entrando nos sinais corretos etc. O problema é que quando ele envia uma ordem, os stops (predefinidos em 100pts de lucro e 100pts de prejuízo) não ficam no seu lugar exato, por exemplo, um o lucro fica 90pts e o prejuízo 110pts, outras vezes fica o prejuízo 50 pts e lucro 150pts etc. A distancia entre os dois está correta, mas por conta da volatilidade acaba acontecendo esse problema. Alguém saberia alguma dica para correção disso? Penso em inserir comando para ele abrir a posição sem stops e depois que a posição estiver aberta ele abre os stops de acordo com o preço que estou posicionado.

Se alguém puder me ajudar, agradeço!


Fillipe Araújo

Pelo relato o problema esta em seu código. Mas você não postou ele para que sejam sugeridas soluções.

Outra coisa: tenho absoluta certeza que você esta confundindo os pontos de TP e SL com as efetivas execuções, alem de ter falhado na logica de programação.

Abrir posição e depois inserir o SL e TP não vai resolver se sua codificação permanecer com problema.

Portanto, poste trecho do código e dai a comunidade poderá colaborar.

LordVinicius  

Bom Dia Filipe!

Segue um link que pode ajuda lo:

https://www.mql5.com/en/code/25433

Existe outros links, que sugere uso do TradeAlgorithms.mqh que não ocorre esse erro.

Inclusive, aqui não é o único canal para pedir auxilio sobre duvidas de programação em MQL 5.

Att,

Vinicius

Change SL/TP on chart drop off
Change SL/TP on chart drop off
  • www.mql5.com
Accelerator Oscillator (AC) The Acceleration/Deceleration Indicator (AC) measures acceleration and deceleration of the current driving force. MACD Signals Indicator edition for new platform.
fillipeyuri_  
Joscelino Celso de Oliveira:

Pelo relato o problema esta em seu código. Mas você não postou ele para que sejam sugeridas soluções.

Outra coisa: tenho absoluta certeza que você esta confundindo os pontos de TP e SL com as efetivas execuções, alem de ter falhado na logica de programação.

Abrir posição e depois inserir o SL e TP não vai resolver se sua codificação permanecer com problema.

Portanto, poste trecho do código e dai a comunidade poderá colaborar.

Obrigado pela atenção!

Segue o trecho do código:

if()
     {
       Comment ("Compra");
         if(trade.Buy(1, _Symbol, bid, bid-stoploss, bid+takeprofit, ""))
            {
            Print("Ordem de Compra - sem falha. ResultRetcode: ", trade.ResultRetcode(), ", RetcodeDescription: ", trade.ResultRetcodeDescription());
            }
       else
            {
            Print("Ordem de Compra - com falha. ResultRetcode: ", trade.ResultRetcode(), ", RetcodeDescription: ", trade.ResultRetcodeDescription());
            }
     }
     
      
 else if()
     {
       Comment ("Venda");
          if(trade.Sell(1, _Symbol, ask, ask+stoploss, ask-takeprofit, ""))
             {
             Print("Ordem de Venda - sem falha. ResultRetcode: ", trade.ResultRetcode(), ", RetcodeDescription: ", trade.ResultRetcodeDescription());
             }
        else
             {
             Print("Ordem de Venda - com falha. ResultRetcode: ", trade.ResultRetcode(), ", RetcodeDescription: ", trade.ResultRetcodeDescription());
             }
     }
fillipeyuri_  
LordVinicius:

Bom Dia Filipe!

Segue um link que pode ajuda lo:

https://www.mql5.com/en/code/25433

Existe outros links, que sugere uso do TradeAlgorithms.mqh que não ocorre esse erro.

Inclusive, aqui não é o único canal para pedir auxilio sobre duvidas de programação em MQL 5.

Att,

Vinicius

Amigo, não consegui usar esse script, os valores do stop ficam sem padrão algum. Com certeza deve ser falta de experiência minha no assunto.

Mesmo assim obrigado pela intenção!

Жоселино  
fillipeyuri_:

Obrigado pela atenção!

Segue o trecho do código:

@fillipeyuri_,

Como você esta capturando as variáveis bid e ask?

As variáveis "stoploss" e "takeprofit" são por input? Qual o tipo de variável? (Double? Int?)