## 전략 ##
# 진입 : 개장시 갭이 발생한 날에 갭을 메우면 갭 방향으로 매수 혹은 매도
# 예) 전일 종가 90, 당일 시초가 100 -> 당일 가격이 90으로 떨어져서 갭을 메우면 매수(다시 위로 간다고 판단)
# 예) 전일 종가 100, 당일 시초가 90 -> 당일 가격이 100으로 올라가서 갭을 메우면 매도(다시 아래로 간다고 판단)
# 청산 : 종가 청산
# 진입조건에 당일 재진입 금지
#-----------------------------------------------------------------------------------------
# 진입 #
# 매수 진입 #
if DayClose(1)> DayOpen and ExitDate <> date then # 갭상승으로 장 시작하면, 첫 진입이라면
buy("매수", AtLimit, DayClose(1)); # 갭을 메우는 순간 전날 종가로 진입
# 매도 진입 #
if DayClose(1)< DayOpen and ExitDate <> date then # 갭하락으로 장 시작하면, 첫 진입이라면
buy("매도", AtLimit, DayClose(1)); # 갭을 메우는 순간 전날 종가로 진입
# 장마감 청산
if time > 153000 and MarketPosition == 1 Then
ExitLong("매수청산", OnClose);
if time > 153000 and MarketPosition == -1 Then
ExitShort("매도청산", OnClose);
답변 1
예스스탁
예스스탁 답변
2020-02-20 13:14:33
안녕하세요
예스스탁입니다.
1
매도가 buy 함수로 작성되어 있어 수정했습니다.
2
청산함수의 최소 매개변수는 1입니다. ExitDate(1)이 가장최근 청산의 날짜입니다.
진입과 관련된 함수만 매개변수 0이 가능합니다.
3
시간청산은 당일청산 함수 이용하시면 됩니다.
4
# 진입 #
# 매수 진입 #
if DayClose(1)> DayOpen and ExitDate(1) <> date then # 갭상승으로 장 시작하면, 첫 진입이라면
buy("매수", AtLimit, DayClose(1)); # 갭을 메우는 순간 전날 종가로 진입
# 매도 진입 #
if DayClose(1)< DayOpen and ExitDate(1) <> date then # 갭하락으로 장 시작하면, 첫 진입이라면
sell("매도", AtLimit, DayClose(1)); # 갭을 메우는 순간 전날 종가로 진입
SetStopEndofday(153000);
즐거운 하루되세요
> 퀀트드래곤 님이 쓴 글입니다.
> 제목 : 코드 구현이 잘 안되어서 질문올렸습니다.
> ## 전략 ##
# 진입 : 개장시 갭이 발생한 날에 갭을 메우면 갭 방향으로 매수 혹은 매도
# 예) 전일 종가 90, 당일 시초가 100 -> 당일 가격이 90으로 떨어져서 갭을 메우면 매수(다시 위로 간다고 판단)
# 예) 전일 종가 100, 당일 시초가 90 -> 당일 가격이 100으로 올라가서 갭을 메우면 매도(다시 아래로 간다고 판단)
# 청산 : 종가 청산
# 진입조건에 당일 재진입 금지
#-----------------------------------------------------------------------------------------
# 진입 #
# 매수 진입 #
if DayClose(1)> DayOpen and ExitDate <> date then # 갭상승으로 장 시작하면, 첫 진입이라면
buy("매수", AtLimit, DayClose(1)); # 갭을 메우는 순간 전날 종가로 진입
# 매도 진입 #
if DayClose(1)< DayOpen and ExitDate <> date then # 갭하락으로 장 시작하면, 첫 진입이라면
buy("매도", AtLimit, DayClose(1)); # 갭을 메우는 순간 전날 종가로 진입
# 장마감 청산
if time > 153000 and MarketPosition == 1 Then
ExitLong("매수청산", OnClose);
if time > 153000 and MarketPosition == -1 Then
ExitShort("매도청산", OnClose);