커뮤니티

문의드립니다

프로필 이미지
뉴스타트
2015-05-19 07:06:57
152
글번호 86175
답변완료
안녕하세요 예스글로벌에 적용입니다. 1. 1분차트에 3분의 HMA 와 5분의 HMA 나타내는식 2. 5분차트에 15분의 HMA 나타내는식 부탁드립니다. Input : Period(30); var : HMA(0); HMA = WMA(2*WMA(C, Period/2)-WMA(C,Period), Sqrt(Period));
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2015-05-19 13:52:23

안녕하세요 예스스탁입니다. 1. input : ntime1(3),ntime2(5), Period(5); var : TF1(0),TF2(0),cnt(0); Var : Sum11(0), CSum11(0),Sum12(0), CSum12(0),Sum13(0), CSum13(0); var : wma11(0),wma12(0),wma13(0); Var : Sum21(0), CSum21(0),Sum22(0), CSum22(0),Sum23(0), CSum23(0); var : wma21(0),wma22(0),wma23(0); Array : C1[100](0),C2[100](0),w1[100](0),w2[100](0); TF1 = TimeToMinutes(stime)%ntime1; TF2 = TimeToMinutes(stime)%ntime2; if Bdate != Bdate[1] or (TF1 < TF1[1]) Then{ for cnt = 1 to 99{ C1[cnt] = C1[cnt-1][1]; W1[cnt] = W1[cnt-1][1]; } } C1[0] = C; if Bdate != Bdate[1] or (TF2 < TF2[1]) Then{ for cnt = 1 to 99{ C2[cnt] = C2[cnt-1][1]; W2[cnt] = W2[cnt-1][1]; } } C2[0] = C; if C1[Period-1] > 0 Then{ Sum11 = 0; CSum11 = 0; For cnt = 0 To Period/2 - 1 Begin Sum11 = Sum11 + C1[cnt] * (Period/2 - cnt); CSum11 = CSum11+ Period/2 - cnt; End; WMA11 = Sum11 / CSum11; Sum12 = 0; CSum12 = 0; For cnt = 0 To Period - 1 Begin Sum12 = Sum12 + C1[cnt] * (Period - cnt); CSum12 = CSum12+ Period - cnt; End; WMA12 = Sum12 / CSum12; W1[0] = wma11*2-wma12; } if W1[int(Sqrt(Period))+1] > 0 Then{ Sum13 = 0; CSum13 = 0; For cnt = 0 To Sqrt(Period) - 1 Begin Sum13 = Sum13 + W1[cnt] * (Sqrt(Period) - cnt); CSum13 = CSum13+ Sqrt(Period) - cnt; End; WMA13 = Sum13 / CSum13; plot1(Wma13); } if C2[Period-1] > 0 Then{ Sum21 = 0; CSum21 = 0; For cnt = 0 To Period/2 - 1 Begin Sum21 = Sum21 + C2[cnt] * (Period/2 - cnt); CSum21 = CSum21+ Period/2 - cnt; End; WMA21 = Sum21 / CSum21; Sum22 = 0; CSum22 = 0; For cnt = 0 To Period - 1 Begin Sum22 = Sum22 + C2[cnt] * (Period - cnt); CSum22 = CSum22+ Period - cnt; End; WMA22 = Sum22 / CSum22; W2[0] = wma21*2-wma22; } if W2[int(Sqrt(Period))+1] > 0 Then{ Sum23 = 0; CSum23 = 0; For cnt = 0 To Sqrt(Period) - 1 Begin Sum23 = Sum23 + W2[cnt] * (Sqrt(Period) - cnt); CSum23 = CSum23+ Sqrt(Period) - cnt; End; WMA23 = Sum23 / CSum23; plot2(Wma23); } 2. input : ntime(15) Period(5); var : TF1(0),TF2(0),cnt(0); Var : Sum11(0), CSum11(0),Sum12(0), CSum12(0),Sum13(0), CSum13(0); var : wma11(0),wma12(0),wma13(0); Var : Sum21(0), CSum21(0),Sum22(0), CSum22(0),Sum23(0), CSum23(0); var : wma21(0),wma22(0),wma23(0); Array : C1[100](0),w1[100](0); TF1 = TimeToMinutes(stime)%ntime; if Bdate != Bdate[1] or (TF1 < TF1[1]) Then{ for cnt = 1 to 99{ C1[cnt] = C1[cnt-1][1]; W1[cnt] = W1[cnt-1][1]; } } C1[0] = C; if C1[Period-1] > 0 Then{ Sum11 = 0; CSum11 = 0; For cnt = 0 To Period/2 - 1 Begin Sum11 = Sum11 + C1[cnt] * (Period/2 - cnt); CSum11 = CSum11+ Period/2 - cnt; End; WMA11 = Sum11 / CSum11; Sum12 = 0; CSum12 = 0; For cnt = 0 To Period - 1 Begin Sum12 = Sum12 + C1[cnt] * (Period - cnt); CSum12 = CSum12+ Period - cnt; End; WMA12 = Sum12 / CSum12; W1[0] = wma11*2-wma12; } if W1[int(Sqrt(Period))+1] > 0 Then{ Sum13 = 0; CSum13 = 0; For cnt = 0 To Sqrt(Period) - 1 Begin Sum13 = Sum13 + W1[cnt] * (Sqrt(Period) - cnt); CSum13 = CSum13+ Sqrt(Period) - cnt; End; WMA13 = Sum13 / CSum13; plot1(Wma13); } 즐거운 하루되세요 > 뉴스타트 님이 쓴 글입니다. > 제목 : 문의드립니다 > 안녕하세요 예스글로벌에 적용입니다. 1. 1분차트에 3분의 HMA 와 5분의 HMA 나타내는식 2. 5분차트에 15분의 HMA 나타내는식 부탁드립니다. Input : Period(30); var : HMA(0); HMA = WMA(2*WMA(C, Period/2)-WMA(C,Period), Sqrt(Period));