Aide avec Fourier
- La théorie des flux aléatoires et le FOREX
- [ARCHIVE] Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 3.
- COMMENT FAIRE DU COMMERCE AVEC RIEN ?
#property library //-------------------------------------------------------------------------------- double b = 0.7; double c1,c2,c3,c4,b2,b3; double e1,e2,e3,e4,e5,e6,n,w1,w2,t3f; int ft3; b2=b*b; b3=b2*b; c1=-b3; c2=(3*(b2+b3)); c3=-3*(2*b2+b+b3); c4=(1+3*b+b3+3*b2); //============================================== double af_T3( int i,int pt3, double ct3) { //--------------------------- if (ft3==0) {n=pt3; if (n<1) n=1; n=1+0.5*(n-1); w1=2/(n+1); w2=1-w1; ft3=1;} //------------------------ e1=w1*ct3+w2*e1; e2=w1*e1+w2*e2; e3=w1*e2+w2*e3; e4=w1*e3+w2*e4; e5=w1*e4+w2*e5; e6=w1*e5+w2*e6; t3f=c1*e6+c2*e5+c3*e4+c4*e3; return(t3f); }
#property copyright "ANG3110@latchess.com" //---------------------------------------- #property indicator_chart_window #property indicator_buffers 1 #property indicator_color1 Blue //------------------------------- #import "af_T3.ex4" int af_T3( int i,int pt3, double ct3); //------------------------------- extern int hrf = 2; extern int hrT3 = 6; extern int days = 1; //----------------------------------------- double ak[],bk[],fx[],w,ak0,ss,sc,sk,dfx[]; double pi=3.1415926535897932384626433832795; int T,sm,k; double t3[],ct3,dc[]; int pt3; //========================================== int init() { IndicatorBuffers(5); SetIndexStyle(0,DRAW_LINE); SetIndexBuffer(0,fx); SetIndexBuffer(1,t3); SetIndexBuffer(2,ak); SetIndexBuffer(3,bk); SetIndexBuffer(4,dc); //-------------------------- pt3=hrT3*60/Period(); T=days*1440/Period(); w=2*pi/T; k=T/(hrf*60/Period()); return(0); } //*************************************************** int start() { //----------------- int n,i,cbi; //------------------ cbi=Bars-IndicatorCounted()-2; for(i=cbi; i>=0; i--) { //--------------------- ct3=Close[i]; t3[i]=af_T3(i,pt3,ct3); dc[i]=Close[i]-t3[i]; } //-------------------------- ak0=0.0; for (n=0; n<=k; n++) { sc=0.0; ss=0.0; for (i=0; i<=T-1; i++) { if (n==0) ak0+=dc[i]; if (n!=0) {sc=sc+dc[i]*MathCos(n*i*w); ss=ss+dc[i]*MathSin(n*i*w);} } ak[n]=sc*2/T; bk[n]=ss*2/T; } ak0=ak0/T; //-------------------------- for (i=0; i<=T-1; i++) { sk=0.0; for (n=1; n<=k; n++) { sk=sk+ak[n]*MathCos(n*i*w)+bk[n]*MathSin(n*i*w);} fx[i]=ak0+sk+t3[i]; } //--------------------------- return(0); } //****************************************************
Peut-être pouvez-vous également me dire pourquoi, si au lieu de la bibliothèque, le premier code est inséré directement dans un indicateur, il affiche le temps en Afrique.
La conversion (FFT) de 8 valeurs discrètes du signal donnera 8 fréquences, laissant 4 fréquences inférieures, nous obtenons un filtre BF de l'oscillation du cours actuel.
Un minimum de 2 mesures est nécessaire pour déterminer 1 période. Les fréquences 4, 2 et 1 sont ainsi déterminées.
Voici un exemple (indicateur) sur lequel j'ai étudié Fourier...
Regardez dans le code là - ce n'est pas difficile.
Par défaut, le spectre d'une fonction périodique est sorti...
Vous pouvez envoyer l'indicateur que vous voulez. Ce que vous ferez ensuite du spectre relève de votre imagination.
Je veux maintenant collecter des modèles à partir des spectrogrammes obtenus et "pousser" le tout dans un réseau neuronal pour la reconnaissance.
J'ai téléchargé le fichier
J'ai l'impression d'être la seule personne du département radio. 1 bar est une fréquence, une valeur constante, f(x)=k0. 2 barres correspondent à 2 fréquences, f(x)=k0+k1*Sin(a1*x+b1), etc.
mais la moitié d'entre elles sont symétriques à l'autre moitié (décalées de pi semble-t-il)
Il en reste donc 4.
Il ne peut en être autrement.
Une fréquence (sinusoïde) contient 3 paramètres - G(t) = A*Sin(w*t+p)
Les fréquences (w) sont fixes, ce qui laisse 2 paramètres - l'amplitude (A) et la phase (p).
Dans toute transformation à partir de K variables indépendantes (valeurs des barres)
on peut obtenir au maximum K paramètres indépendants.
C'est-à-dire qu'à partir de 8 barres, on peut obtenir un maximum de 4 fréquences (2 paramètres par barre).