커뮤니티

문의드립니다

프로필 이미지
뉴스타트
2015-05-11 07:39:17
175
글번호 85871
답변완료
안녕하세요 Wma(가중이평)를 적용한 keltner channel을 1. 1분차트에 5분봉과 15분봉의 keltner channel을 표시하는식 2. 60분차트에 240분봉의 keltner channel을 표시하는식 부탁드립니다.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2015-05-11 13:25:39

안녕하세요 예스스탁입니다. 1. Input : Ntime1(5),ntime2(15),P(10),atrs(0.8); Var : cnt(0),TF1(0),TF2(0); var : Sum1(0),CSum1(0),wma1(0),Tsum1(0),TH1(0),TL1(0),ATRV1(0),upper1(0),lower1(0); var : Sum2(0),CSum2(0),wma2(0),Tsum2(0),TH2(0),TL2(0),ATRV2(0),upper2(0),lower2(0); Array : C1[100](0),H1[100](0),L1[100](0),TR1[100](0); Array : C2[100](0),H2[100](0),L2[100](0),TR2[100](0); TF1 = TimeToMinutes(stime)%Ntime1; if dayindex == 0 or (TF1 < TF1[1] and stime > stime[1]) or stime == 151500 Then{ H1[0] = H; L1[0] = L; for cnt = 1 to 99{ C1[cnt] = C1[cnt-1][1]; H1[cnt] = H1[cnt-1][1]; L1[cnt] = L1[cnt-1][1]; TR1[cnt] = TR1[cnt-1][1]; } } C1[0] = C; if H > H1[0] Then H1[0] = H; if L < L1[0] Then L1[0] = L; if C1[1] > 0 Then{ If C1[1] > H1[0] then TH1 = C1[1]; else TH1 = H1[0]; If C1[1] < L1[0] then TL1 = C1[1]; else TL1 = L1[0]; TR1[0] = TH1-TL1; } if TR1[P] > 0 Then{ Sum1 = 0; CSum1 = 0; Tsum1 = 0; For cnt = 0 To P - 1 { Sum1 = Sum1 + C1[cnt] * (P - cnt); CSum1 = CSum1 + P - cnt; Tsum1 = Tsum1+ TR1[cnt]; } wma1 = Sum1 / CSum1; ATRV1 = Tsum1/P; upper1 = wma1+ATRV1*atrs; lower1 = wma1-ATRV1*atrs; } TF2 = TimeToMinutes(stime)%ntime2; if dayindex == 0 or (TF2 < TF2[1] and stime > stime[1]) Then{ H2[0] = H; L2[0] = L; for cnt = 1 to 99{ C2[cnt] = C2[cnt-1][1]; H2[cnt] = H2[cnt-1][1]; L2[cnt] = L2[cnt-1][1]; TR2[cnt] = TR2[cnt-1][1]; } } C2[0] = C; if H > H2[0] Then H2[0] = H; if L < L2[0] Then L2[0] = L; if C2[1] > 0 Then{ If C2[1] > H2[0] then TH2 = C2[1]; else TH2 = H2[0]; If C2[1] < L2[0] then TL2 = C2[1]; else TL2 = L2[0]; TR2[0] = TH2-TL2; } if TR2[P] > 0 Then{ Sum2 = 0; CSum2 = 0; Tsum2 = 0; For cnt = 0 To P - 1 { Sum2 = Sum2 + C2[cnt] * (P - cnt); CSum2 = CSum2 + P - cnt; Tsum2 = Tsum2+ TR2[cnt]; } wma2 = Sum2 / CSum2; ATRV2 = Tsum2/P; upper2 = wma2+ATRV2*atrs; lower2 = wma2-ATRV2*atrs; } plot1(upper1); plot2(wma1); plot3(lower1); plot4(upper2); plot5(wma2); plot6(lower2); 2. Input : Ntime1(240),P(10),atrs(0.8); Var : cnt(0),TF1(0),TT(0); var : Sum1(0),CSum1(0),wma1(0),Tsum1(0),TH1(0),TL1(0),ATRV1(0),upper1(0),lower1(0); Array : C1[100](0),H1[100](0),L1[100](0),TR1[100](0); if date != date[1] Then TT = TimeToMinutes(stime); TF1 = (TimeToMinutes(stime)-TT)%Ntime1; if dayindex == 0 or (TF1 < TF1[1] and stime > stime[1]) Then{ H1[0] = H; L1[0] = L; for cnt = 1 to 99{ C1[cnt] = C1[cnt-1][1]; H1[cnt] = H1[cnt-1][1]; L1[cnt] = L1[cnt-1][1]; TR1[cnt] = TR1[cnt-1][1]; } } C1[0] = C; if H > H1[0] Then H1[0] = H; if L < L1[0] Then L1[0] = L; if C1[1] > 0 Then{ If C1[1] > H1[0] then TH1 = C1[1]; else TH1 = H1[0]; If C1[1] < L1[0] then TL1 = C1[1]; else TL1 = L1[0]; TR1[0] = TH1-TL1; } if TR1[P] > 0 Then{ Sum1 = 0; CSum1 = 0; Tsum1 = 0; For cnt = 0 To P - 1 { Sum1 = Sum1 + C1[cnt] * (P - cnt); CSum1 = CSum1 + P - cnt; Tsum1 = Tsum1+ TR1[cnt]; } wma1 = Sum1 / CSum1; ATRV1 = Tsum1/P; upper1 = wma1+ATRV1*atrs; lower1 = wma1-ATRV1*atrs; } plot1(upper1); plot2(wma1); plot3(lower1); 즐거운 하루되세요 > 뉴스타트 님이 쓴 글입니다. > 제목 : 문의드립니다 > 안녕하세요 Wma(가중이평)를 적용한 keltner channel을 1. 1분차트에 5분봉과 15분봉의 keltner channel을 표시하는식 2. 60분차트에 240분봉의 keltner channel을 표시하는식 부탁드립니다.