EA NÃO LANÇA TP E NEM SL

Para adicionar comentários, por favor Faça o login ou registrar
JOSUCA
59
JOSUCA  

OLA GALERA TUDO BEM ,SOU NOVO EM PROGRAMAÇÃO MQL5 ,TO CRIANDO UM EA SIMPLES SO QUE ESTOU COM PROBLEMA O EA NÃO ENVIA TP E NEM SL SEGUE O CÓDIGO ABAIXO SE ALGUÉM PUDER ME AJUDAR ..



//+------------------------------------------------------------------+

//|  inicialização do pedido e o seu resultado           |

//+------------------------------------------------------------------+


   MqlTradeRequest request={0};

   MqlTradeResult  result={0};

//--- parâmetros para colocação da ordem pendente

   request.action   =TRADE_ACTION_PENDING;                             // tipo de operação de negociação

   request.symbol   =Symbol();                                         // símbolo

   request.volume   = Volume;                                          // volume de lotes

   request.deviation=2;                                                //desvio permitido do preço

   request.magic    =order_magic;                                     // MagicNumber da ordem

   int offset = Deslocamento;                                          // deslocamento a partir do preço atua para colocação da ordem, em pontos 

   

   double price;                                                       // preço de execução da ordem

   double point=SymbolInfoDouble(_Symbol,SYMBOL_POINT);                // tamanho do ponto

   int digits=SymbolInfoInteger(_Symbol,SYMBOL_DIGITS);                // número de símbolos depois da coma (precisão)


      request.type     = ORDER_TYPE_SELL_LIMIT;                          // tipo de ordem

      price=SymbolInfoDouble(Symbol(),SYMBOL_ASK)+offset*point ;         // preço para abertura  

      request.price    =NormalizeDouble(price,digits);                  // preço de abertura normalizado 

                         

      

        double sl = price-slPoints*point;

         request.sl=NormalizeDouble(sl,digits);

       double tp=price+tpPoints*point;

       request.tp=NormalizeDouble(tp,digits);

        

        

 //+------------------------------------------------------------------+

//---                     Enviar a ordem                             |

//+------------------------------------------------------------------+

     OrderSend(request,result);

         // get the result code

         if(result.retcode==10009 || result.retcode==10008) //Request is completed or order placed

           {

            Print("Uma ordem foi colocada com sucesso no número do bilhete:",result.order,"!!");

           }

         else

           {

            Print("A solicitação de pedido não pôde ser concluída -error:",GetLastError()," Com código de retorno comercial ",result.retcode);

            ResetLastError();

            return;

            

  

           }

     }    

  }

Para adicionar comentários, por favor Faça o login ou registrar