A saída para o MT5 do modelo ONNX treinado no LightGBM não funciona. Erros 5808 e 5805 ao definir a forma dos parâmetros. Mas o problema parece estar na definição das dimensões dos parâmetros - são obtidos valores negativos (destacados no código). Talvez eu tenha bagunçado alguma coisa. No Python 3.10, tudo parece estar normal.
Parece um pouco cedo para mudar para python. É melhor aprender a versão CLI do LightGBM e salvar os modelos no formato if-else em C. Não é universal, mas é barato e seguro)
Lembrei-me da discussão sobre sinais cíclicos, como a hora do dia. Na minha opinião, deveríamos traduzi-los em sinais regulares, simplesmente selecionando o ponto de partida em que ocorre a mudança mais forte no possível padrão. Você pode usar considerações de mercado (horário da sessão, neste caso) ou algo do gênero, ou treinar um modelo de árvore e pegar o ponto da primeira divisão nesse recurso.
Любой скальпер знает, что круглосуточная торговля - глупость. Есть интервалы, где достигается высокая и стабильная прибыльность, поэтому различными способами находят эти интервалы. Например, при
Aleksey Nikolayev #: Lembrei-me da discussão sobre sinais cíclicos, como a hora do dia. Na minha opinião, deveríamos traduzi-los em sinais regulares, simplesmente selecionando o ponto de partida em que ocorre a mudança mais forte no possível padrão. Você pode usar considerações de mercado (cronograma da sessão, nesse caso) ou algo parecido, ou treinar um modelo de árvore e escolher o ponto da primeira divisão com base nesse recurso.
Você poderia usar a volatilidade em vez de incrementos, pois ela reflete com precisão os ciclos do mercado. E executá-lo por meio de dois modelos, um dos quais filtra os casos ruins (como fiz no último artigo). Os resultados às vezes são decentes, basta treinar novamente algumas vezes. Potencialmente, essa abordagem dará mais resultados do que o bestinterval.
O ZY onnx no mac começou com o exemplo, o que é legal, mas ainda não verifiquei os resultados
É necessário inserir uma matriz bidimensional como no seu exemplo? Parece mais lógico usar uma matriz unidimensional com atributos. Ele pode reclamar da forma errada da matriz. Por exemplo, em vez de uma unidimensional, você deve fornecer uma bidimensional, em que cada entrada está na segunda dimensão, ou seja, matrizes aninhadas contendo um valor cada.
Há um exemplo de tradução para mql do python para o catbust; o lgbm parece não ser melhor
O ZY onnx no mac começou com o exemplo, o que é legal, mas ainda não verifiquei os resultados
É necessário inserir uma matriz bidimensional como no seu exemplo? Parece mais lógico usar uma matriz unidimensional com atributos. Ele pode reclamar da forma errada da matriz. Por exemplo, em vez de uma unidimensional, você deve fornecer uma bidimensional, em que cada entrada está na segunda dimensão, ou seja, matrizes aninhadas contendo um valor cada. .
Bem, ao treinar em python, testei o modelo nas primeiras cinco linhas do conjunto de dados. Em seguida, ao executar o ONNX em python, também testei a saída nas mesmas cinco primeiras linhas. Não importa como você olhe para ela, ainda é uma matriz. Na variante MT5, eu apenas copiei essas mesmas cinco linhas como uma matriz. E no exemplo de Renat, a entrada também é uma matriz de dez linhas e quatro colunas.
O problema, na minha opinião, já está no carregamento do modelo, porque os números negativos nas dimensões são gerados. A propósito, devemos ver o que será gerado no exemplo de Renate.
Maxim Dmitrievsky #: Você pode usar a volatilidade em vez de incrementos, pois ela reflete com precisão os ciclos do mercado. E execute-a por meio de dois modelos, um dos quais filtra os casos ruins (como fiz no último artigo). Os resultados às vezes são decentes, basta treinar novamente algumas vezes. Potencialmente, essa abordagem renderá mais do que o bestinterval.
Não, estou apenas falando sobre a abordagem geral das variáveis cíclicas. Elas precisam ser "fatiadas" para serem transformadas em variáveis comuns. Mas você pode fazer isso de diferentes maneiras, não necessariamente no zero formal.
Além do tempo diário, as variáveis cíclicas ocorrem, por exemplo, ao procurar pesos para uma carteira de dois símbolos.
A saída para o MT5 do modelo ONNX treinado no LightGBM não funciona. Erros 5808 e 5805 ao definir a forma dos parâmetros. Mas o problema parece estar na definição das dimensões dos parâmetros - são obtidos valores negativos (destacados no código). Talvez eu tenha bagunçado alguma coisa. No Python 3.10, tudo parece estar normal.
Saída MQL5:
Aprendendo em python:
Saída em Python:
Lembrei-me da discussão sobre sinais cíclicos, como a hora do dia. Na minha opinião, deveríamos traduzi-los em sinais regulares, simplesmente selecionando o ponto de partida em que ocorre a mudança mais forte no possível padrão. Você pode usar considerações de mercado (cronograma da sessão, nesse caso) ou algo parecido, ou treinar um modelo de árvore e escolher o ponto da primeira divisão com base nesse recurso.
.
Bem, ao treinar em python, testei o modelo nas primeiras cinco linhas do conjunto de dados. Em seguida, ao executar o ONNX em python, também testei a saída nas mesmas cinco primeiras linhas. Não importa como você olhe para ela, ainda é uma matriz. Na variante MT5, eu apenas copiei essas mesmas cinco linhas como uma matriz. E no exemplo de Renat, a entrada também é uma matriz de dez linhas e quatro colunas.
O problema, na minha opinião, já está no carregamento do modelo, porque os números negativos nas dimensões são gerados. A propósito, devemos ver o que será gerado no exemplo de Renate.
Você pode usar a volatilidade em vez de incrementos, pois ela reflete com precisão os ciclos do mercado. E execute-a por meio de dois modelos, um dos quais filtra os casos ruins (como fiz no último artigo). Os resultados às vezes são decentes, basta treinar novamente algumas vezes. Potencialmente, essa abordagem renderá mais do que o bestinterval.
Não, estou apenas falando sobre a abordagem geral das variáveis cíclicas. Elas precisam ser "fatiadas" para serem transformadas em variáveis comuns. Mas você pode fazer isso de diferentes maneiras, não necessariamente no zero formal.
Além do tempo diário, as variáveis cíclicas ocorrem, por exemplo, ao procurar pesos para uma carteira de dois símbolos.
Há pequenas dúvidas sobre o futuro do Yandex)
Além disso, o lgbm deve se integrar melhor com o sysharp e outras criações da Microsoft, se isso se tornar relevante de repente)
Há também o pacote intrees, no qual você pode extrair regras de vários modelos de aldeias.
Você pode demonstrar um script com essa funcionalidade?
Há pequenas dúvidas sobre o futuro da Yandex)
Em que eles se baseiam?