Hypothèse basée sur Fourier - page 7

 
Urain >> :

Cela ressemble déjà à un cahier des charges. Est-ce tout (ce dont vous avez besoin pour être heureux) ?

Je ne vais pas refaire Lapak, car il a l'approche orientée objet de MQL-5,

mais sur le 4 c'est juste un tas de conneries, c'est plus facile à réécrire.

Le site http://alglib.sources.ru/matrixops/ semble avoir tout en C. Par conséquent, il est assez facile de le porter vers MQL4.

 
Reshetov >> :

Si nous utilisons les propriétés de l'inertie linéaire, alors :

Merci pour la description détaillée, mais je me pose des questions. S'il vous plaît, ne frappez pas avec un candélabre. Tout d'abord, pourquoi ai-je besoin des 10 000 barres ? Je suis intéressé par une fenêtre d'une certaine taille, par exemple 256 pour la FFT. 256 est choisi en tenant compte du fait que la plus grande période intéressante pour le trading intraday sur M15, où il y a 96 lectures dans une journée, est limitée à 256 (>2*96) et n'a pas besoin de plus. Eh bien, qu'il soit de 1024 pour tenir compte également des fluctuations hebdomadaires. Mais de toute façon, comme il a été noté à juste titre auparavant, dans un spectre total de 10 000 barres, l'influence des changements récents s'annulera, de sorte que l'idée d'une fenêtre relativement petite semble être justifiée. Deuxièmement, concernant l'extraction d'une tendance linéaire et sa récupération ultérieure, je n'effectue pas cette opération car je calcule la TF non pas pour la série initiale mais pour des incréments de prix. Pour un intervalle de barres donné, la somme des deltas atteindra automatiquement le point correspondant à la pente entre la première et la dernière barre. Qu'en pensez-vous ?

 
Ilnur >> :

Ici, j'ai donné un exemple d'implémentation d'un algorithme d'inversion de matrice dans MQL (tiré du code source de la bibliothèque LAPACK).

trouvé, c'est l'une des choses qui n'est pas claire.

// Вычисляем LU-разложение матрицы
    dgetf(n,n,a,ipiv,info);

D'où proviennent les valeurs d'info et d'ipiv ? Ou bien la fonction est-elle censée nous renvoyer ces valeurs, et nous passons simplement les paramètres où retourner ? Suivant

// Вычисляем обратную матрицу, заданным LU-разложением
    dgetri(n,a,ipiv,info);

Avons-nous passé l'ipiv avec la matrice LU calculée et obtenu la matrice inversée réécrite dans le même tableau ? Ah, ne pas juger par

// Сохраняем обратную матрицу для отображения
    sM = sM+MatrixPrint(a,n,n);

sauvegardé dans un[][]...


J'ai beaucoup de questions de ce genre, c'est un autre style de programmation, je le comprends à peine, ou plutôt je ne le comprends pas du tout. Je n'ai pas non plus trouvé la partie réponse. Où sont les fonctions délicates ? Et la vitesse des calculs, et la dimensionnalité des matrices ? Fortran peut le faire, mais qu'en est-il de MQL ?

 
grasn >> :

trouvé, c'est l'une des choses qui n'est pas claire.

D'où proviennent les valeurs d'info et d'ipiv ? Ou bien la fonction est-elle censée nous renvoyer ces valeurs, et nous passons simplement les paramètres où retourner ? Suivant

Avons-nous passé l'ipiv avec la matrice LU calculée et obtenu la matrice inversée réécrite dans le même tableau ? Ah, ne pas juger par

sauvegardé dans un[][]...


J'ai beaucoup de questions de ce genre, j'ai un style de programmation différent, je ne le comprends guère, ou plutôt je ne le comprends pas du tout. Aussi, je n'ai pas pu trouver la partie réponse. Où sont ces fonctions délicates ? Et la vitesse des calculs, et la dimensionnalité des matrices ? Fortran peut le faire, mais MQL ?

Ne soyez pas complexé par ça, collègue.

