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

 
다음은 공식 RMS ^ 2 = M[X ^ 2] - (M [X]) ^ 2 입니다. 실제로는 분산, 즉 이상적인 특성에 대한 것입니다. 철회되었을 때 "교차" 합계가 명시적으로 또는 암시적으로 0으로 설정되었을 가능성이 큽니다. 큰 샘플의 경우 이 정도면 충분합니다. 그러나 작은 표본의 경우 실제 표준 편차가 다를 수 있습니다. 아직 손이 닿지 않은 것을 확인하기 전의 진실이 있다.
 
Mathemat :

유라 , 표준 함수보다 빨리 RMS를 계산하고 싶습니다. 갑자기 작동할까요? 단일 호출로 언어로 작성된 어떤 코드보다 빨라야 하지만 대량 호출(전체 차트 계산)을 사용하면 비용을 상당히 절약할 수 있습니다.


선형 회귀 에 대한 오류에 대해 이야기하는 경우 공식에 따라 한 단계로 분석적으로 고려됩니다.

RMS^2=D[Y] - D[X]*A^2 ,

여기서 D[Y]=M[Y^2]-M[Y]^2 , D[X]=M[X^2]-M[X]^2 , A 는 선형 회귀 계수 Y=A* X +B

따라서 여기서 재귀는 필요하지 않습니다.

PS 그리고 교차 합계는 명시적이고 순수하게 분석적으로 0으로 설정됩니다. 샘플 크기는 그것과 관련이 없습니다.

 
Prival :

여전히 오류 2008.02.15 17:07:22 2007.01.11 12:15 OTF_1 EURUSD,M1: MathSqrt 함수에 대한 음수 인수

오류 내용에 따라 개는 여기 MathSqrt(lambda*lambda*lambda*lambda+16.0*lambda*lambda) 를 뒤졌습니다. 그러나 lambda=MathAbs(Value1[i]/Value2[i]) ;는 음수가 될 수 없습니다.
따라서 모든 소방관이 생각하는 유일한 것은 먼저 lambda=0.0을 수행하는 것입니다.
및/또는 MathSqrt(MathAbs(lambda*lambda*lambda*lambda+16.0*lambda*lambda)) 이 오류를 영구적으로 제거합니다.
//---- 메인 루프
이중 알파, 람다=0.0 ;
//************************************************ ** **********************************************
(i = 한계, i >= 0, i--)
{
가격[i]=(높은[i]+낮은[i])/2.0;
}
(i = 한계, i >= 0, i--)
{
값1[i]=SC*(가격[i]-가격[i+1])+4*SC*값1[i+1];
값2[i]=SC*(높음[i]-낮음[i])+4*SC*값2[i+1];
}
(i = 한계, i >= 0, i--)
{
if(값2[i]<점)값2[i]=점;else 람다=MathAbs(값1[i]/값2[i]);

알파=(-람다*람다+ MathSqrt(람다*람다*람다*람다+16.0*람다*람다) )/8.0;

값3[i]=알파*가격[i]+(1.0-알파)*값3[i+1];
}
//************************************************ ** **********************************************

PS Vooooobschem 넌센스. 이 오류가 테스터에 나타날 수 있습니까?
PPS 이중 람다 변수의 초기화 가능성이 가장 높습니다. 기본적으로 매우 작은 부정적인 쓰레기를 생성합니다. 그런 다음 표현식 이중 람다=0.0; 도움이 되어야 합니다.
그는 우리를 가르치고 Slava는 우리에게 가르칩니다. 기본적으로 작동하지 않지만 배우지 않습니다!
 
VBAG :
비공개 :

여전히 오류 2008.02.15 17:07:22 2007.01.11 12:15 OTF_1 EURUSD,M1: MathSqrt 함수에 대한 음수 인수


PS Vooooobschem 넌센스. 이 오류가 테스터에 나타날 수 있습니까?
PPS 이중 람다 변수의 초기화 가능성이 가장 높습니다. 기본적으로 매우 작은 부정적인 쓰레기를 생성합니다. 그런 다음 표현식 이중 람다=0.0; 도움이 되어야 합니다.
그는 우리를 가르치고 Slava는 우리에게 가르칩니다. 기본적으로 작동하지 않지만 배우지 않습니다!

여기 Botniks는 항상 바퀴를 재발명하기를 원합니다.

너무 땀을 흘리지 마십시오. 맞춤형 칠면조 중에는 Bands.mq4가 있습니다. RMS를 계산하는 알고리즘이 있습니다.
 

RMS^2=D[Y] - D[X]*A^2 ,

