엘리엇 파동 이론에 기반한 거래 전략 - 페이지 34

 
그는 최소 제곱법을 사용하여 포물선의 계수를 찾기 위한 방정식 시스템을 추론했습니다. 누가 라인을 기억합니까? 아니면 당신 자신이 결정 요인으로 올라가야 할 것입니다 ...

다음은 선형 방정식 시스템을 풀기 위한 알고리즘과 다항식 회귀 형태의 구현입니다.
m=1일 때 - 선,
m=2 - 포물선이 있고,
m=3 - 큐브 등
//--------------------------------
#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;
}
//********************************************************************** 


이를 기반으로 표준 편차와 확률 수준을 모두 구축하고 길이와 외삽을 최적화할 수 있습니다.
신뢰할 수 있는 외삽법으로 여전히 모든 것을 이해하지는 못하지만 누군가 나를 깨우쳐 줄 수 있습니까?
누군가가 이것에주의를 기울였다면? 그러면 내가 이 모든 것을 헛되이 가져오는 것은 아닐까?

 
그는 최소 제곱법을 사용하여 포물선의 계수를 찾기 위한 방정식 시스템을 추론했습니다. 누가 라인을 기억합니까? 아니면 당신 자신이 결정 요인으로 올라가야 할 것입니다 ...

Rosh, 왜 모든 것이 그렇게 복잡합니까? 이 특정 샘플에 필요한 것이 있다는 것을 미리 알지 못한다면 계수를 어떻게 찾겠습니까? 사실, 모든 것이 더 쉬워질 수 있습니다! Vladislav는 초기에 근사 오류가 근사 순서를 나타낸다고 말했습니다. 그리고 나는 이미 그것에 대해 썼습니다. 다시 반복할 수 있습니다. y=ax^2+bx+c 형식의 방정식이 있는 경우 선형 회귀 채널 y1=b1X+c1로 샘플을 근사하면 실제로 초기 방정식의 계수 b와 동일한 계수 b1을 얻게 됩니다. 또한 첫 번째 방정식에서 선형 회귀 방정식을 빼면 y=ax^2+c2 형식의 방정식을 얻습니다. 즉, 이 방정식에서 우리는 이미 포물선의 상단이 x축에 대해 c2만큼 이동될 것이라고 즉시 말할 수 있습니다. 또한 포물선의 상단이 샘플의 중앙에 엄격하게 놓일 것이라는 사실을 고려해야 합니다. 점 (0,c2)에서 포물선의 상단을 취하면, 즉 포물선의 상단에서 샘플의 참조 중심을 표시하면 방정식 (y-c2)=ax^ 2. 그러나 우리는 당연히 이 방정식에서 2개의 매개변수와 c2를 모릅니다. 그러나 우리는 그것들이 어떻게 서로 의존하는지 알고 있습니다. c2=y-ax^2. 우리는 또한 x축과 포물선의 교차점을 알고 있습니다..총체적으로 x축을 따라 세 개의 점이 있습니다 - 꼭짓점과 x축과의 교차점으로 원하는 포물선을 찾아야 합니다. 그리고 여기에서는 이러한 매개변수 a와 c2를 찾는 연속적 근사법으로 문제를 해결할 수 있는 다른 방법이 없습니다. 이 경우 포물선에 의한 근사에서 오차의 표준 편차가 최소가 됩니다. 또한 알려진 c2를 사용하여 첫 번째 방정식에서 매개변수 c를 얻을 수도 있습니다. 덕분에 이차 함수의 완전한 방정식이 생성됩니다. 다른 모든 것은 계산 기간 측면에서 덜 중요한 부분을 차지할 수 있기 때문에 이것이 블라디슬라바가 계산 시간의 대부분을 차지하는 이유라고 생각합니다.
 
유리야, 괜히 짜증나네. 나는 당신의 질문을 정말로 이해하지 못했습니다. 나는 질문한 대로 대답합니다. 해결되고 있는 문제의 공식화를 위해 그러한 평가가 거기에 필요한 것이 옳습니다.

행운을 빕니다.
 
Vladislav, 귀하가 제공한 그림은 MMlevls_VG 표시기의 MMPeriod 매개변수가 240임을 보여줍니다. 이것이 사실입니까? 당신은 모든 것이 날로 이어진다고 말합니다. 내가 이해하지 못하는 건 아닐까?
 
Вывел систему уравнений для нахождения коэ-тов параболы по методу наименьших квадратов. Кто помнит линейку? Или самому придется лезть в детерминанты...

