커뮤니티

구문 하나 검토 부탁드립니다.

프로필 이미지
중박주식
2024-01-02 10:52:06
488
글번호 175338
답변완료
아래와 같이 거래시간이 달라지는 특정 날짜에 한하여 진입시작 시간과 마감 시간, 청산 시간 등을 한 시간 미루어 적용하는 구문을 만들었습니다. 예를 들어, 수능일은 1시간 늦게 시작해서 한 시간 늦게 끝나고, 새해 첫 거래일은 1시간 늦게 시작하지만 평소와 동일하게 끝납니다. 그래서 아래와 같은 수식을 이용해서 시간을 기준으로 한 필터들을 1시간씩 늦추었습니다. 그러면 제 생각에는 이에 해당하는 날짜의 경우만 거래가 달라져야 할 것 같은데, 이상하게도.. 전혀 상관 없는 날짜의 거래에도 영향을 줍니다.. 혹시 아래와 같이 작성했을때 거래시간이 달라지지 않는 평상시에도 영향을 받을 수 있는 가능성이 있을까요? 감사합니다 ----------------------------- input : 매수진입시작값(92000), 매수진입마감값(150000), 매도진입시작값(94800), 매도진입마감값(150000), 청산시작값(151300), 당일청산값(153300), 필터시간값(105000); if sdate != sDate[1] Then { VAR : 매수진입시작(0), 매수진입마감(0), 매도진입시작(0), 매도진입마감(0), 청산시작(0), 당일청산(0), 필터시간(0); if Delayed_open == true Then { 매수진입시작 = 매수진입시작값+10000; 매도진입시작 = 매도진입시작값+10000; 필터시간 = 필터시간값+10000; } Else { 매수진입시작 = 매수진입시작값; 매도진입시작 = 매도진입시작값; 필터시간 = 필터시간값; } if Delayed_CLOSE == true Then { 매수진입마감 = 매수진입마감값+10000; 매도진입마감 = 매도진입마감값+10000; 청산시작 = 청산시작값+10000; 당일청산 = 당일청산값+10000; } Else { 매수진입마감 = 매수진입마감값; 매도진입마감 = 매도진입마감값; 청산시작 = 청산시작값; 당일청산 = 당일청산값; } }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2024-01-02 17:02:41

안녕하세요 예스스탁입니다. 올리신 구문이 문제는 없습니다. 년간 첫거래일과 수능일이 아닌 날짜에 시간변동이 있다면 Delayed_open, Delayed_close에 true가 할당되는 내용을 수정해 보셔야 합니다. 아래 내용 참고하시기 바랍니다. 선물기준으로 9시45분에 시작할 경우와 아닌경우로 구분했습니다. input : 매수진입시작값(92000), 매수진입마감값(150000), 매도진입시작값(94800), 매도진입마감값(150000), 청산시작값(151300), 당일청산값(153300), 필터시간값(105000); VAR : 매수진입시작(0), 매수진입마감(0), 매도진입시작(0), 매도진입마감(0), 청산시작(0), 당일청산(0), 필터시간(0); var : Delayed_Close(False),Delayed_Open(False); var : yyyy(0); yyyy = Floor(sDate/10000); if sdate != sDate[1] Then { Delayed_Open = False; Delayed_Close = False; if sTime >= 94500 Then { Delayed_open = true; if yyyy == yyyy[1] Then Delayed_CLOSE = true; } if Delayed_open == true Then { 매수진입시작 = 매수진입시작값+10000; 매도진입시작 = 매도진입시작값+10000; 필터시간 = 필터시간값+10000; } Else { 매수진입시작 = 매수진입시작값; 매도진입시작 = 매도진입시작값; 필터시간 = 필터시간값; } if Delayed_Close == true Then { 매수진입마감 = 매수진입마감값+10000; 매도진입마감 = 매도진입마감값+10000; 청산시작 = 청산시작값+10000; 당일청산 = 당일청산값+10000; } Else { 매수진입마감 = 매수진입마감값; 매도진입마감 = 매도진입마감값; 청산시작 = 청산시작값; 당일청산 = 당일청산값; } } Plot1(매수진입시작); Plot2(매도진입시작); Plot3(매수진입마감); Plot4(매도진입마감); plot5(당일청산); 즐거운 하루되세요 > 중박주식 님이 쓴 글입니다. > 제목 : 구문 하나 검토 부탁드립니다. > 아래와 같이 거래시간이 달라지는 특정 날짜에 한하여 진입시작 시간과 마감 시간, 청산 시간 등을 한 시간 미루어 적용하는 구문을 만들었습니다. 예를 들어, 수능일은 1시간 늦게 시작해서 한 시간 늦게 끝나고, 새해 첫 거래일은 1시간 늦게 시작하지만 평소와 동일하게 끝납니다. 그래서 아래와 같은 수식을 이용해서 시간을 기준으로 한 필터들을 1시간씩 늦추었습니다. 그러면 제 생각에는 이에 해당하는 날짜의 경우만 거래가 달라져야 할 것 같은데, 이상하게도.. 전혀 상관 없는 날짜의 거래에도 영향을 줍니다.. 혹시 아래와 같이 작성했을때 거래시간이 달라지지 않는 평상시에도 영향을 받을 수 있는 가능성이 있을까요? 감사합니다 ----------------------------- input : 매수진입시작값(92000), 매수진입마감값(150000), 매도진입시작값(94800), 매도진입마감값(150000), 청산시작값(151300), 당일청산값(153300), 필터시간값(105000); if sdate != sDate[1] Then { VAR : 매수진입시작(0), 매수진입마감(0), 매도진입시작(0), 매도진입마감(0), 청산시작(0), 당일청산(0), 필터시간(0); if Delayed_open == true Then { 매수진입시작 = 매수진입시작값+10000; 매도진입시작 = 매도진입시작값+10000; 필터시간 = 필터시간값+10000; } Else { 매수진입시작 = 매수진입시작값; 매도진입시작 = 매도진입시작값; 필터시간 = 필터시간값; } if Delayed_CLOSE == true Then { 매수진입마감 = 매수진입마감값+10000; 매도진입마감 = 매도진입마감값+10000; 청산시작 = 청산시작값+10000; 당일청산 = 당일청산값+10000; } Else { 매수진입마감 = 매수진입마감값; 매도진입마감 = 매도진입마감값; 청산시작 = 청산시작값; 당일청산 = 당일청산값; } }