Aprendizado de máquina no trading: teoria, prática, negociação e não só - página 1180

 
Aleksey Vyazmikin:

Ivan Negreshniy, não entendo algo, criei o modelo em CatBoost, e como ele deve ser conectado, é a ponte/canal da EA para python, sobre a qual os valores de previsão serão transferidos, e na direção oposta o resultado do cálculo será recebido - uma classe concreta?

Tanto quanto sei, CatBoost permite descarregar um código do modelo que eu não entendo, mas vou anexá-lo para estimativa do profissional, a menos que possa ser integrado no MQL de alguma forma e não usar python então? E, CatBoost tem bibliotecas em C++, eles não podem fazê-los funcionar em MQL e não usam comandos python e console?

O que não está claro aqui, a ponte é necessária para a automação de ponta a ponta do trabalho com dados e modelos diretamente do Expert Advisor, incluindo criação, configuração, treinamento, etc. E o que o CatBoost despeja em arquivos é a serialização de um determinado modelo, que só pode ser usado para cálculos.

Claro, você pode criar um EA baseado nesses arquivos no editor, mas não será muito diferente de um EA normal com lógica rígida, e se esse for o objetivo, IMHO, é muito mais fácil alcançá-lo através de treinamento usando templates, o que sugeri. https://www.mql5.com/ru/forum/270216

Como tudo é treinado e gerado automaticamente, e o código de cada árvore é convertido em uma função lógica separada, que pode ser mais fácil de analisar e mais rápido de executar, se você completá-lo, podemos comparar mais tarde.

Машинное обучение роботов
Машинное обучение роботов
  • 2018.08.02
  • www.mql5.com
Привет всем, я занимаюсь машинным обучением (МО) советников и индикаторов и решил вынести на всеобщее обсуждение свои эксперименты...
 
Aleksey Vyazmikin:

Para mim, é trabalho intensivo em primeiro lugar.

A maioria dos preditores estão agrupando indicadores e encaixando-os no ATR diariamente. O resto do trabalho da série cronológica é de caracterização de preditores.

Eu tenho duas perguntas.

1) Por favor, explique o que significa - um monte deindicadores e encaixá-los no diário ATR.

2) Por que a catbust? Tens a certeza que é melhor do que outros impulsos?

 
Ivan Negreshniy:

O que não está claro aqui, a ponte é necessária para a automação de ponta a ponta do trabalho com dados e modelos diretamente da EA, incluindo criação, configuração, treinamento, etc,

Estou a ver, ou seja, é principalmente a capacidade de criar a sua própria interface para trabalhar com a biblioteca MoD, certo? Isto é equivalente ao fato de que agora estou planejando fazer a mesma interface, mas através da ativação de um arquivo exe e da alimentação de comandos nele. Em geral, sim, é interessante fazê-lo através da píton, mas eu não tenho esse conhecimento, infelizmente.

Ivan Negreshniy:

e o que o CatBoost despeja em arquivos é a serialização de um modelo específico, que só pode ser usado para cálculos.

Claro que podemos criar uma EA baseada nestes arquivos no editor, mas não será muito diferente de uma EA normal com lógica rígida, e se este é o objetivo, então IMHO, é muito mais fácil alcançá-lo através de treinamento com a ajuda de templates, o que sugeri. https://www. mql5.com/ru/forum/270216

Se você entender este código, talvez você possa me dizer como traduzi-lo em forma legível, por exemplo, dando a cada regra uma descrição final, como eu faço para folhas após o processamento de modelos de R

if(Test_P==11519)if(RSI_Open_M1<0.5 && Levl_High_H1s1N>=1.5 && Levl_Close_H1s1N>=0 && Levl_Low_H1s1N>=-3.5 && Levl_High_H1s1N<3.5 && Levl_Close_H1s1N>=1.5 && Part_H1>=2.5) CalcTest=CalcTest+1; //(0.10156250 0.61718750 0.28125000)

não consigo entender o algoritmo de encriptação neste código - você pode fazer sua descrição/interpretação (talvez por uma taxa)?

Ivan Negreshniy:

E se esse é o objetivo, IMHO, é muito mais fácil alcançá-lo através da aprendizagem de padrões, o que eu sugeri. https://www.mql5.com/ru/forum/270216

Como tudo é treinado e gerado automaticamente, e o código de cada árvore é convertido em função lógica separada, que talvez seja mais fácil de analisar e mais rápido em tempo de execução, se você terminar, podemos comparar mais tarde.

O objectivo não é apenas obter um modelo, mas sim obter folhas, avaliá-las e depois gerar novos modelos com base nessas folhas.

Eu estava lendo esse tópico e não entendo bem, o processo de construção de redes automáticas foi criado com base em indicadores nus e marcação, a informação é transferida para o template, enquanto eu tenho pós-processamento de indicadores, além de usar alguns dos meus indicadores, que eu não quero tornar público, então acontece que o método não está disponível, e novamente - você não pode obter folhas a partir dele...

 
mytarmailS:

Eu tenho duas perguntas.

1) Por favor, explique o que significaagrupar indicadores e encaixá-los no ATR diariamente

2) Por que a catbust? Tens a certeza que é melhor do que outros andaimes? ou andaimes

1. esta é a minha visão do mercado, ou seja, o preço tem um plano de movimento, que é definido pela ATR no início do dia, depois, dependendo dos obstáculos (níveis de resistência (níveis de tomada/revisão das decisões de negociação pelos participantes do mercado), que são, incluindo os indicadores), este plano é implementado ou não. Os prognosticadores descrevem estes obstáculos em relação ao plano de movimento. Então, isto é o que parece graficamente - uma grelha ao longo da gama ATR com diferentes indicadores dentro

