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".
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".
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.
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.
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.
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.
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!
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.
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.
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.
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.
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
Para login e uso do site MQL5.com, você deve ativar o uso de cookies.
Ative esta opção no seu navegador, caso contrário você não poderá fazer login.
Você entrou na conta. A autenticação de dois fatores foi desativada. Configure-a novamente e escaneie um novo código QR ou continue com a autenticação de dois fatores desativada.
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?
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:
Desvantagens:
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
os indicadores para Expert Advisors perderão qualquer relevância.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.
Os indicadores são malignos!
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.
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.
3.3 Vamos comparar a velocidade de execução dos Expert Advisors baseados em MACD
A comparação envolverá:
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.
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.
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
Meus resultados de acordo com o artigo
Confirmei que o lucro é diferente para o terceiro EA. Não descobri o motivo.