커뮤니티
수식 문의드립니다.
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);