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

JOSUCA
66
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);
murphybr
363
murphybr  
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;                               

Márcio Hermes
78
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.

Trader_Patinhas
1184
Trader_Patinhas  
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!!!
Marco_Loureiro
7
Marco_Loureiro  
Solucionou meu problema tambem, no mercado a vista, só é  possível usar o DMA1, e no DMA1 tambem so funciona :ORDER_FILLING_RETURN.
Obrigado!!!
fmquant
1193
fmquant  
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!
fmquant
1193
fmquant  

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

fmquant
1193
fmquant  
murphybr & Márcio Hermes, vocês poderiam me ajudar? MUITO OBRIGADO!
Ivan Ronchi
380
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

fmquant
1193
fmquant  
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.

Ivan Ronchi
380
Ivan Ronchi  

Fmquant,


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