Hilfe bei Fourier
- Stochastische Resonanz
- Auf digitalen Filtern basierende Handelsstrategien
- Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6.
#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); } //****************************************************
Vielleicht können Sie mir auch sagen, warum das Wetter in Afrika angezeigt wird, wenn der erste Code statt in der Bibliothek direkt in einen Indikator eingefügt wird.
Die Umwandlung (FFT) von 8 diskreten Signalwerten ergibt 8 Frequenzen, wobei 4 niedrigere Frequenzen übrigbleiben, so dass wir den NF-Filter der aktuellen Kursschwingung erhalten.
Um eine Periode zu bestimmen, sind mindestens 2 Takte erforderlich, so dass die Frequenzen 4, 2 und 1 ermittelt werden.
Hier ist ein Beispiel (Indikator), an dem ich Fourier studiert habe...
Schauen Sie in den Code - es ist nicht schwer.
Standardmäßig wird das Spektrum einer periodischen Funktion ausgegeben...
Sie können jeden beliebigen Indikator senden. Was Sie danach mit dem Spektrum machen, bleibt Ihrer Fantasie überlassen.
Ich möchte nun Muster aus den erhaltenen Spektrogrammen sammeln und alles zur Erkennung in ein neuronales Netz "schieben".
Hochladen der Datei
Ich habe das Gefühl, dass ich der Einzige aus der Radioabteilung bin. 1 bar ist eine Frequenz, ein konstanter Wert, f(x)=k0. 2 Balken sind 2 Frequenzen, f(x)=k0+k1*Sin(a1*x+b1), usw.
aber die Hälfte von ihnen ist symmetrisch zur anderen Hälfte (um Pi verschoben, wie es scheint)
Es bleiben also 4.
Es kann gar nicht anders sein.
Eine Frequenz (Sinusoid) enthält 3 Parameter - G(t) = A*Sin(w*t+p)
Die Frequenzen (w) sind festgelegt, so dass 2 Parameter übrig bleiben - Amplitude (A) und Phase (p).
Bei jeder Transformation von K unabhängigen Variablen (Balkenwerten)
kann man höchstens K unabhängige Parameter erhalten.
D.h. aus 8 Takten können maximal 4 Frequenzen gewonnen werden (2 Parameter pro Takt)