Discussão do artigo "LifeHack para traders: preparemos "fast-food" de indicadores" - página 11

 
fxsaber:

Então seus agentes (onde há um teste de 21 segundos) seriam banidos?

Se eu responder SIM, você vai começar a perguntar sobre os critérios de proibição? Vamos parar por aqui, OK?

 
fxsaber:

Não há certeza de que um usuário possa acelerar esse processo de forma geral. Obviamente, a sobrecarga é gasta no cálculo da função hash.

Uma variante de tal função de hash de indicador em uma forma geral foi publicada aqui


Desvantagens:

  • Sua variante depende da referência ao gráfico para o handshake, certo? Você já tentou executar o EA no testador? Ele funcionará? Quanto mais lento?
  • A função mostrada no código também violará o terminal a cada tick - solicitar o identificador de um indicador já criado não é melhor do que simplesmente lançar uma chamada no estilo "esse indicador é necessário - procure seu identificador e crie uma nova instância se ainda não o tiver".
 
Rashid Umarov:

Desvantagens:

  • Sua variante está sendo usada para atrair a atenção para o gráfico, certo? Você já tentou executar o EA em um testador? Ele funcionará? Quanto mais lento?
  • A função mostrada no código também violará o terminal a cada tick - solicitar o identificador de um indicador já criado não é melhor do que simplesmente lançar uma chamada no estilo "esse indicador é necessário - procure seu identificador e crie uma nova instância se ele ainda não existir".

Você não leu

Fórum sobre negociação, sistemas de negociação automatizados e teste de estratégias de negociação.

Discussão do artigo "LifeHack para trader: cozinhar fast food a partir de indicadores"

fxsaber, 2018.01.26 09:22 pm.

Sim, este é um método frontal, que se justificou plenamente, uma vez que foi exigida precisão e não precisou de nenhum desempenho. A tarefa era fechar a inteligência interferente do MT5.

E outros, é claro, não tentaram, porque...

Fórum sobre negociação, sistemas de negociação automatizados e teste de estratégias de negociação

Discussão do artigo "LifeHack para trader: cozinhar fast food a partir de indicadores"

fxsaber, 2018.01.26 09:02 pm.

Não se preocupou com o desempenho, mas ficou claro que uma matriz de valores MqlParam deve ser alimentada na entrada de qualquer função hash. E isso não pode funcionar rapidamente, levando em conta o fato de que há um campo de string lento.

Portanto, escrever uma função hash rápida de indicador universal muito mais rápida do que a incorporada ao MT5 é uma tarefa em aberto. Mas sou categoricamente contra chamar indicadores de algum lugar. É por isso que não quero nem estudar a questão.


E eu quase concordo com a hipótese de Vasily.

Fórum sobre negociação, sistemas de negociação automatizados e teste de estratégias de negociação.

Discussão do artigo "LifeHack for trader: cozinhar fast food a partir de indicadores".

Vasiliy Sokolov, 2018.01.26 09:14

Não há ressonância para fazer sua função hash no invólucro OOP, pois essa função já está implementada nos bastidores do MT5 e funciona rapidamente.

O que sugere que já é difícil alcançar a função hash do sistema no nível do usuário, e será quase impossível ultrapassá-la em uma quantidade significativa.


Não vejo sentido em inventar algo nesse caso

Fórum sobre negociação, sistemas de negociação automatizados e teste de estratégias de negociação.

Discussão do artigo "LifeHack para trader: cozinhar fast food a partir de indicadores"

fxsaber, 2018.01.26 09:27 pm.

Barras e indicadores na forma de desenhos na tela eu trago. Mas em EAs é quase absurdo.

As pessoas testam EAs em carrapatos reais, enquanto por algum motivo eles são orientados não em carrapatos, mas em barras. E não haveria problema se as barras fossem construídas para cada tipo de preço (compra, venda, flipper), mas esse não é o caso.

Há algum tipo de masoquismo quando as pessoas mudam voluntariamente para dados históricos com uma terrível perda de informações. E, com esse fragmento, elas tentam inventar algo, incluindo o uso de métodos de aprendizado de máquina.


Atualmente, o único uso de indicadores é um modo de espionagem em um testador. Mas assim que houver serviços com

void OnTick( const string &Symb );
os indicadores para Expert Advisors perderão qualquer relevância.
Анализ результатов тестов и оптимизации в тестере стратегий MetaTrader 5
Анализ результатов тестов и оптимизации в тестере стратегий MetaTrader 5
  • 2018.01.27
  • www.mql5.com
Рассмотрим результаты тестов на одном и нескольких символах. Тесты будем проводить в режиме Все тики...
 

Fórum sobre negociação, sistemas de negociação automatizados e teste de estratégias de negociação

