커뮤니티

답변을 받았으나 생각했던 대로 구현이 되질 않아서 질문드립니다.

프로필 이미지
퀀트드래곤
2020-02-22 23:16:38
491
글번호 136240
답변완료

첨부 이미지

안녕하세요. 아래와 같이 답변을 받았으나 생각처럼 진입이 안되어서 재질문 드립니다 제 설명이 미숙했나봐요ㅜㅜ # <--- 뒤에 있는 글 처럼 진입하려 하는데 주신 코드에서는 그냥 시초가에 되네요. # 진입 # # 매수 진입 # 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);