Search
📝

당일청산 지정

//영업일 시작부터 xTime까지만 거래하고 //xTime에 포지션이 있으면 청산. input : xTime(060000); var : Tcond(False),ST(0); //당일청산시간이 첫봉시간보다 작으면(해외선물과 같이 다음날 새벽에 청산을 의미함) IF xTime < ST Then { //0시 이후 첫봉에 당일청산 셋팅 if sDate != sDate[1] Then SetStopEndofday(xTime); } //지정한 xTime이후 첫봉이 발생하면 Tcond는 False if (sdate != sdate[1] and stime >= xTime) or (sdate == sdate[1] and stime >= xTime and stime[1] < xTime) Then Tcond = False; //영업일 변경 if Bdate != Bdate[1] Then { //Tcond는 true Tcond = true; //당일 첫봉 시간 ST = sTime; //당일청산시간이 첫봉시간보다 작으면(해외선물과 같이 다음날 새벽에 청산을 의미함) IF xTime < ST Then { //당일청산 해제 SetStopEndofday(0); } Else //아니면(첫봉날짜와 같은날 당일청산) { //당일청산 설정 SetStopEndofday(xTime); } } //지정한 시작시간과 종료시간 사이이면 if Tcond == true Then { //20이평 상향돌파 매수 if CrossUp(C,ma(C,20)) Then Buy("b"); //20이평 하향이탈 매도 if CrossDown(C,ma(C,20)) Then Sell("s"); }
JavaScript
복사
[설명]
#공통
SetStopEndofday는 시간을 지정해 당일청산을 하는 함수입니다. 해당함수에 시간을 지정하면 지정한 시간에 포지션이 있으면 청산하고 당일 밤 0시까지 진입을 제한하게 됩니다. 그러므로 일반적으로 국내 주식과 같이 24시간 거래를 하지 않는 종목인 경우에는 SetStopEndofday(150000);과 같이 지정해 당일 청산을 했습니다. 하지만 24시간 거래되는 종목의 경우에 새벽시간에 당일청산하는 경우가 많은데 SetStopEndofday(060000);과 같이 새벽시간을 지정하면 06시부터 밤 0시까지 진입이 제한되어 의도치 않게 0~6시 사이에만 신호가 발생하게 됩니다. 그러므로 당일청산을 지정할 때는 새벽에 청산할 경우에는 예제와 같이 작성해서 영업일 변경이 될 때 당일청산을 해제하고 밤 0시에 당일청산을 셋팅하게 작성이 되어야 합니다.