커뮤니티

부탁 드립니다.

프로필 이미지
yes
2018-10-15 17:26:50
170
글번호 122701
답변완료
항상 도움주심에 감사 드립니다. 다음의 타주기 틱용 수식을 1)일봉에서의 지표를 분용 차트에 2)주봉에서의 지표를 분용 차트에 3)월봉에서의 지표를 분용 차트에 표시되도록 부탁 드립니다. 주)참고수식을 덧붙입니다. 미리 경배로 감사 드립니다. /* Inputs: 전환선기간(9),sig(5); Variables: 전환선(0); 전환선 = (Highest(High, 전환선기간) + Lowest(Low, 전환선기간)) / 2; var1=c-전환선; var2=ma(var1,sig); plot1(var2); */ input : Nbars(3),전환선기간(9),sig(26); var : TF(0),S1(0),D1(0),TM(0),cnt(0),idx(0); var : H1(0),L1(0),전환선(0),sum(0),mav(0); Array : HH[100](0),LL[100](0),diff[100](999999999); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; idx = 0; } Else idx = idx+1; if D1 > 0 then { TF = idx%Nbars; if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then { HH[0] = H; LL[0] = L; for cnt = 1 to 99 { HH[cnt] = HH[cnt-1][1]; LL[cnt] = LL[cnt-1][1]; diff[cnt] = diff[cnt-1][1]; } } if H > HH[0] Then HH[0] = H; if L < LL[0] Then LL[0] = L; if HH[전환선기간-1] > 0 and LL[전환선기간-1] > 0 then { H1 = HH[0]; L1 = LL[0]; for cnt = 0 to 전환선기간-1 { if HH[cnt] > H1 Then H1 = HH[cnt]; if LL[cnt] < L1 Then L1 = LL[cnt]; } 전환선 = (H1 + L1)/2; diff[0] = C-전환선; } if diff[sig-1] < 999999999 Then { sum = 0; for cnt = 0 to sig-1 { sum = sum + diff[cnt]; } mav = sum/sig; plot1(mav); } } 참고수식) Input : Period(5),sig(20); Var : Ep1(0),Ep2(0); var : didx(0),emad(0),sigd(0),pred(0),preds(0),emads(0); var : widx(0),emaw(0),sigw(0),prew(0),prews(0),emaws(0); var : midx(0),emam(0),sigm(0),prem(0),prems(0),emams(0); Ep1 = 2/(Period+1); Ep2 = 2/(sig+1); if bdate != bdate[1] then { didx = didx + 1; pred = emad[1]; preds = sigd[1]; } if didx <= 1 then { emad = C; sigd = emad; } else { emad = C * EP1 + pred * (1-EP1); sigd = emad * EP2 + preds * (1-EP2); } if DayOfWeek(bdate) < DayOfWeek(bdate[1]) then { widx = widx + 1; prew = emaw[1]; prews = sigw[1]; } if widx <= 1 then { emaw = C; sigw = emaw; } else { emaw = C * EP1 + prew * (1-EP1); sigw = emaw * EP2 + prews * (1-EP2); } if bdate > bdate[1]+30 then { midx = midx + 1; prem = emam[1]; prems = sigm[1]; } if midx <= 1 then { emam = C; sigm = emam; } else { emam = C * EP1 + prem * (1-EP1); sigm = emam * EP2 + prems * (1-EP2); } plot1(sigd,"일봉"); plot2(sigw,"주봉"); plot3(sigm,"월봉");
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2018-10-16 10:54:05

