커뮤니티
이것을 예스트레이더에서 쓸수 있게 바꿔주세요
2006-05-24 17:11:19
1263
글번호 10073
싸이칸에있는 식인데 제목이 linear RegvalueFC입니다
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
LinearRegValueFC = 0;
Sum1 = 0;
If CurrentBar = 1 Then Begin
SumBars = SumBars[1];
SumBars = Len * (Len - 1) * .5;
SumSqrBars = (Len - 1) * Len * (2 * Len - 1) / 6;
End;
For X = 0 To Len - 1 Begin
Sum1 = Sum1 + X * Price[X];
End;
SumY = Summation(Price, Len);
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;
LinearRegValueFC = Intercept + Slope * (Len - 1 + CurrentBar - CurrentBar - TargetB);
답변 1
예스스탁 예스스탁 답변
2006-05-26 10:22:09
안녕하세요
예스스탁입니다.
문의하신 함수는 선형회귀라인은 기본적으로 함수로 제공되고 있습니다.
plot1(LRL(c,14));
와 같이 사용하시면 됩니다.
즐거운 하루되세요
> 요한 님이 쓴 글입니다.
> 제목 : 이것을 예스트레이더에서 쓸수 있게 바꿔주세요
> 싸이칸에있는 식인데 제목이 linear RegvalueFC입니다
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
LinearRegValueFC = 0;
Sum1 = 0;
If CurrentBar = 1 Then Begin
SumBars = SumBars[1];
SumBars = Len * (Len - 1) * .5;
SumSqrBars = (Len - 1) * Len * (2 * Len - 1) / 6;
End;
For X = 0 To Len - 1 Begin
Sum1 = Sum1 + X * Price[X];
End;
SumY = Summation(Price, Len);
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;
LinearRegValueFC = Intercept + Slope * (Len - 1 + CurrentBar - CurrentBar - TargetB);