작가의 대화. 알렉산더 스미르노프. - 페이지 41

 
lna01 :
라인 계수와 b는 이 라인에서 계산됩니다.
A = (SumXY - N3*SumY)*N4;
B = (N1*SumY - SumXY)*N2;
명확성을 기하기 위해 단순히 현재 선형 회귀를 그리는 MovingLR_2 버전을 첨부합니다. 또한 이전 버전에서는 N4를 계산할 때 얼룩이 있었습니다. :)

MovingLR_2는 순수 선형 회귀를 생성하며 이를 쉽게 확인할 수 있습니다. at_LR0에서 시간 단위 기간에서 막대 단위 기간으로의 전환은 정확하지 않습니다. at_LR0에서 Close를 (High+Low)/2로 바꾸고 기간 1을 취하면 MovingLR_2에서 기간을 60이 아닌 61로 설정하고 분 차트에 매달면 결과가 완전히 일치합니다.


그럼, MovingLR_2는 일반적인 알고리즘입니다. 코드 레이아웃을 약간만 조정하면 모든 것이 정상입니다!

at_LR0에서 표준 MT4 도구 세트의 선형 회귀 와 일치하도록 한 막대 오프셋이 수행됩니다. 아마도 이것은 하지 말았어야...

 
Mathemat :

2 지간:

선형 회귀의 경우 공식은 다음과 같습니다. LRMA = 3*LWMA - 2*MA

2차:

2차 회귀 MA = 3 * SMA + QWMA * ( 10 - 15/( N + 2 ) ) - LWMA * ( 12 - 15/( N + 2 ) )

여기서 N은 평균 주기,

QWMA( i; N ) = 6/( N*(N+1)(2*N+1) ) * sum( Close[i] * (Ni)^2; i = 0..N-1 ) (표시 2차 가중치 포함).

입방체의 경우: 오, Trading Solutions에서 꺼내기 전까지는 그게 전부입니다. 거기에 거친 공식을 갖는 것이 너무 고통스럽습니다.

2 Candid: 글쎄, 확실히 진정한 편집증 환자, 나는 이것을 생각하지 못했을 것입니다 ...


다른 공식을 얻었습니다.

어디

 
흠, SKO의 경우 결과는 Yurixx 의 것보다 훨씬 더 맛있습니다.

RMS^2 = (합(Y*Y) - A*Sum(X*Y) - B*Sum(Y))/(N-2)

Yurixx 'y와 마찬가지로 표현의 단순함은 X축의 시작과 방향을 선택했기 때문이며, 아무도 오류를 찾지 못한다면 알고리즘에 대한 접근을 종료할 것입니다. 계산된 A와 RMS가 사라지지 않도록 인디케이터에 LR 라인의 도면을 남겨두고 RMS 채널을 추가했습니다 :)

ANG3110 :

코드 레이아웃을 약간 조정하면 모든 것이 정상입니다!

이 지표는 내가 거의 사용하지 않을 것이며 알고리즘이 실행될 것입니다.

2 유리릭스 :
작은 N에 대한 RSD 값의 차이는 RMS의 수정과 관련이 있는 것이 아니라 X의 시작과 방향 선택과 관련이 있는 것 같습니다. 변경되면 이전 공식도 다른 결과를 제공하기 시작하고, 예약 없이 정확합니다.
파일:
 
lna01 :

2 유리릭스 :
작은 N에 대한 RSD 값의 차이는 RSD 보정과 관련이 있는 것이 아니라 X의 시작과 방향 선택과 관련이 있는 것 같습니다. 변경되면 이전 공식도 다른 결과를 제공하기 시작하고 예약 없이 정확합니다.

좌표계의 올바른 선택이 계산과 최종 공식의 형식을 단순화하는 강력한 기술이라는 것은 확실히 옳습니다. 나는 이것을 선형 회귀 에 사용하지 않았고 어쨌든 모든 것이 아주 아름답게 밝혀졌습니다. 그러나 포물선 회귀의 경우 특정 원점을 선택하면 최종 표현식이 2배 더 단순해지고 알고리즘의 효율성이 10배 증가합니다. 또한 계산의 정확성에 대한 제한 문제가 완전히 제거되었습니다.

그러나 한 가지 점에서 나는 당신의 말에 동의할 수 없습니다. RMS 값과 회귀 값 자체는 X 축의 원점 선택에 의존 할 수 없습니다. 아마도 공식 자체가 다른 결과를 제공하기 시작하지 않을 수도 있지만 계산 정확도의 바로이 문제가 나타납니다. 15개의 유효 숫자만 double 에 저장되기 때문에( int 는 말할 것도 없고), 계산 중에 오류가 매우 빠르게 누적됩니다. 이것은 X와 Y 값의 차수가 다른 경우에 특히 두드러집니다. 예를 들어 X는 막대 번호이며 수십만일 수 있으며 Y는 가격, 약 1, 가격 변동은 약 0.0001입니다.


