커뮤니티

문의드립니다

프로필 이미지
맥스
2011-09-28 13:40:56
638
글번호 43116
답변완료
아래수식은 분봉에서 주봉 및 일봉을 불러온 내용입니다 수식에 문제가 있는지 검증이 안됩니다. 수정 부탁합니다. input : p1(2),LENGTH1(20),LENGTH2(60), ## 주봉 LENGTH11(20),LENGTH12(60),LENGTH13(120), ## 일봉 Period1(20),Period2(60), ## 주봉 Period11(20),Period12(60),Period13(120); ## 일봉 var : TCHAN1(0),TCHAN2(0),cnt(0), ## 주봉 TCHAN11(0),TCHAN12(0),TCHAN13(0); ## 일봉 Var : Sum1(0), Counter1(0), CSum1(0),Wma1(0),SumSqrt1(0),Std1(0); ## 주봉 Var : Sum2(0), Counter2(0), CSum2(0),Wma2(0),SumSqrt2(0),Std2(0); Array : HH[70](0),CC[70](0),LL[70](0); if DayOfWeek(sdate) <= DayOfWeek(sdate[1]) and sdate > sdate[1] Then{ HH[0] = H; LL[0] = L; for cnt = 1 to 61{ HH[cnt] = HH[cnt-1][1]; CC[cnt] = CC[cnt-1][1]; LL[cnt] = LL[cnt-1][1]; } } if H > HH[0] Then HH[0] = H; if L < LL[0] Then LL[0] = L; CC[0] = C; TCHAN1 = HH[1]; ## 주봉 pc[1] for cnt = 1 to LENGTH1 { if HH[cnt] > TCHAN1 Then TCHAN1 = HH[cnt]; } TCHAN2 = HH[1]; ## 주봉 pc[1] for cnt = 1 to LENGTH2 { if HH[cnt] > TCHAN2 Then TCHAN2 = HH[cnt]; } Sum1 = 0; CSum1 = 0; For counter1 = 0 To Period1-1{ Sum1= Sum1 + ((HH[counter1]+LL[counter1]+CC[counter1])/3) * (Period1 - counter1); CSum1 = CSum1 + (Period1 - counter1); } WMA1 = Sum1/ CSum1; SumSqrt1 = 0; For Counter1 = 0 To Period1-1 { SumSqrt1 = SumSqrt1 + (((HH[counter1]+LL[counter1]+CC[counter1])/3) - WMA1) * (((HH[counter1]+LL[counter1]+CC[counter1])/3) - WMA1); } Std1 = SquareRoot(SumSqrt1 / Period1); Sum2 = 0; CSum2 = 0; For counter2 = 0 To Period2-1{ Sum2 = Sum2 + ((HH[counter2]+LL[counter2]+CC[counter2])/3) * (Period2 - counter2); CSum2 = CSum2 + (Period2 - counter2); } WMA2 = Sum2/CSum2; SumSqrt2 = 0; For Counter2 = 0 To Period2-1 { SumSqrt2 = SumSqrt2 + (((HH[counter2]+LL[counter2]+CC[counter2])/3) - WMA2) * (((HH[counter2]+LL[counter2]+CC[counter2])/3) - WMA2); } Std2 = SquareRoot(SumSqrt2 / Period2); var1 = wma1+(p1*STD1); ## 주봉 b.b var2 = wma2+(p1*STD2); ## 주봉 b.b var3 = (HH[0]+LL[0])/2; ## 주봉 중간값 ## 일봉 Var : Sum11(0), Counter11(0), CSum11(0),Wma11(0),SumSqrt11(0),Std11(0); Var : Sum12(0), Counter12(0), CSum12(0),Wma12(0),SumSqrt12(0),Std12(0); Var : Sum13(0), Counter13(0), CSum13(0),Wma13(0),SumSqrt13(0),Std13(0); TCHAN11 = dayhigh(1); for cnt = 1 to LENGTH11 { if dayhigh(cnt) > TCHAN11 Then TCHAN11 = dayhigh(cnt); } TCHAN12 = dayhigh(1); for cnt = 1 to LENGTH12 { if dayhigh(cnt) > TCHAN12 Then TCHAN12 = dayhigh(cnt); } TCHAN13 = dayhigh(1); for cnt = 1 to LENGTH13 { if dayhigh(cnt) > TCHAN13 Then TCHAN13 = dayhigh(cnt); } Sum11 = 0; CSum11 = 0; For counter11 = 0 To Period11-1{ Sum11= Sum11 + ((dayhigh(counter11)+daylow(counter11)+dayclose(counter11))/3) * (Period11 - counter11); CSum11 = CSum11 + (Period11 - counter11); } WMA11 = Sum11/ CSum11; SumSqrt1 = 0; For Counter11 = 0 To Period11-1 { SumSqrt11 = SumSqrt11 + (((dayhigh(counter11)+daylow(counter11)+dayclose(counter11))/3) - WMA11) * (((dayhigh(counter11)+daylow(counter11)+dayclose(counter11))/3) - WMA11); } Std11 = SquareRoot(SumSqrt11 / Period11); Sum12 = 0; CSum12 = 0; For counter12 = 0 To Period12-1{ Sum12 = Sum12 + ((dayhigh[counter12]+daylow[counter12]+dayclose[counter12])/3) * (Period12 - counter12); CSum12 = CSum12 + (Period12 - counter12); } WMA12 = Sum12/CSum12; SumSqrt12 = 0; For Counter12 = 0 To Period12-1 { SumSqrt12 = SumSqrt12 + (((dayhigh[counter12]+daylow[counter12]+dayclose[counter12])/3) - WMA12) * (((dayhigh[counter12]+daylow[counter12]+dayclose[counter12])/3) - WMA12); } Std12 = SquareRoot(SumSqrt12 / Period12); Sum13 = 0; CSum13 = 0; For counter13 = 0 To Period13-1 { Sum13 = Sum13 + ((dayhigh[counter13]+daylow[counter13]+dayclose[counter13])/3) * (Period13 - counter13); CSum13 = CSum13 + (Period13 - counter13); } WMA13 = Sum13/ CSum13; SumSqrt13 = 0; For Counter13 = 0 To Period13-1 { SumSqrt13 = SumSqrt13 + (((dayhigh[counter13]+daylow[counter13]+dayclose[counter13])/3) - WMA13) * (((dayhigh[counter13]+daylow[counter13]+dayclose[counter13])/3) - WMA13); } Std13 = SquareRoot(SumSqrt13 / Period13); var11 = Wma1+(P1*Std1); ## 일봉 b,b 20 var12 = Wma2+(P1*Std2); ## 일봉 b,b 60 var13 = Wma3+(P1*Std3); ## 일봉 b,b 120 var14 = (DayHigh+DayLow)/2; ## 일봉중간값
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2011-09-28 16:22:57

