Discussão do artigo "Gradient Boosting (CatBoost) no desenvolvimento de sistemas de negociação. Uma abordagem ingênua" - página 5

 
Maxim Dmitrievsky:
Eu sei.
Era eu para o Alexei. Ele achou que era uma lembrança
[Excluído]  
elibrarius:
Esse sou eu para o Alexei. Ele achava que era a memória

a dependência dos exemplos entre si, também um tipo de memória. Se você misturar teste e treinamento, a quantidade é menor, mas é uma solução ruim, concordo, é feita para simplificar.

você obtém muitos exemplos sobre a mesma coisa, mas grupos diferentes de exemplos ficam desequilibrados. Daí o excesso de ajuste na conjuntura atual e a generalização ruim

 

De alguma forma, precisamos verificar se há vazamento de informações. Os rótulos são criados com 10 a 15 barras de antecedência, o histórico é alimentado a uma profundidade de 250 barras e, durante as iterações, pode haver algum tipo de vazamento.

[Excluído]  
Rorschach:

De alguma forma, precisamos verificar se há vazamento de informações. Os rótulos são criados com 10 a 15 barras de antecedência, o histórico é alimentado a uma profundidade de 250 barras e, durante as iterações, pode haver algum tipo de vazamento.

O testador do MT5 não sabe como fazer isso.

 

A propósito, em um tópico recente sobre a influência dos indicadores.
Tente remover a MA e treinar apenas com incrementos. Talvez seja suficiente simplesmente fazer o período MA = 1.
O resultado não deve mudar se a ideia de que os indicadores que são construídos por barras podem ser reproduzidos por NS/forest/bust.

[Excluído]  
elibrarius:

A propósito, em um tópico recente sobre a influência dos indicadores.
Tente remover a MA e treinar apenas com incrementos. Talvez seja suficiente simplesmente fazer o período MA = 1.
O resultado não deve mudar se a ideia de que os indicadores que são construídos por barras podem ser reproduzidos por NS/forest/bust.

Nessa versão, ele é perfeitamente treinável em qualquer período, sem diferença. Basta executar o código python

Quando o período MA diminui, é razoável aumentar o tamanho da janela. Ao aumentar o tempo de manutenção da posição, também é razoável aumentar o tamanho da janela

MA e incrementos não são necessários e servem apenas como exemplo, você pode usar qualquer sinal.
 

Oi Maxim,

Obrigado por compartilhar conosco esse belo artigo! Fiz algumas alterações em seu código python e consegui obter alguns resultados promissores. Basicamente, não misturei os períodos de treinamento e teste nesse experimento.

Backtest, treinamento e períodos de teste

Espero que isso não seja apenas por acaso! :) Tentarei ver se consigo reproduzir esses resultados no testador de estratégia do MT5.

Atenciosamente, Rasoul


Editar:

Estes são os resultados do testador de estratégia, que são semelhantes aos anteriores! :)

Resultados do Strategy Tester



[Excluído]  
Rasoul Mojtahedzadeh:

Oi Maxim,

Obrigado por compartilhar conosco esse belo artigo! Fiz algumas alterações em seu código python e consegui obter alguns resultados promissores. Basicamente, não misturei os períodos de treinamento e teste nesse experimento.

Espero que isso não seja apenas por acaso! :) Tentarei ver se consigo reproduzir esses resultados no testador de estratégia do MT5.

Atenciosamente,
Rasoul



Olá Rasuol, fico feliz que tenha gostado do artigo. Quero escrever outro sobre o mesmo tópico. Seria interessante se você compartilhasse sua experiência

 

Eu gostaria de ver alguma justificativa no artigo para a escolha das constantes: MA_PERIOD = 15, LOOK_BACK = 250 e add_labels(pr, 10, 25). Pelo menos na forma de uma frase: "com base nos muitos anos de experiência do autor..."

Além disso, não entendo como você conseguiu obter relatórios idênticos no python e no testador, se o script python não usa stop-loss, mas no testador ele está definido.

[Excluído]  
Stanislav Korotky:

Eu gostaria de ver alguma justificativa no artigo para a escolha das constantes: MA_PERIOD = 15, LOOK_BACK = 250 e add_labels(pr, 10, 25). Pelo menos na forma de uma frase: "baseado na longa experiência do autor...".

Além disso, não entendo como você conseguiu obter relatórios idênticos no python e no testador, se o script python não usa stop-loss, mas no testador ele está definido.

A seleção é aleatória, como "não muito grande e não muito pequena". Ou seja, não se baseia em nada, pois não sei onde procurar.

O stop pode ser definido como longo