Discussion de l'article "3 Méthodes d'Accélération des Indicateurs par l'Exemple de la Régression Linéaire"

 

Un nouvel article 3 Méthodes d'Accélération des Indicateurs par l'Exemple de la Régression Linéaire a été publié :

L'article traite des méthodes d'optimisation des algorithmes de calcul des indicateurs. Chacun trouvera une méthode qui correspond le mieux à ses besoins. Trois méthodes sont décrites ici. L'une d'elles est assez simple, la suivante exige de solides connaissances en mathématiques et la dernière un peu d'esprit. Des indicateurs ou des caractéristiques de conception de terminal MetaTrader5 sont utilisés pour réaliser la plupart des méthodes décrites. Les méthodes sont assez universelles et peuvent être utilisées non seulement pour accélérer le calcul de la régression linéaire, mais aussi pour de nombreux autres indicateurs.

L’indicateur qui est utilisé pour afficher les 3 méthodes estlinear regression indicator. Il crée une fonction de régression à chaque barre (selon le nombre défini des dernières barres) et indique quelle valeur devrait-elle avoir à cette barre. En conséquence, nous avons une ligne continue :

Voici à quoi ressemble l'indicateur dans le terminal

Auteur : ds2

 

Honnêtement bajan, cela fait déjà cinq ans que ce sujet est connu sur le quatrième forum.

Mais je pense qu'il sera intéressant pour les débutants.

L'article montre une fois de plus que les méthodes statistiques implémentées dans les indicateurs standards font loi, ne les sous-estimez pas.

 
Dialogue de l'auteur. Alexander Smirnov. Il s'agit de la deuxième discussion sur ce sujet, la première datant de 2006.
. Au fait, il existe également des formules de régression de second ordre par le biais de mashki.
Диалог автора. Александр Смирнов. - MQL4 форум
  • www.mql5.com
Диалог автора. Александр Смирнов. - MQL4 форум
 
Urain:

Honnêtement bajan, cela fait déjà cinq ans que ce sujet est connu sur le quatrième forum.

Mais je pense que les nouveaux venus seront intéressés.

Oui, l'article s'adresse plutôt aux débutants.

L'article montre une fois de plus que les méthodes statistiques implémentées dans les indicateurs standards font loi, il ne faut pas les sous-estimer.

C'est certain. Je pense que les indicateurs intégrés dans le terminal (iMA, etc.) fonctionnent rapidement non seulement grâce aux connaissances des développeurs du terminal en matière de méthodes d'optimisation, mais aussi grâce au fait qu'ils sont exécutés dans le cadre d'un fichier exe. En d'autres termes, contrairement aux indicateurs externes, il s'agit d'une compilation à part entière, et non d'un code pi. Enfin, peut-être ont-ils un accès direct et rapide aux temporisateurs, ce qui n'est pas le cas des indicateurs externes.

J'ai essayé d'utiliser des mashas non intégrés pour la méthode de convolution - bien qu'ils soient bien optimisés, ils sont beaucoup plus lents que les mashas intégrés.

Urain:
Dialogue de l'auteur. Alexander Smirnov. Il s'agit de la deuxième discussion sur ce sujet, la première datant de 2006.
. À propos, il existe également des formules pour la régression de second ordre via les mashkis.

Oui, j'ai vu des sujets similaires. Mais nulle part il n'a été clairement expliqué, étape par étape, comment la convolution était obtenue. J'ai dû dériver toutes les formules moi-même (j'ai écrit plusieurs feuilles de brouillon) pour expliquer toutes les nuances de l'article. Il y a un point délicat avec la numérotation des barres pour la LWMA, par exemple.

 
ds2: Oui, j'ai vu des fils de discussion similaires. Mais nulle part il n'était indiqué clairement, étape par étape, comment la convolution se déroulait. J'ai dû sortir toutes les formules moi-même (j'ai écrit plusieurs feuilles de brouillon) pour expliquer toutes les nuances de l'article. Il y a un moment délicat avec la numérotation des barres pour LWMA, par exemple.

Voici la preuve. C'est à dire un peu plus tôt que le lien donné par Urain .

Je ne revendique pas la priorité :). Il s'agit, en général, d'un fait presque trivial.

P.S. Si je n'ai pas tout oublié, le résultat de la comparaison des vitesses était toujours en faveur du calcul classique - mais nettement optimisé (la différence n'est pas grande, mais tout de même ; voir les posts de Candid' a). Cependant, une technique similaire appliquée à des régressions d'ordre supérieur (quadratique, cubique, etc.) semble pouvoir montrer l'avantage de la méthode de "convolution" sur la méthode classique.

Диалог автора. Александр Смирнов. - MQL4 форум
  • www.mql5.com
Диалог автора. Александр Смирнов. - MQL4 форум
 

Très bon article et très utile mais j'ai une question.

Si nous utilisons la méthode des totaux mobiles, il est vrai que l'indicateur gagne beaucoup en vitesse, mais cela signifie qu'il faut ajouter 4 tampons auxiliaires, ce qui augmente la consommation de mémoire.

La question est donc de savoir quelle méthode est la meilleure : la méthode standard qui utilise moins de mémoire ou la méthode des totaux mobiles qui utilise plus de mémoire mais qui est plus rapide ?

 

Quelque chose ne va pas dans l'implémentation :

Lorsque LRMethod == LR_M_Sum

il s'avère que Sx et Sxx sont des constantes :

Sxx = ExtBufSxx[prevbar] ;

ExtBufSxx [bar] = Sxx ;

Si c'est le cas, pourquoi les tampons ?


Il serait peut-être encore plus rapide de compter les SMA et LWMA à l'aide de la méthode de la somme mobile et de compter le résultat comme une convolution.

En outre, il serait bon de connaître la pente de la régression, qui peut également être calculée via SMA et LWMA.

Je l'ai mis en œuvre sur 4 : https://www.mql5.com/fr/code/10642

Быстрая LRMA
Быстрая LRMA
  • votes : 3
  • 2012.03.08
  • Vladislav Eremeev
  • www.mql5.com
Написан под впечатлением от статьи "3 метода ускорения индикаторов на примере линейной регрессии". Считает очень быстро.
 

Hi,

Il crée une fonction de régression à chaque barre (en fonction du nombre défini des dernières barres) et indique la valeur qu'elle devrait avoir à cette barre.

Mais comment puis-je calculer la pente de la dernière ligne de régression (je ne connais que le dernier point qui forme la courbe) ?


Merci pour votre aide

Petr

 

Bonjour

Merci pour cet article. Mais pourriez-vous me dire comment appeler vos méthodes dans mon code MQL5 ? Je ne comprends pas comment faire, je ne comprends pas la liste des paramètres à l'intérieur de vos méthodes. Comment puis-je obtenir la valeur retournée par la régression linéaire à un moment donné à l'intérieur de mon code après avoir intégré le vôtre ?