Résonance stochastique - page 33

 
Prival, vous êtes un spécialiste du DSP. J'ai remarqué que ces experts obtiennent généralement de bons résultats sur Foreh. Pouvez-vous me recommander des ouvrages, s'il vous plaît ? Tu sais, le DSP lui-même, la théorie de l'information, autre chose...
 

Cela semble plus ou moins clair.

Nous avons besoin de deux tableaux d'amplitudes, un pour le signal et un pour le bruit. Le deuxième tableau est déjà saisi, puisque nous n'avons besoin que d'une seule valeur, nous la stockons simplement, libérant ainsi le tableau pour nos besoins. Donc, la division devrait ressembler à quelque chose comme ça :

double thr = data1[hmax];
for(i=0;i<N;i++) {
  if (data[i]<thr) {
    data1[i]=data[i]; 
    data[i]=0.0; 
  } else {
    data1[i]=0.0;
  }
}

Mais c'est probablement bien pire. La raison en est qu'en fait le seuil devrait être défini pour la densité spectrale. Le code pour son calcul peut être repris de mon exemple, mais comme il contient des amplitudes imaginaires et réelles pour chaque fréquence, il faudrait diviser en deux tableaux non pas les amplitudes mais les fréquences (c'est-à-dire les indices, chaque fréquence correspondant à 2 indices : i et i+1). Il semble donc que nous ayons besoin de 3 tableaux supplémentaires - un pour la densité spectrale et deux pour les indices (fréquences) : signal et bruit. En un mot, nous allons devoir faire un travail sérieux et tout d'abord comprendre le format du fichier de données pour la FFT après transformation. Le lien dans l'en-tête de la bibliothèque de klot vous aidera.

En ce qui concerne la lenteur, sans visualiseur, ce serait beaucoup plus ennuyeux, mais vous pouvez au moins apprécier le processus :). Minimiser le terminal peut accélérer un peu les choses.

P.S. Pour les fréquences, vous pouvez faire avec un seul tableau - disons, écrire 1 pour les fréquences du signal et -1 pour les fréquences du bruit.

 

à Mathématiques

Vous m'avez fait faux bond :)

  1. Bien que je puisse voir que votre niveau de maths est plus élevé que le vôtre. Je recommande de commencer par le livre "Signal Processing First Encounter" de Yukio Sato. Elle traite de la physique des processus. Du moins, pour moi, cela a toujours été le cas. Si je ne comprends pas la physique des processus, je ne peux pas non plus appliquer les mathématiques (elles sont appliquées :)).
  2. Classique. Marp Jr. Analyse spectrale numérique. IHMO le meilleur livre, vous n'avez pas besoin d'en chercher d'autres.

Ce que je pense être nécessaire (utile) pour le marché des changes.

Pour décider quand entrer et sortir du marché

  1. Wald. Fonctions de résolution statistique. Accordez une attention particulière au célèbre (du moins dans le domaine des radars) détecteur Wald à deux seuils.

Pour prévoir les mouvements de prix

  1. Farina. Traitement numérique de l'information radar. Une attention particulière est accordée au filtre de Kalman, dont il est mathématiquement prouvé que, dans certaines conditions, il est plus précis que d'autres. Mais il y a souvent des problèmes avec ces conditions, j'ai une idée de comment l'utiliser, de plus le marché Forex lui-même supprime de nombreuses limitations.

Statistiques, différents types de distributions et leur analyse.

  1. Boris Ruvimovich Levin. Fondements théoriques de l'ingénierie radio statistique. La seule édition où nous n'avons pas pu trouver d'erreur (typo). Le livre de bureau était au moment où j'écrivais ma thèse.

La sélection des livres est un peu spécifique, mais il suffit de remplacer le mot cible (plan) par le prix (Close[0]), la détection de la manœuvre (sur le renversement du prix) et alors il devient plus clair ce qui peut être appliqué :)

Tout est sauvé, livres attachés. Tous sauf le dernier, désolé.

Une fois de plus, je lance un appel à tous, si vous avez la possibilité et l'envie de travailler en équipe, retrouvez-moi sur Skype (privalov-sv). Lien Vod vers le marcheur http://www.skypeclub.ru/skype.htm. Il est très pratique pour la communication.

Il y a plein d'idées, assez pour tout le monde, il n'y a pas assez de temps et d'énergie. On ne peut pas tous se lever.

L'enfer, le reste ne va pas, ne passe pas le php. Vous avez donc une porte de sortie :) qui a besoin de ces livres -> Skype, je suis presque toujours là. Format du livre djvu

Dossiers :
sato.zip  1353 kb
 

à lna01

"Mais c'est probablement bien pire que ça... "