Análise dos resultados de teste e otimização no testador de estratégias do MetaTrader 5

fxsaber, 2018.01.28 12:25 pm.

  1. No modo de símbolo único, o "spy" funciona 2,5 vezes mais devagar do que o OnTick puro. Ou seja, o indicador vazio (construído em PERIOD_W1 para manter o histórico de barras em um mínimo) tem uma enorme sobrecarga no testador!
Os indicadores são malignos!
 
fxsaber:
Os indicadores são malignos!
fxsaber:

Você não leu o artigo


E eu quase concordo com a hipótese de Vasily


Não vejo sentido em inventar algo nesse caso.


Agora, a única utilidade dos indicadores é um modo de espionagem no testador. Mas assim que os serviços com

Portanto, os indicadores para Expert Advisors perderão qualquer relevância.

Eu li, mas decidi apenas declarar explicitamente os problemas com sua abordagem. Porque foi você quem começou a acusar Vladimir de falta de armazenamento em cache, etc.

As reclamações feitas a Vladimir foram justamente sobre a "ineficiência" da abordagem apresentada. Sua variante não resolve esse problema.

 
Rashid Umarov:

Eu o li, mas decidi apenas declarar explicitamente os problemas com sua abordagem. Porque foi você quem começou a acusar Vladimir de falta de armazenamento em cache, etc.

As reclamações feitas a Vladimir foram justamente sobre a "ineficiência" da abordagem apresentada. Sua variante não resolve esse problema.

Os indicadores padrão (são os únicos discutidos no artigo) são armazenados em cache de forma elementar! Porque todos os parâmetros de entrada são conhecidos.

É difícil escrever uma função hash universal. Mas isso não é necessário no artigo. Ele trata do caso mais simples. E mesmo para ele não há função hash.

 
Meus resultados do artigo

3.3 Vamos comparar a velocidade de execução dos Expert Advisors baseados em MACD

A comparação envolverá:

  • "MACD Sample.mq5" - Consultor especialista da entrega padrão com acesso correto aos indicadores
  • "MACD Sample One value at a time.mq5" - análogo do "MACD Sample.mq5", no qual obtemos um valor dos indicadores por vez.
  • "MACD Sample 4 to 5 MQL4 style.mq5" - Expert Advisor MQL4 reescrito para MQL5 com modificações mínimas e com acesso a indicadores no estilo MQL4.

Os testes foram realizados em USDJPY,M30 de 2017.02.01 a 2018.01.16 no servidor MetaQuotes-Demo. Depois de cada teste (seja mudando o Expert Advisor ou mudando o modo de geração de ticks), o terminal foi reiniciado. Configuração do computador:

Adicionei a coluna Lucro, o tempo dos testes foi retirado da segunda passagem por precaução. Os destaques em amarelo (formatação) foram deixados como no artigo, porque copiei a tabela, simplesmente não quis fazer uma nova.


Conselheiro Cada tick baseado em ticks reais Todos os ticks OHLC


Lucro, $Tempo de teste Negociações Negociações Lucro
Tempo de teste Negociações Lucro
Negociações Tempo de teste Negociações Negociações
1 MACD Sample.mq5 -467.74
0:00:29.937 122 244 -476.690:00:22.110 122 -754.10
244 0:00:01.015 119 238
2 Amostra de MACD Um valor de cada vez.mq5 -467.740:00:30.110 122 244 -476.69
0:00:23.797 122 -754.10244 0:00:01.141 119 238
3 MACD Amostra 4 a 5 MQL4 style.mq5 -428.04
0:00:57.156 122 244 -449.90
0:00:42.078 122 -740.48
244 0:00:02.062 119 238

Confirmei que o lucro é diferente para o terceiro EA. Ainda não descobri o motivo.



 

Descobri um possível motivo para a incompatibilidade do lucro líquido - o Expert Advisor "MACD Sample 4 to 5 MQL4 style.mq5" tem erros na modificação do stop.

Como o código foi retirado da versão MQL4, é possível que esse seja um erro herdado.

 
Rashid Umarov:

Descobri um possível motivo para a incompatibilidade do lucro líquido - o Expert Advisor "MACD Sample 4 to 5 MQL4 style.mq5" tem erros na modificação do stop.

Como o código foi retirado da versão MQL4, é possível que esse seja um erro herdado.

Esse não é o problema - esse erro ocorre quando o novo nível de StopLoss não difere do atual

 
Rashid Umarov:
Meus resultados de acordo com o artigo

Confirmei que o lucro é diferente para o terceiro EA. Não descobri o motivo.

Andrey F. Zelinsky descobriu que a lógica do MACD Sample difere entre as versões MQL4 e MQL5. A diferença está no cálculo dos níveis TP e SL.