안녕하세요 예스스탁입니다. 1 일봉 Inputs: 전환선기간(9),sig(5); var : cnt(0),hh(0),ll(0),sum(0),ii(0); sum = 0; for ii = 0 to sig-1 { hh = DayHigh(ii); ll = DayLow(ii); for cnt = ii+0 to ii+(전환선기간-1) { if DayHigh(cnt) > hh Then hh = DayHigh(cnt); if DayLow(cnt) < ll Then ll = DayLow(cnt); } var1 = DayClose(ii)-(hh+ll)/2; sum = sum + var1; } var2 = sum/sig; plot1(var2); 2 주 Inputs: 전환선기간(9),sig(5); var : cnt(0),hh(0),ll(0),sum(0),mav(0); Array : wh[50](0),wl[50](0),diff[50](999999999); if DayOfWeek(bdate) < DayOfWeek(bdate[1]) Then { wh[0] = h; wl[0] = l; for cnt = 1 to 49 { wh[cnt] = wh[cnt-1][1]; wl[cnt] = wl[cnt-1][1]; diff[cnt] = diff[cnt-1][1]; } } if h > wh[0] Then wh[0] = h; if l < wl[0] Then wl[0] = l; if wh[전환선기간-1] > 0 and wl[전환선기간-1] > 0 then { hh = wh[0]; ll = wl[0]; for cnt = 0 to 전환선기간-1 { if wh[cnt] > hh Then hh = wh[cnt]; if wl[cnt] < ll Then ll = wl[cnt]; } diff[0] = C-(hh+ll)/2; } if diff[sig-1] != 999999999 then { sum = 0; for cnt = 0 to sig-1 { sum = sum + diff[cnt]; } mav = sum/sig; plot1(mav); } 3 월 Inputs: 전환선기간(9),sig(5); var : cnt(0),hh(0),ll(0),sum(0),mav(0); Array : mh[50](0),ml[50](0),diff[50](999999999); if bdate > bdate[1]+30 Then { mh[0] = h; ml[0] = l; for cnt = 1 to 49 { mh[cnt] = mh[cnt-1][1]; ml[cnt] = ml[cnt-1][1]; diff[cnt] = diff[cnt-1][1]; } } if h > mh[0] Then mh[0] = h; if l < ml[0] Then ml[0] = l; if mh[전환선기간-1] > 0 and ml[전환선기간-1] > 0 then { hh = mh[0]; ll = ml[0]; for cnt = 0 to 전환선기간-1 { if mh[cnt] > hh Then hh = mh[cnt]; if ml[cnt] < ll Then ll = ml[cnt]; } diff[0] = C-(hh+ll)/2; } if diff[sig-1] != 999999999 then { sum = 0; for cnt = 0 to sig-1 { sum = sum + diff[cnt]; } mav = sum/sig; plot1(mav); } 즐거운 하루되세요 > yes 님이 쓴 글입니다. > 제목 : 부탁 드립니다. > 항상 도움주심에 감사 드립니다. 다음의 타주기 틱용 수식을 1)일봉에서의 지표를 분용 차트에 2)주봉에서의 지표를 분용 차트에 3)월봉에서의 지표를 분용 차트에 표시되도록 부탁 드립니다. 주)참고수식을 덧붙입니다. 미리 경배로 감사 드립니다. /* Inputs: 전환선기간(9),sig(5); Variables: 전환선(0); 전환선 = (Highest(High, 전환선기간) + Lowest(Low, 전환선기간)) / 2; var1=c-전환선; var2=ma(var1,sig); plot1(var2); */ input : Nbars(3),전환선기간(9),sig(26); var : TF(0),S1(0),D1(0),TM(0),cnt(0),idx(0); var : H1(0),L1(0),전환선(0),sum(0),mav(0); Array : HH[100](0),LL[100](0),diff[100](999999999); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; idx = 0; } Else idx = idx+1; if D1 > 0 then { TF = idx%Nbars; if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then { HH[0] = H; LL[0] = L; for cnt = 1 to 99 { HH[cnt] = HH[cnt-1][1]; LL[cnt] = LL[cnt-1][1]; diff[cnt] = diff[cnt-1][1]; } } if H > HH[0] Then HH[0] = H; if L < LL[0] Then LL[0] = L; if HH[전환선기간-1] > 0 and LL[전환선기간-1] > 0 then { H1 = HH[0]; L1 = LL[0]; for cnt = 0 to 전환선기간-1 { if HH[cnt] > H1 Then H1 = HH[cnt]; if LL[cnt] < L1 Then L1 = LL[cnt]; } 전환선 = (H1 + L1)/2; diff[0] = C-전환선; } if diff[sig-1] < 999999999 Then { sum = 0; for cnt = 0 to sig-1 { sum = sum + diff[cnt]; } mav = sum/sig; plot1(mav); } } 참고수식) Input : Period(5),sig(20); Var : Ep1(0),Ep2(0); var : didx(0),emad(0),sigd(0),pred(0),preds(0),emads(0); var : widx(0),emaw(0),sigw(0),prew(0),prews(0),emaws(0); var : midx(0),emam(0),sigm(0),prem(0),prems(0),emams(0); Ep1 = 2/(Period+1); Ep2 = 2/(sig+1); if bdate != bdate[1] then { didx = didx + 1; pred = emad[1]; preds = sigd[1]; } if didx <= 1 then { emad = C; sigd = emad; } else { emad = C * EP1 + pred * (1-EP1); sigd = emad * EP2 + preds * (1-EP2); } if DayOfWeek(bdate) < DayOfWeek(bdate[1]) then { widx = widx + 1; prew = emaw[1]; prews = sigw[1]; } if widx <= 1 then { emaw = C; sigw = emaw; } else { emaw = C * EP1 + prew * (1-EP1); sigw = emaw * EP2 + prews * (1-EP2); } if bdate > bdate[1]+30 then { midx = midx + 1; prem = emam[1]; prems = sigm[1]; } if midx <= 1 then { emam = C; sigm = emam; } else { emam = C * EP1 + prem * (1-EP1); sigm = emam * EP2 + prems * (1-EP2); } plot1(sigd,"일봉"); plot2(sigw,"주봉"); plot3(sigm,"월봉");