커뮤니티

두 코드의 차이점을 알고 싶습니다.

프로필 이미지
예스쟁이
2023-08-08 17:14:26
991
글번호 171334
답변완료

첨부 이미지

항상 궁금증에 도움을 주셔서 감사드립니다. 얼마전에 질문을 올린적이 있는데 그에 대한 답변으로 아래와 같은 코드를 주셨는데요. input : ntime(200000); var : Tcond(False),k(0),oo(0),tt(0); Array : TL[50](0); if Bdate != Bdate[1] Then Tcond = False; if (sdate != sdate[1] and stime >= ntime) or (sdate == sdate[1] and stime >= ntime and stime[1] < ntime) Then { Tcond = true; oo = o; tt = PriceScale*10; For k = 1 to 10 { TL[k] = TL_New(sDate,sTime,oo+tt*k,NextBarSdate,NextBarStime,oo+tt*k); } } Else { if Tcond == true Then { For k = 1 to 10 { TL_SetEnd(TL[k],NextBarSdate,NextBarStime,oo+tt*k); } } } 위의 코드를 실행하면 첨부파일1과 같은 선이 그어지는데요. 아래와 같이 else만 빼고 입력해도 첨부파일2와 같이 선이 그어지는 모습은 같은데요. input : ntime(200000); var : Tcond(False),k(0),oo(0),tt(0); Array : TL[50](0); if Bdate != Bdate[1] Then Tcond = False; if (sdate != sdate[1] and stime >= ntime) or (sdate == sdate[1] and stime >= ntime and stime[1] < ntime) Then { Tcond = true; oo = o; tt = PriceScale*10; For k = 1 to 10 { TL[k] = TL_New(sDate,sTime,oo+tt*k,NextBarSdate,NextBarStime,oo+tt*k); } } if Tcond == true Then { For k = 1 to 10 { TL_SetEnd(TL[k],NextBarSdate,NextBarStime,oo+tt*k); } } else가 있고, 없고 차트에 그려지는 선은 같아보이는데요. else가 있으므로 그려지는 선이 다른 것인지 아니면 내부적으로 연산을 덜하게 되는 것인지... 어떤 차이가 있는지 궁금합니다. 설명 부탁드려요.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2023-08-09 09:22:59

안녕하세요 예스스탁입니다. else를 제외하셔도 그리는 것은 같습니다. 다만 최초 지정한 시간에 시점점과 끝점을 지정해서 추세선을 출력했는데 같은 봉에서 다시 같은 값으로 끝점을 다시 그리게 됩니다. 연산상 한번더 하는 것을 피하기 위해 처리된 내용일 뿐입니다. 즐거운 하루되세요 > 예스쟁이 님이 쓴 글입니다. > 제목 : 두 코드의 차이점을 알고 싶습니다. > 항상 궁금증에 도움을 주셔서 감사드립니다. 얼마전에 질문을 올린적이 있는데 그에 대한 답변으로 아래와 같은 코드를 주셨는데요. input : ntime(200000); var : Tcond(False),k(0),oo(0),tt(0); Array : TL[50](0); if Bdate != Bdate[1] Then Tcond = False; if (sdate != sdate[1] and stime >= ntime) or (sdate == sdate[1] and stime >= ntime and stime[1] < ntime) Then { Tcond = true; oo = o; tt = PriceScale*10; For k = 1 to 10 { TL[k] = TL_New(sDate,sTime,oo+tt*k,NextBarSdate,NextBarStime,oo+tt*k); } } Else { if Tcond == true Then { For k = 1 to 10 { TL_SetEnd(TL[k],NextBarSdate,NextBarStime,oo+tt*k); } } } 위의 코드를 실행하면 첨부파일1과 같은 선이 그어지는데요. 아래와 같이 else만 빼고 입력해도 첨부파일2와 같이 선이 그어지는 모습은 같은데요. input : ntime(200000); var : Tcond(False),k(0),oo(0),tt(0); Array : TL[50](0); if Bdate != Bdate[1] Then Tcond = False; if (sdate != sdate[1] and stime >= ntime) or (sdate == sdate[1] and stime >= ntime and stime[1] < ntime) Then { Tcond = true; oo = o; tt = PriceScale*10; For k = 1 to 10 { TL[k] = TL_New(sDate,sTime,oo+tt*k,NextBarSdate,NextBarStime,oo+tt*k); } } if Tcond == true Then { For k = 1 to 10 { TL_SetEnd(TL[k],NextBarSdate,NextBarStime,oo+tt*k); } } else가 있고, 없고 차트에 그려지는 선은 같아보이는데요. else가 있으므로 그려지는 선이 다른 것인지 아니면 내부적으로 연산을 덜하게 되는 것인지... 어떤 차이가 있는지 궁금합니다. 설명 부탁드려요.