Tout ce tas d'ordures appelé LINPACK-LAPACK a été écrit dans les années 1970 par de purs PHYSIENS en Fortran. Ils n'avaient aucune idée (et ne voulaient pas en avoir) de la programmation structurée et d'autres "choses inutiles". Ensuite ces sources ont été traduites en Ce avec l'aide du débilitateur F2C, puis l'étudiant stagiaire l'a mis en texte.

Bien que formellement cela fonctionne, il est impossible de l'utiliser, car il est impossible pour une personne normale de comprendre la logique d'interaction entre les modules de tous ces programmes "scientifiques". En fait, c'est la raison pour laquelle les anciens physiciens et mathématiciens qui ont écrit MatLab-e gagnent de l'argent - au moins, vous pouvez l'utiliser, au lieu de passer des années à essayer de comprendre la logique martienne défoncée de quelqu'un d'autre.

 
grasn >> :

trouvé, c'est ce qui n'est pas clair, entre autres choses.

D'où proviennent les valeurs d'info et d'ipiv ? Ou bien la fonction est-elle censée nous renvoyer ces valeurs, et nous devons simplement passer les paramètres où les renvoyer ? Suivant

Ces tableaux sont utilisés pour les besoins internes des fonctions Forthran et aussi pour rapporter le résultat de l'exécution.

La fonction renvoie des données intermédiaires pour les transmettre à la fonction suivante. Si vous utilisez

la version compilée de la bibliothèque clapack.dll, elle utilise un schéma de fonctionnement similaire.


grasn a écrit >>

Avons-nous passé l'ipiv avec la matrice LU calculée et obtenu la matrice inversée réécrite dans le même tableau ?

La matrice inversée est retournée dans la matrice originale a[][] qui a été passée comme paramètre de la fonction.

grasn a écrit >>

Aussi, je n'ai pas pu trouver la partie réponse. Où sont ces fonctions délicates ? Et la vitesse des calculs, et la dimensionnalité des matrices ? Fortran peut le faire, mais MQL ?

Je ne comprends pas bien la question. Ces fonctions sont données dans le fichier lapack.mqh joint au post.

Je n'ai pas testé la vitesse des calculs, mais j'ai utilisé la version compilée de la bibliothèque pour mes besoins - c'était plus facile ainsi.

Je n'ai pas remarqué de retard notable dans l'exécution de ces fonctions, bien que la dimension de mes matrices ne dépasse pas [10 10].

 

à AlexEro

Не вздумайте комплексовать по этому поводу, коллега.


J'essaie de tenir le coup. C'est important de gonfler mes joues. :о)))


à Ilnur

La matrice inversée est retournée dans la matrice originale a[][], qui a été passée comme paramètre à la fonction.

Oui, j'ai compris, juste en dessous :o)

Je ne comprends pas bien votre question. Ces fonctions sont données dans le fichier lapack.mqh joint au post.

