커뮤니티

문의

프로필 이미지
털보
2008-01-23 09:09:48
909
글번호 14478
답변완료
타사이트에서 퍼온건데요. 읽어보시고 5/20 크로스를 기준으로 해서 시스템으로 변환을 부탁 드립니다 //********************************** 함수명 : HighLowFilter Input : FilterPrd(NumericSimple), AvgPeriod(NumericSimple); Variables: hp(0), lp(0); hp = highest(c,FilterPrd); lp = lowest(c,FilterPrd); HighLowFilter=(AverageFC(c,avgPeriod)-lp)/(hp-lp)*100 기본 개념은 일정 기간 동안의 최고가와 최저가를 구하고, 또 다른 기간 동안의 이동평균을 구해서 이평의 상대적 위치를 구하자는 것입니다. 만일 이 값이 100이되면, 현재 이동평균이 FilterPrd 동안의 최고가에 위치한다는 거고, 0이 되면 최저가에 위치한다는 것입니다. 이렇게 극단값을 갖는 경우는 현실적으로 불가능할 거고, 만일 가격이 고점에서 오래 머무르게 된다면 100에 가까운 값을 가질거고, 저점에서 오래 머무르게 된다면 0에 가까운 값을 갖는다는 거죠. 이 값이 0이나 100에 가까운 값을 가질때에 후행성을 갖는 지표로 매매를 하게 되면 위험하다고 생각한 것입니다. 우선 보통 단기 추세가 2일에서 2일 반정도 진행된다고 가정하고 최고가와 최저가를 구하는 기간은 150으로 잡았구요(2일을 풀로 잡고, 전일 종가 부근의 데이터를 약간 고려하는 정도의 길이입니다). 이동 평균을 구하는 기간은 20봉으로 잡았습니다. 5분봉 기준으로 만들었기 때문에, 분단위가 달라지면, 변수도 달라져야 할 것입니다. 이렇게 해서 매수의 경우에는 SafetyBuy = HighLowFilter(150, 20) > MinBuyValue And HighLowFilter(150, 20) < MaxBuyValue 가 만족할 때에만 진입을 하고, 매도의 경우에는 SafetySell = HighLowFilter(150, 20) > MinSellValue And HighLowFilter(150, 20) < MaxSellValue 가 만족할 경우에만 진입을 하게됩니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2008-01-23 11:11:45

안녕하세요 예스스탁입니다. HighLowFilter부분을 5/20값 2개로 작성했습니다. 움직임은 이동평균과 같고 그 수준을 나타내는 지표이므로 골든 데드시 주거 어느 수준에서 위치하는지 수준을 정하시면 될거 같습니다. Input : FilterPrd(150), AvgPeriod1(5),AvgPeriod2(20); Variables: hp(0),lp(0),HighLowFilter1(0),HighLowFilter2(0); var1 = highest(c,FilterPrd); var2 = lowest(c,FilterPrd); HighLowFilter1=(MA(c,avgPeriod1)-var2)/(var1-var2)*100; //5이평 HighLowFilter2=(MA(c,avgPeriod2)-var2)/(var1-var2)*100; //20이평 if crossup(ma(c,5),ma(c,20)) and HighLowFilter1 < 20 And HighLowFilter1 < 20 Then buy("SafetyBuy"); if crossdown(ma(c,5),ma(c,20)) and HighLowFilter1 > 80 And HighLowFilter2 > 80 Then sell("SafetySell"); 즐거운 하루되세요 > 털보 님이 쓴 글입니다. > 제목 : 문의 > 타사이트에서 퍼온건데요. 읽어보시고 5/20 크로스를 기준으로 해서 시스템으로 변환을 부탁 드립니다 //********************************** 함수명 : HighLowFilter Input : FilterPrd(NumericSimple), AvgPeriod(NumericSimple); Variables: hp(0), lp(0); hp = highest(c,FilterPrd); lp = lowest(c,FilterPrd); HighLowFilter=(AverageFC(c,avgPeriod)-lp)/(hp-lp)*100 기본 개념은 일정 기간 동안의 최고가와 최저가를 구하고, 또 다른 기간 동안의 이동평균을 구해서 이평의 상대적 위치를 구하자는 것입니다. 만일 이 값이 100이되면, 현재 이동평균이 FilterPrd 동안의 최고가에 위치한다는 거고, 0이 되면 최저가에 위치한다는 것입니다. 이렇게 극단값을 갖는 경우는 현실적으로 불가능할 거고, 만일 가격이 고점에서 오래 머무르게 된다면 100에 가까운 값을 가질거고, 저점에서 오래 머무르게 된다면 0에 가까운 값을 갖는다는 거죠. 이 값이 0이나 100에 가까운 값을 가질때에 후행성을 갖는 지표로 매매를 하게 되면 위험하다고 생각한 것입니다. 우선 보통 단기 추세가 2일에서 2일 반정도 진행된다고 가정하고 최고가와 최저가를 구하는 기간은 150으로 잡았구요(2일을 풀로 잡고, 전일 종가 부근의 데이터를 약간 고려하는 정도의 길이입니다). 이동 평균을 구하는 기간은 20봉으로 잡았습니다. 5분봉 기준으로 만들었기 때문에, 분단위가 달라지면, 변수도 달라져야 할 것입니다. 이렇게 해서 매수의 경우에는 SafetyBuy = HighLowFilter(150, 20) > MinBuyValue And HighLowFilter(150, 20) < MaxBuyValue 가 만족할 때에만 진입을 하고, 매도의 경우에는 SafetySell = HighLowFilter(150, 20) > MinSellValue And HighLowFilter(150, 20) < MaxSellValue 가 만족할 경우에만 진입을 하게됩니다.