Vous avez raison, ce sera bien pire là-bas, ce n'est que la première étape. L'essentiel est de comprendre comment construire correctement l'indicateur et optimiser la vitesse, car des formules seront ajoutées et de très bonnes IHMO. A l'avenir, j'aurai besoin de 2 autres tampons, pour l'analyse de phase + je veux définitivement expérimenter avec des fenêtres, au moins deux pour sûr. Hemming et Butterworth. Les premiers résultats sont encourageants. Essayez de tracer simplement l'amplitude de la première harmonique du spectre (sans seuils ni tri). Une belle image est obtenue, la première impression est que les coudes déterminent le moment où le Stop Loss est fixé. Mais cela doit encore être vérifié, je vais essayer de poster une photo demain.

 

Comme promis, je vais poster des photos. Il s'est avéré être quelque chose de très beau, vous pourriez écrire un expert maintenant. Mais il y a une erreur quelque part. Peut-être que je suis accidentellement tombé sur quelque chose. Regardez s'il vous plaît.

Fig.1.

Fig.2

  1. Si je change le signe de comparaison dans la ligne, l'histogramme disparaît (voir Fig.2),

if (data[i]<porog) //la comparaison avec le seuil dans ce cas, il y a un histogramme

et si ça se passe comme ça

if (data[i]>porog) // ici il est absent

  1. L'énergie ne peut pas être négative et l'amplitude non plus, et encore moins leur somme ! !!
  2. Mais visuellement, c'est très joli, je l'appellerais "énergie de la courbe de tendance
  3. ".

P.S. La seule question sur ce que je voulais faire dans cette ligne de code ne répondra pas (si vous trouvez une erreur), voir ci-dessus une idée générale de l'indicateur, ce que je voulais obtenir, là tout dans les images. Si vous expliquez dans les photos ce que j'ai obtenu à cause de mes mains faibles. Je vais payer pour ça. J'ai juste pris l'indicateur MACD et je l'ai ajouté, mais ça ne semblait pas correct.

Dossiers :
pvf2.mq4  4 kb
 
Prival:

Mais si vous pouvez expliquer en images ce que j'ai eu à cause de mes mains croches. Je te dois une vig.


Ceci : for( i=hmax ;i<N ;i++) - Je ne comprends toujours pas. Bien sûr, il n'est pas nécessaire d'examiner toutes les fréquences, mais pourquoi à partir de hmax ?

Deuxièmement, la transformée de Fourier donne des amplitudes complexes. L'amplitude pour chaque fréquence correspond donc à deux nombres : la partie réelle et la partie imaginaire. L'énergie est égale au module de sqrt((Re+j*Im)*(Re-j*Im)). Je peux ajouter de mon côté que Re et Im sont souvent en opposition de phase. Réduire tout d'un seuil est une transformation non triviale et je ne peux pas penser à une signification physique pour cela. De toute façon, l'énergie n'a rien à voir avec ça.
Je répète : il faut comprendre le format du fichier de données pour la FFT après transformation. Le lien de l'en-tête de la bibliothèque de klot vous aidera.
 

lna01

J'ai trouvé, c'est tout ce qu'il y a à faire, la seule chose est que je me suis vraiment trompé dans le format des données. Lorsque je découvrirai le format des données (j'ai posé la question à klot dans la branche), je m'assiérai avec une feuille de papier et un stylo pour vérifier ce qui s'additionne. Je suis habitué à matcad. J'ai pris l'habitude de traiter avec matcad. C'est là que réside l'erreur. En ce qui concerne for( i=hmax ;i<N ;i++) vous devriez le prendre à partir de 1 (ou même en faire une variable séparée). Pensez-y, il y a une signification physique claire si nous utilisons sqrt((Re+j*Im)*(Re-j*Im)).

 
Prival:

en faire une variable à part entière

C'est vrai :) . Si nous coupons certaines fréquences et divisons le reste en "sous-seuil" et "au-dessus du seuil" par énergie, il n'y aura pas de difficultés avec le sens physique :)

P.S. Peut-être que je mentionne trop souvent l'indicateur https://forum.mql4.com/ru/6275 :), mais là, le travail avec les amplitudes est fait correctement - vous pouvez simplement vous en inspirer.
 
Alors, qu'est-ce que la ligne rouge de la figure 2 ? La différence des énergies des parties réelles et imaginaires ? Très intéressant. Et que signifient les chiffres dans la zone de valeur de l'indicateur ?
 
Il semble qu'il y ait un bug dans la bibliothèque, ou mes mains sont de nouveau tordues :( j'ai posté ma question ici 'FFT Fast Fourier Transform Functions Library') si quelqu'un peut la vérifier. Ai-je raison ou non ? Essayez dans matlab pour vérifier.