Erros, bugs, perguntas - página 2127

 
Slava:

O que quer dizer com "tornou-se"?

Tem sido sempre assim. Desde o início dos novos quatro.

Não vou discutir e provar, mas há 2-3 semanas parece ter sido. Estava a arranjar um consultor especializado para uma pessoa com botões e campos de entrada.
Tive de adicionar um botão e um campo de entrada. Para determinar o travessão a partir do canto, criei sempre o objecto manualmente e depois de o colocar onde era necessário, olhei através das propriedades e adicionei estes valores ao código. Afinal, eu não poderia ter sonhado com tal coisa.

Eu podia assumir que estava a mover um objecto criado programmaticamente. Mas isso agora também é impossível. O objecto é realçado, mas não se pode movê-lo.

 
os agentes de teste estão a transbordar o disco rígido. O que fazer - o que configurar. Existem 8 servidores a 120gb cada um
 
MQL5 Cloud Europe 1     genetic pass  tested with error "wrong timeframe request in Open Prices mode in OnTick function (EURUSD,M1)" 


Olá a todos.

Alguém encontrou este erro ao optimizar na nuvem apenas em Preços Abertos ?


O erro não é constante. Ou seja, ocorre "muito raramente", mas quando corro 10.000 resultados, aparece 50 vezes.

Eu não mudo a TF durante a optimização.

 
Vladislav Andruschenko:

O erro não é constante. Isto é, ocorre "muito raramente" mas quando se verificam 10.000 resultados, aparece 50 vezes.

É necessário obter toda a informação necessária do agente através da moldura para a analisar.

 
fxsaber:

É necessário obter todas as informações necessárias do Agente através de um quadro para análise.

Isto acontece sempre a 19%. Encontrei um fio que diz que é por causa da história.
Vou experimentá-lo.
 

A sequência completa dos eventos da OnTradeTransaction segue-se à conclusão da OrderSend.

Conselheiro especializado

void OnTradeTransaction ( const MqlTradeTransaction &Trans, const MqlTradeRequest&, const MqlTradeResult& )
{ 
  static bool FirstRun = true;  
  static ulong StartTime;
  
  if (FirstRun)
  {
    StartTime = GetMicrosecondCount();
    
    FirstRun = false;
  }

  Print(EnumToString(Trans.type));
  Print((GetMicrosecondCount() - StartTime) / 1000);    
}

Enviar manualmente uma ordem comercial.

Registo

2018.02.14 09:41:46.671 '8854170': instant sell 1.00 EURUSD at 1.23673
2018.02.14 09:41:46.853 '8854170': accepted instant sell 1.00 EURUSD at 1.23673
2018.02.14 09:41:46.853 '8854170': deal #192088422 sell 1.00 EURUSD at 1.23673 done (based on order #208541700)
2018.02.14 09:41:46.853 '8854170': order #208541700 sell 1.00 / 1.00 EURUSD at 1.23673 done in 190.608 ms


Resultado do Consultor Especialista

2018.02.14 09:41:46.853 TRADE_TRANSACTION_ORDER_ADD
2018.02.14 09:41:46.853 0
2018.02.14 09:41:46.853 TRADE_TRANSACTION_DEAL_ADD
2018.02.14 09:41:46.853 1
2018.02.14 09:41:46.853 TRADE_TRANSACTION_ORDER_DELETE
2018.02.14 09:41:46.853 1
2018.02.14 09:41:46.853 TRADE_TRANSACTION_HISTORY_ADD
2018.02.14 09:41:46.853 2
2018.02.14 09:41:46.853 TRADE_TRANSACTION_REQUEST
2018.02.14 09:41:46.853 2


Podemos ver perfeitamente na coluna de tempo e nos dados numéricos da EA que a duração da execução da ordem de negociação não tem qualquer efeito na sequência de eventos da OnTradeTransaction. Toda a assíncronia vai para o inferno! Conseguiram estragar tudo de tal forma. Construir 1755.

 

O símbolo tem Dígitos == 3

com muitos mais dígitos afixados no registo

'18000903': failed modify order #896199 buy limit 0.01 BTCUSD at 616.00100 sl: 0.00000 tp: 0.00000 -> 616.00100, sl: 0.00000 tp: 616.10100 [Invalid request]
 
A coluna "Comentário" está em falta na visão "Ordens e Acordos" do histórico comercial.
 
Isto não é um mau bug do terminal, mas da plataforma MT5
#include <MT4Orders.mqh> // https://www.mql5.com/ru/code/16006

#define Bid SymbolInfoDouble(_Symbol, SYMBOL_BID)
#define Ask SymbolInfoDouble(_Symbol, SYMBOL_ASK)

void OnStart()
{
  OrderSend(_Symbol, OP_BUY, 1, Ask, 100, 0, Bid);
  
//  OrderSend(_Symbol, OP_BUYLIMIT, 1, Ask, 100, 0, 0);
}

Funciona em MQ-Demo com algum símbolo de movimento lento. Por exemplo, o EURHUF.

O guião abre posição BUY com TP = Bid. Isto é, a posição deve fechar imediatamente. Mas o TP só será verificado quanto à conformidade com a condição de aceitação no próximo tick!

A posição não será encerrada imediatamente até ao próximo tick. Além disso, se o próximo tick tiver Bid < TP, o TP permanecerá sem qualquer aceitação.


O mesmo se aplica às ordens de limite (linha comentada). A situação é semelhante no Testador.

 
fxsaber:
Isto não é um bug no Terminal, mas na plataforma MT5

Correr no MQ-Demo em algum símbolo de movimento lento. Por exemplo, o EURHUF.

O guião abre posição BUY com TP = Bid. Isto é, a posição deve fechar imediatamente. Mas o TP só será verificado quanto à conformidade com a condição de aceitação no próximo tick!

A posição não será encerrada imediatamente até que o próximo tick ocorra. Além disso, se o próximo tick tiver Bid < TP, o TP permanecerá sem qualquer aceitação.


O mesmo se aplica às ordens de limite (linha comentada). A situação é semelhante no Testador de Estratégia.

Por favor, anexe um código MQL5 limpo em perguntas sobre MQL5.

Estou farto de ver a sua publicidade da NASTY dentro e fora.