커뮤니티
수식의 변환
2008-12-01 15:48:47
928
글번호 18451
TRADE STATION 과 YES TRADER의 선형회귀선의 출력이 미묘하게 조금 다르다는 걸 알게 되었습니다.
그러니까 INPUT에 같은 값을 넣어도, 완전히 같은 값이 나오지는 않는다는 겁니다.
이건 무슨 까닭인 지 설명을 좀 부탁드려도 될까요?
아래는 TRADE STATION의 선형회귀선(LinearRegValue)의 수식입니다.
덧붙여, 혹시 이걸 YES TRADER에서 사용할 수 있도록 고쳐 주실 수 있으신지요.
Inputs: Price(NumericSeries), Len(NumericSimple), TargetB(NumericSimple);
Variables: X(0), Num1(0), Num2(0), SumBars(0), SumSqrBars(0), SumY(0), Sum1(0), Sum2(0), Slope(0), Intercept(0);
If Len = 0 Then
LinearRegValue = 0;
SumBars = 0;
SumSqrBars = 0;
SumY = 0;
Sum1 = 0;
Sum2 = 0;
SumY = Summation(Price, Len);
SumBars = Len * (Len - 1) * .5;
SumSqrBars = (Len - 1) * Len * (2 * Len - 1) / 6;
For X = 0 To Len - 1 Begin
Sum1 = Sum1 + X * Price[X];
End;
Sum2 = SumBars * SumY;
Num1 = Len * Sum1 - Sum2;
Num2 = SumBars * SumBars - Len * SumSqrBars;
If Num2 <> 0 Then
Slope = Num1 / Num2
Else
Slope = 0;
Intercept = (SumY - Slope * SumBars) / Len;
LinearRegValue = Intercept + Slope * (Len - 1 + CurrentBar - BarNumber - TargetB);
답변 1
예스스탁 예스스탁 답변
2011-12-01 16:02:14
안녕하세요
예스스탁입니다.
우선 해당내용을 YT로 변경한 사용자 함수를 올려드립니다.
functions폴더에 다운하시기 바랍니다.
미묘한 차이가 어디서 나오는지 정확히 확인을 못했습니다.
함수안에 barnumber등의 차이에서 오지 않을까 사료됩니다.
즐거운 하루되세요
> 취생몽사 님이 쓴 글입니다.
> 제목 : 수식의 변환
> TRADE STATION 과 YES TRADER의 선형회귀선의 출력이 미묘하게 조금 다르다는 걸 알게 되었습니다.
그러니까 INPUT에 같은 값을 넣어도, 완전히 같은 값이 나오지는 않는다는 겁니다.
이건 무슨 까닭인 지 설명을 좀 부탁드려도 될까요?
아래는 TRADE STATION의 선형회귀선(LinearRegValue)의 수식입니다.
덧붙여, 혹시 이걸 YES TRADER에서 사용할 수 있도록 고쳐 주실 수 있으신지요.
Inputs: Price(NumericSeries), Len(NumericSimple), TargetB(NumericSimple);
Variables: X(0), Num1(0), Num2(0), SumBars(0), SumSqrBars(0), SumY(0), Sum1(0), Sum2(0), Slope(0), Intercept(0);
If Len = 0 Then
LinearRegValue = 0;
SumBars = 0;
SumSqrBars = 0;
SumY = 0;
Sum1 = 0;
Sum2 = 0;
SumY = Summation(Price, Len);
SumBars = Len * (Len - 1) * .5;
SumSqrBars = (Len - 1) * Len * (2 * Len - 1) / 6;
For X = 0 To Len - 1 Begin
Sum1 = Sum1 + X * Price[X];
End;
Sum2 = SumBars * SumY;
Num1 = Len * Sum1 - Sum2;
Num2 = SumBars * SumBars - Len * SumSqrBars;
If Num2 <> 0 Then
Slope = Num1 / Num2
Else
Slope = 0;
Intercept = (SumY - Slope * SumBars) / Len;
LinearRegValue = Intercept + Slope * (Len - 1 + CurrentBar - BarNumber - TargetB);
다음글