커뮤니티

질문있습니다

프로필 이미지
모모아찌
2010-11-18 13:27:56
640
글번호 33715
답변완료
항상 수고가 만땅이십니당~^^ 당일매매에서 손절후 한번이나 두번의 매매를 건너뛰려합니다 예를 들어 이평서매매이면 (5.20) stoploss(0.5) 스탑로스후 매수였으면 매도를 건너뛰고 매수진입 (crossdown건너뛰고그다음crossup에진입)이랑 매수였으면 두번건너뛰고 매도신호나왔을때 진입 (cross 두번이후 매도진입) 의 식을 나눠서 부탁드립니다
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2010-11-18 15:49:48

안녕하세요 예스스탁입니다. Input : shortPeriod(5), longPeriod(20); var : cnt(0),count(0); value1 = ma(C, shortPeriod); value2 = ma(C, longPeriod); count = 0; for cnt = 0 to 20{ if sDate == EntryDate(cnt) Then count = count+1; } if count == 0 Then{#당일 첫진입 If CrossUP(value1, value2) Then { Buy("buy1"); } If CrossDown(value1, value2) Then { Sell("sell1"); } } if count > 0 Then{#당일 첫진입 이후 #손절상황이 아니면 이평 골든데드로 기존과 같이 진입청산 If MarketPosition == -1 and CrossUP(value1, value2) Then { Buy("buy2"); } If MarketPosition == 1 and CrossDown(value1, value2) Then { Sell("sell2"); } # 무포지션 상태일때 #case1 #무포지션이지만 직전청산이 손절이 아닌경우 if MarketPosition == 0 and IsExitName("StopLoss",1) == False Then{ If CrossUP(value1, value2) Then { Buy("buy3"); } If CrossDown(value1, value2) Then { Sell("sell3"); } } #case2 #무포지션이고 직전청산이 손절인 경우 if MarketPosition == 0 and IsExitName("StopLoss",1) == true Then{ If MarketPosition(1) == 1 and countif(CrossDown(value1,value2),BarsSinceExit(1)) >= 1 And CrossUP(value1, value2) Then { # 직전포지션이 매수라면 크로스다운 1회이후 크로스업일경우 매수 Buy("buy4"); } If MarketPosition(1) == 1 and CrossDown(value1, value2) and countif(CrossDown(value1, value2),BarsSinceExit(1)) == 2 Then {#직전포지션이 매수라면 크로스다운이 2회 발생일때 매도(교차이므로 크로스 다운 사이에 크로스업은 따로 언급이 없어도 됩니다.) Sell("sell4"); } } } SetStopLoss(0.5,PointStop); 즐거운 하루되세요 > 모모아찌 님이 쓴 글입니다. > 제목 : 질문있습니다 > 항상 수고가 만땅이십니당~^^ 당일매매에서 손절후 한번이나 두번의 매매를 건너뛰려합니다 예를 들어 이평서매매이면 (5.20) stoploss(0.5) 스탑로스후 매수였으면 매도를 건너뛰고 매수진입 (crossdown건너뛰고그다음crossup에진입)이랑 매수였으면 두번건너뛰고 매도신호나왔을때 진입 (cross 두번이후 매도진입) 의 식을 나눠서 부탁드립니다