커뮤니티

문의드립니다.

프로필 이미지
카르마다
2023-10-23 02:08:24
853
글번호 173273
답변완료
수고 많으십니다. "5/20선 골든(데드)클로스 + 고가와 저가 1/2선의 위((아래)" 이 2개 조건 일치시 진입하는 2계약 항셍 선물매매 시스템을 만들고자 합니다. 1. 손절은 50틱 되돌림시 1개만 청산되게. 2. 익절은 40틱이상 상승(하락)후 고점(저점)대비 20틱 하락(상승)시 1개 청산, 80틱 상승후 고점(저점)대비 40틱 하락(상승)시 또 1개 청산. 3. 진입한 신호와 반대 방향 신호(2개의 반대조건 일치)가 나오면 신호전환과 동시에 1개든 2개든 남은 계약은 무조건 전량 청산후 반대방향으로 2개 진입한다. 4. 만일 진입후 손절, 익절이 되어 2계약이 모두 청산되었는데 2개 조건이 아직도 같은 방향으로 조건 일치된 상태에 있다면 이런 경우에는 아래의 로직이 별도로 적용되길 원합니다. 기존 2개 조건 일치인 "5/20선 골든(데드)클로스 + 고가와 저가 1/2선 위(아래)" 조건 일치가 아닌 "5/20선 골든(데드)클로스 + 고가와 저가 1/2선 돌파(이탈)" 만족시만 같은 방향 신호가 나오게 부탁드립니다. 이때 돌파(이탈)은 1/2선을 10틱이상(이하) 아래(위)로 내려왔다가 10틱이상 위(아래)로 가는 것을 의미합니다. 5. 10시 15분부터 17시까지 거래되는 시간수식을 기본으로 하되 10시 15분 개장시 이전 종가대비 50틱이상 갭상승(하락)으로 출발한 경우에는 10시 30분부터 신호가 나오게 하고, 100틱이상 갭상승(하락)으로 출발한 경우에는 11시 30분부터 신호가 나오게 부탁드립니다! 늘 노고에 감사드립니다~
시스템
답변 2
프로필 이미지

예스스탁 예스스탁 답변

2023-10-25 15:37:38

안녕하세요 예스스탁입니다. input : P1(5),P2(20); var : ST(0),mav1(0),mav2(0),DH(0),DL(0),DM(0),entry(0); mav1 = ma(C,P1); mav2 = ma(C,P2); if (sdate != sdate[1] and stime >= 101500) or (sdate == sdate[1] and stime >= 101500 and stime[1] < 101500) Then { DH = H; DL = L; ST = 101500; entry = 0; if abs(O-C[1]) >= PriceScale*50 Then ST = 103000; if abs(O-C[1]) >= PriceScale*100 Then ST = 113000; } if sTime >= 101500 and sTime < 170000 Then { if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or (MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then entry = entry+1; if H > DH Then DH = H; if L < DL Then DL = L; DM = (DH+DL)/2; if sTime >= ST Then { if MarketPosition <= 0 and CrossUp(mav1,mav2) and C > DM Then { Buy("b1",OnClose,Def,2); } if MarketPosition >= 0 and CrossDown(mav1,mav2) and C < DM Then { Sell("s1",OnClose,Def,2); } if MarketPosition == 0 and entry >= 1 then { if MarketPosition(1) == 1 and CountIf(L<=DM-PriceScale*10,BarsSinceEntry(1)) >= 1 and mav1 > mav2 and C > DM Then Buy("b2",OnClose,Def,2); if MarketPosition(1) == -1 and CountIf(H>=DM+PriceScale*10,BarsSinceEntry(1)) >= 1 and mav1 < mav2 and C < DM Then Sell("s2",OnClose,Def,2); } if MarketPosition == 1 Then { ExitLong("bl",AtStop,EntryPrice-PriceScale*50); if CurrentContracts == MaxContracts Then { if highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*40 Then Exitlong("bp1",AtStop,highest(H,BarsSinceEntry)-PriceScale*20,"",1,1); } Else { if highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*80 Then Exitlong("bp2",AtStop,highest(H,BarsSinceEntry)-PriceScale*40); } } if MarketPosition == -1 Then { ExitShort("sl",AtStop,EntryPrice+PriceScale*50); if CurrentContracts == MaxContracts Then { if lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*40 Then ExitShort("sp1",AtStop,lowest(L,BarsSinceEntry)+PriceScale*20,"",1,1); } Else { if lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*80 Then ExitShort("sp2",AtStop,lowest(L,BarsSinceEntry)+PriceScale*40); } } } } SetStopEndofday(170000); 즐거운 하루되세요 > 카르마다 님이 쓴 글입니다. > 제목 : 문의드립니다. > 수고 많으십니다. "5/20선 골든(데드)클로스 + 고가와 저가 1/2선의 위((아래)" 이 2개 조건 일치시 진입하는 2계약 항셍 선물매매 시스템을 만들고자 합니다. 1. 손절은 50틱 되돌림시 1개만 청산되게. 2. 익절은 40틱이상 상승(하락)후 고점(저점)대비 20틱 하락(상승)시 1개 청산, 80틱 상승후 고점(저점)대비 40틱 하락(상승)시 또 1개 청산. 3. 진입한 신호와 반대 방향 신호(2개의 반대조건 일치)가 나오면 신호전환과 동시에 1개든 2개든 남은 계약은 무조건 전량 청산후 반대방향으로 2개 진입한다. 4. 만일 진입후 손절, 익절이 되어 2계약이 모두 청산되었는데 2개 조건이 아직도 같은 방향으로 조건 일치된 상태에 있다면 이런 경우에는 아래의 로직이 별도로 적용되길 원합니다. 기존 2개 조건 일치인 "5/20선 골든(데드)클로스 + 고가와 저가 1/2선 위(아래)" 조건 일치가 아닌 "5/20선 골든(데드)클로스 + 고가와 저가 1/2선 돌파(이탈)" 만족시만 같은 방향 신호가 나오게 부탁드립니다. 이때 돌파(이탈)은 1/2선을 10틱이상(이하) 아래(위)로 내려왔다가 10틱이상 위(아래)로 가는 것을 의미합니다. 5. 10시 15분부터 17시까지 거래되는 시간수식을 기본으로 하되 10시 15분 개장시 이전 종가대비 50틱이상 갭상승(하락)으로 출발한 경우에는 10시 30분부터 신호가 나오게 하고, 100틱이상 갭상승(하락)으로 출발한 경우에는 11시 30분부터 신호가 나오게 부탁드립니다! 늘 노고에 감사드립니다~
프로필 이미지

카르마다

2023-10-25 12:38:28

카르마다 님에 의해 삭제된 답변입니다.