첨부 이미지
그림1
안녕하세요. 아래와 같이 답변을 받았으나 생각처럼 진입이 안되어서 재질문 드립니다
제 설명이 미숙했나봐요ㅜㅜ
# <--- 뒤에 있는 글 처럼 진입하려 하는데 주신 코드에서는 그냥 시초가에 되네요.
# 진입 #
# 매수 진입 #
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);
-----------------------------
안녕하세요
예스스탁입니다.
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);
답변 1
예스스탁
예스스탁 답변
2020-02-24 11:38:12
안녕하세요
예스스탁입니다.
갭상승과 갭하락이 반대로 되어 있었습니다.
수정한 식입니다.
# 진입 #
# 매수 진입 #
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)); # 갭을 메우는 순간 전날 종가로 진입
즐거운 하루되세요
> 퀀트드래곤 님이 쓴 글입니다.
> 제목 : 답변을 받았으나 생각했던 대로 구현이 되질 않아서 질문드립니다.
> 안녕하세요. 아래와 같이 답변을 받았으나 생각처럼 진입이 안되어서 재질문 드립니다
제 설명이 미숙했나봐요ㅜㅜ
# <--- 뒤에 있는 글 처럼 진입하려 하는데 주신 코드에서는 그냥 시초가에 되네요.
# 진입 #
# 매수 진입 #
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);
-----------------------------
안녕하세요
예스스탁입니다.
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);