커뮤니티

타주기 지표

프로필 이미지
jdavid
2022-09-22 08:52:27
898
글번호 162416
답변완료
감사합니다. == INPUTS: LENGTH(21), SDEG(3); VARS: LINREGY(0), X(0), STDERR(0), LINREGS(0), SERR(0),calcB(0),calcA(0); LINREGY = LRL(CLOSE, LENGTH); X = INDEX; Value11 = AccumN(X * Close, Length) - (Length * Average(X, Length) *Average(Close, Length)); Value12 = AccumN(Square(X), Length) - (Length * Square(Average(X, Length))); calcB = Value11/Value12; calcA = ma(Close, Length) - (calcB * ma(X, Length)); IF INDEX > LENGTH THEN BEGIN VALUE1 = (ACCUMN(CLOSE^2, LENGTH)) - ((CALCA * ACCUMN(CLOSE, LENGTH))) - ((CALCB * ACCUMN(X * CLOSE, LENGTH))); VALUE2 = LENGTH - 2; VALUE3 = (VALUE1 / VALUE2); IF VALUE3 > 0 THEN STDERR = SQRT(VALUE1 / VALUE2); ELSE STDERR = STDERR[1]; LINREGS = MA(LINREGY, SDEG); SERR = 2 * MA(STDERR, SDEG); PLOT1(LINREGS, "LINREGS"); PLOT2(LINREGS + SERR, "+STDERRS"); PLOT3(LINREGS - SERR, "-STDERRS"); END; == 1. 위 지표를 타주기 분봉지표로 만들어(1분봉에서 15분봉 지표를 사용) 사용하고 싶습니다.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2022-09-22 11:25:48

안녕하세요 예스스탁입니다. input : 타주기분(15),LENGTH(21),SDEG(3); var : S1(0),D1(0),TM(0),TF(0),cnt(0),idx(0),sum11(0),sum22(0); var : sum1(0),sum2(0),sum3(0),sum4(0),mav1(0),mav2(0),mav3(0),mav4(0); var : calcB(0),calcA(0),LINREGS(0),SERR(0); Array : C1[100](0),AccumValue[100](0),LRLv[100](0),STDERR[100](0); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF = TM%타주기분; if Bdate != Bdate[1] or (Bdate == Bdate[1] and 타주기분 > 1 and TF < TF[1]) or (Bdate == Bdate[1] and 타주기분 > 1 and TM >= TM[1]+타주기분) or (Bdate == Bdate[1] and 타주기분 == 1 and TM > TM[1]) Then { idx = idx+1; for cnt = 99 downto 1 { C1[cnt] = C1[cnt-1]; AccumValue[cnt] = AccumValue[cnt-1]; LRLV[cnt] = LRLV[cnt-1]; STDERR[cnt] = STDERR[cnt-1]; } AccumValue[0] = AccumValue[0]+1; } C1[0] = C; if C1[LENGTH] > 0 Then { sum1 = 0; sum11 = 0; sum2 = 0; sum22 = 0; sum3 = 0; sum4 = 0; for cnt = 0 to LENGTH-1 { sum1 = sum1 + AccumValue[cnt]; sum11 = sum11 + Square(AccumValue[cnt]); sum2 = sum2 + C1[cnt]; sum22 = sum22 + C1[cnt]^2; sum3 = sum3 + C1[cnt]*AccumValue[cnt]; sum4 = sum4 + AccumValue[cnt]^2; } mav1 = sum1/LENGTH; mav2 = sum2/LENGTH; mav3 = sum3/LENGTH; mav4 = sum4/LENGTH; LRLv[0] = (mav3 - mav1 * mav2) /(mav4 - (mav1^2)) * (AccumValue[0] - mav1) + mav2; Value11 = sum3 - (Length * mav1 * mav2); Value12 = sum11 - (Length * Square(mav1)); calcB = Value11/Value12; calcA = mav2 - (calcB * mav1); VALUE1 = (sum22) - ((CALCA * sum2)) - ((CALCB * sum3)); VALUE2 = LENGTH - 2; VALUE3 = (VALUE1 / VALUE2); IF VALUE3 > 0 THEN STDERR[0] = SQRT(VALUE1 / VALUE2); ELSE STDERR[0] = STDERR[1]; } if LRLv[SDEG-1] > 0 Then { var1 = 0; Var2 = 0; for cnt = 0 to SDEG-1 { var1 = var1+LRLv[cnt]; var2 = var2+STDERR[cnt]; } LINREGS = var1/SDEG; SERR = 2 * var2/SDEG; PLOT1(LINREGS, "LINREGS"); PLOT2(LINREGS + SERR, "+STDERRS"); PLOT3(LINREGS - SERR, "-STDERRS"); } } 즐거운 하루되세요 > jdavid 님이 쓴 글입니다. > 제목 : 타주기 지표 > 감사합니다. == INPUTS: LENGTH(21), SDEG(3); VARS: LINREGY(0), X(0), STDERR(0), LINREGS(0), SERR(0),calcB(0),calcA(0); LINREGY = LRL(CLOSE, LENGTH); X = INDEX; Value11 = AccumN(X * Close, Length) - (Length * Average(X, Length) *Average(Close, Length)); Value12 = AccumN(Square(X), Length) - (Length * Square(Average(X, Length))); calcB = Value11/Value12; calcA = ma(Close, Length) - (calcB * ma(X, Length)); IF INDEX > LENGTH THEN BEGIN VALUE1 = (ACCUMN(CLOSE^2, LENGTH)) - ((CALCA * ACCUMN(CLOSE, LENGTH))) - ((CALCB * ACCUMN(X * CLOSE, LENGTH))); VALUE2 = LENGTH - 2; VALUE3 = (VALUE1 / VALUE2); IF VALUE3 > 0 THEN STDERR = SQRT(VALUE1 / VALUE2); ELSE STDERR = STDERR[1]; LINREGS = MA(LINREGY, SDEG); SERR = 2 * MA(STDERR, SDEG); PLOT1(LINREGS, "LINREGS"); PLOT2(LINREGS + SERR, "+STDERRS"); PLOT3(LINREGS - SERR, "-STDERRS"); END; == 1. 위 지표를 타주기 분봉지표로 만들어(1분봉에서 15분봉 지표를 사용) 사용하고 싶습니다.