Discussão do artigo "Criação de uma estratégia de retorno à média com base em aprendizado de máquina" - página 9
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
Bom dia, Maxim. Boa tarde, caros colegas.
Tenho uma pergunta urgente.
Eu queria acrescentar uma funcionalidade adicional ao bot (saída de uma posição para breakeven e trawl sl), mas me deparei com a impossibilidade de compilar o código-fonte (eu uso o compilador padrão do pacote MT5).
Mesmo o código-fonte original mean reversion.mq5, anexado pelo autor ao artigo, não passa .
O problema está nas funções OnnxSetInputShape e OnnxSetOutputShape (linhas 51, 58, 66, 71). De acordo com a ajuda do mql5, os dados de entrada para essas funções são três variáveis: duas do tipo long e a terceira do tipo const ulong. Entretanto, de acordo com o código do Expert Advisor, as variáveis ExtInputShape, ExtInputShape2 e output_shape usadas como variáveis iniciais nas funções em consideração são inicializadas como const long ( linhas 31, 32, 65).
Quando o tipo de dados das variáveis é alterado para const ulong, a compilação é bem-sucedida. No entanto, o bot para de funcionar "com lucro", ou seja, o algoritmo de estratégia de negociação implementado não é executado.
Por favor, ajude a resolver esse problema. Em último lugar, considero a opção com um compilador externo. É possível compilar com ferramentas MT5 padrão sem verificar a correção do código?
Quando o tipo de dados das variáveis é alterado para const ulong, a compilação é bem-sucedida. No entanto, o bot para de funcionar "com lucro", ou seja, o algoritmo de estratégia de negociação implementado não é executado.
Por favor, ajude a resolver esse problema. Em último lugar, considero a opção com um compilador externo. É possível compilar com ferramentas MT5 padrão sem verificar a correção do código?
Por gentileza, tente essa opção. Não me lembro o que mais alterei além do ulong. Sim, após a atualização, alguns ph-iases começaram a funcionar de forma diferente de antes.
Escreva em #define os nomes de suas fases em seu arquivo include.Por favor, tente esta opção. Não me lembro o que mais alterei além do ulong. Sim, após a atualização, alguns ph-iases começaram a funcionar de forma diferente de antes.
Em #define, escreva os nomes das fases de seu arquivo de inclusão.Bom dia.
Eu fiz isso. Mas, infelizmente, o motivo é outro. Estou anexando capturas de tela dos resultados da sua versão compilada e da versão em que os tipos de variáveis são substituídos por ulong.
Bom dia.
Eu fiz isso. Mas, infelizmente, o motivo é outro. Estou anexando capturas de tela dos resultados da sua versão compilada e da versão em que os tipos de variáveis são substituídos por ulong.
Você usa o mesmo tipo de atributos no bot e no treinamento? Acontece que você alterou os atributos no script python, mas não no inklulnik.
Provavelmente. Porque eu pego os arquivos do modelo que estavam na versão inicial do bot.
Mas o algoritmo de treinamento do modelo ainda está em fase de estudo e compreensão. Não tenho problemas com o Mql5, mas com o Python ainda estou tendo dificuldades para fazer amizade com ele.
Provavelmente. Porque os arquivos de modelo que estou puxando são os que estavam lá na versão inicial do bot.
Mas o algoritmo de treinamento do modelo ainda está em fase de estudo e realização. Não tenho problemas com o Mql5, mas a amizade com o python ainda é um pouco difícil.
Verificado, tudo funciona para mim. Anexei os arquivos de modelos treinados do artigo e o bot atualizado acima.
É desejável treinar novamente os modelos depois, porque há modelos de demonstração anexados ao artigo. Quando você entender o script python.
Verificado, tudo funciona para mim. Anexei os arquivos dos modelos treinados do artigo e o bot atualizado acima.
É desejável treinar novamente os modelos depois, porque há modelos de demonstração anexados ao artigo. Quando você entender o script python.
Sim, nesta versão, o bot compila e funciona corretamente. Mas os modelos precisam ser treinados novamente. E, em geral, pelo que entendi, isso deve ser feito regularmente.
Estou me familiarizando com o python, mas ainda não entendi tudo. Instalei a versão principal do Rutop em meu laptop e o atualizei para a versão atual. Instalei todos os pacotes necessários (pandas, numba, numpy, catboost, scipy, scikit-learn). Baixei as citações. Coloquei o arquivo de cotações e todos os scripts na pasta Files no catálogo principal do MT5. Escrevi os caminhos no código do script de treinamento do modelo. Mas algo não está indo para o resultado.
Corrijo o código do script no MetaEditore. Tento executar o script a partir daí. O processo cai em um erro (ele não encontra o pacote bots python, e a tentativa de instalá-lo de acordo com o esquema de instalação de outros pacotes também termina com um erro). O mesmo erro ocorre ao executar o script por meio do console do python.
Você pode me aconselhar em que direção devo pesquisar o tópico?
Bom dia!
Sim, nesta versão, o bot compila e funciona corretamente. Mas os modelos precisam ser treinados novamente. E, em geral, pelo que sei, isso deve ser feito regularmente.
Estou me familiarizando com o python, mas nem tudo está funcionando até agora. Instalei a versão principal do Rutop em meu laptop e a atualizei para a versão atual. Instalei todos os pacotes necessários (pandas, numba, numpy, catboost, scipy, scikit-learn). Baixei as citações. Coloquei o arquivo de cotações e todos os scripts na pasta Files no catálogo principal do MT5. Escrevi os caminhos no código do script de treinamento do modelo. Mas algo não está indo para o resultado.
Corrijo o código do script no MetaEditore. Tento executar o script a partir daí. O processo cai em um erro (ele não encontra o pacote bots python, e a tentativa de instalá-lo de acordo com o esquema de instalação de outros pacotes também termina com um erro). O mesmo erro ocorre ao executar o script por meio do console do python.
Você pode me aconselhar em que direção devo aprofundar o tópico?
Bots é apenas o diretório raiz (pasta) onde estão localizados os módulos do artigo. Se o script não os vir ao importar módulos (arquivos adicionais), escreva os caminhos completos para os arquivos.
Ou coloque todos esses arquivos na mesma pasta que o script principal e faça isso:
Isso pode acontecer se você não tiver prescrito o PYTHONPATH quando instalou o Python. Pesquise na Internet para descobrir como prescrevê-lo para seu sistema. Ou seja, o Python não vê os arquivos no disco.
Ou leia um curso básico sobre importação de módulos na Internet.
Bots é apenas um diretório raiz (pasta) onde os módulos do artigo estão localizados. Se o script não os vir ao importar módulos (arquivos adicionais), escreva os caminhos completos para os arquivos.
Ou coloque todos esses arquivos na mesma pasta que o script principal e faça isso:
Isso pode acontecer se você não tiver prescrito o PYTHONPATH quando instalou o Python. Pesquise na Internet para descobrir como prescrevê-lo em seu sistema. Ou seja, o Python não vê os arquivos no disco.
Ou leia um curso básico sobre importação de módulos na Internet.
Bom dia, Maxim. Obrigado, Maxim. Quase tudo foi resolvido. A última pergunta.
Há linhas comentadas (154-182) no script principal para modelos de treinamento. Pelo que entendi, esses são amostradores de negócios alternativos (marcações). Mas não posso experimentá-los. Se qualquer um dos marcadores for descomentado (condicionalmente, linhas 154-158) e o original for comentado (linhas 149-153), o script não será iniciado.
Qual pode ser o motivo, onde procurar?
Obrigado)
Bom dia, Maxim. Muito obrigado. Quase tudo foi resolvido. A última pergunta.
Há linhas comentadas (154-182) no script principal para modelos de treinamento. Pelo que entendi, esses são amostradores de negócios alternativos (markups). Mas não posso experimentá-los. Se algum dos marcadores for descomentado (condicionalmente, linhas 154-158) e o original for comentado (linhas 149-153), o script não será iniciado.
Qual pode ser o motivo, onde procurar?
Obrigado)
Olá, você precisa de registros do que o interpretador Python escreve.