커뮤니티

시스템 작성 도움 부탁드립니다.

프로필 이미지
nh투자파도
2016-12-04 10:16:15
116
글번호 104601
답변완료
안녕하세요, 시스템작성을 부탁드리려고 글을 남깁니다. 개인적인 지표를 사용하는데 특정일 부터 주가를 저점/고점을 5등분하는 지표를 사용하고자 합니다. 적용 차트는 30분 차트입니다. 지표부분 고점 : 20일간 고점 저점 : 20일간 저점 1칸간격 : (20일간 고점 - 20일간 저점) / 5 시스템적용시점 최근 20일 신고가 / (일봉기준) 전일 고점대비 당일 고점이 5% 이상 (일봉기준) 거래량이 5일 평균 대비 100% 이상 시스템적용조건을 만족하고, 5등분의 1칸 간격이 3% 이상이면, 매수 : 2번째, 3번재 분할선에서 매수 매도 : 매수 이수 저점 대비 1칸 간격만큼 상승하면 매도 (매도1) 새로 시스템적용조건이 나타나지 않고, 이전 매도가 매도1 이면, 매수 : 3번째, 4번재 분할선에서 매수 매도 : 매수 이수 저점 대비 1칸 간격만큼 상승하면 매도 (매도2) 5등분의 1칸 간격이 3% 이하이면, 매수 : 3번째, 4번재 분할선에서 매수 매도 : 매수 이후 저점 대비 1칸 간격만큼 상승하면 매도 (매도1) 새로 시스템적용조건이 나타나지 않고, 이전 매도가 매도1 이면, 매수 : 4번째, 5번재 분할선에서 매수 매도 : 매수 이후 저점 대비 1칸 간격만큼 상승하면 매도 (매도2) 30분봉상 360선 이탈하면 매수 중지하고, 매도만 감시 그리고 질문이 2가지 있습니다. 제가 30분봉 차트에서 위와 같은 식을 구현해보려고 했는데, 이전 고점대비 수식을 작성하면 30분봉에서 이전 고점/현고점을 비교하여서 시스템적용이 되어 어떻게 하면 되는지 문의드립니다. 가끔 매도이후 바로 매수가 들어가는 부분들이 보여 이부분을 어떻게 잡아야 하는지도 궁금합니다. marketposition 함수를 쓰다보면 그런 상황이 나타나는것 같은데, 원인을 정확하게 찾지 못해서 이부분도 도움 부탁드립니다. 감사합니다!
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2016-12-05 15:57:14

