커뮤니티

문의드립니다.

프로필 이미지
회원
2010-11-23 15:07:00
839
글번호 33829
답변완료
var1 = int(120/BarInterval); var2 = highest(h,var1); var3 = Lowest(L,var1); Condition1 = ExitDate(1) == sdate ; #직전청산이 당일이면 true 전일이면 false if crossup(c,var2[1]) and dayindex > var1 and stime > 110000 and stime < 150000 and asks < bids and asks < 10000 and c > Ma(c,60) and c > Ma(c,20) and Ma(c,20) > Ma(c,60) and# 직전 60분간 최고가 상향 (Condition1 == false or (Condition1 == true and BarsSinceExit(1) >= var1)) # 두번째 진입부터는 청산후 60분이후에 진입 Then { buy(); } # 매도/매수청산 if crossdown(c,Var3[1]) and dayindex > var1 and stime > 110000 and stime < 150000 and asks > bids and bids < 10000 and c < Ma(c,60) and c < Ma(c,20) and Ma(c,20) < Ma(c,60) and# 직전 60분간 최고가 상향 (Condition1 == false or (Condition1 == true and BarsSinceExit(1) >= var1)) # 두번째 진입부터는 청산후 60분이후에 진입 Then { Sell(); } If CrossUp(c, Ma(c,60)) Then { exitshort(); } If CrossDown(c, Ma(c,60)) Then { exitlong(); } -------------------------------------------------------------------------------- 위 수식은 제가 선물1분봉을 기준으로 작성을 해본것입니다. 간략히 설명을 드리면 당일 1분봉을 기준으로 120개의 봉 최고가를 넘으면 매수 후 60분이동평균선 밑으로 내려오면 매수 청산입니다. 매도도 비슷하게 120개봉의 최저가를 하향하면 매도 후 종가가 60분이동평균선 위로 올라가면 매도청산을 하는 시스템식입니다. 그런데 제가 질문을 드리고싶은것은 위 수식을 테스트를 해보면 수익이 발생하는 거래인데도 시스템포트폴리오에서는 손실로 기록이됩니다. 하도 이상해서 차트에서 진입 청산하는 시점을 하나하나 봤는데도 수익인데도 손실로 테스트가 나옵니다. 혹시나 위 수식이 뭐 잘못된점이 있는지 확인좀 해주세요~~~
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2010-11-23 17:47:48

안녕하세요 예스스탁입니다. 시스템식에서는 지정된 조건에 진입과 청산신호가 발생하므로 식에서 컨트롤 될 내용은 아닙니다. 가령 신호상 100에 매수진입후 100.05나 100.10에 청산되었는데 해당 매수거래가 손실로 리포트에 나오신 다면 수수료와 슬리피지를 살펴보셔야 합니다. 리포트의 수익은 시스템 트레이딩 설정창의 비용/수용탭에서 지정한 수수료와 슬리피지가 적용됩니다. 일반적으로 선물이면 수수료는 진입청산 모두 0.01% 슬리피지는 0.025Pt로 설정하시면 됩니다. 해당 화면을 살펴보시기 바랍니다. 해당 부분때문에 0으로 놓으시면 수수료와 슬리피지를 제외하고 신호값만으로 수익과 손실을 보실 수 있습니다. 즐거운 하루되세요 > HI_coco 님이 쓴 글입니다. > 제목 : 문의드립니다. > var1 = int(120/BarInterval); var2 = highest(h,var1); var3 = Lowest(L,var1); Condition1 = ExitDate(1) == sdate ; #직전청산이 당일이면 true 전일이면 false if crossup(c,var2[1]) and dayindex > var1 and stime > 110000 and stime < 150000 and asks < bids and asks < 10000 and c > Ma(c,60) and c > Ma(c,20) and Ma(c,20) > Ma(c,60) and# 직전 60분간 최고가 상향 (Condition1 == false or (Condition1 == true and BarsSinceExit(1) >= var1)) # 두번째 진입부터는 청산후 60분이후에 진입 Then { buy(); } # 매도/매수청산 if crossdown(c,Var3[1]) and dayindex > var1 and stime > 110000 and stime < 150000 and asks > bids and bids < 10000 and c < Ma(c,60) and c < Ma(c,20) and Ma(c,20) < Ma(c,60) and# 직전 60분간 최고가 상향 (Condition1 == false or (Condition1 == true and BarsSinceExit(1) >= var1)) # 두번째 진입부터는 청산후 60분이후에 진입 Then { Sell(); } If CrossUp(c, Ma(c,60)) Then { exitshort(); } If CrossDown(c, Ma(c,60)) Then { exitlong(); } -------------------------------------------------------------------------------- 위 수식은 제가 선물1분봉을 기준으로 작성을 해본것입니다. 간략히 설명을 드리면 당일 1분봉을 기준으로 120개의 봉 최고가를 넘으면 매수 후 60분이동평균선 밑으로 내려오면 매수 청산입니다. 매도도 비슷하게 120개봉의 최저가를 하향하면 매도 후 종가가 60분이동평균선 위로 올라가면 매도청산을 하는 시스템식입니다. 그런데 제가 질문을 드리고싶은것은 위 수식을 테스트를 해보면 수익이 발생하는 거래인데도 시스템포트폴리오에서는 손실로 기록이됩니다. 하도 이상해서 차트에서 진입 청산하는 시점을 하나하나 봤는데도 수익인데도 손실로 테스트가 나옵니다. 혹시나 위 수식이 뭐 잘못된점이 있는지 확인좀 해주세요~~~