Discussão do artigo "Reamostragem avançada e seleção de modelos CatBoost pelo método de força bruta" - página 12

[Excluído]  
Evgeni Gavrilovi:

caminhos de arquivo adicionados - traing prnew.csv e test prnews.csv

mas o R2 recebido é quase sempre superior a 0,9, talvez o look_back não esteja configurado corretamente e é por isso que o arquivo mqh recebido está errado, o que faz com que o teste no terminal não funcione.


https:// colab.research.google.com/drive/1eeyRA5bGaFMfX1THnMsL5hwKmxBkqvqP


https://drive.google.com/file/d/1LIRhpk5iU_dYQbefZ-FFQM6XMV_cOh26/view?usp=sharing dados de teste


https://drive.google.com/file/d/18RpJec9EGSCSknwaHsevgHcZuCeoOvP5/view?usp=sharing dados de treinamento

Vou dar uma olhada mais tarde, estou ocupado no trabalho.

 
Maxim Dmitrievsky:

Vou dar uma olhada mais tarde, enquanto estou ocupado no trabalho.

Certo.

Aqui está o arquivo mqh: https: //drive.google.com/file/d/1UquXcaRJjIR2lxE81P8Pm2BWFQ9uM0N1/view?usp=sharing

O testador mostra o seguinte erro: 2020.12.01 21:19:23.252 2020.08.03 00:05:00 array out of range in 'cat_model.mqh' (288,51)

 
Maxim Dmitrievsky : Olá, Rasoul. Tente reduzir o tamanho do conjunto de treinamento. Isso pode depender de diferentes configurações, mas o truque principal é que, quanto menor o tamanho do treinamento, melhor a generalização em novos dados. No próximo artigo, tentarei explicar esse efeito.

Olá, Maxim,

. Alterei os períodos dos conjuntos para os seguintes,

1. Conjunto de treinamento: de 2018/01/01 a 2019/01/01
Isso só será usado para treinar o GMM.

2. Conjunto de validação: de 01.01.2019 a 01.01.2020
Esse conjunto será usado no algoritmo de força bruta para encontrar o melhor modelo.

3. Conjunto de teste: de 2021.01.01 a 2020.01.01

Esse conjunto será usado apenas para testar o melhor modelo obtido com o algoritmo de força bruta.

Abaixo está um resultado típico da execução do script,

Estou anexando o código, para que você possa dar uma olhada nele e encontrar um possível erro.

Arquivos anexados:
[Excluído]  
Rasoul Mojtahedzadeh:

Oi Maxim,

Alterei os períodos dos conjuntos para o seguinte,

1. Conjunto de treinamento: de 2018/01/01 a 2019/01/01
Isso só pode ser usado para treinar o GMM.

2. Conjunto de validação: de 01.01.2019 a 01.01.2020
Esse conjunto será usado no algoritmo de força bruta para encontrar o melhor modelo.

3. Conjunto de teste: de 2020.01.01 a 2021.01.01

Esse conjunto será usado apenas para testar o melhor modelo obtido com o algoritmo de força bruta.

Abaixo está um resultado típico da execução do script,

.

Estou anexando o código, para que você possa dar uma olhada nele e encontrar um possível erro.

Às vezes, basta alterar o intervalo de aprendizado e as configurações para que o modelo possa capturar melhor as dependências, por exemplo:

LOOK_BACK = 1
MA_PERIODS = [15, 25, 55, 100, 150, 200, 250, 300]

SYMBOL = 'EURUSD'
MARKUP = 0.00010
TIMEFRAME = mt5.TIMEFRAME_H1
START_DATE = datetime(2018, 9, 1)
VSTART_DATE = datetime(2019, 3, 1)
TSTART_DATE = datetime(2019, 7, 1)
STOP_DATE = datetime(2021, 1, 1)


[Excluído]  
Evgeni Gavrilovi:

Tudo bem.

Aqui está o arquivo mqh: https: //drive.google.com/file/d/1UquXcaRJjIR2lxE81P8Pm2BWFQ9uM0N1/view?usp=sharing

O erro está listado no testador: 2020.12.01 21:19:23.252 2020.08.03 00:05:00 array out of range in 'cat_model.mqh' (288,51)

Tenho a suspeita de que você está usando uma versão do bot do último artigo. O bot deste artigo é diferente. Verifique-o, pois não deve haver esse erro.

R^2 0,9 é bom, eu também obtenho isso com frequência

 
Maxim Dmitrievsky:

Às vezes, basta alterar o intervalo de aprendizado e as configurações para que o modelo possa capturar melhor as dependências, por exemplo:


Obrigado por sua resposta rápida!

Parece bom com suas configurações! :)

Com os melhores cumprimentos,

Rasoul

[Excluído]  
Rasoul Mojtahedzadeh:

Obrigado por sua resposta rápida!

Parece bom com suas configurações! :)

Com os melhores cumprimentos,

Rasoul

look_back só precisa ser definido como 1, de acordo com minha experiência... e mais MAs diferentes. E, às vezes, é necessário alterar os períodos de aprendizado

às vezes é necessário alterar o número de clusters no GMM de 75 para outro... e assim por diante)

talvez seja necessário adicionar recursos melhores em vez de MAs, mas não sei exatamente quais... preciso fazer experimentos

 
Maxim Dmitrievsky:

Suspeito que você esteja usando uma versão do bot do último artigo. O bot deste artigo é diferente. Verifique-o, pois não deve haver esse erro.

O R^2 0,9 é bom, eu também o tenho com frequência

somente a nova versão tem a função brute_force, mas o ponto é diferente - o arquivo mqh recebido dá uma matriz de erro fora do intervalo e não permite testar o bot com R^2 alto.

[Excluído]  
Evgeni Gavrilovi:

somente na nova versão há uma função brute_force, mas o problema é diferente - o arquivo mqh recebido apresenta uma matriz de erro fora do intervalo e não permite testar o bot com R^2 alto.

Estou falando do arquivo EA que você compila.

 
Maxim Dmitrievsky:

Estou falando do arquivo EA que você está compilando.

Sim, é isso mesmo.

Ele diz

#include <MT4Orders.mqh>

#include <Trade\AccountInfo.mqh>

#include <cat_model.mqh>

E o mais importante é que, ao carregar o mqh diretamente do notebook do jupyter, tudo funciona bem, fiquei surpreso com isso