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

 

Nestes dois modos de apresentação de resultados de optimização

não fazer nada de útil pois não há pontas de ferramentas com o resultado quando se passa o rato por cima da célula/ponto relevante.


Por favor finalizar estes dois modos como implementados no modo "Gráfico com resultados" de topo/definição.

 
Surgiu uma situação em que o Agente local seleccionado (marcado em negrito na lista de agentes) se encontra em estado de incapacidade. No entanto, o passe único estava a decorrer noutro Agente. Enquanto o passe único estava a decorrer, o Agente deficiente não podia ser activado - cliquei em Habilitar, mas nada aconteceu.
 
Provavelmente não faz sentido para o Testador criar ficheiros de opção que tenham Header.passes_passed == 0.
 
História do BugSelect in Tester.
#include <MT4Orders.mqh> // https://www.mql5.com/ru/code/16006

#define  Ask SymbolInfoDouble( _Symbol, SYMBOL_ASK )

void OnTick()
{
  if (!OrderSelect(0, SELECT_BY_POS))                                            // Если нет текущих ордеров,
          OrderSend( _Symbol, OP_BUYSTOP, 0.1, Ask * 2, 0, 0, 0);                // выставляем.
  else if ((TimeCurrent() - OrderOpenTime() > 60) && OrderDelete(OrderTicket())) // Если текущий ордер живет дольше минуты - удаляем.
  {
//    if (HistorySelect(OrderOpenTime() + 1, INT_MAX))
    if (HistorySelect(TimeCurrent() - 10, INT_MAX))  // После удаления отступаем 10 секунд от текущего времени и берем историю.
      Print(HistoryOrdersTotal());                   // Видим, что в истории удаленного ордера нет - 0.
            
    if (HistorySelect(OrderOpenTime(), INT_MAX))     // Теперь берем историю от времени постановки удаленного ордера.
      Print(HistoryOrdersTotal());                   // Видим, что в истории удаленный ордер есть - 1.

    ExpertRemove();                                  // Вышли.
  }
}

HistorySelect não selecciona encomendas a partir da data em que foram eliminadas/enchidas, mas a partir da data em que foram colocadas. O que, é claro, é incorrecto. Funciona correctamente no terminal. Insecto desagradável.

A cadeia de pesquisa: Oshibka 008.

 
Este Expert Advisor não pode ser optimizado por todos os símbolos da Market Watch.
double OnTester() { return(0); }

Requer parâmetros de entrada. Mas não são necessários parâmetros de entrada para este tipo de Optimização. Por favor note.

 
se no testador o histórico do tick não estiver sincronizado no modo de tick real, o testador começa a funcionar no modo de tick gerado!

muitas vezes fiquei muito desapontado depois, depois dos resultados do graal

Várias vezes o meu monitor já sobreviveu milagrosamente à minha ira justa. build 2340.
Алгоритм генерации тиков в тестере стратегий терминала MetaTrader 5
Алгоритм генерации тиков в тестере стратегий терминала MetaTrader 5
  • www.mql5.com
В составе клиентского терминала MetaTrader 5 есть встроенная среда программирования для разработки полностью автоматических стратегий (торговых роботов), которые могут торговать без вмешательства человека.  Другое название торговых роботов - эксперты.  Эксперты и технические индикаторы для терминала MetaTrader 5 пишутся на языке MQL5, в котором...
 
Andrey Dik:
se no testador, o histórico do tick não estiver sincronizado no modo de tick real, o testador começa a trabalhar no modo de tick gerado!

já teve muitas vezes de ser duramente atingido mais tarde após um resultado de graal

Várias vezes o meu monitor já sobreviveu milagrosamente à minha ira justa. build 2340.

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

MetaTrader 5 build 2430: Serviço de Subscrição, Melhorias de Interface e Características do MetaEditor

fxsaber, 2020.05.17 00:38

quando o histórico do bar no servidor não coincide com o histórico do tick. Então não se pode usar o símbolo original no Testador. Esta limitação é contornada apenas através de símbolos personalizados.

Utilizar sempre apenas os personalizados. Não haverá qualquer problema. Por outras palavras.

 
2470, estas mensagens surgem durante a Optimização.
2020.05.30 11:49:55.216 Core 2  genetic pass (15, 313) returned result 0 in 0:00:04.146
2020.05.30 11:49:55.575 Core 1  genetic pass (15, 283) returned result 0 in 0:00:04.907
2020.05.30 11:49:56.241 Core 3  genetic pass (15, 375) returned result 0 in 0:00:04.537
2020.05.30 11:49:56.269 Core 6  genetic pass (15, 495) returned result 0 in 0:00:04.413
2020.05.30 11:49:57.497 Core 4  genetic pass (15, 419) returned result 1908.000000 in 0:00:04.873
2020.05.30 11:49:58.528 Core 6  genetic pass (15, 497) returned result 0 in 0:00:00.135
2020.05.30 11:49:58.528 Core 6  genetic pass (15, 502) returned result 0 in 0:00:02.122
2020.05.30 11:49:58.824 Core 4  genetic pass (15, 428) returned result 0 in 0:00:00.291
2020.05.30 11:49:58.824 Core 4  genetic pass (15, 429) returned result 0 in 0:00:01.035
2020.05.30 11:49:59.178 Core 4  genetic pass (15, 433) returned result 0 in 0:00:00.352
2020.05.30 11:49:59.178 Core 2  2 rejected passes returned to queue
2020.05.30 11:49:59.178 Core 3  2 rejected passes returned to queue
2020.05.30 11:49:59.178 Core 4  genetic pass (15, 345, 1) started
2020.05.30 11:49:59.660 Core 2  genetic pass (15, 327) returned result 0 in 0:00:04.443
O que é que isto significa? Há muita memória livre.
 

Se houver um símbolo no servidor de comércio que não tem história, a execução do testador nele provoca uma espera interminável.

Isto, em particular, torna impossível a optimização de todos os símbolos do Market Watch.

 

Por favor, adicione o nome do servidor a esta linha.