안녕하세요 예스스탁입니다. 아래식 참고하셔서 수정보완해 사용하시기 바랍니다. 라인의 순서는 불명확하여 상단부터 하단으로 차례로 1~6번입니다. 반대이면 h1 = LL; H2 = LL+DD*1; h3 = LL+DD*2; h4 = LL+DD*3; h5 = LL+DD*4; H6 = HH; 위와 같이 수정하시면 됩니다. input : N1(20),N2(5),Vper(100); var : cnt(0),HH(0),LL(0),DD(0); var : sum(0),mav(0),H1(0),H2(0),H3(0),H4(0),H5(0),H6(0); HH = dayhigh(1); LL = daylow(1); for cnt = 1 to N1{ if dayhigh(cnt) > HH Then HH = dayhigh(cnt); if DayLow(cnt) < LL Then LL = DayLow(cnt); } DD = (HH-LL)/5; sum = 0; for cnt = 1 to N2{ sum = sum + DayVolume(cnt); } mav = sum/n2; h1 = hh; H2 = hh-DD*1; h3 = hh-DD*2; h4 = hh-DD*3; h5 = hh-DD*4; H6 = LL; #적용조건 Condition1 = dayhigh >= dayhigh(1)*1.05 and DayVolume >= mav*(1+Vper/100); #적용조건 만족 if Condition1 == true and MarketPosition == 0 and TotalTrades == TotalTrades[1] Then{ #1칸 간격이 종가대비 3% 이상 if DD >= C*0.03 then{ #H2와 H3 상향돌파하시 매수 IF CrossUp(C,H2) OR CROSSUP(c,H3) Then BUY("B1"); } #1칸 간격이 종가대비 3% 미만 if DD < C*0.03 then{ #H3와 H4 상향돌파하시 매수 IF CrossUp(C,H3) OR CROSSUP(c,H4) Then BUY("B2"); } } #적용조건 불만족 if Condition1 == False and MarketPosition == 0 and TotalTrades == TotalTrades[1] and IsExitName("매도1",1) == true then{ #1칸 간격이 종가대비 3% 이상 if DD >= C*0.03 then{ #H3와 H4 상향돌파하시 매수 IF CrossUp(C,H3) OR CROSSUP(c,H4) Then BUY("B3"); } #1칸 간격이 종가대비 3% 미만 if DD < C*0.03 then{ #H3와 H4 상향돌파하시 매수 IF CrossUp(C,H4) OR CROSSUP(c,H5) Then BUY("B4"); } } if MarketPosition == 1 Then{ if IsEntryName("B1") or IsEntryName("B3") Then ExitLong("매도1",AtLimit,lowest(L,BarsSinceEntry)+DD); if IsEntryName("B2") or IsEntryName("B4") Then ExitLong("매도2",AtLimit,lowest(L,BarsSinceEntry)+DD); } 즐거운 하루되세요 > nh투자파도 님이 쓴 글입니다. > 제목 : 시스템 작성 도움 부탁드립니다. > 안녕하세요, 시스템작성을 부탁드리려고 글을 남깁니다. 개인적인 지표를 사용하는데 특정일 부터 주가를 저점/고점을 5등분하는 지표를 사용하고자 합니다. 적용 차트는 30분 차트입니다. 지표부분 고점 : 20일간 고점 저점 : 20일간 저점 1칸간격 : (20일간 고점 - 20일간 저점) / 5 시스템적용시점 최근 20일 신고가 / (일봉기준) 전일 고점대비 당일 고점이 5% 이상 (일봉기준) 거래량이 5일 평균 대비 100% 이상 시스템적용조건을 만족하고, 5등분의 1칸 간격이 3% 이상이면, 매수 : 2번째, 3번재 분할선에서 매수 매도 : 매수 이수 저점 대비 1칸 간격만큼 상승하면 매도 (매도1) 새로 시스템적용조건이 나타나지 않고, 이전 매도가 매도1 이면, 매수 : 3번째, 4번재 분할선에서 매수 매도 : 매수 이수 저점 대비 1칸 간격만큼 상승하면 매도 (매도2) 5등분의 1칸 간격이 3% 이하이면, 매수 : 3번째, 4번재 분할선에서 매수 매도 : 매수 이후 저점 대비 1칸 간격만큼 상승하면 매도 (매도1) 새로 시스템적용조건이 나타나지 않고, 이전 매도가 매도1 이면, 매수 : 4번째, 5번재 분할선에서 매수 매도 : 매수 이후 저점 대비 1칸 간격만큼 상승하면 매도 (매도2) 30분봉상 360선 이탈하면 매수 중지하고, 매도만 감시 그리고 질문이 2가지 있습니다. 제가 30분봉 차트에서 위와 같은 식을 구현해보려고 했는데, 이전 고점대비 수식을 작성하면 30분봉에서 이전 고점/현고점을 비교하여서 시스템적용이 되어 어떻게 하면 되는지 문의드립니다. 가끔 매도이후 바로 매수가 들어가는 부분들이 보여 이부분을 어떻게 잡아야 하는지도 궁금합니다. marketposition 함수를 쓰다보면 그런 상황이 나타나는것 같은데, 원인을 정확하게 찾지 못해서 이부분도 도움 부탁드립니다. 감사합니다!