L'apprentissage automatique dans la négociation : théorie, modèles, pratique et algo-trading - page 2039

 
elibrarius:

Vous pouvez mélanger à l'intérieur du train ou du test, mais cela ne sert à rien, et vous ne pouvez pas mélanger entre le train et le test. Vous ne les avez pas mélangés là par hasard, un très bon résultat pour un test avec un examen.

Je ne les ai pas mélangés et le résultat n'est tout simplement pas très bon pour l'échantillon test - Le rappel est faible.

Mais le brassage est acceptable, si nous pensons que le modèle est stable et ne diminue pas vers la fin de l'échantillon. Juste ici, le fichier a pu être façonné à l'aide d'une boucle et une partie des paramètres n'est pas entrée dans la zone d'étude.

 
Aleksey Vyazmikin:

Je n'ai pas mélangé et le résultat n'est tout simplement pas bon pour l'échantillon test - Le rappel est faible.

Mais le mélange est tout à fait possible, si nous pensons que le modèle est stable, et ne diminue pas à la fin de l'échantillon. Le dossier aurait pu être façonné avec une boucle et certains des paramètres ne sont pas entrés dans la zone d'étude.

Si vous le mélangez, le test s'améliorera immédiatement - vous obtiendrez un coup d'œil, par barre adjacente. C'est-à-dire qu'une barre (10:00) a atteint la trace, la barre adjacente (10:01) a atteint le test, alors qu'elles sont très similaires pour la barre précédente et la barre cible.
 
elibrarius:
Si vous mélangez, le test s'améliorera immédiatement - il y aura un coup d'œil, au bar adjacent. C'est-à-dire qu'une barre (10:00) est dans la trace, la barre adjacente (10:01) est dans le test, et elles sont très similaires l'une à l'autre, à la fois dans le passé et dans la cible.

Les bars de l'échantillon se relaient-ils ? Je ne m'entraîne tout simplement pas sur chaque barre, je ne prends que des signaux et dans ce cas, je pense qu'il est possible de mélanger les échantillons - cela augmente la quantité d'informations à entraîner sans augmenter la taille de l'échantillon, ce qui, selon mes données, améliore l'échantillon de test.

 
Aleksey Vyazmikin:

Les barres de l'échantillon sont-elles là une par une ?

J'ai déjà supprimé le fichier, vérifiez le vôtre. Je pense qu'un par un est la manière la plus logique de générer un fichier CSV.

 
elibrarius:

J'ai déjà supprimé le fichier, vérifiez le vôtre. Je pense qu'un par un est la manière la plus logique de générer un fichier CSV.

Il y a quelque chose là - je ne sais pas ce que c'est.

 2 6 0 4 2 6 57 57 100 100 -1
4 2 6 0 4 2 6 57 57 100 200 -1
4 2 6 0 4 2 6 57 57 100 300 -1
4 2 6 0 4 2 6 57 57 100 400 -1
4 2 6 0 4 2 6 57 57 100 500 -1
4 2 6 0 4 2 6 57 57 100 600 -1
4 2 6 0 4 2 6 57 57 100 700 -1
4 2 6 0 4 2 6 57 57 100 800 -1
4 2 6 0 4 2 6 57 57 100 900 -1
4 2 6 0 4 2 6 57 57 100 1000 -1
4 2 6 0 4 2 6 57 57 100 1100 -1
4 2 6 0 4 2 6 57 57 100 1200 -1
4 2 6 0 4 2 6 57 57 100 1300 -1
4 2 6 0 4 2 6 57 57 100 1400 -1
4 2 6 0 4 2 6 57 57 100 1500 -1
4 2 6 0 4 2 6 57 57 100 1600 -1
4 2 6 0 4 2 6 57 57 100 1700 -1
4 2 6 0 4 2 6 57 57 100 1800 -1
4 2 6 0 4 2 6 57 57 100 1900 -1
4 2 6 0 4 2 6 57 57 100 2000 -1
4 2 6 0 4 2 6 57 57 100 2100 -1
4 2 6 0 4 2 6 57 57 100 2200 -1
4 2 6 0 4 2 6 57 57 100 2300 -1
4 2 6 0 4 2 6 57 57 100 2400 -1
4 2 6 0 4 2 6 57 57 100 2500 -1
 
Aleksey Vyazmikin:

Il y a quelque chose là - je ne sais pas ce que c'est.

En attente de la réponse du propriétaire du dossier.
 
