커뮤니티
다음 지표식을 예스로 언어 변환 부탁드립니다.
2006-12-26 09:45:36
963
글번호 11567
{*******************************************************************
Description: Linear Regression Value
Provided By: Omega Research, Inc. (c) Copyright 1999
********************************************************************}
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 - CurrentBar - TargetB);
답변 1
예스스탁 예스스탁 답변
2006-12-26 10:34:31
안녕하세요
예스스탁입니다.
문의하신 식은 다음과 같습니다.
사용자 함수에서 LinearRegValue란 이름으로 저장하시기 바랍니다.
Input: Price(Numeric), Len(Numeric), TargetB(Numeric);
Var: 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 = accumN(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 - TargetB);
즐거운 하루되세요
> 경복궁 님이 쓴 글입니다.
> 제목 : 다음 지표식을 예스로 언어 변환 부탁드립니다.
> {*******************************************************************
Description: Linear Regression Value
Provided By: Omega Research, Inc. (c) Copyright 1999
********************************************************************}
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 - CurrentBar - TargetB);
다음글
이전글