Search
Duplicate
📝

전일 움직임의 일정% 돌파 전략

#공통, 전략
[설명]
당일시가에서 전일움직임 폭의 일정%이상 상승해서 처음 터치하면 즉시 매수진입 당일시가에서 전일움직임 폭의 일정%이상 하락해서 처음 터치하면 즉시 매도진입 지정시간에 당일청산하고 거래 종료하는 수식입니다.
input : Rate(30),xTime(153000); var : Tcond(False),ST(Nan),R(0); //ST에 값이 저장된 이후 //당일청산시간이 첫봉시간보다 작으면(다음날 새벽에 청산을 의미함) IF IsNaN(ST) == False and 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); } } //AtStop,AtLimit이 값셋팅되면 다음봉 현재가와 비교해 신호가 발생하므로 //당일 마지막봉이면 다음봉시가(다음날시가)와 오늘폭을 기준으로 값을 셋팅해서 //첫봉에서도 즉시 신호발생할 수 있게하고 //일간 마지막봉이 아닌 경우에는 당일시초가와 전일폭을 이용해 계산해서 진입하게 함 //일간마지막봉일때 if NextBarBdate != Bdate Then { //당일폭의 일정%값 R = (dayhigh(0)-dayLow(0))*(Rate/100); //시초가+R값 터치시 매수진입 buy("매수1", atstop, NextBarOpen+R); //시초가+R값 터치시 매도진입 Sell("매도1", atstop, NextBarOpen-R); } Else //마지막봉이 아닐때(NextBarBdate == Bdate) { //전일폭의 일정%값 R = (dayhigh(1)-dayLow(1))*(Rate/100); //현재 매수포지션이 아니고 //영업일 변경이후 종료시간 직전까지 //당일고가가 시초가+R값보다 작은 상태에서 //가격이 상승해서 처음 시초가+R값을 터치시 매수진입 if MarketPosition <= 0 and Tcond == true and dayhigh < dayopen(0)+R Then buy("매수", atstop, dayOpen(0)+R); //현재 매도포지션이 아니고 //영업일 변경이후 종료시간 직전까지 //당일저가가 시초가-R값보다 큰 상태에서 //가격이 하락해서 처음 시초가-R값을 터치시 매도진입 if MarketPosition >= 0 and Tcond == true and daylow > dayopen(0)-R Then sell("매도",atstop, dayOpen(0)-R); }
JavaScript
복사