커뮤니티

다음 지표식을 예스로 언어 변환 부탁드립니다.

프로필 이미지
경복궁
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);