커뮤니티

전략 문의드립니다.

프로필 이미지
착한이
2013-07-25 14:32:42
168
글번호 65748
답변완료
수고하십니다. 포지션전략과 데이전략을 합친 수식을 부탁드립니다. 포지션전략은 30분봉에서 이동평균 5, 20선 교차시 매수 매도의 Reverse전략입니다. 데이전략은 3분봉에서 이동평균 5, 20선 교차시 매수 매도 하되, 손절, 익절, 및 당일청산이 있습니다. 데이전략은 포지션전략의 포지션과 반대신호가 나올 경우만 실행되며(당일1회), 손익절 및 당일청산이 완료되면 곧바로 포지션전략의 원래 포지션으로 진입한 후, OverNight합니다. 감사합니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2013-07-25 16:00:40

안녕하세요 예스스탁입니다. 기본종목은 3분봉, 참조데이터(ata2)로 30분봉 데이터를 추가하신후에 식을 적용하셔야 합니다. 당일 청산후에 바로 이전 30분봉 진입포지션으로 진입해야 하므로 당일 청산함수를 사용할수 없어 if문으로 15시봉 완성시에 청산후 진입하게 작성했습니다. #주종목 3분 #참조종목 data2 30분 var : ma11(0,data2),ma12(0,data2),ma21(0,data2),ma22(0,data2),cond(false); ma11 = data1(ma(c,5)); ma12 = data1(ma(c,20)); ma21 = data2(ma(c,5)); ma22 = data2(ma(c,20)); if data1(date != date[1]) Then cond = false; if MarketPosition != 0 and (IsEntryName("매수3") or IsEntryName("매도3")) Then Cond = true; if crossup(ma21,ma22) Then buy("매수30"); if CrossDown(ma21,ma22) Then sell("매도30"); #30분봉 전략이 진입되어 있을 경우 반대시호시 하루에 한번 발생 if MarketPosition == 1 and IsEntryName("매수30") == True Then{ if CrossDown(ma11,ma12) and cond == false Then sell("매도3"); } if MarketPosition == -1 and IsEntryName("매도30") == True Then{ if CrossUp(ma22,ma12) and cond == false Then Buy("매수3"); } #매수3 진입일때만 발생 #매수청산 후에 매도로 포지션 진입 if MarketPosition == 1 Then{ if isEntryName("매수3") == true Then{ Sell("BL-sell",AtStop,EntryPrice-1); Sell("BP-Sell",AtLimit,EntryPrice+1); if stime == 150000 Then sell("Bx-sell"); } } #청산후 기존 30분봉 포지션으로 진입 #매도3 진입일때만 발생 #매도청산 후에 매수로 포지션 진입 if MarketPosition == -1 Then{ if IsEntryName("매도3") == true Then{ buy("SL-buy",AtStop,EntryPrice+1); buy("SP-buy",AtLimit,EntryPrice-1); if stime == 150000 Then buy("Sx-buy"); } } 즐거운 하루되세요 > 착한이 님이 쓴 글입니다. > 제목 : 전략 문의드립니다. > 수고하십니다. 포지션전략과 데이전략을 합친 수식을 부탁드립니다. 포지션전략은 30분봉에서 이동평균 5, 20선 교차시 매수 매도의 Reverse전략입니다. 데이전략은 3분봉에서 이동평균 5, 20선 교차시 매수 매도 하되, 손절, 익절, 및 당일청산이 있습니다. 데이전략은 포지션전략의 포지션과 반대신호가 나올 경우만 실행되며(당일1회), 손익절 및 당일청산이 완료되면 곧바로 포지션전략의 원래 포지션으로 진입한 후, OverNight합니다. 감사합니다.