커뮤니티

질문드립니다

프로필 이미지
맘속의행복
2016-10-07 13:28:57
143
글번호 102658
답변완료
수고하십니다. 최근 예스랭귀지 수식 공부를 시작했는데 답변주시는 수식들이 큰 도움이 되고있습니다. 기초가 잡히지 전까진 질문을 종종 드려야 될 거 같습니다;; 이번 질문은 국내선물 시스템 매매 수식인데요. MACD 골든 크로스 시 매수 1) 진입 > 완성된 봉의 종가 기준 -1틱, -2틱,-3틱 1계약씩 매수(또는 2계약씩) 2) 손절 > 평균 진입가 대비 0.3 포인트 손실시 손절 3) 수익청산 > 평균 진입가 대비 0.5 포인트 수익시 1개 청산, 0.7 포인트 수익시 1개 청산, 마지막 1개는 5이평선이 10이평선 데드크로스 시 청산 4) 본청 > 수익이 0.5 포인트 이상 났다가 평균 진입가로 되돌아오면 진입가에 본청 MACD 데드 크로스 시 매도 1) 진입 > 완성된 봉의 종가 기준 +1틱, +2틱,+3틱 1계약씩 매도(또는 2계약씩) 2) 손절 > 평균 진입가 대비 0.3 포인트 손실시 손절 3) 수익청산 > 평균 진입가 대비 0.5 포인트 수익시 1개 청산, 0.7 포인트 수익시 1개 청산, 마지막 1개는 5이평선이 10이평선 골든크로스 시 청산 4) 본청 > 수익이 0.5 포인트 이상 났다가 평균 진입가로 되돌아오면 진입가에 본청 모든 포지션은 오후 3시에 강제청산 이상입니다. 좋은 주말보내세요. 감사합니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2016-10-07 15:19:38

안녕하세요 예스스탁입니다. 분할진입이므로 시스템 트레이딩 설정창의 피라미딩탭에서 다른진입신호만 허용으로 설정하고 적용하셔야 합니다. input : Short(12),Long(26),sig(9),P1(5),P2(10),vol(1); var : MACDV(0),MACDS(0),EP(0),mav1(0),mav2(0); var : Bxcond1(false),Bxcond2(false),Bxcond3(false); var : Sxcond1(false),Sxcond2(false),Sxcond3(false); MACDV = MACD(short,long); MACDS = ema(MACDV,sig); mav1 = ma(C,P1); mav2 = ma(C,P2); if crossup(MACDV,MACDS) then{ EP = C; buy("b1",atlimit,EP-PriceScale*1,vol); buy("b2",atlimit,EP-PriceScale*2,vol); buy("b3",atlimit,EP-PriceScale*3,vol); } if MarketPosition == 1 Then{ ExitLong("bl",AtStop,AvgEntryPrice-0.3); if lowest(L,BarsSinceEntry+1) > EP[BarsSinceEntry]-PriceScale*1 Then buy("b1.",atlimit,EP-PriceScale*1); if lowest(L,BarsSinceEntry+1) > EP[BarsSinceEntry]-PriceScale*2 Then buy("b2.",atlimit,EP-PriceScale*2); if lowest(L,BarsSinceEntry+1) > EP[BarsSinceEntry]-PriceScale*3 Then buy("b3.",atlimit,EP-PriceScale*3); if LatestExitName(0) == "bx1" Then Bxcond1 = true; if LatestExitName(0) == "bx2" Then Bxcond2 = true; if LatestExitName(0) == "bx3" Then Bxcond3 = true; if Bxcond1 == false Then ExitLong("bx1",atlimit,AvgEntryPrice+0.5,"",vol,1); if Bxcond2 == false Then ExitLong("bx2",atlimit,AvgEntryPrice+0.7,"",vol,1); if Bxcond3 == false and CrossDown(mav1,mav2) Then ExitLong("bx3",OnClose,def,"",vol,1); } Else{ Bxcond1 = false; Bxcond2 = false; Bxcond3 = false; } if CrossDown(MACDV,MACDS) then{ EP = C; Sell("s1",atlimit,EP+PriceScale*1,vol); Sell("s2",atlimit,EP+PriceScale*2,vol); Sell("s3",atlimit,EP+PriceScale*3,vol); } if MarketPosition == -1 Then{ ExitShort("sl",AtStop,AvgEntryPrice+0.3); if highest(H,BarsSinceEntry+1) < EP[BarsSinceEntry]+PriceScale*1 Then sell("s1.",atlimit,EP+PriceScale*1); if highest(H,BarsSinceEntry+1) < EP[BarsSinceEntry]+PriceScale*2 Then sell("s2.",atlimit,EP+PriceScale*2); if highest(H,BarsSinceEntry+1) < EP[BarsSinceEntry]+PriceScale*3 Then sell("s3.",atlimit,EP+PriceScale*3); if LatestExitName(0) == "sx1" Then Sxcond1 = true; if LatestExitName(0) == "sx2" Then Sxcond2 = true; if LatestExitName(0) == "sx3" Then Sxcond3 = true; if Sxcond1 == false Then ExitShort("sx1",atlimit,AvgEntryPrice-0.5,"",vol,1); if Sxcond2 == false Then ExitShort("sx2",atlimit,AvgEntryPrice-0.7,"",vol,1); if Sxcond3 == false and CrossUp(mav1,mav2) Then ExitShort("sx3",OnClose,def,"",vol,1); } Else{ Sxcond1 = false; Sxcond2 = false; Sxcond3 = false; } SetStopEndofday(150000); 즐거운 하루되세요 > 맘속의행복 님이 쓴 글입니다. > 제목 : 질문드립니다 > 수고하십니다. 최근 예스랭귀지 수식 공부를 시작했는데 답변주시는 수식들이 큰 도움이 되고있습니다. 기초가 잡히지 전까진 질문을 종종 드려야 될 거 같습니다;; 이번 질문은 국내선물 시스템 매매 수식인데요. MACD 골든 크로스 시 매수 1) 진입 > 완성된 봉의 종가 기준 -1틱, -2틱,-3틱 1계약씩 매수(또는 2계약씩) 2) 손절 > 평균 진입가 대비 0.3 포인트 손실시 손절 3) 수익청산 > 평균 진입가 대비 0.5 포인트 수익시 1개 청산, 0.7 포인트 수익시 1개 청산, 마지막 1개는 5이평선이 10이평선 데드크로스 시 청산 4) 본청 > 수익이 0.5 포인트 이상 났다가 평균 진입가로 되돌아오면 진입가에 본청 MACD 데드 크로스 시 매도 1) 진입 > 완성된 봉의 종가 기준 +1틱, +2틱,+3틱 1계약씩 매도(또는 2계약씩) 2) 손절 > 평균 진입가 대비 0.3 포인트 손실시 손절 3) 수익청산 > 평균 진입가 대비 0.5 포인트 수익시 1개 청산, 0.7 포인트 수익시 1개 청산, 마지막 1개는 5이평선이 10이평선 골든크로스 시 청산 4) 본청 > 수익이 0.5 포인트 이상 났다가 평균 진입가로 되돌아오면 진입가에 본청 모든 포지션은 오후 3시에 강제청산 이상입니다. 좋은 주말보내세요. 감사합니다.