Rosh, 왜 모든 것이 그렇게 복잡합니까? 이 특정 샘플에 필요한 것이 있다는 것을 미리 알지 못한다면 계수를 어떻게 찾겠습니까? 사실, 모든 것이 더 쉬워질 수 있습니다! Vladislav는 초기에 근사 오류가 근사 순서를 나타낸다고 말했습니다. 그리고 나는 이미 그것에 대해 썼습니다. 다시 반복할 수 있습니다. y=ax^2+bx+c 형식의 방정식이 있는 경우 선형 회귀 채널 y1=b1X+c1로 샘플을 근사하면 실제로 초기 방정식의 계수 b와 동일한 계수 b1을 얻게 됩니다. 또한 첫 번째 방정식에서 선형 회귀 방정식을 빼면 y=ax^2+c2 형식의 방정식을 얻습니다. 즉, 이 방정식에서 우리는 이미 포물선의 상단이 x축에 대해 c2만큼 이동될 것이라고 즉시 말할 수 있습니다. 또한 포물선의 상단이 샘플의 중앙에 엄격하게 놓일 것이라는 사실을 고려해야 합니다. 점 (0,c2)에서 포물선의 상단을 취하면, 즉 포물선의 상단에서 샘플의 참조 중심을 표시하면 방정식 (y-c2)=ax^ 2. 그러나 우리는 당연히 이 방정식에서 2개의 매개변수와 c2를 모릅니다. 그러나 우리는 그것들이 어떻게 서로 의존하는지 알고 있습니다. c2=y-ax^2. 우리는 또한 x축과 포물선의 교차점을 알고 있습니다..총체적으로 x축을 따라 세 개의 점이 있습니다 - 꼭짓점과 x축과의 교차점으로 원하는 포물선을 찾아야 합니다. 그리고 여기에서는 이러한 매개변수 a와 c2를 찾는 연속적 근사법으로 문제를 해결할 수 있는 다른 방법이 없습니다. 이 경우 포물선에 의한 근사에서 오차의 표준 편차가 최소가 됩니다. 또한 알려진 c2를 사용하여 첫 번째 방정식에서 매개변수 c를 얻을 수도 있습니다. 덕분에 이차 함수의 완전한 방정식이 생성됩니다. 다른 모든 것은 계산 기간 측면에서 덜 중요한 부분을 차지할 수 있기 때문에 이것이 블라디슬라바가 계산 시간의 대부분을 차지하는 이유라고 생각합니다.


문제가 무엇인지 이해가 되지 않습니다. 포물선 방정식은 LSM을 통해 선형 회귀 채널과 동일한 고려 사항에서 구합니다. 이 연립방정식의 해는 모호하지 않고 반복이 필요하지 않으며 정면으로 해결됩니다.
Zi=Deti/Det, 여기서 Zi는 포물선의 계수, Det는 행렬 행렬식, Deti는 자유 항 열(Ti)의 i 열에 대입하여 얻은 행렬 행렬식입니다. 마찬가지로 결과 곡선 채널에 동일한 기준을 적용할 수 있습니다(앞으로 명확하게 설명됨). 포물선 채널에서 전체 샘플의 RMS는 샘플의 2/3 RMS보다 크지 않습니다. 이 채널에 대한 Hurst의 경우 - 지금은 답변이 없기 때문에 아무 말도 하지 않겠습니다.

추신: 저는 1986년에 수학에 대한 참고서를 발견했고, 그래서 저는 훨씬 더 똑똑해졌습니다 :)
(Kolmogorov 또는 Demidovich가 더 좋습니다)
 
나는 질문한 대로 대답합니다. 해결되고 있는 문제의 공식화를 위해 그러한 평가가 거기에 필요한 것이 옳습니다.


감사합니다. 나는 이것에 동의하지 않고 내 의견을 지지합니다.
 
추신: 저는 1986년에 수학에 대한 참고서를 발견했고, 그래서 저는 훨씬 더 똑똑해졌습니다 :)

반복이 필요 없는 간단한 솔루션이 있다는 것은 매우 좋은 일입니다. linal을 너무 많이 잊어버렸어요 :o(. 책도 봐야지. Rosh, 이미 완전히 이해했다면 관심있는 모든 사람들에게도 흥미로울 것이라고 생각합니다. 위에서 이미 설명한 솔루션의 전체 버전 또는 alpari에서 별도의 기사로 발행할 수 있습니까?
 
나는 책과 팻에서 사진을 찍기 시작했습니다. 품질이 그렇게 뜨겁지 않습니다. Yandex를 통해 발견 http://www.exponenta.ru/educat/class/courses/la/theme3/theory.asp#4

그리고 여기, 코스 - http://www.exponenta.ru/educat/class/courses/student/la/examples.asp
 
Вывел систему уравнений для нахождения коэ-тов параболы по методу наименьших квадратов. Кто помнит линейку? Или самому придется лезть в детерминанты...

다음은 선형 방정식 시스템을 풀기 위한 알고리즘과 다항식 회귀 형태의 구현입니다.
m=1일 때 - 선,
m=2일 때 - 포물선이 있고,
m=3 - 큐브 등


예, 이것이 바로 solandr가 원했던 것입니다. 사실, 질문이 생겼습니다. 내 공식에 따라 그렇게 약간 까다로운 코드를 너무 빨리 작성하려면 전문가가 되어야 합니다. 사실, 나는 코드를 검토했고 알고리즘은 거기에 있습니다. 적어도 행렬 용어의 인덱싱은 제 방정식 시스템의 거울 이미지입니다. 이제 ANG3110이 그런 것들에 개를 먹었다는 것을 알았습니다 (거미의 가지를 기억합니다) :)
 
이제 ANG3110이 그런 것들에 개를 먹었다는 것을 알았습니다 (거미의 가지를 기억합니다) :)

사실 저는 전적으로 지지합니다!
매우 아름답고 NECESSARY 표시기!
ANG3110, 코드를 설명해 주시겠습니까? 한 눈에 알아보기 힘듭니다. 이 지표에 대해 모든 것이 자세히 설명되어 있는 포럼에 자신만의 스레드가 있습니까? 정보에 미리 감사드립니다.