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 도구 세트의 선형 회귀 와 일치하도록 한 막대 오프셋이 수행됩니다. 아마도 이것은 하지 말았어야...
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)을 업데이트하는 것은 하나의 연산자입니다.
QWMA와 같은 2차 항을 사용하면 어떻게든 가능할 가능성이 큽니다. 그러나 자동차를 통한 알고리즘은 분명히 차선책입니다. 내장 mashine에 네이티브 코드를 사용할 기회가 있었지만 구체화되지 않은 것 같습니다. 추신: QWMA가 X에서 2차라는 것을 기억했지만 Y에서 2차인 항이 필요합니다. 따라서 QWMA는 도움이 되지 않습니다.
나는 그렇게 생각하지 않는다. 회귀선은 A와 B의 두 가지 상수에 의해 결정됩니다. 동일한 A와 B를 사용하면 이 선 주변의 값 분포는 무엇이든 될 수 있습니다. RMS를 계산하려면 X 및 Y 분산이 여전히 필요합니다. 아마도 QWMA는 Y 제곱을 포함하지 않아 Y 분산을 결정하지 않기 때문에 충분하지 않을 것입니다.
그러나 한 가지 점에서 나는 당신의 말에 동의할 수 없습니다. 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 에 대한 세 가지 작업도 있습니다.
라인 계수와 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 도구 세트의 선형 회귀 와 일치하도록 한 막대 오프셋이 수행됩니다. 아마도 이것은 하지 말았어야...
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: 글쎄, 확실히 진정한 편집증 환자, 나는 이것을 생각하지 못했을 것입니다 ...
다른 공식을 얻었습니다.
어디
코드 레이아웃을 약간 조정하면 모든 것이 정상입니다!
2 유리릭스 :
작은 N에 대한 RSD 값의 차이는 RMS의 수정과 관련이 있는 것이 아니라 X의 시작과 방향 선택과 관련이 있는 것 같습니다. 변경되면 이전 공식도 다른 결과를 제공하기 시작하고, 예약 없이 정확합니다.
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
선형 회귀에서 계수 A와 B의 현재 값을 알고 있다면 RMS를 계산할 수 있습니까?
추신: QWMA가 X에서 2차라는 것을 기억했지만 Y에서 2차인 항이 필요합니다. 따라서 QWMA는 도움이 되지 않습니다.
선형 회귀에서 계수 A와 B의 현재 값을 알고 있다면 RMS를 계산할 수 있습니까?
아마도 QWMA는 Y의 제곱을 포함하지 않으므로 Y의 분산을 결정하지 않기 때문에 충분하지 않을 것입니다.
그러나 한 가지 점에서 나는 당신의 말에 동의할 수 없습니다. RMS 값과 회귀 값 자체는 X 축의 원점 선택에 의존 할 수 없습니다. 아마도 공식 자체가 다른 결과를 제공하기 시작하지 않지만 계산 정확도의 바로이 문제가 나타납니다.
나는 당신이 (N-1)이 아닌 (N-2)로 나누는 이유를 이해하지 못합니다.
PS For Sum(Y*Y) - Sum(X*X) - none 에 대한 세 가지 작업도 있습니다.
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차 가중치 포함).
다른 공식을 얻었습니다.
어디