C'est ce que signifie la distraction, je n'avais pas remarqué cela, bon sang, je suis désolé. ok, je vais essayer une deuxième fois mais en un clin d'oeil, (mais en espérant secrètement pour Urain:o). Mon grognement peut être facilement expliqué - dans un sens, il n'est pas très pratique (je souligne que ce n'est pas une plainte, pas du tout, ou sinon mal compris), c'est-à-dire qu'il n'est pas une bibliothèque dans le plein sens du terme, et une personne non expérimentée difficile à utiliser. Je comprends que personne ne l'ait portée à ce niveau parce qu'elle n'est pas nécessaire. C'est dommage, bien sûr.

 
grasn >> :

Mes récriminations s'expliquent facilement : d'une certaine manière, il n'est pas très pratique (j'insiste sur le fait qu'il ne s'agit en aucun cas d'une plainte, sinon les gens comprendront mal), c'est-à-dire qu'il ne s'agit pas d'une bibliothèque au sens plein du terme, et une personne non expérimentée le trouvera difficile à utiliser. Je comprends que personne ne l'ait portée à ce niveau parce qu'elle n'est pas nécessaire. C'est dommage, bien sûr.

Je suis d'accord pour dire que l'interface de la bibliothèque n'est pas conviviale. Mais, lorsque j'ai eu besoin de fonctions pour travailler avec des matrices,

En particulier l'opération de manutention, je n'ai pas trouvé mieux à l'époque. J'ai donc dû l'utiliser.

 
YUBA >> :

1. Le marché n'est pas un système fermé. Toute extrapolation est possible en l'absence d'influences extérieures.

[...]

3. quelle est la durée du processus de transition sur le marché, la réponse à l'impact ? Tu le sais ? Comment le calculez-vous alors ? Le premier segment est un impact, le second est complètement différent, et nous les additionnons en quelque sorte ici. :)

Cela signifie qu'il n'est possible de prédire quoi que ce soit que dans le segment entre les influences et pas au-delà.

1. Oui, ce n'est pas du tout fermé. Et il est décrit, probablement, par une sorte de diphurk compliqué comme un oscillateur paramétrique non linéaire (un oscillateur, bien sûr, au sens de la théorophysique) - pour un instrument. L'énergie est communiquée au système par une modification des paramètres de diffusion (par étapes). Ensuite, il y a un processus transitoire, jusqu'à un nouveau saut dans les paramètres.


3. de plus, les influences elles-mêmes doivent fixer de nouvelles constantes de ces transitoires, qui peuvent même définir le caractère de ces transitoires (une onde sinusoïdale amortie ou non, ou un exposant réel).


P.S. À tous les collègues vivant sur une île déserte, bonjour. C'est en gros ce dont nous allons parler ensuite.

 
Mathemat >> :

1. Oui, ce n'est pas du tout fermé. Et il est décrit, probablement, par un diphurque pas simple de ce type d'oscillateur paramétrique non linéaire (oscillateur - bien sûr, au sens de la théorophysique) - pour un instrument. L'énergie est communiquée au système par une modification des paramètres de diffusion (par étapes). Ce qui suit est un processus transitoire, jusqu'à un nouveau saut dans les paramètres.


3) De plus, les influences elles-mêmes doivent établir de nouvelles constantes de ces transitoires, qui peuvent même déterminer la nature de ces transitoires (une onde sinusoïdale amortie ou non, ou un exposant réel).


P.S. À tous les collègues vivant sur une île déserte, bonjour. C'est en gros ce dont nous allons parler ensuite.

Oui, plus le bruit, qui est comparable, et parfois même supérieur, au niveau du signal. Et je soupçonne quelque chose comme 1/f, ou 1/f^2. :)

 
VladislavVG писал(а) >>

Alors j'ajouterais aussi - il y a quelqu'un à lire ;) .

Il convient également de souligner que l'IP peut être appliquée lorsque le processus peut être représenté par une diff. parabolique (second ordre avec seulement des dérivées paires). Puisque la série de Fourier est une solution générale de ce difféomorphisme sous forme trigonométrique (il en existe aussi des complexes). Les diffuseurs de ce type décrivent des systèmes potentiels (boucles oscillantes sans échanges avec le milieu extérieur) - c'est-à-dire des systèmes dans lesquels la dissipation (dissipation d'énergie) peut être négligée et dans lesquels on obtient une solution avec une bonne approximation. L'ingénierie radio/radiolocalisation traite principalement de ces systèmes. Si l'échange ne peut être négligé - alors des termes avec des dérivés impairs (de premier ordre - hystérésis, par exemple) apparaissent. Pour la plupart de ces problèmes, il n'existe pas de solution analytique. Et la série de Fourier n'est plus une solution sous forme générale - c'est ce qui est important. Et maintenant une question - êtes-vous sûr que la masse d'argent, "jetée" sur le marché Forex et qui fait bouger le prix est constante pendant une journée, une session de trading ? Si oui, alors n'hésitez pas à utiliser Fourier.

...

Ma mémoire n'est pas très précise, mais il n'y a pas si longtemps (sur un forum voisin, dans un fil de discussion lancé par Alex), quelqu'un a calculé l'énergie potentielle dans le Forex. :о)