커뮤니티

수식변환부탁합니다.

프로필 이미지
바닥차기
2019-04-18 08:17:01
263
글번호 127929
답변완료
안녕하세요. 1.해선용 타주기 분봉볼린져 입니다. 그런데 항셍용으로 쓰면 맞지가 않네요. 항셍 시간봉이 15분완성봉이어서 그런거 같은데 항셍에 맞게 타주기 분봉볼린져 수정바랍니다.60분 볼린져를 3분에 사용합니다 2.타주기 일봉인데 이것도 항셍에 맞게 수정부탁합니다. 3.타주기 분봉 60분봉 5,20이평을 3분에 사용하는 수식도(항셍에 맞게) 부탁합니다. 4.각60분봉의 시고저종을 3분에 나타내는 수식인데 이것도 항셍에 맞게 부탁합니다. 너무 많은것 같아 죄송합니다. 1.input : Ntime(60),P(20),Dv(2); var : cnt(0),count(0),sum(0),MiBBup(0),MiBBdn(0),Avgv(0),SumSqrt(0),Counter(0),Stdv(0); Array : CC[120](0); var1 = TimeToMinutes(stime)%Ntime; if dayindex() == 0 or (var1 < var1[1] and stime > stime[1]) Then{ for cnt = 1 to P-1{ CC[cnt] = CC[cnt-1][1]; } } CC[0] = C; If CC[P-1] > 0 Then{ sum = 0; for count = 0 to P-1{ sum = sum+CC[count]; } Avgv = sum/P; SumSqrt = 0; For Counter = 0 To P - 1 { SumSqrt = SumSqrt + (CC[Counter] - Avgv) * (CC[Counter] - Avgv); } Stdv = SquareRoot(SumSqrt / P); MiBBup = Avgv + (Dv * Stdv); MiBBdn = Avgv - (Dv * Stdv); plot1(MiBBup); plot2(Avgv); plot3(MiBBdn); } 2.input:p1(5), p2(20); var:j(0), cnt(0), sum1(0), sum2(0), ma1(0), ma2(0); sum1 = 0; sum2 = 0; for j = 0 to p2-1 { if j <= p1 - 1 then { sum1 = sum1 + dayclose(j); } if j <= p2 - 1 then { sum2 = sum2 + dayclose(j); } } ma1 = sum1 / p1; ma2 = sum2 / p2; plot1(ma1); plot2(ma2); 4.input : Mn(60),N(0); var : TF(0),cnt(0); Array : Ov[20](0),Hv[20](0),Lv[20](0),Cv[20](0); TF = TimeToMinutes(stime)%Mn; if dayindex == 0 or (stime > stime[1] and TF < TF[1]) Then{ Ov[0] = O; Hv[0] = H; Lv[0] = L; for cnt = 1 to 19{ Ov[cnt] = Ov[cnt-1][1]; Hv[cnt] = Hv[cnt-1][1]; Lv[cnt] = Lv[cnt-1][1]; Cv[cnt] = Cv[cnt-1][1]; } } if H > Hv[0] Then Hv[0] = H; if L < Lv[0] Then Lv[0] = L; Cv[0] = C; plot1(Ov[N],"N분봉시가"); plot2(Hv[N],"N분봉고가"); plot3(Lv[N],"N분봉저가"); plot4(Cv[N],"N분봉종가");
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2019-04-18 11:37:12

