커뮤니티

수식 수정 부탁드려요~

프로필 이미지
초인
2010-11-19 17:54:46
875
글번호 33762
답변완료
var1 = TimeHigh(090000, 110000); cond = 0; if stime >= 110000 then { if CrossUp(ma(c,SP),var1) and marketposition == 0 and !(cond == 1) Then Buy("B1"); if CrossDown(ma(c,SP),var1) Then{ ExitLong("EL1"); cond = 1; } } cond =1 로 고쳤는데도.."EL1" 발생후 "B1" 이 발생합니다.. cond =1로 "EL1" 이 발생하면, "B1"이 발생하지 않도록 조정( !(cond == 1) ) 하려고 했는데.. 이 방법으론 안되나 봐요... 다른 방법이나 고쳐야 할 부분 있으면, 가르쳐 주세요.. 부탁드려요~
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2010-11-19 18:33:14

안녕하세요 예스스탁입니다. 작성하신 식에 보시면 cond = 0; 이라는 부분이 문제가 됩니다. 매봉 cond를 0으로 재셋팅하기 때문 B1진입이 발생하게 됩니다. var1 = TimeHigh(090000, 110000); if dayindex == 0 then cond = 0; if stime >= 110000 then { if CrossUp(ma(c,SP),var1) and marketposition == 0 and !(cond == 1) Then Buy("B1"); if CrossDown(ma(c,SP),var1) Then{ ExitLong("EL1"); cond = 1; } } 위처럼 cond를 매봉이 아닌 특정한 시점에만 초기화하는 내용이 필요합니다. 당일 첫봉에서만 cond를 0으로 만드는 내용을 추가했습니다. 즐거운 하루되세요 > 초인 님이 쓴 글입니다. > 제목 : 수식 수정 부탁드려요~ > var1 = TimeHigh(090000, 110000); cond = 0; if stime >= 110000 then { if CrossUp(ma(c,SP),var1) and marketposition == 0 and !(cond == 1) Then Buy("B1"); if CrossDown(ma(c,SP),var1) Then{ ExitLong("EL1"); cond = 1; } } cond =1 로 고쳤는데도.."EL1" 발생후 "B1" 이 발생합니다.. cond =1로 "EL1" 이 발생하면, "B1"이 발생하지 않도록 조정( !(cond == 1) ) 하려고 했는데.. 이 방법으론 안되나 봐요... 다른 방법이나 고쳐야 할 부분 있으면, 가르쳐 주세요.. 부탁드려요~