MetaTrader 5 Strategy Tester: bugs, bugs, sugestões para melhorias - página 2

 

E mais uma coisa: uma vez que existe um modo de visualização, porque não tornar possível colocar indicadores (o mais importante, indicadores personalizados), utilizar ferramentas de marcação e aplicar modelos ao gráfico?

Após MT-4 o modo de visualização de gráficos foi uma grande desilusão para mim. Precisamos de exibir as ordens pendentes, como no MT-4. Deixar um rasto ao parar o percurso. As marcas das encomendas devem ser mais espessas: não são visíveis num monitor de 4K (4K foi activado nas definições do terminal ).

 

Sugestão.

Fórum sobre comércio, sistemas de comércio automatizados e testes estratégicos

Nova versão da plataforma MetaTrader 5 construída em 2085: integração com Python e melhorias maciças no testador de estratégia

Alain Verleyen, 2019.09.12 17:09

Testador de Estratégia, modo Visual. Tenho um EA com uma interface gráfica (painel). Se clicar em "Ir para", os objectos no gráfico ainda são desenhados/actualizados, o que atrasa o processamento e torna "Ir para" quase inútil.

Se for possível adicionar a função MQLInfoInteger (MQL_VISUAL_SKIPMODE)

ou desactivar automaticamente a actualização da GUI quando se utiliza "Ir para".

Obrigado por considerar isto.


 
Slava:

Obrigado. Havemos de o descobrir.

Conseguimo-lo.

Obrigado pelos dados.

 

É correcto que nos símbolos de troca no Testador, o TP é aceite ao último preço e executado no lance/venda?

É que nesta situação TP tem quase sempre um deslize negativo.
 

Falta à subpágina a palavra "Obrigado". Gostaria de dizer Obrigado pela reacção correcta do testador às alterações das propriedades dos símbolos.

É agora possível alterar, por exemplo, o tipo de execução. E o Testador apanha-o imediatamente, sem reiniciar o Terminal.

 
fxsaber:

É correcto que nos símbolos de troca no Testador, o TP é aceite ao último preço e executado no lance/venda?

É que nesta situação TP tem quase sempre um deslize negativo.

Para evitar que me enganem, escrevi este OnInit

#define  TOSTRING(A) #A + " = " + (string)(A)
#define  TOSTRING2(A) #A + " = " + EnumToString(A)
 
int OnInit()
{
  const bool Res1 = SymbolInfoInteger(_Symbol, SYMBOL_TRADE_STOPS_LEVEL);
  const bool Res2 = (SymbolInfoInteger(_Symbol, SYMBOL_TRADE_MODE) == SYMBOL_TRADE_EXECUTION_EXCHANGE) &&
                    (AccountInfoInteger(ACCOUNT_MARGIN_MODE) != ACCOUNT_MARGIN_MODE_RETAIL_HEDGING);
    
  if (Res1 || Res2)  
  {
    if (Res1)
      Print(TOSTRING(SymbolInfoInteger(_Symbol, SYMBOL_TRADE_STOPS_LEVEL)));
      
    if (Res2)
      Print(TOSTRING2((ENUM_SYMBOL_TRADE_MODE)SymbolInfoInteger(_Symbol, SYMBOL_TRADE_MODE)) + "\n" +
            TOSTRING2((ENUM_ACCOUNT_MARGIN_MODE)AccountInfoInteger(ACCOUNT_MARGIN_MODE)));
  }

  return(Res1 || Res2 || OnInit2());
}

Não permite que uma única passagem seja accionada quando o TP der um deslize negativo.

 

Na imagem do ecrã, a peça destacada corresponde a um dia. Mais precisamente, corresponde a vários minutos.

Talvez os pontos de abcissa devam ser atribuídos não só às negociações mas também aos tempos (opcionalmente)?

 

Quando a unidade fica sem espaço, o testador não reporta nada nos registos.

Utilizo a tracção RAM para o testador, pois é muito mais rápida do que a versão padrão. Quando se fazem muitas passagens simples, os troncos ficam entupidos de lixo. Um pedido para não produzir lixo é ouvido de tempos a tempos no fórum.

Agora o pedido é de assinalar a caixa "Limpar registos antes de correr".

 

No modo pips, o saque máximo por fundos é calculado incorrectamente.

A imagem do ecrã mostra que MaxDDEquity < MaxDDBalance.


Se iniciarmos o modo normal de análise onde todas as moedas são iguais à moeda da conta

todos os valores são os mesmos que no modo pips, mas MaxDDEquity mostra o valor correcto.

 
No modo pips, pode deparar-se com"dinheiro insuficiente". Este não deve ser o caso. "Pip-by-pip" implica que se pode negociar mesmo com um saldo negativo.