elibrarius:
En attente d'une réponse de l'hôte du fichier.

Au fait, j'ai pris un échantillon de 1% et j'ai entraîné l'arbre C4.5 - il a donné 100% de reconnaissance sur l'échantillon d'entraînement et de test, donc je suppose qu'il s'agit de boucles ordonnées, qui doivent être mélangées. Mais je n'ai pas de bon algorithme de mélange dans MQL5 - je peux juste tirer n lignes des échantillons de test et de contrôle et ainsi former un échantillon de test - et alors j'aurai à nouveau de la chance avec l'équilibre des classes, et les boucles ne seront pas bonnes ici.

 
Aleksey Vyazmikin:

C'est juste que je ne m'entraîne pas sur chaque barre, je ne prends que des signaux et dans ce cas, je pense qu'il est possible de mélanger les échantillons - cela augmente la quantité d'informations à entraîner sans augmenter la taille de l'échantillon, ce qui, selon mes données, améliore l'échantillon d'examen.

Peut-être que vous pouvez, mais je ne pense pas que vous devriez jeter une partie du futur dans la piste, vous ne pouvez pas faire cela dans le vrai trading. Que l'avenir reste inconnu dans la formation comme dans la réalité.
Le test et l'examen et doivent être meilleurs et pires tout le temps. C'est normal. L'essentiel est d'être du côté positif.
Utilisez la validation croisée (elle est peut-être intégrée à votre système) ou, mieux encore, l'avance rapide.

 
Aleksey Vyazmikin:

Au fait, j'ai pris un échantillon de 1% et j'ai entraîné l'arbre C4.5 - il m'a donné 100% de reconnaissance sur l'échantillon d'entraînement et de test, donc je suppose qu'il s'agit de boucles ordonnées, qui doivent être mélangées. Mais je n'ai pas de bon algorithme de mélange dans MQL5 - je peux juste tirer n lignes des échantillons de test et de contrôle et ainsi former un échantillon de test - et je n'aurai pas de chance à nouveau avec l'équilibre des classes, et les boucles ne seront pas bonnes ici.

C'est le genre de MSG que vous pouvez mélanger avec https://www.mql5.com/ru/blogs/post/735953.
Rand 0 ... Max Int с равномерным распределением
Rand 0 ... Max Int с равномерным распределением
  • www.mql5.com
Потребовалась функция ГСЧ с гнерацией числа Int от 0 до любого значения. Получилась такая функция. Думаю распределение получилось равномерным. На форуме посоветовали другую функцию из статьи. Отбросив лишнее, получилось: Сделал сравнение по скорости обоих функций, оригинальной из статьи и просто MathRand(): Оригинальная из статьи Rnd.Rand_01...
 
elibrarius:

Peut-être que vous pouvez, mais je ne pense pas que vous devriez jeter une partie de l'avenir dans le stagiaire, vous ne pouvez pas faire cela dans le vrai trading. Que l'avenir reste inconnu dans la formation comme il l'est dans la réalité.
Le test et l'examen et doivent être meilleurs et pires tout le temps. C'est normal. L'essentiel est d'être du côté positif.
Utilisez la validation croisée (il peut y en avoir une intégrée) ou, mieux encore, l'avancement du valedictorian.

Si vous ne faites pas cela, et si vous ne faites pas comme Maxim, apprendre à partir de la fin, nous finissons par apprendre à partir de données très obsolètes, ce qui n'est pas bon. Je ne propose pas de toucher à l'échantillon d'examen, mais l'échantillon de formation et de contrôle, je pense que nous pouvons le faire. Et ensuite, si nous avons atteint une performance stable, alors, connaissant les paramètres du modèle de base, nous pouvons apprendre plus près du bord à appliquer le modèle dans la vie réelle.

Je ne l'ai pas encore fait avec la validation croisée - il faut l'automatiser, mais je ne l'ai pas encore fait.

Mais les tests de grignotage - oui, c'est la bonne approche, mais il manque toujours l'histoire pour moi, j'utilise cette approche lors de la sélection des feuilles - là, elle est la plus utile même sur un échantillon qui a déjà été formé, car généralement les réponses des feuilles sont inégales à travers l'échantillon, et j'ai juste besoin de celles qui sont stables.

elibrarius:
C'est une bonne façon de mélanger les choses https://www.mql5.com/ru/blogs/post/735953

À propos, avez-vous déjà vu un générateur qui génère un nombre au hasard à partir d'un tableau sans répétitions ?

Raison: