eine Handelsstrategie auf der Grundlage der Elliott-Wellen-Theorie - Seite 34

 
Ich habe ein Gleichungssystem abgeleitet, um die Koeffizienten einer Parabel nach der Methode der kleinsten Quadrate zu bestimmen. Wer erinnert sich an den Herrscher? Oder muss ich selbst auf die Determinanten eingehen... <br / translate="no">

Hier finden Sie einen Algorithmus zur Lösung eines linearen Gleichungssystems und dessen Umsetzung in Form einer polynomialen Regression.
Wenn m=1, ist es eine Linie,
bei m=2 ist es eine Parabel,
wenn m=3, gibt es einen Würfel, und so weiter.
//--------------------------------
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 LightSkyBlue
//-----------------------------------
extern double hours = 24;
extern int m = 2;
extern int i0 = 0;
//-----------------------
double fx[];
double a[10,10],b[10],x[10],sx[20];
double sum; 
int p;
int nn;
//*******************************************
int init() 
{
   IndicatorShortName("at_PR (Din)");
   SetIndexStyle(0,DRAW_LINE);
   SetIndexBuffer(0,fx);
   p=hours*60/Period(); 
   nn=m+1; 
   return(0);
}
//**********************************************************
int start()
{ 
  int i,n,k;
  sx[1]=p+1;
  SetIndexDrawBegin(0,Bars-p+i0);
  //----------------------sx---------------------
  for(i=1; i<=nn*2-2; i++) 
  {
    sum=0.0; 
    for(n=i0; n<=i0+p; n++) {sum+=MathPow(n,i);} 
    sx[i+1]=sum;
  }  
  //----------------------syx--------------------
  for(i=1; i<=nn; i++) 
  {
    sum=0.0; 
    for(n=i0; n<=i0+p; n++) 
    {
      if (i==1) sum+=Close[n]; 
      else 
      sum+=Close[n]*MathPow(n,i-1);
    } 
    b[i]=sum;
  } 
  //===============Matrix========================
  for(int j=1; j<=nn; j++) 
  {
    for(i=1; i<=nn; i++) 
    {
      k=i+j-1; 
      a[i,j]=sx[k];
    }
  }  
  //===============Gauss=========================
  af_Gauss(nn,a,b,x);
  //=============================================
  for (i=i0; i<=i0+p; i++) 
  {
    sum=0; 
    for(k=1; k<=m; k++) sum+=x[k+1]*MathPow(i,k); 
    fx[i]=x[1]+sum;
  } 
  //-------------------------------------------------------------
  return(0);
}
//*************************************************************** 
void af_Gauss(int n, double& a[][],double& b[], double& x[])
{
  int i,j,k,l;
  double q,m,t;

  for(k=1; k<=n-1; k++) 
  {
    l=0; 
    m=0; 
    for(i=k; i<=n; i++) 
    {
      if (MathAbs(a[i,k])>m) {m=MathAbs(a[i,k]); l=i;}
    } 
    if (l==0) return(0);   

    if (l!=k) 
    {
      for(j=1; j<=n; j++) 
      {
        t=a[k,j]; 
        a[k,j]=a[l,j]; 
        a[l,j]=t;
      } 
      t=b[k]; 
      b[k]=b[l]; 
      b[l]=t;
    }  

    for(i=k+1;i<=n;i++) 
    {
      q=a[i,k]/a[k,k]; 
      for(j=1;j<=n;j++) 
      {
        if (j==k) a[i,j]=0; 
        else 
        a[i,j]=a[i,j]-q*a[k,j];
      } 
      b[i]=b[i]-q*b[k];
    }
  }  
  
  x[n]=b[n]/a[n,n]; 
  
  for(i=n-1;i>=1;i--) 
  {
    t=0; 
    for(j=1;j<=n-i;j++) 
    {
      t=t+a[i,i+j]*x[i+j]; 
      x[i]=(1/a[i,i])*(b[i]-t);
    }
  }
  return;
}
//********************************************************************** 


Auf dieser Grundlage können Sie sowohl RMS- als auch Wahrscheinlichkeitsniveaus erstellen und die Länge und Extrapolation optimieren.
Obwohl mir das mit der zuverlässigen Hochrechnung noch nicht ganz klar ist, kann mich jemand aufklären?
Wenn jemand darauf geachtet hat? Oder bringe ich das alles umsonst zur Sprache?

 
Ich habe ein Gleichungssystem abgeleitet, um die Koeffizienten einer Parabel nach der Methode der kleinsten Quadrate zu bestimmen. Wer erinnert sich an den Herrscher? Oder muss ich selbst auf die Determinanten eingehen...

