MT5 NÃO ABRE ORDEM

 
Estou programando um EA no mt5 da modal. Lá abre ordem tanto no mini indice como no mini dolar. Quando vou testar o mesmo EA no mt5 da XP, lá só abre ordem no mini índice. Alguém sabe por que?
 
northedan:
Estou programando um EA no mt5 da modal. Lá abre ordem tanto no mini indice como no mini dolar. Quando vou testar o mesmo EA no mt5 da XP, lá só abre ordem no mini índice. Alguém sabe por que?

Olá,

veja no log aba <DIÁRIO>.

 
Rogerio Giannetti Torres:

Olá,

veja no log aba <DIÁRIO>.

Na aba <DIÁRIO> não aparece nenhuma mensagem de erro. Segue o código que colocar a ordem.


if(latest_price.last > maCerto && (highCerto - maCerto) == Afastamento && LastBar != ThisBar 
      && volumeVal[0] >= Volume && trade_money && trade_time && PositionSelect(_Symbol) == false)
      {
         request.action = TRADE_ACTION_PENDING;
         request.type = ORDER_TYPE_SELL_LIMIT;
         request.symbol = _Symbol;
         request.volume = Contrato;
         request.type_filling = ORDER_FILLING_FOK;
         request.price = (maCerto + Afastamento);
         request.sl = (maCerto + Afastamento) + StopLoss;
         request.tp = (maCerto + Afastamento) - TakeProfit;
         request.type_time = ORDER_TIME_DAY;
         request.deviation = 0;
         request.magic = MagicNumber;
         
         OrderSend(request,result);

         LastBar = ThisBar;
      }
 
northedan:

Na aba <DIÁRIO> não aparece nenhuma mensagem de erro. Segue o código que colocar a ordem.


Man !

Estava com problema semelhante em meu código e acabei por descobrir que era na identificação da nova barra (dentro do if). Apesar do código estar correto, por algum motivo ao inserir esta checagem no if a ordem não era enviada. Nao sei se você esta com problema igual, eh apenas um insight.

Fora isso, reescreva a OrderSend. Uma alternativa seria: "bool ok = OrderSend(request, result);". O MT5 precisa entender que você ira tratar o resultado da mesma.

[ ]'s

 
northedan:

Na aba <DIÁRIO> não aparece nenhuma mensagem de erro. Segue o código que colocar a ordem.


Bom dia,

se no log não aparece msg de execução e/ou erro, significa então que nenhuma ordem foi emitida.

 
Joscelino Celso de Oliveira:

Man !

Estava com problema semelhante em meu código e acabei por descobrir que era na identificação da nova barra (dentro do if). Apesar do código estar correto, por algum motivo ao inserir esta checagem no if a ordem não era enviada. Nao sei se você esta com problema igual, eh apenas um insight.

Fora isso, reescreva a OrderSend. Uma alternativa seria: "bool ok = OrderSend(request, result);". O MT5 precisa entender que você ira tratar o resultado da mesma.

[ ]'s

Essa linha de código eu deveria substituir pelo OrderSend(request, result) do meu código, é isso?!!! Ah acho que entendi. Lá no código de checagem da nova barra eu coloco a codição bool ok = OrderSend(request, result); e passo o ok a checagem de envio da ordem. Estou certo?
 
Joscelino botei a condição da checagem da nova barra e não deu certo. Eu não sei o que é. Na modal abre as ordens normalmente, na xp chegar até a abrir, mas não tanto quanto na modal. Se na modal abre no dia 10 operações, na XP abre 1.
 
Rogerio Giannetti Torres:

Bom dia,

se no log não aparece msg de execução e/ou erro, significa então que nenhuma ordem foi emiti

Ele envia, mas como comentei em cima, no mesmo período na Modal ele envia mais ordens.



 
Bom eu verifiquei uma coisa. Na Modal quando boto série continua não funciona.
 
northedan:
Essa linha de código eu deveria substituir pelo OrderSend(request, result) do meu código, é isso?!!! Ah acho que entendi. Lá no código de checagem da nova barra eu coloco a codição bool ok = OrderSend(request, result); e passo o ok a checagem de envio da ordem. Estou certo?

Isso mesmo.

[ ]'s

 
northedan:
Joscelino botei a condição da checagem da nova barra e não deu certo. Eu não sei o que é. Na modal abre as ordens normalmente, na xp chegar até a abrir, mas não tanto quanto na modal. Se na modal abre no dia 10 operações, na XP abre 1.

Talvez seja o problema seja o tipo de preenchimento de ordens. Pode ser que a Modal esteja aceitando a FOK e a XP nao aceite.. Mas confesso que estou "chutando". Tenta testar isso.

[ ]'s

Razão: