Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Obrigado por seu valioso compromisso, especialmente pela oportunidade de abrir nossas mentes para novos horizontes - o que é o mais importante, eu acho.
Tenho perguntas práticas e talvez ingênuas
Obrigado
Divirta-se
Gosto muito de sua abordagem proativa. Você está certo, há várias exceções que podem ser levantadas quando se tenta buscar dados históricos. Por exemplo, se você tentar alterar os períodos de tempo no meio de uma sessão de negociação, o problema "-nan" poderá ser observado mais uma vez.
Houve uma troca inerente entre manter a mensagem fácil de acompanhar e corrigir todos os erros que observei. Se eu optasse pela segunda opção, o código poderia ter sido necessariamente mais complexo e não tão fácil de acompanhar como é. Portanto, decidi manter a mensagem fácil de acompanhar. Portanto, decidi mantê-lo fácil de seguir, com a intenção de que você pudesse estendê-lo rapidamente.
Sua solução parece muito promissora, como ela está se saindo?
Tentei executar o LinearRegressionEA e o considero um conceito interessante. Negocio principalmente CFDs de OURO e gostei do indicador WPR neste exemplo.
Às vezes, obtenho preços de previsão incorretos que estão muito fora do intervalo com um fator 100, mas às vezes corretos!
Se alguém resolver esse problema, eu agradeceria muito. A depuração do código de regressão linear não é minha especialidade.
Não vi se você escreveu algo sobre o período preferido para negociação, eu o defini como 30 minutos.
Nesse cenário,
se ainda não houver uma negociação
e o EA executar a função'analyse_indicators()',
isso será feito uma vez por barra, portanto, no meu caso, uma vez a cada 30 minutos.
Isso significa que, se os indicadores não se alinharem para uma decisão de negociação, isso não será tentado novamente até a próxima barra, no meu caso, 30 minutos depois.
Na minha opinião, esse intervalo é muito grande para estabelecer a negociação inicial.
Por isso, adicionei uma tarefa de timer que executa a etapa de análise a cada 10 segundos até que os indicadores estejam a favor de uma negociação.
Estabeleço a ordem de compra ou venda e, em seguida, retorno ao processamento regular por barra da função manage_position() .
Obrigado
Divirta-se
Olá, Giulio.
Para configurar um número mágico e um comentário personalizado, basta estender o código chamando a função apropriada.
Acho que a PositionOpen pode ser o que você está procurando. Você pode verificar a documentação neste link.
Se isso não atender às suas necessidades, tente este tutorial do YouTube usando este link.
Se nenhum desses recursos puder ajudá-lo, tenho um canal onde publico artigos mais úteis como esses. Você pode encontrá-lo usando este link.
Olá, mais uma vez tive que criar minha conta novamente para fazer o login. De qualquer forma,
Tentei executar o LinearRegressionEA e o considero um conceito interessante. Negocio principalmente CFDs de OURO e estabeleci um gosto pelo indicador WPR neste exemplo.
Às vezes, recebo preços de previsão incorretos que estão muito fora do intervalo com um fator 100, mas às vezes corretos!
Se alguém resolver esse problema, eu agradeceria muito. A depuração do código de regressão linear não é minha especialidade.
Não vi se você escreveu algo sobre o período preferido para negociação, eu o defini como 30 minutos.
Nesse cenário,
se ainda não houver uma negociação
e o EA executar a função'analyse_indicators()',
isso será feito uma vez por barra, portanto, no meu caso, uma vez a cada 30 minutos.
Isso significa que, se os indicadores não se alinharem para uma decisão de negociação, isso não será tentado novamente até a próxima barra, no meu caso, 30 minutos depois.
Na minha opinião, esse intervalo é muito grande para estabelecer a negociação inicial.
Por isso, adicionei uma tarefa de timer que executa a etapa de análise a cada 10 segundos até que os indicadores estejam a favor de uma negociação.
Estabeleço a ordem de compra ou venda e, em seguida, retorno ao processamento regular por barra da função manage_position() .
Lamento saber que você estava tendo dificuldades para fazer login. Espero que já tenha resolvido isso.
Você está correto, as previsões fornecidas pelo nosso modelo atual podem, às vezes, estar fora da faixa aceitável por uma ampla margem, mas não há nenhum bug no código.
Deixe-me explicar por que podemos esperar que isso aconteça.
Estamos usando uma implementação simples do algoritmo Gradient Descent para otimizar os coeficientes do nosso modelo. Infelizmente, o Gradient Descent pode ser sensível às posições iniciais de nossos coeficientes. Para remediar isso, foi desenvolvido o algoritmo Stochastic Gradient Descent (SGD). O SGD realiza otimizações alterando os coeficientes iniciais a cada vez para maximizar a probabilidade de encontrar coeficientes ideais. Para simplificar, mantivemos nossos coeficientes fixos e isso pode fazer com que o modelo fique preso em estados desanimadores. Este vídeo do YouTube pode ser útil, use este link.
Sim, você está certo, eu pedi intencionalmente que os cálculos fossem realizados em cada candle. Isso foi feito para acelerar os backtests. Para desativar esse recurso, basta excluir a verificação da condição "if(timestamp != current_time)".
Além disso, há maneiras de construir nosso modelo de modo que ele se personalize de acordo com os dados que temos em mãos.
Oi, é incrível! Obrigado!
Eu recebo essas linhas:
Como posso corrigir isso?
Alguém também tem esse problema?
Oi, é incrível! Obrigado!
Eu recebo essas linhas:
Como posso corrigir isso?
Alguém também tem esse problema?
Javier, você poderia carregar mais da saída do terminal?
Como o que você compartilhou parece normal, eu esperaria uma saída como essa.
No entanto, o problema que estou observando na sua saída é o "0.0" no final. Obter um erro de 0,0 implica que o modelo é perfeito, o que não é realisticamente possível.
Oi Gamuchirai,
(Espero que essa seja a forma aceita de dizer olá).
Tenho lido seus artigos com grande interesse, pois estou muito interessado em identificar oportunidades para melhorar meu código muito ingênuo. Estou apenas fazendo a transição da MQL4 para a MQL5 e não tenho formação em matemática.
Ao executar seu código baixado no backtest, notei que as únicas negociações realizadas são todas posições de VENDA - veja o anexo.
O comentário que mostra o preço previsto sempre aparece como 0,0000nnnnnnnnnn, o que parece estar incorreto.
Como sou iniciante, não consigo identificar onde está o erro aparente, portanto, espero que você possa responder com uma correção, pois espero implementar a análise de regressão em meus futuros EAs.
Obrigado por sua consideração e por sua maneira adorável de ensinar pelo exemplo.
Atenciosamente,
Bryan
Como modificar o LotSize (ou, melhor ainda, como implementar o gerenciamento de dinheiro)?
Tenha um bom dia
Cara, eu não tinha pensado em usar os comentários para rastrear posições, mas é um algoritmo tão simples que não pode falhar, gostei, obrigado pela sugestão. Caso contrário, os números mágicos estão bem cobertos na API MQL5, basta pressionar F1 em seu IDE e, em seguida, pesquisar, ou procurar on-line ou em fóruns, pois estão bem cobertos.
Money Caso contrário, os números mágicos estão bem cobertos na API MQL5, basta pressionar F1 no seu IDE e, em seguida, pesquisar, ou procurar on-line ou em fóruns, pois está bem coberto. O gerenciamento de dinheiro já foi abordado em nossa série de artigos.
Olá, isso é ótimo!
Eu vi essas linhas.
Como resolver esse problema?
Alguém também encontrou esse problema?
Olá Javier, você sabe que estamos em uma jornada de aprendizado contínuo em nossa comunidade. Pelo que aprendi desde que escrevi este artigo, eu diria que a implementação não é estável. Eu diria que a implementação não é estável, revisarei este artigo e o atualizarei com soluções numericamente mais estáveis. Felizmente para nós, existem soluções compactas que poderiam facilmente resolver em uma linha o que fiz em todo este artigo, se ao menos eu soubesse naquela época o que sei agora.
Obrigado por sua consideração e por suas belas palavras.
Atenciosamente, Bryan
Olá, Bryan, suas preocupações são relevantes. Fique tranquilo, pois a culpa não é sua. O algoritmo que implementei neste artigo é um bom começo, mas não é estável. Atualizarei este artigo com soluções estáveis, que são notavelmente mais fáceis de implementar.