커뮤니티
진입 제한
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틱이상 큰 움직임이 있을 때 바로 이어지는 첫번째 신호만 스킵할 수 있게
수정부탁드립니다.
이전글