커뮤니티

진입 제한

프로필 이미지
폴폴
2015-05-20 02:33:50
155
글번호 86203
답변완료
안녕하세요? 현대선물예스트레이더로 해외선물 전략작성 중인데 막히는게 있어서 문의해 봅니다.^^ 기본적으로 진입전략은 MACD 오실레이터 0선 크로스인데요 앞전에 큰 파동(100틱이상)이 나왔다면 뒤따라오는 첫번째 신호는 스킵하고 싶습니다. (휩소일 가능성이 크기 때문에) var : minusMax(0), minusMin(0), plusMax(0), plusMin(0), passMinus(False), passPlus(False); var : minMaxGap(100), leastGap(15); } if macdosc > 0 then { passMinus = False; if plusMin == 0 then plusMin = L; plusMax = Max(plusMax, H); plusMin = Min(plusMin, L); if MinusMax - MinusMin >= minMaxGap * PriceScale then { passPlus = True; } minusMax = 0; minusMin = 0; } if macdosc < 0 then { passPlus = False; if minusMin == 0 then minusMin = L; minusMax = Max(minusMax, H); minusMin = Min(minusMin, L); if plusMax - plusMin >= minMaxGap * PriceScale then { passMinus = True; } plusMax = 0; plusMin = 0; } 이렇게 작성했더니 뒤의 모든 시그널을 무시하는 것 같더라구요. 100틱이상 큰 움직임이 있을 때 바로 이어지는 첫번째 신호만 스킵할 수 있게 수정부탁드립니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2015-05-20 10:44:46

안녕하세요 예스스탁입니다. 전구간의 가격폭이 100틱이상이면 진입을 하지 않는 식입니다. 매수는 직전 0이하의 구간에서 최고값과 최저값차이 매도는 직전 0이상의 구간에서 최고값과 최저값차이로 판단합니다. var : macdosc(0), maxv(0), minv(0),PreMaxv(0),PreMinv(0); var : minMaxGap(100), leastGap(15); MACDOSC = MACD_OSC(12,26,9); if crossup(macdosc,0) Then{ Maxv = H; Minv = L; PreMaxv = Maxv[1]; PreMinv = Minv[1]; if PreMaxv < PreMinv+PriceScale*minMaxGap Then buy(); } if CrossDown(macdosc,0) Then{ Maxv = H; Minv = L; PreMaxv = Maxv[1]; PreMinv = Minv[1]; if PreMaxv <= PreMinv+PriceScale*minMaxGap Then sell(); } if H > Maxv Then Maxv = H; if L < Minv Then Minv = L; 즐거운 하루되세요 > 폴폴 님이 쓴 글입니다. > 제목 : 진입 제한 > 안녕하세요? 현대선물예스트레이더로 해외선물 전략작성 중인데 막히는게 있어서 문의해 봅니다.^^ 기본적으로 진입전략은 MACD 오실레이터 0선 크로스인데요 앞전에 큰 파동(100틱이상)이 나왔다면 뒤따라오는 첫번째 신호는 스킵하고 싶습니다. (휩소일 가능성이 크기 때문에) var : minusMax(0), minusMin(0), plusMax(0), plusMin(0), passMinus(False), passPlus(False); var : minMaxGap(100), leastGap(15); } if macdosc > 0 then { passMinus = False; if plusMin == 0 then plusMin = L; plusMax = Max(plusMax, H); plusMin = Min(plusMin, L); if MinusMax - MinusMin >= minMaxGap * PriceScale then { passPlus = True; } minusMax = 0; minusMin = 0; } if macdosc < 0 then { passPlus = False; if minusMin == 0 then minusMin = L; minusMax = Max(minusMax, H); minusMin = Min(minusMin, L); if plusMax - plusMin >= minMaxGap * PriceScale then { passMinus = True; } plusMax = 0; plusMin = 0; } 이렇게 작성했더니 뒤의 모든 시그널을 무시하는 것 같더라구요. 100틱이상 큰 움직임이 있을 때 바로 이어지는 첫번째 신호만 스킵할 수 있게 수정부탁드립니다.