커뮤니티

확인 좀 요청 드립니다.

프로필 이미지
요타
2022-02-08 15:29:35
1058
글번호 156114
답변완료
* 항상 많은 도움에 고맙습니다. * 전일 해주신 수식인데 이리저리 바꾸어봐도 선이 안 나타 남니다. 수평선이 여러개 나오도록 부탁 좀 드립니다. 로직 기준에 문제가 있나요? 기준 : 당일 시작봉 부터 시작 하여 1~100봉 되면 최고가에 수평선 긋고 최저가에 수평선 다시 101 ~ 200봉 까지 가격중에서 최고가 최저가에 수평선 두개 긋고...계속 ## input : n(100); var : hh(0),ll(0),idx(0),tf(0); var : TL1(0),TL2(0),d1(0),t1(0); if Bdate != Bdate[1] Then idx = 0; Else idx = idx+1; TF = idx%n; if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then { hh = h; ll = l; d1 = sDate; t1 = sTime; TL_Delete(TL1); TL1 = TL_new(d1,t1,hh,NextBarSdate,NextBarStime,hh); TL_setExtRight(TL1,true); TL_Delete(TL2); TL2 = TL_new(d1,t1,ll,NextBarSdate,NextBarStime,ll); TL_setExtRight(TL2,true); } if h > hh Then { hh = h; TL_SetBegin(TL1,d1,t1,hh); TL_SetEnd(TL1,NextBarSdate,NextBarStime,hh); } if l < ll Then { ll = l; TL_SetBegin(TL2,d1,t1,ll); TL_SetEnd(TL2,NextBarSdate,NextBarStime,ll); } * 매번 고맙습니다.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2022-02-08 16:12:13

안녕하세요 예스스탁입니다. 현재 수식이 현재 마지막 100개구간의 값만 그리게 되어 있습니다. 100개별로 모두 그리고자 하시면 아래식 적용하시면 됩니다. input : n(100); var : hh(0),ll(0),idx(0),tf(0); var : TL1(0),TL2(0),d1(0),t1(0); if Bdate != Bdate[1] Then idx = 0; Else idx = idx+1; TF = idx%n; if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then { hh = h; ll = l; d1 = sDate; t1 = sTime; #TL_Delete(TL1); TL1 = TL_new(d1,t1,hh,NextBarSdate,NextBarStime,hh); #TL_Delete(TL2); TL2 = TL_new(d1,t1,ll,NextBarSdate,NextBarStime,ll); } if h > hh Then { hh = h; TL_SetBegin(TL1,d1,t1,hh); } if l < ll Then { ll = l; TL_SetBegin(TL2,d1,t1,ll); } TL_SetEnd(TL1,NextBarSdate,NextBarStime,hh); TL_SetEnd(TL2,NextBarSdate,NextBarStime,ll); 즐거운 하루되세요 > 요타 님이 쓴 글입니다. > 제목 : 확인 좀 요청 드립니다. > * 항상 많은 도움에 고맙습니다. * 전일 해주신 수식인데 이리저리 바꾸어봐도 선이 안 나타 남니다. 수평선이 여러개 나오도록 부탁 좀 드립니다. 로직 기준에 문제가 있나요? 기준 : 당일 시작봉 부터 시작 하여 1~100봉 되면 최고가에 수평선 긋고 최저가에 수평선 다시 101 ~ 200봉 까지 가격중에서 최고가 최저가에 수평선 두개 긋고...계속 ## input : n(100); var : hh(0),ll(0),idx(0),tf(0); var : TL1(0),TL2(0),d1(0),t1(0); if Bdate != Bdate[1] Then idx = 0; Else idx = idx+1; TF = idx%n; if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then { hh = h; ll = l; d1 = sDate; t1 = sTime; TL_Delete(TL1); TL1 = TL_new(d1,t1,hh,NextBarSdate,NextBarStime,hh); TL_setExtRight(TL1,true); TL_Delete(TL2); TL2 = TL_new(d1,t1,ll,NextBarSdate,NextBarStime,ll); TL_setExtRight(TL2,true); } if h > hh Then { hh = h; TL_SetBegin(TL1,d1,t1,hh); TL_SetEnd(TL1,NextBarSdate,NextBarStime,hh); } if l < ll Then { ll = l; TL_SetBegin(TL2,d1,t1,ll); TL_SetEnd(TL2,NextBarSdate,NextBarStime,ll); } * 매번 고맙습니다.