Discussion de l'article "Développement d'un robot en Python et MQL5 (Partie 1) : Pré-traitement des données" - page 5

 
Rashid Umarov #:

A en juger par l'écran, la version 3.10.10 de Python a été utilisée.


Oh, bon sang, c'est vrai.

J'ai une approche légèrement différente de la lecture des articles.

Je lis d'abord un article en diagonale. S'il m'intéresse, je télécharge et j'exécute le code. Si le code fonctionne, je relis l'article attentivement.

Je n'ai pas vu la version python en diagonale).


Je n'ai pas la version 3.10 de python, c'est certain.

P.S. Lors du téléchargement à partir du méta-éditeur.

propose de télécharger python-3.9.7-amd64.exe.

Ce n'est manifestement pas la 3.10 où télécharger la 3.10 ?

 

https://www.python.org - il est là.

Il est très probable que vous puissiez mettre la dernière version 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 - il est là.

Il est très probable que vous puissiez mettre la dernière version 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

J'ai installé tout ce que je pouvais. Pourtant, il manque quelque chose. Python n/b !!!

 

Exécutez d'abord l'exemple de l'aide à l 'intégration de Python

Si cela ne fonctionne pas, le problème est de votre côté

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

Exécutez l'exemple de l'aide à l'intégration de Python pour commencer

Si cela ne fonctionne pas, le problème est de votre côté

C'est parfait. Cela a fonctionné.

L'auteur a spécifié ses chemins d'accès au terminal dans le code. Je n'ai pas compris tout de suite.

Merci à tous pour votre aide.

python n/b.

 
Aleksandr Slavskii #:
L'auteur a spécifié ses chemins d'accès au terminal dans le code. Je ne l'ai pas compris tout de suite.

Je ne voulais pas faire cette supposition pour ne pas vous offenser :)

Dorénavant, vérifiez votre source avant de me faire des reproches

 
Rashid Umarov #:

Je ne voulais pas faire cette supposition pour ne pas vous offenser :)

Dorénavant, vérifiez votre source avant de réprimander.

Vous avez mal compris l'essence de ma réprimande.

Le problème n'était pas "L'auteur a spécifié ses propres chemins d'accès au terminal dans le code", cela n'a pratiquement pas pris de temps.

Le problème était que l'auteur n'avait pas spécifié des choses "simples", "absolument claires pour tout le monde" dans l'article d'un forum spécialisé dans le langage MQL.

Comme celles-ci dans l'aide.


Il n'est pas difficile pour une personne qui connaît python d'écrire de telles instructions dans un article, mais cela ferait gagner beaucoup de temps à quelqu'un qui connaît peu python.

Trouver la version de Python, l'installer, installer des paquets qui sont installés de la mauvaise manière. D'abord on vous dit que votre version de python est obsolète, puis on vous dit que la version du paquet ne correspond pas à la nouvelle version de python, installez celle-ci.

Danser...

Et en général, python est n/b.

 

Je ne comprends pas très bien python, mais j'ai ce sentiment :

1. Les prédicteurs utilisent le cours de clôture au moment de la prédiction à la barre zéro, c'est-à-dire le cours futur.

2. Les prédicteurs sont transformés et abandonnés sur l'ensemble de l'échantillon, sans sélectionner un échantillon pour un test indépendant.

3. La création d'un échantillon est une idée discutable - j'aimerais voir des preuves de l'utilité de l'approche utilisée.

4. Il n'est pas clair sur le regroupement - comment les colonnes (attributs) sont regroupées Je cite"Le regroupement d' attributs combine des attributs similaires en groupes afin de réduire leur nombre. Cela permet de se débarrasser des données redondantes, de réduire la corrélation et de simplifier le modèle sans surajustement". Je pense que le regroupement combine des lignes (vecteurs) avec des valeurs de prédicteurs similaires (en colonnes). Sinon, le code devrait indiquer le nombre de colonnes divisé par les grappes. En général, tout le paragraphe est confus dans l'article sur le clustering, au début on parle d'une méthode, puis on en applique une autre, je pense que c'est difficile à comprendre pour un lecteur qui ne s'y connaît pas, et je n'ai pas compris pourquoi.

5. La question de la sélection des prédicteurs est importante, et la méthode RFECV m'intéresse, mais j'aimerais voir dans l'article une explication sur la façon dont les arbres sont construits sans cible, mais la métrique de "précision" est utilisée pour l'évaluation, je veux dire cette déclaration "...First the class labels are discarded..." (les étiquettes de classe sont d'abord rejetées). Il semble que la logique du texte ne corresponde pas à la logique du code, puisque l'entraînement se fait par les étiquettes "rfecv.fit(X, y)".

L'article me donne l'impression que le texte est partiellement généré par un modèle linguistique, ou qu'il s'agit d'une traduction automatique, ou que j'ai complètement cessé de comprendre le langage moderne...

J'aimerais voir des articles de meilleure qualité avec un contenu unique. J'espère que l'auteur en aura.

 

# Ajouter du bruit
noisy_data = raw_data.copy()
noisy_data += np.random.normal(0, noise_level, noisy_data.shape)

Cette série artificielle ressemble-t-elle à une série réelle ? Les barres OHLC ne sont pas non plus générées. Il me semble qu'elles devraient être collectées à partir des ticks.
Et de telles données générées artificiellement sont bonnes à utiliser pour un forward comme l'un des critères de vérification pour regarder dans le futur, etc. mais certainement pas comme prédicteur.
 
Aleksey Vyazmikin sélection des prédicteurs est importante, et la méthode RFECV m'intéresse, mais j'aimerais voir dans l'article une explication sur la façon dont les arbres sont construits sans cible, mais la métrique de "précision" est utilisée pour l'évaluation, je veux dire cette déclaration "...First the class labels are discarded..." (les étiquettes de classe sont d'abord rejetées). Il semble que la logique du texte ne corresponde pas à la logique du code, car l'apprentissage se fait par les étiquettes "rfecv.fit(X, y)".

L'article me donne l'impression que le texte est partiellement généré par un modèle linguistique, ou qu'il s'agit d'une traduction automatique, ou que j'ai complètement cessé de comprendre le langage moderne...

J'aimerais voir des articles de meilleure qualité avec un contenu unique. J'espère que l'auteur en aura.

Si les étiquettes de classe ne sont pas réinitialisées, alors la meilleure caractéristique pour prédire les étiquettes sera les étiquettes elles-mêmes, non ?