Erros, bugs, perguntas - página 1943

 
Anton Ohmat:

2 perguntas.

1. Como exibir valores de paragem em MT5 como foi em MT4. Tornou-se muito desconfortável. Uma vez que nem sequer consigo ver a história das paragens para um acordo. Só são exibidos separadamente em encomendas, posso verificá-lo de alguma forma?

2. Que citações usa o agente ao testar - o meu terminal ou as minhas próprias citações descarregadas pelo símbolo? Pergunto porque tenho notado frequentemente diferenças entre os resultados dos testes dos agentes e os do meu PC

1. não há história de modificação de TakeProfit e StopLoss. O valor actual de TakeProfit e StopLoss é sempre apresentado. Se quiser ver como TakeProfit e StopLoss se moveram, faça-o você mesmo. Graças a Deus pelas propriedadesPOSITION_REASON,DEAL_REASON eORDER_REASON

O Testador de Estratégia utiliza o histórico comercial do servidor comercial no qual está ligado ao terminal.


Anton Ohmat:
E uma pergunta. É possível especificar algo na EA durante os testes para que o backtest seleccione de imediato, por exemplo, a saída de encomendas e negócios por defeito. Não é conveniente ter de clicar 100-200 vezes por hora durante a depuração.

Não, não pode.

Anton Ohmat:

