MQL5 no Bovespa em Contratos de Mini Índice

 

Boa tarde a todos

Tenho feito alguns programas para Forex e funcionaram bem, contudo ao tentar usar na Bovespa em Contratos de Mini Índice, não funcionou

Por favor, poderiam ver o que deve ser alterado para que funcione ?

Segue abaixo a parte do código para abrir uma operação de venda


 MqlTradeCheckResult m_check_result;
 MqlTradeResult mresult;             // To be used to get our trade results
 MqlTradeRequest mrequest={0};       // To be used for sending our trade requests
 price=SymbolInfoDouble ( Symbol (), SYMBOL_ASK );
 price = NormalizeDouble((price),_Digits);
// STP=(StopLoss* 0.00001) ;                   // *_Point,_Digits
// STP = price+(StopLoss* 0.00001) ;           // *_Point,_Digits
// TKP= price-(TakeProfit* 0.00001) ;          // *_Point,_Digits
 STP = price+StopLoss ;           // *_Point,_Digits
 TKP= price-TakeProfit ;          // *_Point,_Digits
 mrequest.sl = STP;                          // Stop Loss em
 mrequest.tp = TKP;                          // Take Profit em
 mrequest.action = TRADE_ACTION_DEAL;             // immediate order execution
 mrequest.price = price;                         // latest ask price
 mrequest.symbol = _Symbol;                      // currency pair
 mrequest.volume = lot1;                         // number of lots to trade
 mrequest.magic = EA_Magic;                      // Order Magic Number
 mrequest.type = ORDER_TYPE_SELL;                // sell Order
 mrequest.type_filling = ORDER_FILLING_FOK;      // Order execution type
 mrequest.deviation=100;                         // Deviation from current price
 //--- send order
 OrderSend(mrequest,mresult); // abre VENDA

 

Boa noite, verifique seus TP e SL pois os contratos de indice são de 5 em 5 pontos e do dólar de 0,50 em 0,50. pode ser que sua multiplicação esteja dando valores diferentes.

 

Realmente foi esse o problema. Ajustei para o Take Profite e Stop Less serem austados de 5 em 5 pontos e está funcionando

Muito obrigado

Razão: