OrderSend error 4756 (WINV17,M1) retcode=10030... erro ao enviar ordem na conta REAL

 

Boa tarde galera tudo bem com vocês ,estou com problemas no meu EA para enviar ordem pendente na conta REAL da corretora [EDITADO] , na conta DEMO funcionou corretamente mais quando coloco na real retorna esse erro...

OrderSend error 4756

2017.10.05 13:41:01.556 GALAXY (WINV17,M1) retcode=10030  deal=0  order=0


//-- declaração e 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;                        
   request.symbol   =Symbol();                                 
   request.volume   =Volume;                                      
   request.deviation=5;                                             
   request.magic    = EXPERT_MAGIC;                                   
   request.expiration=0;
   request.type_time=ORDER_TIME_DAY; 
    request.type_filling=ORDER_FILLING_FOK;
   int offset = Deslocamento;                                                    // deslocamento a partir do preço atua para colocação da ordem
   double price;                                                      
   double point=SymbolInfoDouble(_Symbol,SYMBOL_POINT);               
   int digits=SymbolInfoInteger(_Symbol,SYMBOL_DIGITS);               
   double sl=PositionGetDouble(POSITION_SL);                       
   double tp=PositionGetDouble(POSITION_TP);                        
   
   
      request.type     =ORDER_TYPE_SELL_LIMIT;                        
      price=SymbolInfoDouble(Symbol(),SYMBOL_BID)+offset*point;        
      request.price    =NormalizeDouble(price,digits);                 
    
     sl=NormalizeDouble(price+SLOSS*point,digits);
     tp=NormalizeDouble(price-TPROFIT*point,digits);
     
     
   request.sl      =sl;                
    request.tp      =tp;            
   
//--- enviar a ordem
   if(!OrderSend(request,result))
      PrintFormat("OrderSend error %d",GetLastError());                 
//--- informações sobre a operação
   PrintFormat("retcode=%u  deal=%I64u  order=%I64u",result.retcode,result.deal,result.order);
 
JOSUCA:

Boa tarde galera tudo bem com vocês ,estou com problemas no meu EA para enviar ordem pendente na conta REAL da corretora [EDITADO] , na conta DEMO funcionou corretamente mais quando coloco na real retorna esse erro...

OrderSend error 4756

2017.10.05 13:41:01.556 GALAXY (WINV17,M1) retcode=10030  deal=0  order=0


//-- declaração e 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;                        
   request.symbol   =Symbol();                                 
   request.volume   =Volume;                                      
   request.deviation=5;                                             
   request.magic    = EXPERT_MAGIC;                                   
   request.expiration=0;
   request.type_time=ORDER_TIME_DAY; 
    request.type_filling=ORDER_FILLING_FOK;
   int offset = Deslocamento;                                                    // deslocamento a partir do preço atua para colocação da ordem
   double price;                                                      
   double point=SymbolInfoDouble(_Symbol,SYMBOL_POINT);               
   int digits=SymbolInfoInteger(_Symbol,SYMBOL_DIGITS);               
   double sl=PositionGetDouble(POSITION_SL);                       
   double tp=PositionGetDouble(POSITION_TP);                        
   
   
      request.type     =ORDER_TYPE_SELL_LIMIT;                        
      price=SymbolInfoDouble(Symbol(),SYMBOL_BID)+offset*point;        
      request.price    =NormalizeDouble(price,digits);                 
    
     sl=NormalizeDouble(price+SLOSS*point,digits);
     tp=NormalizeDouble(price-TPROFIT*point,digits);
     
     
   request.sl      =sl;                
    request.tp      =tp;            
   
//--- enviar a ordem
   if(!OrderSend(request,result))
      PrintFormat("OrderSend error %d",GetLastError());                 
//--- informações sobre a operação
   PrintFormat("retcode=%u  deal=%I64u  order=%I64u",result.retcode,result.deal,result.order);

Oi, tenta >>>            request.type_filling = ORDER_FILLING_RETURN;                               

 

Na   [EDITADO] não têm as opções ORDER_FILLING_FOK e ORDER_FILLING_IOC, somente ORDER_FILLING_RETURN.