안녕하세요 예스스탁입니다. input : p1(2),LENGTH1(20),LENGTH2(60), ## 주봉 LENGTH11(20),LENGTH12(60),LENGTH13(120), ## 일봉 Period1(20),Period2(60), ## 주봉 Period11(20),Period12(60),Period13(120); ## 일봉 var : TCHAN1(0),TCHAN2(0),cnt(0), ## 주봉 TCHAN11(0),TCHAN12(0),TCHAN13(0); ## 일봉 Var : Sum1(0), Counter1(0), CSum1(0),Wma1(0),SumSqrt1(0),Std1(0); ## 주봉 Var : Sum2(0), Counter2(0), CSum2(0),Wma2(0),SumSqrt2(0),Std2(0),wma3(0),std3(0); Array : HH[70](0),CC[70](0),LL[70](0); if DayOfWeek(sdate) <= DayOfWeek(sdate[1]) and sdate > sdate[1] Then{ HH[0] = H; LL[0] = L; for cnt = 1 to 61{ HH[cnt] = HH[cnt-1][1]; CC[cnt] = CC[cnt-1][1]; LL[cnt] = LL[cnt-1][1]; } } if H > HH[0] Then HH[0] = H; if L < LL[0] Then LL[0] = L; CC[0] = C; TCHAN1 = HH[1]; ## 주봉 pc[1] for cnt = 1 to LENGTH1 { if HH[cnt] > TCHAN1 Then TCHAN1 = HH[cnt]; } TCHAN2 = HH[1]; ## 주봉 pc[1] for cnt = 1 to LENGTH2 { if HH[cnt] > TCHAN2 Then TCHAN2 = HH[cnt]; } Sum1 = 0; CSum1 = 0; For counter1 = 0 To Period1-1{ Sum1= Sum1 + ((HH[counter1]+LL[counter1]+CC[counter1])/3) * (Period1 - counter1); CSum1 = CSum1 + (Period1 - counter1); } WMA1 = Sum1/ CSum1; SumSqrt1 = 0; For Counter1 = 0 To Period1-1 { SumSqrt1 = SumSqrt1 + (((HH[counter1]+LL[counter1]+CC[counter1])/3) - WMA1) * (((HH[counter1]+LL[counter1]+CC[counter1])/3) - WMA1); } Std1 = SquareRoot(SumSqrt1 / Period1); Sum2 = 0; CSum2 = 0; For counter2 = 0 To Period2-1{ Sum2 = Sum2 + ((HH[counter2]+LL[counter2]+CC[counter2])/3) * (Period2 - counter2); CSum2 = CSum2 + (Period2 - counter2); } WMA2 = Sum2/CSum2; SumSqrt2 = 0; For Counter2 = 0 To Period2-1 { SumSqrt2 = SumSqrt2 + (((HH[counter2]+LL[counter2]+CC[counter2])/3) - WMA2) * (((HH[counter2]+LL[counter2]+CC[counter2])/3) - WMA2); } Std2 = SquareRoot(SumSqrt2 / Period2); var1 = wma1+(p1*STD1); ## 주봉 b.b var2 = wma2+(p1*STD2); ## 주봉 b.b var3 = (HH[0]+LL[0])/2; ## 주봉 중간값 ## 일봉 Var : Sum11(0), Counter11(0), CSum11(0),Wma11(0),SumSqrt11(0),Std11(0); Var : Sum12(0), Counter12(0), CSum12(0),Wma12(0),SumSqrt12(0),Std12(0); Var : Sum13(0), Counter13(0), CSum13(0),Wma13(0),SumSqrt13(0),Std13(0); TCHAN11 = dayhigh(1); for cnt = 1 to LENGTH11 { if dayhigh(cnt) > TCHAN11 Then TCHAN11 = dayhigh(cnt); } TCHAN12 = dayhigh(1); for cnt = 1 to LENGTH12 { if dayhigh(cnt) > TCHAN12 Then TCHAN12 = dayhigh(cnt); } TCHAN13 = dayhigh(1); for cnt = 1 to LENGTH13 { if dayhigh(cnt) > TCHAN13 Then TCHAN13 = dayhigh(cnt); } Sum11 = 0; CSum11 = 0; For counter11 = 0 To Period11-1{ Sum11= Sum11 + ((dayhigh(counter11)+daylow(counter11)+dayclose(counter11))/3) * (Period11 - counter11); CSum11 = CSum11 + (Period11 - counter11); } WMA11 = Sum11/ CSum11; SumSqrt1 = 0; For Counter11 = 0 To Period11-1 { SumSqrt11 = SumSqrt11 + (((dayhigh(counter11)+daylow(counter11)+dayclose(counter11))/3) - WMA11) * (((dayhigh(counter11)+daylow(counter11)+dayclose(counter11))/3) - WMA11); } Std11 = SquareRoot(SumSqrt11 / Period11); Sum12 = 0; CSum12 = 0; For counter12 = 0 To Period12-1{ Sum12 = Sum12 + ((dayhigh[counter12]+daylow[counter12]+dayclose[counter12])/3) * (Period12 - counter12); CSum12 = CSum12 + (Period12 - counter12); } WMA12 = Sum12/CSum12; SumSqrt12 = 0; For Counter12 = 0 To Period12-1 { SumSqrt12 = SumSqrt12 + (((dayhigh[counter12]+daylow[counter12]+dayclose[counter12])/3) - WMA12) * (((dayhigh[counter12]+daylow[counter12]+dayclose[counter12])/3) - WMA12); } Std12 = SquareRoot(SumSqrt12 / Period12); Sum13 = 0; CSum13 = 0; For counter13 = 0 To Period13-1 { Sum13 = Sum13 + ((dayhigh[counter13]+daylow[counter13]+dayclose[counter13])/3) * (Period13 - counter13); CSum13 = CSum13 + (Period13 - counter13); } WMA13 = Sum13/ CSum13; SumSqrt13 = 0; For Counter13 = 0 To Period13-1 { SumSqrt13 = SumSqrt13 + (((dayhigh[counter13]+daylow[counter13]+dayclose[counter13])/3) - WMA13) * (((dayhigh[counter13]+daylow[counter13]+dayclose[counter13])/3) - WMA13); } Std13 = SquareRoot(SumSqrt13 / Period13); var11 = Wma1+(P1*Std1); ## 일봉 b,b 20 var12 = Wma2+(P1*Std2); ## 일봉 b,b 60 var13 = Wma3+(P1*Std3); ## 일봉 b,b 120 var14 = (DayHigh+DayLow)/2; ## 일봉중간값 즐거운 하루되세요 > 맥스 님이 쓴 글입니다. > 제목 : 문의드립니다 > 아래수식은 분봉에서 주봉 및 일봉을 불러온 내용입니다 수식에 문제가 있는지 검증이 안됩니다. 수정 부탁합니다. input : p1(2),LENGTH1(20),LENGTH2(60), ## 주봉 LENGTH11(20),LENGTH12(60),LENGTH13(120), ## 일봉 Period1(20),Period2(60), ## 주봉 Period11(20),Period12(60),Period13(120); ## 일봉 var : TCHAN1(0),TCHAN2(0),cnt(0), ## 주봉 TCHAN11(0),TCHAN12(0),TCHAN13(0); ## 일봉 Var : Sum1(0), Counter1(0), CSum1(0),Wma1(0),SumSqrt1(0),Std1(0); ## 주봉 Var : Sum2(0), Counter2(0), CSum2(0),Wma2(0),SumSqrt2(0),Std2(0); Array : HH[70](0),CC[70](0),LL[70](0); if DayOfWeek(sdate) <= DayOfWeek(sdate[1]) and sdate > sdate[1] Then{ HH[0] = H; LL[0] = L; for cnt = 1 to 61{ HH[cnt] = HH[cnt-1][1]; CC[cnt] = CC[cnt-1][1]; LL[cnt] = LL[cnt-1][1]; } } if H > HH[0] Then HH[0] = H; if L < LL[0] Then LL[0] = L; CC[0] = C; TCHAN1 = HH[1]; ## 주봉 pc[1] for cnt = 1 to LENGTH1 { if HH[cnt] > TCHAN1 Then TCHAN1 = HH[cnt]; } TCHAN2 = HH[1]; ## 주봉 pc[1] for cnt = 1 to LENGTH2 { if HH[cnt] > TCHAN2 Then TCHAN2 = HH[cnt]; } Sum1 = 0; CSum1 = 0; For counter1 = 0 To Period1-1{ Sum1= Sum1 + ((HH[counter1]+LL[counter1]+CC[counter1])/3) * (Period1 - counter1); CSum1 = CSum1 + (Period1 - counter1); } WMA1 = Sum1/ CSum1; SumSqrt1 = 0; For Counter1 = 0 To Period1-1 { SumSqrt1 = SumSqrt1 + (((HH[counter1]+LL[counter1]+CC[counter1])/3) - WMA1) * (((HH[counter1]+LL[counter1]+CC[counter1])/3) - WMA1); } Std1 = SquareRoot(SumSqrt1 / Period1); Sum2 = 0; CSum2 = 0; For counter2 = 0 To Period2-1{ Sum2 = Sum2 + ((HH[counter2]+LL[counter2]+CC[counter2])/3) * (Period2 - counter2); CSum2 = CSum2 + (Period2 - counter2); } WMA2 = Sum2/CSum2; SumSqrt2 = 0; For Counter2 = 0 To Period2-1 { SumSqrt2 = SumSqrt2 + (((HH[counter2]+LL[counter2]+CC[counter2])/3) - WMA2) * (((HH[counter2]+LL[counter2]+CC[counter2])/3) - WMA2); } Std2 = SquareRoot(SumSqrt2 / Period2); var1 = wma1+(p1*STD1); ## 주봉 b.b var2 = wma2+(p1*STD2); ## 주봉 b.b var3 = (HH[0]+LL[0])/2; ## 주봉 중간값 ## 일봉 Var : Sum11(0), Counter11(0), CSum11(0),Wma11(0),SumSqrt11(0),Std11(0); Var : Sum12(0), Counter12(0), CSum12(0),Wma12(0),SumSqrt12(0),Std12(0); Var : Sum13(0), Counter13(0), CSum13(0),Wma13(0),SumSqrt13(0),Std13(0); TCHAN11 = dayhigh(1); for cnt = 1 to LENGTH11 { if dayhigh(cnt) > TCHAN11 Then TCHAN11 = dayhigh(cnt); } TCHAN12 = dayhigh(1); for cnt = 1 to LENGTH12 { if dayhigh(cnt) > TCHAN12 Then TCHAN12 = dayhigh(cnt); } TCHAN13 = dayhigh(1); for cnt = 1 to LENGTH13 { if dayhigh(cnt) > TCHAN13 Then TCHAN13 = dayhigh(cnt); } Sum11 = 0; CSum11 = 0; For counter11 = 0 To Period11-1{ Sum11= Sum11 + ((dayhigh(counter11)+daylow(counter11)+dayclose(counter11))/3) * (Period11 - counter11); CSum11 = CSum11 + (Period11 - counter11); } WMA11 = Sum11/ CSum11; SumSqrt1 = 0; For Counter11 = 0 To Period11-1 { SumSqrt11 = SumSqrt11 + (((dayhigh(counter11)+daylow(counter11)+dayclose(counter11))/3) - WMA11) * (((dayhigh(counter11)+daylow(counter11)+dayclose(counter11))/3) - WMA11); } Std11 = SquareRoot(SumSqrt11 / Period11); Sum12 = 0; CSum12 = 0; For counter12 = 0 To Period12-1{ Sum12 = Sum12 + ((dayhigh[counter12]+daylow[counter12]+dayclose[counter12])/3) * (Period12 - counter12); CSum12 = CSum12 + (Period12 - counter12); } WMA12 = Sum12/CSum12; SumSqrt12 = 0; For Counter12 = 0 To Period12-1 { SumSqrt12 = SumSqrt12 + (((dayhigh[counter12]+daylow[counter12]+dayclose[counter12])/3) - WMA12) * (((dayhigh[counter12]+daylow[counter12]+dayclose[counter12])/3) - WMA12); } Std12 = SquareRoot(SumSqrt12 / Period12); Sum13 = 0; CSum13 = 0; For counter13 = 0 To Period13-1 { Sum13 = Sum13 + ((dayhigh[counter13]+daylow[counter13]+dayclose[counter13])/3) * (Period13 - counter13); CSum13 = CSum13 + (Period13 - counter13); } WMA13 = Sum13/ CSum13; SumSqrt13 = 0; For Counter13 = 0 To Period13-1 { SumSqrt13 = SumSqrt13 + (((dayhigh[counter13]+daylow[counter13]+dayclose[counter13])/3) - WMA13) * (((dayhigh[counter13]+daylow[counter13]+dayclose[counter13])/3) - WMA13); } Std13 = SquareRoot(SumSqrt13 / Period13); var11 = Wma1+(P1*Std1); ## 일봉 b,b 20 var12 = Wma2+(P1*Std2); ## 일봉 b,b 60 var13 = Wma3+(P1*Std3); ## 일봉 b,b 120 var14 = (DayHigh+DayLow)/2; ## 일봉중간값