커뮤니티

수식 문의드립니다.

프로필 이미지
제이크
2016-07-26 14:19:32
148
글번호 100386
답변완료
안녕하세요. 진입조건은 아래와 같은데 특정시간에 대한 진입조건 제한을 하고 싶습니다. 차트상 표시되는 시간으로 09:30 ~ 20:00 (한국시간으로는 23:30 ~ 아침 10:00) 및 23:30~24:00 에 진입제한울 추가하고 싶습니다. 만약 특정 요일의 특정 시간도 진입제한을 가능하게끔 로직을 추가할수 있다면, 위의 식과 별도로 수요일, 07:00~20:00 (차트상 표시되는 시간) 에는 진입제한도 하나더 만들고 싶습니다. 늘 많은 도움 주셔서 감사합니다. ==================================================================================== 신규진입 조건식은 아래와 같습니다. input : P1(5),P2(20); var : D1(0),MM(0),mav(0); MM = stime%100; D1 = C/ma(C,P1); mav = ma(C,p2); #이격이 99.5이하인 시점에 매수진입 if CrossDown(d1,99.5) and ((MM >= 0 and MM < 25) or (MM >= 30 and MM < 55)) Then buy("b",OnClose,def,1); #이격이 100.5이상인 시점에 매도진입 if crossup(d1,100.50) and ((MM >= 0 and MM < 25) or (MM >= 30 and MM < 55)) Then sell("s",OnClose,def,1);
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2016-07-26 17:12:36

안녕하세요 예스스탁입니다. 수식은 차트의 데이터를 이용하므로 차트에 보이는 시간으로 제한해야 합니다. 아래 내용 참고하시기 바랍니다. input : P1(5),P2(20); var : D1(0),MM(0),mav(0); var : Tcond1(false),Tcond2(false); MM = stime%100; D1 = C/ma(C,P1); mav = ma(C,p2); #9시30분이후~20시 사이, 23시30분~24시까지 true 아니면 false Tcond1 = (stime >= 93000 and stime <= 200000) or (stime >= 233000); #수요일 7시00분이후~20시 사이는 true 아니면 false Tcond2 = DayOfWeek(bdate) == 3 and stime >= 070000 and stime <= 200000; #이격이 99.5이하인 시점에 매수진입 if Tcond1 == false and Tcond2 == false and CrossDown(d1,99.5) and ((MM >= 0 and MM < 25) or (MM >= 30 and MM < 55)) Then buy("b",OnClose,def,1); #이격이 100.5이상인 시점에 매도진입 if Tcond1 == false and Tcond2 == false and crossup(d1,100.50) and ((MM >= 0 and MM < 25) or (MM >= 30 and MM < 55)) Then sell("s",OnClose,def,1); 즐거운 하루되세요 > 제이크 님이 쓴 글입니다. > 제목 : 수식 문의드립니다. > 안녕하세요. 진입조건은 아래와 같은데 특정시간에 대한 진입조건 제한을 하고 싶습니다. 차트상 표시되는 시간으로 09:30 ~ 20:00 (한국시간으로는 23:30 ~ 아침 10:00) 및 23:30~24:00 에 진입제한울 추가하고 싶습니다. 만약 특정 요일의 특정 시간도 진입제한을 가능하게끔 로직을 추가할수 있다면, 위의 식과 별도로 수요일, 07:00~20:00 (차트상 표시되는 시간) 에는 진입제한도 하나더 만들고 싶습니다. 늘 많은 도움 주셔서 감사합니다. ==================================================================================== 신규진입 조건식은 아래와 같습니다. input : P1(5),P2(20); var : D1(0),MM(0),mav(0); MM = stime%100; D1 = C/ma(C,P1); mav = ma(C,p2); #이격이 99.5이하인 시점에 매수진입 if CrossDown(d1,99.5) and ((MM >= 0 and MM < 25) or (MM >= 30 and MM < 55)) Then buy("b",OnClose,def,1); #이격이 100.5이상인 시점에 매도진입 if crossup(d1,100.50) and ((MM >= 0 and MM < 25) or (MM >= 30 and MM < 55)) Then sell("s",OnClose,def,1);