Capturas de ecrã da plataforma MetaTrader

Si-9.18, M1, 2018.08.30

JSC &#39;&#39;Otkritie Broker&#39;&#39;&#39;, MetaTrader 5, Real

Para a memória

Si-9.18, M1, 2018.08.30, Otkritie Broker, MetaTrader 5, Real


2. CatBoost - teve apenas alguma ajuda para o montar. Além disso, funciona claramente mais rápido do que a minha abordagem anterior de criar modelos em R e ao mesmo tempo era mais eficiente, há documentação e comandos através do DOS :) Comparado com outras ferramentas, por exemplo o Deductor Studio, é mais estável e os modelos são melhores a sair, mais o último é cobrado, aqui tudo é gratuito.

 
Maxim Dmitrievsky:

Talvez esteja interessado, eu encontrei

Quero fazer um sistema de optimização de árvores, mais precisamente construindo árvores com o optimizador... é um tema interessante, mas não sei por onde começar :))

https://explained.ai/

Obrigado pela preocupação!

A barreira linguística torna a leitura excruciante, e os tradutores tornam o texto mudo ou engraçado... infelizmente.

 
Maxim Dmitrievsky:

traduzir uma palavra de cada vez, usando o plugin de tradutor google para cromo.

Eu uso o pluginImTranslator em cromo, ele funciona bem quando você traduz um parágrafo de uma vez, quando você seleciona palavras e clica com o botão direito do mouse no menu de contexto


 
Maxim Dmitrievsky:

não precisa de clicar no Google

Que tipo de plugin é este? Costumava funcionar no Cromo, depois parou, e não sei como o montar.

 
Aleksey Vyazmikin:

Estou a ver, ou seja, é antes de mais uma oportunidade de criar a sua própria interface para trabalhar com a biblioteca MoD, certo? Isto é equivalente ao fato de que agora estou planejando fazer a mesma interface, mas através da ativação de um arquivo exe e da alimentação de comandos nele. Em geral, sim, é interessante fazê-lo via píton, mas eu não tenho esse conhecimento, infelizmente.

Se você entende este código, pode me dizer como traduzi-lo em forma legível, por exemplo, dando a cada regra uma descrição final, como eu faço para as folhas após o processamento dos modelos de R

Eu simplesmente não consigo entender o algoritmo de encriptação neste código - você pode fazer sua descrição/interpretação (possivelmente por uma taxa)?

O objectivo não é apenas obter um modelo, mas sim obter folhas, avaliá-las e depois gerar novos modelos com base nessas folhas.

Li esse tema e não entendo bem, o processo de construção de redes automáticas foi criado por vocês com base em indicadores nus e marcação, a informação é transferida por template, no meu caso há pós-processamento de indicadores, além de eu usar alguns indicadores, que não quero exibir, então acontece que esse método não está disponível, e mais uma vez - não se pode obter folhas dele...

Eu não entendo porque posso precisar da edição manual de divisões e folhas decidindo árvores, sim eu tenho toda a ramificação é automaticamente convertida para um operador lógico, mas honestamente não me lembro que eu mesmo já corrigi.

E em geral vale a pena escavar o código CatBoost, como é que eu sei ao certo.

Por exemplo, eu coloquei acima o teste em python minha rede neural com treinamento por tabela de multiplicação por dois, e agora a levei para testar árvores e florestas (DecisionTree, RandomForest, CatBoost)

import catboost
from sklearn.tree import DecisionTreeRegressor
from sklearn.ensemble import RandomForestRegressor
from catboost import CatBoostRegressor

x = [[1,2],[2,2],[3,2],[4,2],[5,2],[6,2],[7,2],[8,2],[9,2]]
y = [2,4,6,8,10,12,14,16,18]

print('-------- 1 DecisionTree')
tree = DecisionTreeRegressor().fit(x,y)
for ix in x: print(' {:2.2f}*{:2.2f}={:2.2f} '.format(ix[0],ix[1],tree.predict([ix])[0]))

print('-------- RandomForest 10 Tree')
regr = RandomForestRegressor(n_estimators=10).fit(x,y)
for ix in x: print(' {:2.2f}*{:2.2f}={:2.2f} '.format(ix[0],ix[1],regr.predict([ix])[0]))

print('-------- CatBoost 10 Tree')
cat = CatBoostRegressor(iterations=10, verbose=False).fit(x,y)
for ix in x: print(' {:2.2f}*{:2.2f}={:2.2f} '.format(ix[0],ix[1],cat.predict([ix])[0]))

e aqui está o resultado - obviamente não é a favor do CatBoost, como duas vezes dois é zero cinco...:)


é verdade que se você pegar milhares de árvores, os resultados melhoram.
 
Ivan Negreshniy:

Não entendo por que é necessária a edição manual de rachaduras e folhas de árvores de decisão, sim, tenho todos os ramos convertidos automaticamente em operadores lógicos, mas francamente não me lembro, que eu mesmo já os corrigi.

E em geral vale a pena escavar o código CatBoost, como é que eu sei ao certo.

Por exemplo, eu coloquei acima o teste em python minha rede neural com aprendizado por tabela de multiplicação por dois, e agora o levei para testar árvores e florestas (DecisionTree, RandomForest, CatBoost)

e aqui está o resultado - claramente não é a favor do CatBoost, como duas vezes dois é zero cinco...:)


Vá lá, é impossível que a floresta ou o impulso não consiga lidar com a tabela de multiplicação.

 
Maxim Dmitrievsky:

Nem pensar, não há maneira de uma floresta ou de um impulso não conseguir lidar com a tabela de multiplicação.

há um roteiro, qualquer um pode verificar por si mesmo, talvez eu tenha uma pitão do sistema errado))