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

 
fxsaber:

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

Exatamente. Portanto, não há motivo para criar sua função de hash em um invólucro OOP, pois essa função já está implementada nos bastidores do MT5 e funciona rapidamente.

fxsaber:

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

Isso significa 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 de forma significativa.

Mas o principal em tudo isso é que não há nenhuma sobrecarga significativa do estilo MT5 clássico em relação ao MT4, ou seja, o estilo MT4 é o mais comum. Estilo MT4, ou seja, a otimização não fará nada.

 
Vasiliy Sokolov:

Excluí minha postagem anterior porque percebi que o EA estilo MACD MQL4 acessa adicionalmente o subsistema gráfico:

Ou seja, o teste feito foi realizado incorretamente. Depois de comentar a função Comment, o desempenho ficou praticamente igualado

Se o autor do artigo tivesse executado pelo menos uma vez a criação de perfil (que é obrigatória ao medir o desempenho - autocontrole), não teria ocorrido um erro tão infeliz nas conclusões.

Eu mesmo acreditei nos resultados, mas não deveria ter acreditado. Minha culpa.

 
fxsaber:

Se o autor do artigo tivesse, pelo menos uma vez, começado a traçar o perfil (o que é obrigatório ao medir o desempenho - autocontrole), não teria ocorrido um erro tão infeliz nas conclusões.

Eu mesmo acreditei nos resultados, mas não deveria ter acreditado. Meu erro.

+

 
fxsaber:

Mas, por outro lado, os indicadores e as barras são ruins.

Não entendi essa ideia.

 
Rashid Umarov:

Bem, você queria muitas informações despejadas sobre o leitor em um único artigo.

Eu queria conclusões objetivas.

Mas com relação ao seu método - é uma solução frontal, você já experimentou outros? E comparou o desempenho?

Sim, é um método frontal, que se justificou totalmente, pois exigia precisão e não precisava de nenhum desempenho. A tarefa era acabar com a esperteza interferente do MT5.


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

recursos computacionais e de memória carregar a bagagem de uma centena de alças em uma centena de barras. Mas não vi EAs no mesmo kodobase que conseguiriam eliminar uma alavanca como essa. Tudo é dado à "inteligência da MQL5", forçando assim os autores a não serem nada inteligentes.

Considero lógico um tópico como esse para a lista de artigos.
 
Vasiliy Sokolov:

Apaguei minha postagem anterior porque notei que o EA estilo MACD MQL4 acessa adicionalmente o subsistema gráfico:

***


Inseri "Comentário" apenas para fins de teste. Você pode verificar o trabalho no testador se executaro "MACD MQL4 style EA short.mq5" no modo visual e colocar o cursor na barra com o índice nº 1:

"MACD MQL4 style EA short.mh5" no testador

Figura 1. "MACD MQL4 style EA short.mh5" no testador

E não participou do teste do RATE no testador:

# n/aEACada tick baseado em ticks reaisTodos os ticksOHLC


Tempo de testeNegociaçõesNegociaçõesTempo de testeNegociaçõesNegociaçõesTempo de testeNegociaçõesNegociações
1MACD Sample.mq50:01:19.4851222440:00:53.7501222440:00:03.735119238
2Amostra de MACD Um valor de cada vez.mq50:01:20.3441222440:00:56.2971222440:00:03.687119238
3MACD Amostra 4 a 5 MQL4 style.mq50:02:37.4221222440:01:52.1711222440:00:06.312119238


 
Vasiliy Sokolov:

Não entendi essa ideia.

Eu aceito barras e indicadores na forma de desenhos na tela. Mas nos EAs isso é quase absurdo.

As pessoas testam os EAs com ticks reais e, por algum motivo, não se concentram nos ticks, mas nas 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 nesse fragmento eles tentam inventar algo, incluindo o uso de métodos de aprendizado de máquina.

 
fxsaber:

Aqui está outra ideia sobre a MQL5 inteligente. Existem muitos Expert Advisors, nos quais o mesmo indicador é chamado em cada barra, mas com diferentes parâmetros de entrada. A MQL5 "dispara" manipuladores desnecessários ao longo do tempo. Mas essa é uma solução universal. E em um Expert Advisor, o autor pode assumir essa responsabilidade, eliminando as alças por si mesmo. É óbvio que é um grande desperdício em termos de recursos computacionais e de memória carregar a bagagem de uma centena de alças em uma centena de barras. Mas não vi EAs no mesmo kodobase que conseguiriam eliminar uma alavanca como essa. Tudo é dado à "inteligência da MQL5", forçando assim os autores a não serem nada inteligentes.

Mesmo o trabalho mais inteligente com alças não ajudará nesse caso. Apenas uma coisa ajudará: reescrever o indicador para a função interna do Expert Advisor com parâmetros.

Na minha opinião, tudo isso está longe de ser aplicado na prática. Existe a possibilidade de liberar alças: é claro, podemos pensar em algum exemplo acadêmico em que esse recurso possa ser usado em vez de escrever uma função interna rápida e usá-la (imho).

 
Vladimir Karputov:

Inseri "Comment" somente para fins de teste. Você pode verificar o trabalho no testador se executaro "MACD MQL4 style EA short.mq5" no modo visual e colocar o cursor na barra com o índice nº 1:

Figura 1. "MACD MQL4 style EA short.mh5" no testador

E não participou do teste do RATE no testador:

# n/aEACada tick baseado em ticks reaisTodos os ticksOHLC


Tempo de testeNegociaçõesNegociaçõesTempo de testeNegociaçõesNegociaçõesTempo de testeNegociaçõesNegociações
1MACD Sample.mq50:01:19.4851222440:00:53.7501222440:00:03.735119238
2Amostra de MACD Um valor de cada vez.mq50:01:20.3441222440:00:56.2971222440:00:03.687119238
3MACD Amostra 4 a 5 MQL4 style.mq50:02:37.4221222440:01:52.1711222440:00:06.312119238


Ou seja, ainda há uma sobrecarga, e não é pequena. O exemplo de Vladimir é mais confiável, porque a chamada foi usada no trabalho real do consultor.

 
Vasiliy Sokolov:

Nem mesmo o trabalho mais inteligente com alças ajudará nesse caso. Apenas uma coisa ajudará: reescrever o indicador na função interna do Expert Advisor com parâmetros.

Esse também é um argumento a favor de "os indicadores são ruins".