커뮤니티

문의드립니다.

프로필 이미지
웹피
2018-01-10 05:42:23
191
글번호 115604
답변완료
추운날씨에 고생많으십니다. 아래와 같은 조건의 수식 좀 부탁드립니다. 1.진입조건(현재 5분봉차트에서 60분봉차트의 5일선,20일선,50일선의 정배열,역배열 조건활용) 매수진입 : 현재 5분봉 차트에서 10일선,30일선,60일선이 정배열이면 매수진입을 하는데 동시에 60분봉차트의 5일선,20일선,50일선이 정배열 이어야만 매수진입 가능함 (매도진입은 반대로) , 2계약 진입 2.청산/손절 청산 : 10틱수익에서 1계약 청산하고 남은 1계약은 손절가를 처음 손절가의 절반 위치로 이동하여 반절만 건후 10일선이 60일선을 데드크로스 하면 청산. 손절 : -30틱 손절 3.질문 한가지 질문 좀 드립니다. 모의계좌로 자동매매를 돌려봤는데요, 진입신호가 완성되었는데 어쩔땐 진입하고 어쩔땐 진입을 안하던데 이유가 뭔지 모르겠습니다. 체결은 물론 접수조차 안하는 경우가 있습니다. 시스템트레이딩 설정창에서는 수수료만 설정해주고 나머지는 기본설정값을 그대로 사용했습니다. 그리고 또 다른 경우엔 진입신호가 완성되었는데 접수창만 뜨고 체결이 되지 않고 남아있는데 이유가 무엇인지 모르겠습니다. 신호완성되면 접수 단계 없이 곧바로 체결되도록 할 수는 없는지요? 실투에서도 이렇게되면 큰 낭패라 명쾌한 답변 부탁드립니다. 감사합니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2018-01-10 15:16:47

안녕하세요 예스스탁입니다. 1 input : ntime1(60),L1(10),L2(30),L3(60),P1(5),P2(20),P3(50); var : S1(0),D1(0),TM(0),TF(0); var : cnt(0),sum1(0),mav1(0),sum2(0),mav2(0),sum3(0),mav3(0); Array : C1[100](0); var1 = ma(c,L1); var2 = ma(c,L2); var3 = ma(c,L3); if Bdate != Bdate[1] Then{ S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then{ if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF = TM%ntime1; if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then { for cnt = 1 to 49 { C1[cnt] = C1[cnt-1][1]; } } C1[0] = C; if C1[P3] > 0 then{ sum1 = 0; sum2 = 0; sum3 = 0; for cnt = 0 to P3-1{ if cnt < P1 then sum1 = sum1+C1[cnt]; if cnt < P2 then sum2 = sum2+C1[cnt]; if cnt < P3 then sum3 = sum3+C1[cnt]; } mav1 = sum1/P1; mav2 = sum2/P2; mav3 = sum3/P3; if mav1 > mav2 and mav2 > mav3 and var1 > var2 and var2 > var3 Then buy("b",OnClose,def,2); if mav1 < mav2 and mav2 < mav3 and var1 < var2 and var2 < var3 Then sell("s",OnClose,def,2); } } if MarketPosition == 1 Then{ if CurrentContracts == MaxContracts Then{ ExitLong("BP",AtLimit,EntryPrice+PriceScale*10,"",1,1); exitlong("BL1",AtStop,EntryPrice-PriceScale*30); } Else{ exitlong("BL2",AtStop,EntryPrice-PriceScale*15); if CrossDown(var1,var3) Then exitlong("bx"); } } if MarketPosition == -1 Then{ if CurrentContracts == MaxContracts Then{ ExitShort("SP",AtLimit,EntryPrice-PriceScale*10,"",1,1); ExitShort("SL1",AtStop,EntryPrice+PriceScale*30); } Else{ ExitShort("SL2",AtStop,EntryPrice+PriceScale*15); if CrossUp(var1,var3) Then ExitShort("sx"); } } 2 시스템은 신호와 주문을 처리하는 것까지만 담당합니다. 주문이 발생해서 원장에서 거부가 발생하거나 접수이후에 미체결되는 것은 수식내부에서 알수가 없습니다. 주문 내실때 모&#51057;투자라도 증거금등이 부족하게 되면 접수가 거부될수 있습니다. 접수 이후에 미체결은 따로 처리불가능한 부분입니다. 서정창에서 매매가격을 체결이 빨리 될수 있도록 현재가+-5호가로 지정해서 주고 적용하시기 바랍니다. 즐거운 하루되세요 > 웹피 님이 쓴 글입니다. > 제목 : 문의드립니다. > 추운날씨에 고생많으십니다. 아래와 같은 조건의 수식 좀 부탁드립니다. 1.진입조건(현재 5분봉차트에서 60분봉차트의 5일선,20일선,50일선의 정배열,역배열 조건활용) 매수진입 : 현재 5분봉 차트에서 10일선,30일선,60일선이 정배열이면 매수진입을 하는데 동시에 60분봉차트의 5일선,20일선,50일선이 정배열 이어야만 매수진입 가능함 (매도진입은 반대로) , 2계약 진입 2.청산/손절 청산 : 10틱수익에서 1계약 청산하고 남은 1계약은 손절가를 처음 손절가의 절반 위치로 이동하여 반절만 건후 10일선이 60일선을 데드크로스 하면 청산. 손절 : -30틱 손절 3.질문 한가지 질문 좀 드립니다. 모의계좌로 자동매매를 돌려봤는데요, 진입신호가 완성되었는데 어쩔땐 진입하고 어쩔땐 진입을 안하던데 이유가 뭔지 모르겠습니다. 체결은 물론 접수조차 안하는 경우가 있습니다. 시스템트레이딩 설정창에서는 수수료만 설정해주고 나머지는 기본설정값을 그대로 사용했습니다. 그리고 또 다른 경우엔 진입신호가 완성되었는데 접수창만 뜨고 체결이 되지 않고 남아있는데 이유가 무엇인지 모르겠습니다. 신호완성되면 접수 단계 없이 곧바로 체결되도록 할 수는 없는지요? 실투에서도 이렇게되면 큰 낭패라 명쾌한 답변 부탁드립니다. 감사합니다.