커뮤니티

SMI

프로필 이미지
짱짱해야지
2019-12-10 18:27:02
214
글번호 134273
답변완료
분봉에서 일봉과 주봉의 SMI를 나타내려고 합니다. DATA2를 사용하지 않고 구하고 싶습니다. 항상 감사합니다 Lval = g기간 최저가 Hval = g기간 최고가 SM = 종가-(Lval+Hval)/2; value1 = SM의 R기간 지수이동평균 value2 = (Lval-Hval)의 R기간 지수이동평균 value3 = value1의 S기간 지수이동평균/2 value4 = value2의 S기간 지수이동평균/2; SMI = (value3/value4)*100; SMI(Period1,Period2,Period3) ※ Period1 : 기간1 ※ Period2 : 기간2 ※ Period3 : 기간3
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2019-12-11 13:14:39

안녕하세요 예스스탁입니다. 1. 일봉 Input: Period1(10),Period2(20),Period3(5); var : cnt(0),Hval(0),Lval(0),V1(0),V2(0),SMIv(0); var : EP2(0),EP3(0),DD(0),Pre1(0),Pre2(0),Pre3(0),Pre4(0); var : emav1(0),emav2(0),emav3(0),emav4(0); Hval = DayHigh(0); Lval = DayLow(0); for cnt = 0 to Period1-1 { if DayHigh(cnt) > Hval Then Hval = DayHigh(cnt); if DayLow(cnt) < Lval Then Lval = DayLow(cnt); } V1 = c-(Hval + Lval)/2; V2 = (Hval + Lval); Ep2 = 2/(Period2+1); Ep3 = 2/(Period3+1); if bdate != bdate[1] then { DD = DD + 1; Pre1 = emav1[1]; Pre2 = emav2[1]; Pre3 = emav3[1]; Pre4 = emav4[1]; } if DD <= 1 then{ emav1 = V1; emav2 = emav1; emav3 = V2; emav4 = emav3; } else{ emav1 = V1 * EP2 + Pre1 * (1-EP2); emav2 = emav1 * EP3 + Pre2 * (1-EP3); emav3 = V2 * EP2 + Pre3 * (1-EP2); emav4 = emav3 * EP3 + Pre4 * (1-EP3); } SMIv = emav2 * 100 / (0.5 * emav4); plot1(SMIv,"주봉SMI"); 2. 주봉 Input: Period1(10),Period2(20),Period3(5); var : cnt(0),Hval(0),Lval(0),V1(0),V2(0),SMIv(0); var : EP2(0),EP3(0),DD(0),Pre1(0),Pre2(0),Pre3(0),Pre4(0); var : emav1(0),emav2(0),emav3(0),emav4(0); Array : WH[100](0),WL[100](0); if DayOfWeek(bdate) < DayOfWeek(bdate[1]) Then { WH[0] = H; WL[0] = L; for cnt = 1 to 99 { WH[cnt] = WH[cnt-1][1]; WL[cnt] = WL[cnt-1][1]; } if WH[Period1+1] > 0 and WL[Period1+1] > 0 then { DD = DD + 1; Pre1 = emav1[1]; Pre2 = emav2[1]; Pre3 = emav3[1]; Pre4 = emav4[1]; } } if H > WH[0] Then WH[0] = H; if L < WL[0] Then WL[0] = L; if WH[Period1+1] > 0 and WL[Period1+1] > 0 then { Hval = WH[0]; Lval = WL[0]; for cnt = 0 to Period1-1 { if WH[cnt] > Hval Then Hval = WH[cnt]; if WL[cnt] < Lval Then Lval = WL[cnt]; } V1 = c-(Hval + Lval)/2; V2 = (Hval + Lval); Ep2 = 2/(Period2+1); Ep3 = 2/(Period3+1); if DD <= 1 then{ emav1 = V1; emav2 = emav1; emav3 = V2; emav4 = emav3; } else{ emav1 = V1 * EP2 + Pre1 * (1-EP2); emav2 = emav1 * EP3 + Pre2 * (1-EP3); emav3 = V2 * EP2 + Pre3 * (1-EP2); emav4 = emav3 * EP3 + Pre4 * (1-EP3); } SMIv = emav2 * 100 / (0.5 * emav4); plot1(SMIv,"일봉SMI"); } 즐거운 하루되세요 > 짱짱해야지 님이 쓴 글입니다. > 제목 : SMI > 분봉에서 일봉과 주봉의 SMI를 나타내려고 합니다. DATA2를 사용하지 않고 구하고 싶습니다. 항상 감사합니다 Lval = g기간 최저가 Hval = g기간 최고가 SM = 종가-(Lval+Hval)/2; value1 = SM의 R기간 지수이동평균 value2 = (Lval-Hval)의 R기간 지수이동평균 value3 = value1의 S기간 지수이동평균/2 value4 = value2의 S기간 지수이동평균/2; SMI = (value3/value4)*100; SMI(Period1,Period2,Period3) ※ Period1 : 기간1 ※ Period2 : 기간2 ※ Period3 : 기간3