커뮤니티

수식 수정 부탁 드려요

프로필 이미지
초인
2010-11-17 15:39:26
643
글번호 33694
답변완료
var1 = TimeHigh(090000, 110000); if stime >= 110000 then { if CrossUp(ma(c,SP),var1) and marketposition == 0 and !(cond = 1) Then Buy("HB1"); if CrossDown(ma(c,SP),var1) Then ExitLong("HEL1"); cond = 1; if MarketPosition ==1 Then var5 = Highest(H, BarsSinceEntry+1);//(청산("HEL1")발생시 이전까지 봉에서의 고점) if IsExitName("HEL1",1) and CrossUp(ma(c,SP),var5) Then Buy("HB2"); if IsEntryName("HB2",0) and CrossDown(ma(c,SP),var5) Then Sell("HS0"); 11시까지의 고점을 구한다음 그 고점이탈시 청산("HEL1") 후 새로운 고점에서 "HB2"는 잘 발생하는데..."HS0" 가 바로 발생합니다..다시 새고점을 이탈해야 발생해야 하는데...아마 고점이 고정되지 않고 계속 갱신되서 그러지 않나 생각됩니다. IsEntryName("HB2",1) 하면 아예 신호가 발생되지 않고요... "HS0" 가 "HEL1" 발생시점 고점(고정고점)에서 발생되도록 수정 부탁드립니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2010-11-18 11:40:44

안녕하세요 예스스탁입니다. 식 내용이 검증에 오류가 있고 문법상 맞지 않은 곳이 있습니다. 현재 작성하신 식상으로는 HB2진입이 들어가고 이평이 고점을 상향하면 매도합니다. 고전 갱신을 HB1이 진입되어 있는 경우에만 계산하도록 식을 변경했습니다. input : Sp(5); var :cond(0); var1 = TimeHigh(090000, 110000); if stime == 90000 Then cond = 0; if stime >= 110000 then { if CrossUp(ma(c,SP),var1) and marketposition == 0 and !(cond == 1) Then Buy("HB1"); if MarketPosition ==1 Then{ if IsEntryName("HB1") == true Then{ var5 = Highest(H, BarsSinceEntry+1);//(청산("HEL1")발생시 이전까지 봉에서의 고점); } if CrossDown(ma(c,SP),var1) Then{ ExitLong("HEL1"); cond = 1; } } if IsExitName("HEL1",1) and CrossUp(ma(c,SP),var5) Then Buy("HB2"); if IsEntryName("HB2",0) and CrossDown(ma(c,SP),var5) Then sell("HS0"); } 즐거운 하루되세요 > 초인 님이 쓴 글입니다. > 제목 : 수식 수정 부탁 드려요 > var1 = TimeHigh(090000, 110000); if stime >= 110000 then { if CrossUp(ma(c,SP),var1) and marketposition == 0 and !(cond = 1) Then Buy("HB1"); if CrossDown(ma(c,SP),var1) Then ExitLong("HEL1"); cond = 1; if MarketPosition ==1 Then var5 = Highest(H, BarsSinceEntry+1);//(청산("HEL1")발생시 이전까지 봉에서의 고점) if IsExitName("HEL1",1) and CrossUp(ma(c,SP),var5) Then Buy("HB2"); if IsEntryName("HB2",0) and CrossDown(ma(c,SP),var5) Then Sell("HS0"); 11시까지의 고점을 구한다음 그 고점이탈시 청산("HEL1") 후 새로운 고점에서 "HB2"는 잘 발생하는데..."HS0" 가 바로 발생합니다..다시 새고점을 이탈해야 발생해야 하는데...아마 고점이 고정되지 않고 계속 갱신되서 그러지 않나 생각됩니다. IsEntryName("HB2",1) 하면 아예 신호가 발생되지 않고요... "HS0" 가 "HEL1" 발생시점 고점(고정고점)에서 발생되도록 수정 부탁드립니다.