커뮤니티

함수식 검토 부탁드립니다.

프로필 이미지
Jason
2010-08-02 12:32:58
752
글번호 31296
답변완료
var1 = BollBandDown(20,2); if TotalTrades == 0 and MarketPosition == 0 and (crossup(c,var1) or C > var1) Then buy("b"); if MarketPosition == 1 Then { if max(ma(c,3),ma(c,5)) <= min(ma(c,3),ma(c,5))*1.05 Then{ if CrossDown(c,ma(c,5)) Then exitlong(); } if max(ma(c,3),ma(c,5)) > min(ma(c,3),ma(c,5))*1.05 Then{ if CrossDown(c,ma(c,3)) Then exitlong(); } if CrossDown(c,ma(c,10)) Then exitlong(); if CrossDown(c,ma(c,20)) Then exitlong(); if CrossDown(c,ma(c,35)) Then exitlong(); } 상기 시스템식을 적용하면 진입을 못 하고 포지션 없음(하루 종일)으로 나옵니다. 다른 함수식은 정상 작동 되구요, 혹시 수식에 문제가 있는지 검토 부탁드립니다(현물기준)
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2010-08-02 15:11:25

안녕하세요? 예스스탁입니다. 작성하신 식으로 적용하시면 차트 맨 앞구간에서 신호가 한번만 나오고 그 다음부터는 나오지 않습니다. TotalTrades == 0 부분 때문입니다. totaltrades는 전체거래횟수를 의미합니다. 따라서 이 부분을 삭제하셔야 하며, 하루에 한번만 진입하도록 하는 식을 작성하시려면 아래와 같이 entriestoday함수를 이용하시면 됩니다. [사용자함수 : entriestoday] input : nDate(Numeric); var : count(0); count = 0 ; for Value1 = 0 to 10 { if EntryDate( Value1 ) == ndate then count = count + 1; } entriestoday = count; ####시스템식에서 사용예제###### //양봉매수, 음봉매도 식에서 진입회수를 당일 2회로 제한 input : N(2); if entriestoday(date) < N then { if C > O then buy(); if C < O then sell(); } > Jason 님이 쓴 글입니다. > 제목 : 함수식 검토 부탁드립니다. > var1 = BollBandDown(20,2); if TotalTrades == 0 and MarketPosition == 0 and (crossup(c,var1) or C > var1) Then buy("b"); if MarketPosition == 1 Then { if max(ma(c,3),ma(c,5)) <= min(ma(c,3),ma(c,5))*1.05 Then{ if CrossDown(c,ma(c,5)) Then exitlong(); } if max(ma(c,3),ma(c,5)) > min(ma(c,3),ma(c,5))*1.05 Then{ if CrossDown(c,ma(c,3)) Then exitlong(); } if CrossDown(c,ma(c,10)) Then exitlong(); if CrossDown(c,ma(c,20)) Then exitlong(); if CrossDown(c,ma(c,35)) Then exitlong(); } 상기 시스템식을 적용하면 진입을 못 하고 포지션 없음(하루 종일)으로 나옵니다. 다른 함수식은 정상 작동 되구요, 혹시 수식에 문제가 있는지 검토 부탁드립니다(현물기준)