안녕하세요 예스스탁입니다. 1 input : Ntime(60),P(20),Dv(2); var : S1(0),D1(0),TM(0),TF(0); var : cnt(0),SumSqrt(0),Stdv(0); var : sum(0),BBmd(0),Bbup(0),BBdn(0); Array : CC[100](0); if (sdate != sdate[1] and stime >= 101500) or (sdate == sdate[1] and stime >= 101500 and stime[1] < 101500) Then { S1 = TimeToMinutes(101500); D1 = sdate; idx = 0; } if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF = TM%Ntime; if (D1 != D1[1]) or (D1 == D1[1] and (TF < TF[1] or TM >= TM[1]+ntime)) Then { for cnt = 0 to 99 { CC[cnt] = CC[cnt-1][1]; } } CC[0] = C; if CC[P] > 0 then { sum = 0; for cnt = 0 to P-1 { sum = sum + CC[cnt]; } BBmd = sum/P; SumSqrt = 0; For cnt = 0 To P - 1 { SumSqrt = SumSqrt + (CC[cnt] - BBmd)^2; } Stdv = SquareRoot(SumSqrt / P); BBup = BBmd + (Dv * Stdv); BBdn = BBmd - (Dv * Stdv); plot1(BBmd); plot2(BBup); plot3(BBdn); } } 2 input : P1(5),P2(20); var : S1(0),D1(0),TM(0),TF(0),cnt(0); var : sum1(0),mav1(0),sum2(0),mav2(0); Array : DC[100](0); if (sdate != sdate[1] and stime >= 101500) or (sdate == sdate[1] and stime >= 101500 and stime[1] < 101500) Then { for cnt = 1 to 99 { DC[cnt] = DC[cnt-1][1]; } } DC[0] = C; if DC[P2] > 0 then { sum1 = 0; sum2 = 0; for cnt = 0 to P2 { if cnt < P1 Then sum1 = sum1 + DC[cnt]; if cnt < P2 Then sum2 = sum2 + DC[cnt]; } mav1 = sum1/p1; mav2 = sum2/p2; plot1(DC[1]); plot2(mav2); } 3 input : Ntime(30),P1(5),P2(20); var : S1(0),D1(0),TM(0),TF(0),cnt(0); var : sum1(0),mav1(0),sum2(0),mav2(0); Array : CC[100](0); if (sdate != sdate[1] and stime >= 101500) or (sdate == sdate[1] and stime >= 101500 and stime[1] < 101500) Then { S1 = TimeToMinutes(101500); D1 = sdate; } if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF = TM%Ntime; if (D1 != D1[1]) or (D1 == D1[1] and (TF < TF[1] or TM >= TM[1]+ntime)) Then { for cnt = 1 to 99 { CC[cnt] = CC[cnt-1][1]; } } CC[0] = C; if CC[P2] > 0 then { sum1 = 0; sum2 = 0; for cnt = 0 to P2 { if cnt < P1 Then sum1 = sum1 + CC[cnt]; if cnt < P2 Then sum2 = sum2 + CC[cnt]; } mav1 = sum1/p1; mav2 = sum2/p2; plot1(mav1); plot2(mav2); } } 4 input : Ntime(60),n(0); var : S1(0),D1(0),TM(0),TF(0),cnt(0); Array : Ov[20](0),Hv[20](0),Lv[20](0),Cv[20](0); if (sdate != sdate[1] and stime >= 101500) or (sdate == sdate[1] and stime >= 101500 and stime[1] < 101500) Then { S1 = TimeToMinutes(101500); D1 = sdate; } if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF = TM%Ntime; if (D1 != D1[1]) or (D1 == D1[1] and (TF < TF[1] or TM >= TM[1]+ntime)) Then { Ov[0] = O; Hv[0] = H; Lv[0] = L; for cnt = 1 to 19{ Ov[cnt] = Ov[cnt-1][1]; Hv[cnt] = Hv[cnt-1][1]; Lv[cnt] = Lv[cnt-1][1]; Cv[cnt] = Cv[cnt-1][1]; } } Cv[0] = C; if H > Hv[0] Then Hv[0] = H; if L < Lv[0] Then Lv[0] = L; Cv[0] = C; plot1(Ov[N],"N분봉시가"); plot2(Hv[N],"N분봉고가"); plot3(Lv[N],"N분봉저가"); plot4(Cv[N],"N분봉종가"); } 즐거운 하루되세요 > 바닥차기 님이 쓴 글입니다. > 제목 : 수식변환부탁합니다. > 안녕하세요. 1.해선용 타주기 분봉볼린져 입니다. 그런데 항셍용으로 쓰면 맞지가 않네요. 항셍 시간봉이 15분완성봉이어서 그런거 같은데 항셍에 맞게 타주기 분봉볼린져 수정바랍니다.60분 볼린져를 3분에 사용합니다 2.타주기 일봉인데 이것도 항셍에 맞게 수정부탁합니다. 3.타주기 분봉 60분봉 5,20이평을 3분에 사용하는 수식도(항셍에 맞게) 부탁합니다. 4.각60분봉의 시고저종을 3분에 나타내는 수식인데 이것도 항셍에 맞게 부탁합니다. 너무 많은것 같아 죄송합니다. 1.input : Ntime(60),P(20),Dv(2); var : cnt(0),count(0),sum(0),MiBBup(0),MiBBdn(0),Avgv(0),SumSqrt(0),Counter(0),Stdv(0); Array : CC[120](0); var1 = TimeToMinutes(stime)%Ntime; if dayindex() == 0 or (var1 < var1[1] and stime > stime[1]) Then{ for cnt = 1 to P-1{ CC[cnt] = CC[cnt-1][1]; } } CC[0] = C; If CC[P-1] > 0 Then{ sum = 0; for count = 0 to P-1{ sum = sum+CC[count]; } Avgv = sum/P; SumSqrt = 0; For Counter = 0 To P - 1 { SumSqrt = SumSqrt + (CC[Counter] - Avgv) * (CC[Counter] - Avgv); } Stdv = SquareRoot(SumSqrt / P); MiBBup = Avgv + (Dv * Stdv); MiBBdn = Avgv - (Dv * Stdv); plot1(MiBBup); plot2(Avgv); plot3(MiBBdn); } 2.input:p1(5), p2(20); var:j(0), cnt(0), sum1(0), sum2(0), ma1(0), ma2(0); sum1 = 0; sum2 = 0; for j = 0 to p2-1 { if j <= p1 - 1 then { sum1 = sum1 + dayclose(j); } if j <= p2 - 1 then { sum2 = sum2 + dayclose(j); } } ma1 = sum1 / p1; ma2 = sum2 / p2; plot1(ma1); plot2(ma2); 4.input : Mn(60),N(0); var : TF(0),cnt(0); Array : Ov[20](0),Hv[20](0),Lv[20](0),Cv[20](0); TF = TimeToMinutes(stime)%Mn; if dayindex == 0 or (stime > stime[1] and TF < TF[1]) Then{ Ov[0] = O; Hv[0] = H; Lv[0] = L; for cnt = 1 to 19{ Ov[cnt] = Ov[cnt-1][1]; Hv[cnt] = Hv[cnt-1][1]; Lv[cnt] = Lv[cnt-1][1]; Cv[cnt] = Cv[cnt-1][1]; } } if H > Hv[0] Then Hv[0] = H; if L < Lv[0] Then Lv[0] = L; Cv[0] = C; plot1(Ov[N],"N분봉시가"); plot2(Hv[N],"N분봉고가"); plot3(Lv[N],"N분봉저가"); plot4(Cv[N],"N분봉종가");