Rosh, warum ist alles so kompliziert? Wie wollen Sie die Koeffizienten finden, wenn Sie nicht wissen, dass diese bestimmte Stichprobe das enthält, was Sie brauchen? In der Tat können Sie alles einfacher machen! Vladislav sagte gleich zu Beginn, dass Näherungsfehler die Reihenfolge der Näherung anzeigen. Und ich habe bereits darüber geschrieben. Ich kann es noch einmal wiederholen. Bei einer Gleichung der Form y=ax^2+bx+c erhält man durch Annäherung der Stichprobe mit dem linearen Regressionskanal y1=b1X+c1 den Koeffizienten b1, der dem Koeffizienten b der Ausgangsgleichung entspricht. Subtrahiert man dann die lineare Regressionsgleichung von der ersten Gleichung, erhält man eine Gleichung der Form y=ax^2+c2. Das heißt, aus dieser Gleichung geht hervor, dass die Spitze der Parabel um c2 gegen die x-Achse verschoben wird. Berücksichtigen Sie auch, dass der Scheitelpunkt der Parabel in der Mitte der Probe liegt. Wenn wir den Scheitelpunkt der Parabel bei (0,c2) nehmen, also den Ursprung der Probe am Scheitelpunkt der Parabel, haben wir es mit der Gleichung (y-c2)=ax^2 zu tun. Aber natürlich kennen wir die beiden Parameter a und c2 in dieser Gleichung nicht. Aber wir wissen, wie sie voneinander abhängen c2=y-ax^2. Wir kennen auch die Schnittpunkte der Parabel mit der x-Achse. Wir haben also drei Punkte auf der x-Achse - den Scheitelpunkt und den Schnittpunkt mit der x-Achse -, durch die wir die gewünschte Parabel finden müssen. Hier sehe ich keine andere Möglichkeit, das Problem zu lösen, als durch sukzessive Annäherung einen solchen a und folglich einen solchen Parameter c2 zu finden, bei dem der RMS-Fehler der Annäherung durch eine Parabel minimal ist. Und dann können wir durch das bekannte c2 auch den Parameter c aus der allerersten Gleichung erhalten, wodurch wir die vollständige Gleichung der quadratischen Funktion erhalten. Ich denke, dass dies den größten Teil von Vladislavas Rechenzeit in Anspruch nimmt, da alles andere einen weniger bedeutenden Teil der Rechenzeit in Anspruch nehmen kann.
 
Jurij, du bist völlig umsonst verärgert. Ich habe Ihre Frage wirklich nicht verstanden. Ich antworte so, wie Sie gefragt haben: Für das Problem, das Sie lösen wollen, ist das die richtige Einschätzung, die Sie da vornehmen.

Viel Glück und gute Trends.
 
Vladislav, auf dem von Ihnen gezeigten Bild können Sie sehen, dass der Parameter MMPeriod im Indikator MMLevls_VG 240 beträgt. Ist das so? Sie sagen also, dass alles auf ein Tagesdiagramm hinausläuft. Vielleicht verstehe ich es nicht?
 
Вывел систему уравнений для нахождения коэ-тов параболы по методу наименьших квадратов. Кто помнит линейку? Или самому придется лезть в детерминанты...

Rosh, warum ist alles so kompliziert? Wie wollen Sie nach Koeffizienten suchen, wenn Sie nicht im Voraus wissen, dass diese bestimmte Stichprobe das enthält, was Sie brauchen? In der Tat können Sie alles einfacher machen! Vladislav sagte gleich zu Beginn, dass Näherungsfehler die Reihenfolge der Näherung anzeigen. Und ich habe bereits darüber geschrieben. Ich kann es noch einmal wiederholen. Bei einer Gleichung der Form y=ax^2+bx+c erhält man durch Annäherung der Stichprobe mit dem linearen Regressionskanal y1=b1X+c1 den Koeffizienten b1, der dem Koeffizienten b der Ausgangsgleichung entspricht. Subtrahiert man dann die lineare Regressionsgleichung von der ersten Gleichung, erhält man eine Gleichung der Form y=ax^2+c2. Das heißt, aus dieser Gleichung geht hervor, dass die Spitze der Parabel um c2 gegen die x-Achse verschoben wird. Berücksichtigen Sie auch, dass der Scheitelpunkt der Parabel in der Mitte der Probe liegt. Wenn wir den Scheitelpunkt der Parabel bei (0,c2) nehmen, also den Ursprung der Probe am Scheitelpunkt der Parabel, haben wir es mit der Gleichung (y-c2)=ax^2 zu tun. Aber natürlich kennen wir die beiden Parameter a und c2 in dieser Gleichung nicht. Aber wir wissen, wie sie voneinander abhängen c2=y-ax^2. Wir kennen auch die Schnittpunkte der Parabel mit der x-Achse. Wir haben also drei Punkte auf der x-Achse - den Scheitelpunkt und den Schnittpunkt mit der x-Achse -, durch die wir die gewünschte Parabel finden müssen. Hier sehe ich keine andere Möglichkeit, das Problem zu lösen, als durch sukzessive Annäherung einen solchen a und folglich einen solchen Parameter c2 zu finden, bei dem der RMS-Fehler der Annäherung durch eine Parabel minimal ist. Und dann können wir durch das bekannte c2 auch den Parameter c aus der allerersten Gleichung erhalten, wodurch wir die vollständige Gleichung der quadratischen Funktion erhalten. Ich denke, dass dies den größten Teil von Vladislavas Rechenzeit in Anspruch nimmt, da alles andere weniger Rechenzeit in Anspruch nehmen kann.


Ich verstehe nicht, wo die Probleme liegen. Die Parabelgleichung wird aus denselben Überlegungen heraus gesucht wie der lineare Regressionskanal - über MNC. Die Lösung dieses Gleichungssystems ist eindeutig und erfordert keine Iterationen, sie wird direkt gelöst.
Zi=Deti/Det , wobei Zi die Koeffizienten der Parabel, Det die Matrixdeterminante und Deti die Matrixdeterminante ist, die man erhält, wenn man die Spalte der freien Terme (Ti) in die Spalte i einsetzt. In ähnlicher Weise können wir die gleichen Kriterien auf den sich ergebenden gekrümmten Kanal anwenden (der in Zukunft eindeutig beschrieben wird) - der RMS der gesamten Stichprobe im Parabelkanal ist nicht größer als der RMS von 2/3 der Stichprobe. Über Hurst schweige ich vorerst, weil ich keine Antwort habe, aber ich bin dabei, mich damit zu befassen :)

HZ Ich habe ein Mathe-Nachschlagewerk von 1986 gefunden, ich werde also immer schlauer :)
(Kolmogorow oder Demidowitsch wären besser gewesen).
 
Ich antworte wie gefragt: Für die Art der Problemstellung, die gelöst werden soll, ist das die richtige Einschätzung.


Danke, ich verstehe. Ich bin jedoch nicht damit einverstanden und bleibe bei meiner Meinung.
 
Ich habe ein Mathe-Nachschlagewerk von 1986 gefunden, ich werde also immer schlauer :)

Es ist SEHR gut, dass es eine einfache Lösung gibt, die keine Wiederholungen erfordert. Ich bin auch ein bisschen eingerostet, was Linal angeht :o(. Ich werde mir auch ein paar Bücher ansehen müssen. Rosh, wenn du es schon endgültig herausgefunden hast, denke ich, dass alle Interessierten auch daran interessiert wären, die vollständige Lösung zu lesen, die du oben bereits skizziert hast. Und vielleicht können Sie daraus sogar einen eigenen Artikel auf Alpari machen?
 
Ich habe angefangen, Bilder aus dem Buch zu machen, und dann aufgegeben - die Qualität war nicht gut. Gefunden durch Yandex http://www.exponenta.ru/educat/class/courses/la/theme3/theory.asp#4

Und hier ist eine Art Kurs - http://www.exponenta.ru/educat/class/courses/student/la/examples.asp
 
Вывел систему уравнений для нахождения коэ-тов параболы по методу наименьших квадратов. Кто помнит линейку? Или самому придется лезть в детерминанты...

Hier ist der Algorithmus zur Lösung eines linearen Gleichungssystems und die Umsetzung in Form einer polynomialen Regression.
Wenn m=1 - eine Linie,
bei m=2 ist es eine Parabel,
Wenn m=3 - ein Würfel, usw.


Ja, das ist genau das, was Solandr wollte. Es gab jedoch eine Frage - um einen so kniffligen Code so schnell mit meinen Formeln zu schreiben, muss man ein Spezialist sein. Aber ich habe mir den Code angesehen und ich habe meinen eigenen Algorithmus, zumindest spiegelt die Indizierung der Matrizenterme mein Gleichungssystem wider. Jetzt sehe ich, dass ANG3110 einen Hund auf solche Dinge gefressen hat (einen Ast auf einer Spinne, wie ich mich erinnere) :)
 
Ich kann jetzt sehen, dass ANG3110 hat den Hund auf solche Dinge gegessen (Zweig auf der Spinne ich mich erinnern) :)

In der Tat, ich unterstütze sie voll und ganz!!!
Sehr schön und ein notwendiger Indikator!
ANG3110, können Sie den Code erklären? Es ist schwer, das auf Anhieb zu erkennen. Vielleicht haben Sie einen eigenen Blog im Forum, in dem alles über diesen Indikator im Detail beschrieben wird? Vielen Dank im Voraus für die Informationen.
Grund der Beschwerde: