![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
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;
}
}
}