추신

이 공식이 얼마나 "맛있는"지 이해하고 싶었습니다. 한 줄로 훨씬 더 쉽다는 것이 분명합니다. 나는 당신이 (N-1)이 아닌 (N-2)로 나누는 이유를 이해하지 못합니다. 그러나 최대 가속을 목표로 할 때는 다른 공식을 사용해야 합니다. 현재 가격 값을 기준으로 X 기준점의 선택을 고정하면 Sum(X*Y)이 없는 공식을 사용하는 것이 더 유리합니다. 그러면 각 막대에서 컨볼루션을 계산할 필요가 없습니다. 그러나 각 막대에서 Sum(Y*Y) 또는 Sum(X*X)을 업데이트하는 것은 하나의 연산자입니다.

 

선형 회귀에서 계수 A와 B의 현재 값을 알고 있다면 RMS를 계산할 수 있습니까?

여기 공식이 있습니다

계수 A

계수 B

 
Prival :

선형 회귀에서 계수 A와 B의 현재 값을 알고 있다면 RMS를 계산할 수 있습니까?

QWMA와 같은 2차 항을 사용하면 어떻게든 가능할 가능성이 큽니다. 그러나 자동차를 통한 알고리즘은 분명히 차선책입니다. 내장 mashine에 네이티브 코드를 사용할 기회가 있었지만 구체화되지 않은 것 같습니다.
추신: QWMA가 X에서 2차라는 것을 기억했지만 Y에서 2차인 항이 필요합니다. 따라서 QWMA는 도움이 되지 않습니다.
 
Prival :

선형 회귀에서 계수 A와 B의 현재 값을 알고 있다면 RMS를 계산할 수 있습니까?


나는 그렇게 생각하지 않는다. 회귀선은 A와 B의 두 가지 상수에 의해 결정됩니다. 동일한 A와 B를 사용하면 이 선 주변의 값 분포는 무엇이든 될 수 있습니다. RMS를 계산하려면 X 및 Y 분산이 여전히 필요합니다. 아마도 QWMA는 Y 제곱을 포함하지 않아 Y 분산을 결정하지 않기 때문에 충분하지 않을 것입니다.
 
Yurixx :
아마도 QWMA는 Y의 제곱을 포함하지 않으므로 Y의 분산을 결정하지 않기 때문에 충분하지 않을 것입니다.
네, QWMA가 Y의 2차 행렬이 아니라는 사실을 잊어버렸습니다.
 
Yurixx :

그러나 한 가지 점에서 나는 당신의 말에 동의할 수 없습니다. RMS 값과 회귀 값 자체는 X 축의 원점 선택에 의존 할 수 없습니다. 아마도 공식 자체가 다른 결과를 제공하기 시작하지 않지만 계산 정확도의 바로이 문제가 나타납니다.

내가 염두에 둔 계산의 결과였다.

나는 당신이 (N-1)이 아닌 (N-2)로 나누는 이유를 이해하지 못합니다.

회귀에는 추가 자유도가 있기 때문입니다. Yandex는 다음과 같은 세부 사항에 대해 도움을 드릴 수 있습니다. http://cmacfm.mazoo.net/archives/000936.html
그러나 최대 가속을 목표로 할 때는 다른 공식을 사용해야 합니다. 현재 가격 값을 기준으로 X 기준점의 선택을 고정하면 Sum(X*Y)이 없는 공식을 사용하는 것이 더 유리합니다. 그러면 각 막대에서 컨볼루션을 계산할 필요가 없습니다. 그러나 각 막대에서 Sum(Y*Y) 또는 Sum(X*X)을 업데이트하는 것은 하나의 연산자입니다.
우리는 이미 Sum(X*Y)을 가지고 있고, 그것 없이는 A도 B도 계산할 수 없습니다. 세 가지 작업에서 재귀적으로 계산됩니다. at_LR0 또는 MovingLRv3 코드를 자세히 살펴보십시오.

PS For Sum(Y*Y) - Sum(X*X) - none 에 대한 세 가지 작업도 있습니다.
 
Prival :
수학 :

2차 회귀 MA = 3 * SMA + QWMA * ( 10 - 15/( N + 2 ) ) - LWMA * ( 12 - 15/( N + 2 ) )

QWMA( i; N ) = 6/( N*(N+1)(2*N+1) ) * sum( Close[i] * (Ni)^2; i = 0..N-1 ) (표시 2차 가중치 포함).

다른 공식을 얻었습니다.

어디

정확히 같은 공식, 감사합니다 Prival . 자동차에 관한 유사한 것을 제공하십시오.