Discussão do artigo "Desenvolvimento de robô em Python e MQL5 (Parte 1): Pré-processamento de dados" - página 5

 
Rashid Umarov #:

A julgar pela tela, foi usada a versão 3.10.10 do Python.


Oh, cara, certo.

Tenho uma abordagem um pouco diferente para ler artigos.

Primeiro, leio um artigo na diagonal. Se for do meu interesse, faço o download e executo o código. Se o código funcionar, então leio o artigo com atenção.

Não vi a versão em python na diagonal).


ZЫ. Tenho certeza de que o python não é o 3.10.

P.S. Ao fazer o download do meta-editor.

oferece o download do python-3.9.7-amd64.exe.

Obviamente, esse não é o 3.10. Onde posso baixar o 3.10?

 

https://www.python.org - ele está lá.

Provavelmente, você pode colocar a versão mais recente 3.12

Welcome to Python.org
Welcome to Python.org
  • 2024.03.29
  • www.python.org
The official home of the Python Programming Language
 
Yuriy Bykov #:

https://www.python.org - está lá.

Provavelmente, você pode colocar a versão mais recente 3.12

Python 3.12.2 (tags/v3.12.2:6 abddd9, Feb  6 2024, 21:26:36) [MSC v.1937 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license()" for more information.

= RESTART: C:\Users\Iskander\Desktop\synergy_ml_bot.py
MetaTrader initialization failed
MetaTrader initialization failed
Traceback (most recent call last):
  File "C:\Users\Isrander\Desktop\synergy_ml_bot.py", line 272, in <module>
    augmented_data = augment_data(raw_data)
  File "C:\Users\Isrander\Desktop\synergy_ml_bot.py", line 95, in augment_data
    print(f"Number of rows before augmentation: {len(raw_data)}")
TypeError: object of type 'NoneType' has no len()

Python n/b

Instalei tudo o que pude. Ainda assim, algo está faltando. Python n/b!!!

 

Execute primeiro o exemplo da ajuda de integração do Python

Se não funcionar, o problema está do seu lado

Документация по MQL5: Python интеграция
Документация по MQL5: Python интеграция
  • www.mql5.com
MQL5 предназначен для разработки высокопроизводительных торговых приложений на финансовых рынках и не имеет аналогов среди других специализованных...
 
Rashid Umarov #:

Para começar, execute o exemplo da Ajuda de integração do Python

Se não funcionar, o problema está do seu lado

Está tudo bem. Funcionou.

O autor especificou seus caminhos para o terminal no código. Eu não descobri isso de uma vez.

Obrigado a todos por sua ajuda.

python n/b.

 
Aleksandr Slavskii #:
O autor especificou seus caminhos para o terminal no código. Não descobri isso imediatamente.

Não quis fazer essa suposição para não ofendê-lo :)

De agora em diante, verifique sua fonte antes de me repreender

 
Rashid Umarov #:

Não quis fazer essa suposição para não ofendê-lo :)

De agora em diante, verifique sua fonte antes de repreender

Você não entendeu a essência da minha repreensão.

O problema não foi "O autor especificou seus próprios caminhos para o terminal no código", isso não levou quase nenhum tempo.

O problema foi que o autor não especificou coisas "simples" e "absolutamente claras para todos" no artigo em um fórum especializado na linguagem MQL.

Como essas na ajuda.


Não é difícil para uma pessoa que conhece python escrever essas instruções em um artigo, mas isso economizaria muito tempo para alguém que sabe pouco sobre python.

Descobrir a versão do python, instalá-lo, instalar pacotes que estão instalados de forma errada. Primeiro ele diz que sua versão do python está desatualizada e, em seguida, diz que a versão do pacote não se encaixa na nova versão do python, instale esta.

Dançando...

E, em geral, o python é n/b.

 

Não entendo muito bem de python, mas tenho essa sensação:

1. Os preditores usam o preço de fechamento no momento da previsão na barra zero, ou seja, o preço futuro.

2. Os preditores são transformados e descartados em toda a amostra, sem selecionar uma amostra para teste independente.

3. A geração de amostras é uma ideia questionável - eu gostaria de ver evidências da utilidade da abordagem utilizada.

4. Não está claro sobre o agrupamento - como as colunas (recursos) são agrupadas. Cito: "O agrupamento de recursos combina recursos semelhantes em grupos para reduzir seu número. Isso ajuda a se livrar de dados redundantes, reduzir a correlação e simplificar o modelo sem excesso de ajuste." De alguma forma, acho que o clustering combina linhas (vetores) com valores preditores semelhantes (em colunas). Caso contrário, o código deve gerar os números de colunas divididos por clusters. Em geral, todo o parágrafo é confuso no artigo sobre clustering, no início sobre um método, depois você aplica outro, acho que é difícil para um leitor que não tem conhecimento entender, e eu não entendi por quê.

5. A questão da seleção de preditores é importante, e estou interessado no método RFECV, mas gostaria de ver no artigo uma explicação de como as árvores são construídas sem um alvo, mas a métrica de "precisão" é usada para avaliação, ou seja, esta declaração "...First the class labels are discarded...". Parece que a lógica do texto não corresponde à lógica do código, pois o treinamento segue os rótulos "rfecv.fit(X, y)".

O artigo me faz sentir que o texto é parcialmente gerado por um modelo linguístico, ou é uma tradução automática, ou eu parei completamente de entender a linguagem moderna...

Eu gostaria de ver artigos de melhor qualidade com conteúdo exclusivo. Espero que o autor os tenha.

 

# Adicionar ruído
dados_ruidosos = dados_ruidosos.copy()
dados_ruidosos += np.random.normal(0, nível_de_ruído, forma_dos_dados_ruidosos)

Essa série artificial se parece com uma série real? As barras OHLC também não são geradas. Elas devem ser coletadas de ticks, ao que me parece.
E esses dados gerados artificialmente são bons para serem usados em um forward como um dos critérios de verificação para olhar para o futuro, etc., mas certamente não como um preditor.
 
Aleksey Vyazmikin seleção de preditores é importante, e estou interessado no método RFECV, mas gostaria de ver no artigo uma explicação de como as árvores são construídas sem um alvo, mas a métrica de "precisão" é usada para avaliação, ou seja, esta declaração "...First the class labels are discarded...". Parece que a lógica do texto não corresponde à lógica do código, pois o treinamento segue os rótulos "rfecv.fit(X, y)".

O artigo me faz sentir que o texto é parcialmente gerado por um modelo linguístico, ou é uma tradução automática, ou eu parei completamente de entender a linguagem moderna...

Eu gostaria de ver artigos de melhor qualidade com conteúdo exclusivo. Espero que o autor os tenha.

Se os rótulos de classe não forem redefinidos, então o melhor recurso para prever rótulos serão os próprios rótulos, não?