Se for realmente necessário as opções ORDER_FILLING_FOK e/ou ORDER_FILLING_IOC, a [EDITADO] e a [EDITADO] (que é da [EDITADO] ) possuem.

 
Márcio Hermes:

Na   [EDITADO] não têm as opções ORDER_FILLING_FOK e ORDER_FILLING_IOC, somente ORDER_FILLING_RETURN.

Se for realmente necessário as opções ORDER_FILLING_FOK e/ou ORDER_FILLING_IOC, a   [EDITADO] e a [EDITADO] (que é da [EDITADO] ) possuem.

Preciosa essa dica, Márcio Hermes. Obrigado!!!
 
Solucionou meu problema tambem, no mercado a vista, só é  possível usar o DMA1, e no DMA1 tambem so funciona :ORDER_FILLING_RETURN.
Obrigado!!!
 
Márcio Hermes:

Na [EDITADO] não têm as opções ORDER_FILLING_FOK e ORDER_FILLING_IOC, somente ORDER_FILLING_RETURN.

Se for realmente necessário as opções ORDER_FILLING_FOK e/ou ORDER_FILLING_IOC, a [EDITADO] e a [EDITADO] (que é da [EDITADO] ) possuem.

Achei muito interessante essa dica. Poderia me falar se eu devo também mudar a seguinte linha "(FillingMode == SYMBOL_FILLING_IOC)"? OBRIGADO!
 

Eu tenho recebendo os seguintes erros quando faço backtest de um Expert Advisor, usando o Metatrader 5 da [EDITADO] :


FK 0 00:12:32.780 Core 1 2020.08.19 10:01:30   Alert: Error description: Trade request sending failed

GG 0 00:12:32.780 Core 1 2020.08.19 10:32:30   2020.08.19 10:32 No pending orders of that type

IL 2 00:12:32.780 Core 1 2020.08.19 10:32:30   failed buy stop 1.00 WINZ20 at 103450 sl: 102450 tp: 104225 [Invalid expiration]

GL 0 00:12:32.780 Core 1 2020.08.19 10:32:30   Alert: The order request could not be completed. Error no.: 4756

DR 0 00:12:32.780 Core 1 2020.08.19 10:32:30   Alert: Error description: Trade request sending failed

LH 0 00:12:32.780 Core 1 2020.08.20 12:04:00   2020.08.20 12:04 No pending orders of that type

MK 2 00:12:32.780 Core 1 2020.08.20 12:04:00   failed buy stop 1.00 WINZ20 at 101175 sl: 100175 tp: 101950 [Invalid expiration]

KK 0 00:12:32.780 Core 1 2020.08.20 12:04:00   Alert: The order request could not be completed. Error no.: 4756

LI 0 00:12:32.780 Core 1 2020.08.20 12:04:00   Alert: Error description: Trade request sending failed

KQ 0 00:12:32.780 Core 1 2020.08.20 13:28:30   2020.08.20 13:28 No pending orders of that type

GR 2 00:12:32.780 Core 1 2020.08.20 13:28:30   failed buy stop 1.00 WINZ20 at 102030 sl: 101030 tp: 102805 [Invalid expiration]

ER 0 00:12:32.780 Core 1 2020.08.20 13:28:30   Alert: The order request could not be completed. Error no.: 4756

JP 0 00:12:32.780 Core 1 2020.08.20 13:28:30   Alert: Error description: Trade request sending failed

PJ 0 00:12:32.780 Core 1 2020.08.20 15:41:00   2020.08.20 15:41 No pending orders of that type

 
murphybr & Márcio Hermes, vocês poderiam me ajudar? MUITO OBRIGADO!
 

Parece algum problema com a expiração Buy Stop, verifique o que você está passando como valor.

 datetime              expiration=0,                 // order expiration time

 
Ivan Ronchi:

Parece algum problema com a expiração Buy Stop, verifique o que você está passando como valor.

 datetime              expiration=0,                 // order expiration time

Olá, Ivan Ronchi. O código tem a seguinte linha:

input in ExpirationTime = 0; // Order expiration time in minutes

Entretanto, eu já mudei esse valor e continuou retornando erro.

 

Fmquant,


Seria interessante você postar o seu código aqui para que seja possível analisar.

Razão: