une stratégie commerciale basée sur la théorie des vagues d'Elliott - page 34

 
J'ai dérivé un système d'équations pour trouver les coefficients d'une parabole en utilisant la méthode des moindres carrés. Qui se souvient du souverain ? Ou dois-je entrer moi-même dans les déterminants... <br / translate="no">

Voici un algorithme pour résoudre un système d'équations linéaires et une mise en œuvre sous la forme d'une régression polynomiale.
Si m=1, c'est une ligne,
à m=2, c'est une parabole,
si m=3, il y a un cube, et ainsi de suite.
//--------------------------------
#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;
}
//********************************************************************** 


Sur cette base, vous pouvez construire des niveaux de RMS et de probabilité et optimiser la longueur et l'extrapolation.
Bien qu'avec une extrapolation fiable, tout n'est pas encore clair pour moi, quelqu'un peut-il m'éclairer ?
Si quelqu'un y prêtait attention ? Ou peut-être que je fais tout ça pour rien ?

 
J'ai dérivé un système d'équations pour trouver les coefficients d'une parabole en utilisant la méthode des moindres carrés. Qui se souvient du souverain ? Ou dois-je entrer moi-même dans les déterminants...

Rosh, pourquoi tout est si compliqué ? Comment allez-vous trouver des coefficients si vous ne savez pas au préalable que cet échantillon particulier contient ce dont vous avez besoin ? En fait, vous pouvez tout simplifier ! Vladislav a dit au tout début que les erreurs d'approximation montrent l'ordre de l'approximation. Et j'ai déjà écrit à ce sujet. Je peux le répéter une fois de plus. Si nous avons une équation de la forme suivante : y=ax^2+bx+c, alors en approchant l'échantillon avec la voie de régression linéaire y1=b1X+c1 on obtient en fait le coefficient b1 égal au coefficient b de l'équation initiale. Ensuite, en soustrayant l'équation de régression linéaire de la première équation, on obtient une équation de la forme y=ax^2+c2. Autrement dit, vous pouvez déduire de cette équation que le sommet de la parabole sera décalé de c2 par rapport à l'axe des x. Prenez également en compte le fait que le sommet de la parabole sera au milieu de l'échantillon. Si nous prenons le sommet de la parabole à (0,c2), c'est-à-dire l'origine de l'échantillon au sommet de la parabole, nous aurons affaire à l'équation (y-c2)=ax^2. Mais bien sûr, nous ne connaissons pas les paramètres 2x a et c2 de cette équation. Mais nous savons comment ils dépendent les uns des autres c2=y-ax^2. Nous connaissons également les points d'intersection de la parabole avec l'axe des x. Nous avons donc trois points sur l'axe des x - le sommet et l'intersection avec l'axe des x, grâce auxquels nous devons trouver la parabole souhaitée. Ici, je ne vois pas d'autre moyen de résoudre le problème que de trouver par approximations successives tel a et par conséquent tel paramètre c2 , pour lequel l'erreur quadratique moyenne d'approximation par une parabole sera minimale. Et ensuite, grâce au c2 connu, nous pouvons également obtenir le paramètre c à partir de la toute première équation, grâce à quoi nous avons l'équation complète de la fonction quadratique. Je pense que c'est ce qui prend le plus de temps de calcul à Vladislava, puisque tout le reste peut prendre moins de temps de calcul.
 
Yuri, tu t'énerves pour rien. Je n'ai vraiment pas compris votre question. Je répondrai comme vous l'avez demandé : pour le problème que vous résolvez, c'est la bonne façon de procéder.

Bonne chance et bonnes tendances.
 
Vladislav, sur l'image que vous avez présentée, vous pouvez voir que dans l'indicateur MMLevls_VG le paramètre MMPeriod est 240. C'est vrai ? Vous dites que tout mène à un graphique quotidien. Peut-être quelque chose que je ne comprends pas ?
 
Вывел систему уравнений для нахождения коэ-тов параболы по методу наименьших квадратов. Кто помнит линейку? Или самому придется лезть в детерминанты...

Rosh, pourquoi tout est si compliqué ? Comment allez-vous chercher des coefficients si vous ne savez pas à l'avance que cet échantillon particulier contient ce dont vous avez besoin ? En fait, vous pouvez tout simplifier ! Vladislav a dit au tout début que les erreurs d'approximation montrent l'ordre de l'approximation. Et j'ai déjà écrit à ce sujet. Je peux le répéter une fois de plus. Si nous avons une équation de la forme suivante : y=ax^2+bx+c, alors en approchant l'échantillon avec la voie de régression linéaire y1=b1X+c1 on obtient en fait le coefficient b1 égal au coefficient b de l'équation initiale. Ensuite, en soustrayant l'équation de régression linéaire de la première équation, on obtient une équation de la forme y=ax^2+c2. Autrement dit, vous pouvez déduire de cette équation que le sommet de la parabole sera décalé de c2 par rapport à l'axe des x. Prenez également en compte le fait que le sommet de la parabole sera au milieu de l'échantillon. Si nous prenons le sommet de la parabole à (0,c2), c'est-à-dire l'origine de l'échantillon au sommet de la parabole, nous aurons affaire à l'équation (y-c2)=ax^2. Mais bien sûr, nous ne connaissons pas les paramètres 2x a et c2 de cette équation. Mais nous savons comment ils dépendent les uns des autres c2=y-ax^2. Nous connaissons également les points d'intersection de la parabole avec l'axe des x. Nous avons donc trois points sur l'axe des x - le sommet et l'intersection avec l'axe des x, grâce auxquels nous devons trouver la parabole souhaitée. Ici, je ne vois pas d'autre moyen de résoudre le problème que de trouver par approximations successives tel a et par conséquent tel paramètre c2 , pour lequel l'erreur quadratique moyenne d'approximation par une parabole sera minimale. Et ensuite, grâce au c2 connu, nous pouvons également obtenir le paramètre c à partir de la toute première équation, grâce à quoi nous avons l'équation complète de la fonction quadratique. Je pense que c'est ce qui prend le plus de temps de calcul à Vladislava, puisque tout le reste peut prendre moins de temps de calcul.


Je ne comprends pas - quels sont les problèmes. L'équation de la parabole est recherchée à partir des mêmes considérations que la voie de la régression linéaire - via MNC. La solution de ce système d'équations est sans ambiguïté et ne nécessite pas d'itérations, elle est résolue de front.
Zi=Deti/Det , où Zi est les coefficients de la parabole, Det est le déterminant de la matrice, Deti est le déterminant de la matrice obtenu en substituant la colonne des termes libres (Ti) dans la colonne i. De même, nous pouvons appliquer les mêmes critères au canal curviligne résultant (décrit sans ambiguïté dans le futur) - la RMS de l'échantillon entier dans le canal parabole n'est pas plus grande que la RMS de 2/3 de l'échantillon. Je vais garder le silence sur Hurst pour l'instant, car je n'ai pas de réponse, mais je suis sur le point de m'y mettre :)

HZ J'ai trouvé un livre de référence sur les maths en 1986, je deviens donc beaucoup plus intelligent :)
(Kolmogorov ou Demidovich aurait été mieux).
 
Je réponds comme demandé : pour le type d'énoncé du problème qui est résolu - c'est la bonne évaluation.


Merci, je comprends. Je ne suis pas d'accord, cependant, et je maintiens mon opinion.
 
J'ai trouvé un livre de référence sur les mathématiques en 1986, donc je deviens beaucoup plus intelligent :)

C'est TRES bien qu'il existe une solution simple qui ne nécessite pas d'itérations. Je suis juste un peu rouillé sur le linal aussi :o(. Je vais devoir jeter un coup d'œil à certains livres aussi. Rosh, si vous avez déjà trouvé une solution définitive, je pense que tous les intéressés seraient également intéressés de voir la solution complète que vous avez déjà esquissée ci-dessus. Et peut-être que vous pouvez même en faire un article séparé sur Alpari ?
 
J'ai commencé à prendre des photos du livre, puis j'ai abandonné - la qualité n'était pas bonne. Trouvé par Yandex http://www.exponenta.ru/educat/class/courses/la/theme3/theory.asp#4

Et voici une sorte de cours - http://www.exponenta.ru/educat/class/courses/student/la/examples.asp
 
Вывел систему уравнений для нахождения коэ-тов параболы по методу наименьших квадратов. Кто помнит линейку? Или самому придется лезть в детерминанты...

Voici l'algorithme de résolution d'un système d'équations linéaires et l'implémentation sous forme de régression polynomiale.
Si m=1 - une ligne,
à m=2, c'est une parabole,
Si m=3 - un cube, etc.


Oui, c'est exactement ce que voulait Solandr. Cependant, une question se posait : pour écrire un code aussi délicat aussi rapidement à l'aide de mes formules, il faut être un spécialiste. Mais j'ai parcouru le code et j'ai mon propre algorithme, au moins l'indexation des termes de la matrice reflète mon système d'équations. Maintenant je vois, qu'ANG3110 a mangé un chien sur de telles choses (une branche sur une araignée je me souviens) :)
 
Je vois maintenant qu'ANG3110 a mangé le chien sur de telles choses (branche sur l'araignée je me souviens) :)

En effet, je le soutiens pleinement ! !!
Très bien et un indicateur nécessaire !
ANG3110, pouvez-vous expliquer le code ? C'est difficile de s'en rendre compte dès le départ. Peut-être avez-vous votre propre blog sur le forum, où tout est écrit en détail sur cet indicateur ? Merci d'avance pour ces informations.