커뮤니티

문의드립니다

프로필 이미지
시고르시고르
2022-09-13 09:22:39
756
글번호 162086
답변완료
input : 시작시간(150000),끝시간(030000),n(0); var : cnt(0),Tcond(False); Array : DO[20](0),DH[20](0),DL[20](0),DC[20](0); if (sdate != sdate[1] and stime >= 끝시간) or (sdate == sdate[1] and stime >= 끝시간 and stime[1] < 끝시간) Then { Tcond = False; } if (sdate != sdate[1] and stime >= 시작시간) or (sdate == sdate[1] and stime >= 시작시간 and stime[1] < 시작시간) Then { Tcond = true; for cnt = 19 downto 1 { DO[cnt] = DO[cnt-1]; DH[cnt] = DH[cnt-1]; DL[cnt] = DL[cnt-1]; DC[cnt] = DC[cnt-1]; } DO[0] = O; DH[0] = H; DL[0] = L; } if Tcond == true Then { DC[0] = C; if DH[0] > 0 and H > DH[0] Then DH[0] = H; if DL[0] > 0 and L < DL[0] Then DL[0] = L; } plot1(DO[n],"n일전시가"); plot2(DH[n],"n일전고가"); plot3(DC[n],"n일전종가"); plot4(DL[n],"n일전저가"); buy("", atstop, DO[0] + 1); 1번 질문 : 오후 3시~~다음날 새벽3시까지 트레이딩을 한다고 가정하고 예전에 작성해주셨던 시간을 정해서 시고종저를 구하는 식을 이용하여 그 구간대의 싯가 + 1에 진입한다고 하면 바로 진입하는게 아니라 다음날 0시에 진입을 하네요 날짜가 바뀌는게 문제인거 같은데 해결책을 모르겠습니다. 2번질문 : entriestoday 함수를 역시 오후 3시~~다음날 새벽3시까지의 구간을 하루로 보고 수를 카운팅할수 있는 방법이 있을지 모르겠습니다. 예스스탁에 언제나 감사드립니다.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2022-09-13 11:59:31

안녕하세요 예스스탁입니다. 1 0시에서 03시 사이에만 신호가 발생한다면 당일청산과 관계가 있습니다. 당일청산은 지정한 시간이후로 진입을 막게 되므로 03시에 청산하면 그날 밤0시까지는 진입이 제한됩니다. 24시간 시장은 종목에서는 아래와 같이 당일청산 지정하셔야 합니다. 2 entriestoday 함수는 0시 기준입니다. 아래와 같이 별도로 카운트해서 사용하셔야 합니다. 3 input : 시작시간(150000),끝시간(030000),n(0); var : cnt(0),Tcond(False),entry(0); Array : DO[20](0),DH[20](0),DL[20](0),DC[20](0); IF 끝시간 > 시작시간 Then SetStopEndofday(끝시간); Else { if sDate != sDate[1] Then SetStopEndofday(끝시간); } if (sdate != sdate[1] and stime >= 끝시간) or (sdate == sdate[1] and stime >= 끝시간 and stime[1] < 끝시간) Then { Tcond = False; } if (sdate != sdate[1] and stime >= 시작시간) or (sdate == sdate[1] and stime >= 시작시간 and stime[1] < 시작시간) Then { IF 끝시간 <= 시작시간 Then { SetStopEndofday(0); } Tcond = true; for cnt = 19 downto 1 { DO[cnt] = DO[cnt-1]; DH[cnt] = DH[cnt-1]; DL[cnt] = DL[cnt-1]; DC[cnt] = DC[cnt-1]; } DO[0] = O; DH[0] = H; DL[0] = L; entry = 0; } if Tcond == true Then { #지정한 구간의 진입횟수 if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or (MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then entry = entry+1; DC[0] = C; if DH[0] > 0 and H > DH[0] Then DH[0] = H; if DL[0] > 0 and L < DL[0] Then DL[0] = L; if MarketPosition <= 0 and DH[0] < DO[0]+1 Then Buy("b",AtStop,DO[0]+1); } 즐거운 하루되세요 > 시고르시고르 님이 쓴 글입니다. > 제목 : 문의드립니다 > input : 시작시간(150000),끝시간(030000),n(0); var : cnt(0),Tcond(False); Array : DO[20](0),DH[20](0),DL[20](0),DC[20](0); if (sdate != sdate[1] and stime >= 끝시간) or (sdate == sdate[1] and stime >= 끝시간 and stime[1] < 끝시간) Then { Tcond = False; } if (sdate != sdate[1] and stime >= 시작시간) or (sdate == sdate[1] and stime >= 시작시간 and stime[1] < 시작시간) Then { Tcond = true; for cnt = 19 downto 1 { DO[cnt] = DO[cnt-1]; DH[cnt] = DH[cnt-1]; DL[cnt] = DL[cnt-1]; DC[cnt] = DC[cnt-1]; } DO[0] = O; DH[0] = H; DL[0] = L; } if Tcond == true Then { DC[0] = C; if DH[0] > 0 and H > DH[0] Then DH[0] = H; if DL[0] > 0 and L < DL[0] Then DL[0] = L; } plot1(DO[n],"n일전시가"); plot2(DH[n],"n일전고가"); plot3(DC[n],"n일전종가"); plot4(DL[n],"n일전저가"); buy("", atstop, DO[0] + 1); 1번 질문 : 오후 3시~~다음날 새벽3시까지 트레이딩을 한다고 가정하고 예전에 작성해주셨던 시간을 정해서 시고종저를 구하는 식을 이용하여 그 구간대의 싯가 + 1에 진입한다고 하면 바로 진입하는게 아니라 다음날 0시에 진입을 하네요 날짜가 바뀌는게 문제인거 같은데 해결책을 모르겠습니다. 2번질문 : entriestoday 함수를 역시 오후 3시~~다음날 새벽3시까지의 구간을 하루로 보고 수를 카운팅할수 있는 방법이 있을지 모르겠습니다. 예스스탁에 언제나 감사드립니다.