커뮤니티

첫번째 봉에서 신호가 나오지 않는데요

프로필 이미지
씸풀
2013-12-11 16:23:46
147
글번호 70354
답변완료
if stime<143000 and iPos==0 then begin if dir==1 and crossdown(l,var1) Then { iPos=1; Buy("Buy",AtStop,var1);} end 위와 같이 적용하면 Buy의 감시가 두 번째 봉부터 되어서 당일 처음 시작봉에서 조건이 되었을 때 진입이 되지 않는 문제가 있습니다. 여기서 "crossdown(l,var1)" 부분은 직관적으로 내용을 이해할 수 있도록 넣은 것으로 넣으면 좋은데, 실제로는 Buy 조건 내의 var1만으로도 충족되므로 빼도 됩니다. 즉, if stime<143000 and iPos==0 then begin if dir==1 Then { iPos=1; Buy("Buy",AtStop,var1);} end 도 동일한 효과입니다. 시작봉에서부터 신호가 나올 수 있도록 처리해 주시면 감사하겠습니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2013-12-11 18:57:33

안녕하세요 예스스탁입니다. atstop은 현재봉 완성시 값이 셋팅이 되어 다음봉에서 신호가 발생하는 타입니다. if문에 stime < 143000 이 있으므로 마지막봉에 걸리지 않으므로 다음날 첫봉에 신호가 발생하지 않습니다. 첫봉에서 신호가 발생하기 위해서는 당일마지막봉의 시간을 지정해 주셔야 하며 사용하시는 차트의 주기에서 마지막봉의 시간을 확인하셔서 지정해 주셔야 합니다. 아래식에서는 1분봉이나 5분봉에서 마지막봉 시간이 15시15분으로 지정했습니다. 주식종목이면 150000으로 지정이 되어야 합니다. #14시 30분 이전이거나 15시 15분일때 if문이 만족하면 #var1가격을 셋팅하고 다음봉에서 var1이상의 시세가 발생하면 매수 if (stime<143000 or stime == 151500) and iPos==0 then { if dir==1 Then { iPos=1; Buy("Buy",AtStop,var1); } } 즐거운 하루되세요 > 씸풀 님이 쓴 글입니다. > 제목 : 첫번째 봉에서 신호가 나오지 않는데요 > if stime<143000 and iPos==0 then begin if dir==1 and crossdown(l,var1) Then { iPos=1; Buy("Buy",AtStop,var1);} end 위와 같이 적용하면 Buy의 감시가 두 번째 봉부터 되어서 당일 처음 시작봉에서 조건이 되었을 때 진입이 되지 않는 문제가 있습니다. 여기서 "crossdown(l,var1)" 부분은 직관적으로 내용을 이해할 수 있도록 넣은 것으로 넣으면 좋은데, 실제로는 Buy 조건 내의 var1만으로도 충족되므로 빼도 됩니다. 즉, if stime<143000 and iPos==0 then begin if dir==1 Then { iPos=1; Buy("Buy",AtStop,var1);} end 도 동일한 효과입니다. 시작봉에서부터 신호가 나올 수 있도록 처리해 주시면 감사하겠습니다.