여기서 D[Y]=M[Y^2]-M[Y]^2 , D[X]=M[X^2]-M[X]^2 , A 는 선형 회귀 계수 Y=A* X +B

따라서 여기서 재귀는 필요하지 않습니다.

이 공식에는 많은 중복이 있습니다.
그리고 재발이 필요하지 않다는 것은 무엇을 의미합니까? 합계는 어떻게 계산되어야합니까? 아니면 기대치를 평균으로 바꾸지 않고 할 수 있는 방법이 있습니까?

추신: 그건 그렇고, 교차 합계는 저절로 사라지지 않습니다. 적어도 나는 떠나지 않았다. 분산이 아닌 "실제" 표현으로 작업하십시오.
 
모든 기능에 대한 RMS

 sq = 0.0 ;
for ( int n = 0 ; n < period ; n ++ )
{
   dc = Close [ n ] - fx [ n ] ;
   sq += dc * dc ;
}
sq = MathSqrt ( sq / period ) ;
따라서 선형 회귀 의 경우

 sq = 0.0 ;
for ( n = 0 ; n < p ; n ++ )
{
   lr = b + a * n ;  
   dc = Close [ n ] - lr ;
   sq += dc * dc ;
}
sq = MathSqrt ( sq / p ) ;
 
ANG3110 :
따라서 선형 회귀의 경우

 sq = 0.0 ;
for ( n = 0 ; n < p ; n ++ )
{
   lr = b + a * n ;  
   dc = Close [ n ] - lr ;
   sq += dc * dc ;
}
sq = MathSqrt ( sq / p ) ;

이것은 정의에 의한 것입니다. LR이 아주 짧지 않다면 추가적인 사이클 없이 RMS를 더 빠르게 계산할 수 있다. RMS를 계산하는 코드는 원래의 MovingLR.mq4에 있으며 주석 처리되어 있고 RMS는 rmsY라고 합니다.
 
lna01 :

RMS^2=D[Y] - D[X]*A^2 ,

여기서 D[Y]=M[Y^2]-M[Y]^2 , D[X]=M[X^2]-M[X]^2 , A 는 선형 회귀 계수 Y=A* X +B

따라서 여기서 재귀는 필요하지 않습니다.

이 공식에는 많은 중복이 있습니다.
그리고 재발이 필요하지 않다는 것은 무엇을 의미합니까? 합계는 어떻게 계산되어야합니까? 아니면 기대치를 평균으로 바꾸지 않고 할 수 있는 방법이 있습니까?

추신: 그건 그렇고, 교차 합계는 저절로 사라지지 않습니다. 적어도 나는 떠나지 않았다. 분산이 아닌 "실제" 표현으로 작업하십시오.


이 공식에서 불필요한 것이 무엇인지 정말로 알고 싶습니다. :-)

물론 MO는 평균으로 대체되고 합계를 계산해야 합니다. 그러나 이것은 반복이나 루프를 필요로 하지 않습니다. 공식을 사용하면 충분합니다.

S(X)[i+1]=S(X)[i] - X[i-N+1] + X[i+1] , 여기서 S(X)[i]=Sum(X[k]; k=i-N+1, i-N+2, ...,i-1,i )

그런데 이것이 반복을 이야기할 때 말하는 표현이 아닐까요? 그렇다면 물론 당신이 옳습니다.

"실제 표현"에 관해서는 이 모든 공식이 어디에서 온 것 같습니까? 이제 A와 B에 대한 LSM의 도움으로 얻은 최종 공식을 이 "실제 표현"으로 대체하면 표준 편차에 대한 위의 표현이 얻어집니다. 해당하는 분석 계산을 제공할 수 있습니다.

 
Yurixx :
lna01 :


해당하는 분석 계산을 제공할 수 있습니다.


여기에서 더 자세히 복잡하지 않으면 여기에서. 새로운 데이터의 출현으로 계수 A와 B가 변경될 수 있습니다. 비록 제가 틀릴 수도 있지만 :-). LR의 경우 결정된 것 같지만 포물선 회귀의 경우 어떻게?
 
lna01 :
이것은 정의상입니다. LR이 아주 짧지 않다면 추가적인 사이클 없이 RMS를 더 빠르게 계산할 수 있다. RMS를 계산하는 코드는 원래의 MovingLR.mq4에 있으며 주석 처리되어 있고 RMS는 rmsY라고 합니다.
예, 처음에 합계를 한 번 계산하고 마지막 요소를 빼고 새 요소를 먼저 추가하면 됩니다. 그런 다음주기없이 밝혀졌습니다. 나는 MT3의 mql2에서 그런 일을 했습니다. 이제 선형 회귀 뿐만 아니라 필요한 곳에 삽입합니다.