커뮤니티

안녕하세요

프로필 이미지
byeongup
2019-06-13 15:07:00
311
글번호 129422
답변완료
반갑습니다. 아래식을 종가를 기준으로 부탁드립니다. (지표판독시 좁혀져서 난해한점 해결방법은 없을까요) input : 타주기분1(15),타주기분2(30); var : S1(0),D1(0),TM(0),TF1(0),TF2(0),cnt(0); var : tx1(0),tx2(0),tx3(0),tx4(0); Array : O1[100](0),H1[100](0),L1[100](0); Array : O2[100](0),H2[100](0),L2[100](0); if Bdate != Bdate[1] Then{ S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; //15분 TF1 = TM%타주기분1; if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF1 < TF1[1]) Then { O1[0] = O; H1[0] = H; L1[0] = L; for cnt = 1 to 99 { O1[cnt] = O1[cnt-1][1]; H1[cnt] = H1[cnt-1][1]; L1[cnt] = L1[cnt-1][1]; } } if H > H1[0] Then H1[0] = H; if L < L1[0] Then L1[0] = L; plot1(O1[0],"시가1"); plot2(H1[0],"고가1"); plot3(L1[0],"저가1"); Text_Delete(tx1); Text_Delete(tx2); tx1 = Text_New(sdate,stime,H1[0],NumToStr(H1[0],2)); tx2 = Text_New(sdate,stime,L1[0],NumToStr(L1[0],2)); Text_SetStyle(tx1,0,1); Text_SetStyle(tx2,0,0); //30분 TF2 = TM%타주기분2; if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF2 < TF2[1]) Then { O2[0] = O; H2[0] = H; L2[0] = L; for cnt = 1 to 99 { O2[cnt] = O2[cnt-1][1]; H2[cnt] = H2[cnt-1][1]; L2[cnt] = L2[cnt-1][1]; } } if H > H2[0] Then H2[0] = H; if L < L2[0] Then L2[0] = L; plot4(O2[0],"시가2"); plot5(H2[0],"고가2"); plot6(L2[0],"저가2"); Text_Delete(tx3); Text_Delete(tx4); tx3 = Text_New(sdate,stime,H2[0],NumToStr(H2[0],2)); tx4 = Text_New(sdate,stime,L2[0],NumToStr(L2[0],2)); Text_SetStyle(tx3,0,1); Text_SetStyle(tx4,0,0); } 감사합니다
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2019-06-13 15:44:20

안녕하세요 예스스탁입니다. 차트의 Y축 스케일에 따라 표시가 되는 부분이라 지표간의 차이가 없어 좁혀진 부분은 따로 수식안에서 처리할 방법이 없습니다. 1 종가기준이 어떤 값을 의미하시는지 모르겠습니다. 해당 수식이 지정한 시간간격으로 시고저를 계산하는 내용입니다. 각봉이 종가로 시고저를 계산하게 변경해 드립니다. input : 타주기분1(15),타주기분2(30); var : S1(0),D1(0),TM(0),TF1(0),TF2(0),cnt(0); var : tx1(0),tx2(0),tx3(0),tx4(0); Array : O1[100](0),H1[100](0),L1[100](0); Array : O2[100](0),H2[100](0),L2[100](0); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; //15분 TF1 = TM%타주기분1; if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF1 < TF1[1]) Then { O1[0] = c; H1[0] = c; L1[0] = c; for cnt = 1 to 99 { O1[cnt] = O1[cnt-1][1]; H1[cnt] = H1[cnt-1][1]; L1[cnt] = L1[cnt-1][1]; } } if c > H1[0] Then H1[0] = c; if c < L1[0] Then L1[0] = c; plot1(O1[0],"시가1"); plot2(H1[0],"고가1"); plot3(L1[0],"저가1"); Text_Delete(tx1); Text_Delete(tx2); tx1 = Text_New(sdate,stime,H1[0],NumToStr(H1[0],2)); tx2 = Text_New(sdate,stime,L1[0],NumToStr(L1[0],2)); Text_SetStyle(tx1,0,1); Text_SetStyle(tx2,0,0); //30분 TF2 = TM%타주기분2; if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF2 < TF2[1]) Then { O2[0] = c; H2[0] = c; L2[0] = c; for cnt = 1 to 99 { O2[cnt] = O2[cnt-1][1]; H2[cnt] = H2[cnt-1][1]; L2[cnt] = L2[cnt-1][1]; } } if c > H2[0] Then H2[0] = c; if c < L2[0] Then L2[0] = c; plot4(O2[0],"시가2"); plot5(H2[0],"고가2"); plot6(L2[0],"저가2"); Text_Delete(tx3); Text_Delete(tx4); tx3 = Text_New(sdate,stime,H2[0],NumToStr(H2[0],2)); tx4 = Text_New(sdate,stime,L2[0],NumToStr(L2[0],2)); Text_SetStyle(tx3,0,1); Text_SetStyle(tx4,0,0); } 2 종가기준이 타주기봉의 직전 완성봉기준이면 아래와 같이 변경하시면 됩니다. 타주기봉의 시고저값이 [0]이면 현재봉, [1]이면 한봉전이므로 출력값을 [1]로 변경하시면 됩니다. input : 타주기분1(15),타주기분2(30); var : S1(0),D1(0),TM(0),TF1(0),TF2(0),cnt(0); var : tx1(0),tx2(0),tx3(0),tx4(0); Array : O1[100](0),H1[100](0),L1[100](0); Array : O2[100](0),H2[100](0),L2[100](0); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; //15분 TF1 = TM%타주기분1; if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF1 < TF1[1]) Then { O1[0] = O; H1[0] = H; L1[0] = L; for cnt = 1 to 99 { O1[cnt] = O1[cnt-1][1]; H1[cnt] = H1[cnt-1][1]; L1[cnt] = L1[cnt-1][1]; } } if H > H1[0] Then H1[0] = H; if L < L1[0] Then L1[0] = L; plot1(O1[1],"시가1"); plot2(H1[1],"고가1"); plot3(L1[1],"저가1"); Text_Delete(tx1); Text_Delete(tx2); tx1 = Text_New(sdate,stime,H1[1],NumToStr(H1[1],2)); tx2 = Text_New(sdate,stime,L1[1],NumToStr(L1[1],2)); Text_SetStyle(tx1,0,1); Text_SetStyle(tx2,0,0); //30분 TF2 = TM%타주기분2; if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF2 < TF2[1]) Then { O2[0] = O; H2[0] = H; L2[0] = L; for cnt = 1 to 99 { O2[cnt] = O2[cnt-1][1]; H2[cnt] = H2[cnt-1][1]; L2[cnt] = L2[cnt-1][1]; } } if H > H2[0] Then H2[0] = H; if L < L2[0] Then L2[0] = L; plot4(O2[1],"시가2"); plot5(H2[1],"고가2"); plot6(L2[1],"저가2"); Text_Delete(tx3); Text_Delete(tx4); tx3 = Text_New(sdate,stime,H2[1],NumToStr(H2[1],2)); tx4 = Text_New(sdate,stime,L2[1],NumToStr(L2[1],2)); Text_SetStyle(tx3,0,1); Text_SetStyle(tx4,0,0); } 즐거운 하루되세요 > byeongup 님이 쓴 글입니다. > 제목 : 안녕하세요 > 반갑습니다. 아래식을 종가를 기준으로 부탁드립니다. (지표판독시 좁혀져서 난해한점 해결방법은 없을까요) input : 타주기분1(15),타주기분2(30); var : S1(0),D1(0),TM(0),TF1(0),TF2(0),cnt(0); var : tx1(0),tx2(0),tx3(0),tx4(0); Array : O1[100](0),H1[100](0),L1[100](0); Array : O2[100](0),H2[100](0),L2[100](0); if Bdate != Bdate[1] Then{ S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; //15분 TF1 = TM%타주기분1; if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF1 < TF1[1]) Then { O1[0] = O; H1[0] = H; L1[0] = L; for cnt = 1 to 99 { O1[cnt] = O1[cnt-1][1]; H1[cnt] = H1[cnt-1][1]; L1[cnt] = L1[cnt-1][1]; } } if H > H1[0] Then H1[0] = H; if L < L1[0] Then L1[0] = L; plot1(O1[0],"시가1"); plot2(H1[0],"고가1"); plot3(L1[0],"저가1"); Text_Delete(tx1); Text_Delete(tx2); tx1 = Text_New(sdate,stime,H1[0],NumToStr(H1[0],2)); tx2 = Text_New(sdate,stime,L1[0],NumToStr(L1[0],2)); Text_SetStyle(tx1,0,1); Text_SetStyle(tx2,0,0); //30분 TF2 = TM%타주기분2; if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF2 < TF2[1]) Then { O2[0] = O; H2[0] = H; L2[0] = L; for cnt = 1 to 99 { O2[cnt] = O2[cnt-1][1]; H2[cnt] = H2[cnt-1][1]; L2[cnt] = L2[cnt-1][1]; } } if H > H2[0] Then H2[0] = H; if L < L2[0] Then L2[0] = L; plot4(O2[0],"시가2"); plot5(H2[0],"고가2"); plot6(L2[0],"저가2"); Text_Delete(tx3); Text_Delete(tx4); tx3 = Text_New(sdate,stime,H2[0],NumToStr(H2[0],2)); tx4 = Text_New(sdate,stime,L2[0],NumToStr(L2[0],2)); Text_SetStyle(tx3,0,1); Text_SetStyle(tx4,0,0); } 감사합니다