Parece que a falha é que os objectos não são exibidos de todo durante um único teste, apenas durante a visualização os objectos são exibidos no ecrã. O terminal actualizou-se hoje ((((((

Talvez possa testá-lo mais antes de actualizar o software. Demorei algumas horas antes de pensar que era uma falha no terminal


Antes de chamar "falha" a algo, deve ler a documentação(Características dos testes - Algorithmic Trading, Trading Robots) - ler a secção inteira.

AntonOhmat:

Um problema comum. Quando 1-2 agentes são enforcados e não contam nada. Estou a ficar cansado deste problema - todo o teste está suspenso, o que significa a perda de tempo e dinheiro no teste(.

Estou realmente farto deste problema - há alguma forma de o resolver, por exemplo, se um agente contar mais lentamente do que 200-300 outros agentes, então ou não esperem por ele ou o excluam completamente. Os testes falham em 500-600 runs.

Como forma de sair da situação - desligar manualmente e depois ligar e tudo funciona até algum agente retardador e depois tudo de novo.

Trabalhe com o seu código - 99,9% - tem um registo cheio de erros tais como "não há dinheiro para abrir uma posição".

Anton Ohmat:

Por favor, aconselhar como peneirar valores com grande tiragem dos resultados de optimização, como foi em mt4


Strategy Tester -> separador "Optimization" -> duplo clique no título da linha "Drawdown, %" irá ordenar os resultados do teste aumentando/diminuindo o Drawdown.

 
Anton Ohmat:

Um problema comum. Quando 1-2 agentes desligam e não contam nada. Como resultado, todo o teste pende, respectivamente, com a perda de tempo e dinheiro no teste(.

Realmente farto deste problema - existe alguma forma de o resolver, por exemplo, se um agente contar mais lentamente do que 200-300 outros agentes, então ou não o espera ou exclui completamente. Os testes colidem em pistas 500-600.

Como uma saída - desligar manualmente e depois ligar e tudo funciona até algum agente retardatário e depois tudo de novo

Tente fazer OrderSend somente apósOrderCheck bem sucedido. Se não ajudar, vá a SR.

 

O Expert Advisor é compilado sob 1641, que tem um histórico comercial rápido.

Será possível, durante a optimização, chegar ao Agente de Construção 1596, onde a história está a trabalhar MUITO lentamente, e por isso a optimização é atrasada muitas vezes?

 

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

Bibliotecas: TesterBenchmark

fxsaber, 2017.07.24 14:13

Pegamos na EA da entrega e executamo-la no testador, obtendo estes dados de desempenho

------
OnTesterInit
i = 0 Pass = 0 OnTester = 2.231 s.: Count = 3387955, 1518581.4 unit/sec, Agent = C:\Program Files\Alpari Limited MT5\Tester\Agent-127.0.0.1-3000 build = 1641
i = 1 Pass = 1 OnTester = 2.214 s.: Count = 3387955, 1530241.6 unit/sec, Agent = C:\Program Files\Alpari Limited MT5\Tester\Agent-127.0.0.1-3000 build = 1641
iMin = 1 Results[iMin] = 2.214 s.
iMax = 0 Results[iMax] = 2.231 s.
Amount = 2 Mean = 2.223 s. - 79.08%
OnTesterDeinit
------
Interval = 5.621 s., Count = 0, 0.0 unit/sec

Agora vamos executar a mesma EA, mas usando Trade.mqh

------
OnTesterInit
i = 0 Pass = 0 OnTester = 3.330 s.: Count = 3387955, 1017403.9 unit/sec, Agent = C:\Program Files\Alpari Limited MT5\Tester\Agent-127.0.0.1-3000 build = 1641
i = 1 Pass = 1 OnTester = 3.475 s.: Count = 3387955, 974951.1 unit/sec, Agent = C:\Program Files\Alpari Limited MT5\Tester\Agent-127.0.0.1-3000 build = 1641
iMin = 0 Results[iMin] = 3.330 s.
iMax = 1 Results[iMax] = 3.475 s.
Amount = 2 Mean = 3.402 s. - 89.73%
OnTesterDeinit
------
Interval = 7.584 s., Count = 0, 0.0 unit/sec

Verificou-se que o Comércio SB é 1,5 vezes mais lento que o MQL5 puro!

Assumi que esta era a razão, por isso fiz uma pequena correcção no Trade.mqh

//+------------------------------------------------------------------+
//| Access functions PositionSelect(...)                             |
//+------------------------------------------------------------------+
bool CPositionInfo::Select(const string & symbol)
  {
   return(PositionSelect(symbol));
  }

Mas a desaceleração da variante SB não desapareceu.

Onde está a razão para a lentidão da SB?

 

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

Bibliotecas: TesterBenchmark

fxsaber, 2017.07.24 14:24

Esse era o modo de optimização. E agora ESTA mesma EA, mas em modo de execução única

Core 1  2017.07.21 23:59:59   Interval = 5.140 s., Count = 3387955, 659135.2 unit/sec
Core 1  EURUSD,M1: 3387955 ticks, 52608 bars generated. Test passed in 0:00:05.164.

A corrida única no Agente local é 2,3 vezes mais lenta do que neste mesmo Agente, mas durante a Optimização!


Talvez seja a lentidão do testador, por isso vamos ver o que o perfil OnTick mostrará (questões de execução e outros ambientes comerciais não afectarão o resultado) nos modos Optimização e Execução Única.


Optimização

------
OnTesterInit
i = 0 Pass = 0 OnTester = 2.910 s.: OnTick Profiler: Count = 3387955, Interval = 0.969 s., 3496753.0 unit/sec , Agent = C:\Program Files\Alpari Limited MT5\Tester\Agent-127.0.0.1-3000 build = 1641
i = 1 Pass = 1 OnTester = 2.862 s.: OnTick Profiler: Count = 3387955, Interval = 0.952 s., 3559797.1 unit/sec , Agent = C:\Program Files\Alpari Limited MT5\Tester\Agent-127.0.0.1-3000 build = 1641
iMin = 1 Results[iMin] = 2.862 s.
iMax = 0 Results[iMax] = 2.910 s.
Amount = 2 Mean = 2.886 s. - 78.06%
OnTesterDeinit
------
Interval = 7.394 s., Count = 0, 0.0 unit/sec


Passe único

Core 1  2017.07.21 23:59:59   Interval = 6.149 s. (Profiler: Count = 3387955, Interval = 4.018 s., 843148.2 unit/sec)
Core 1  EURUSD,M1: 3387955 ticks, 52608 bars generated. Test passed in 0:00:06.162.


A execução líquida do próprio OnTick é 4,2 vezes mais lenta no modo Single Run do que no modo Optimize. E isso é no mesmo agente local!

Fórum sobre comércio, sistemas automatizados de comércio e teste de estratégias comerciais

Bibliotecas: TesterBenchmark

fxsaber, 2017.07.24 14:33

A mesma situação também no MT4. Provavelmente, os travões em 4 devido à formação de troncos durante a passagem única.

 

Se aplicar um indicador MT5 a um gráfico que lhe permita seleccionar cores e depois recompilá-lo, as cores são repostas no original e as outras definições permanecem.

A razão pela qual as cores são repostas é extremamente inconveniente, especialmente se o indicador é MTF e as cores estão ligadas ao TF.

 
Trabalhe com o seu código - 99,9% - tem um registo cheio de erros como "sem dinheiro para abrir uma posição".

Sentei-me e esperei para ver o que o agente lento iria voltar. No final, devolveu erro INIT_PARAMETERS_INCORRECT (nenhuma operação realizada). O que, no meu caso, indica que os parâmetros de entrada não se encaixam. Assim, com 99 de 100 probabilidades, posso dizer que alguém acabou de ligar um velho portátil ao sistema. A ideia torna-se sem sentido devido a isso. Observado em MQL5 Cloud USA


Está nos registos

Passe genético MQL5 Cloud USA (0, 206) testado com erro "parâmetros de entrada incorrectos" às 0:00:00.359 (PR 142)

 

Pergunta para programadores (Peço desculpa se estou a aborrecê-lo)

Não compreendo - o meu algoritmo genético diz 12000 passes, mas na realidade os meus agentes realizam apenas 9000 passes. - O que acontece a outros 3000 resultados?

 
Antes de chamar "falha" a algo, deve estudar a documentação (Особенности тестирования - Алгоритмический трейдинг, торговые роботы) - ler toda a secção.
Графические объекты при тестировании

Во время тестирования/оптимизации не осуществляется построение графических объектов. Таким образом, при обращении к свойствам созданного объекта во время тестирования/оптимизации эксперт получит нулевые значения.

Данное ограничение не распространяется на тестирование в визуальном режиме.
Então, como posso ver se o robô colocou as paragens bem no gráfico, para além da visualização? A visualização é lenta (
 
fxsaber:

O Expert Advisor é compilado sob 1641, que tem um histórico comercial rápido.

Será possível durante a optimização chegar ao Agente de Construção de 1596, onde a história funciona MUITO lentamente, e por isso a optimização é atrasada muitas vezes?

Não, as tarefas não são distribuídas a agentes antigos nos cludes.
Razão: