커뮤니티

분할매수매도

프로필 이미지
미수예스
2014-12-15 12:34:15
167
글번호 81304
답변완료
안녕하십니까. 아래내용 부탁드려요 적용차트 일봉이며 (주차트, Data2, Data3모두 일봉) 전일의 조건에 의해 당일시가에 진입 매수 : 주차트 5일선상승변곡 + Data2양봉(A값이상) + Data3양봉(B값이상) 매도 : 주차트 5일선하락변곡 + Data2음봉(C값이상) + Data3음봉(D값이상 분할매수 분할매도방식으로 진입하려합니다. 총투자금액 10,000,000만원 매수,매도 모두 한번거래시 총투자금액의 20%씩 거래, 매수만 한다고 가정하면 총 5회가능하지만 중간에 스위칭되므로 즉 매수,매수,매수면 => 3회 ,60%매수 매수,매도,매수면 => 1회 ,20%매수 매도,매수,매도면 => -1회 ,20%매도 1. 주식일 경우는 매수부터 시작 (매도는 분할청산의 개념) 2. 주식선물의 경우는 매도부터 시작도 가능 (순수매도포지선도 보유) 매수분이 있을경우에는 포지션을 분할청산한 후에 매도포지션을 늘려가는 개념. (매수분 40% --> 매도분 20% 이런식으로 바로 스위칭이 아니라.. 즉 보유분이 이렇게 +40% --> +20 --> 0 --> -20% 되도록) 레버리지를 고려해서 조정하는 변수도 포함부탁드립니다. 감사합니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2014-12-15 14:21:53

안녕하세요 예스스탁입니다. 문의하신 내용 분할횟수에 따라 나열해서 작성해야 합니다. 진입수량이 유동적이고 진입수량이 모두 청산되지 않으면 다음 진입이 들어가지 않으므로 횟수별로 나열해 작성해야 합니다. 총투자금액 대비 20%이므로 최대 5회까지 진입하는 것으로 작성해 드립니다. 그러므로 따로 보유분의 외부변순는 처리하지 않습니다. input : 총투자금액(10000000); var : mav(0,data1),Vol(0,data1),Bcond(false,data1),Scond(false,data1); if CodeCategoryEx == 11 and BasePrice < 50000 Then vol = int(int((총투자금액*0.20)/C)/10)*10; Else vol = int((총투자금액*0.20)/C); mav = data1(ma(c,5)); Bcond = mav > mav[1] and mav[1] < mav[2] And data2(C>O and C > A값) and data3(C>O and C > B값); Scond = mav < mav[1] and mav[1] > mav[2] And data2(C<O and C > C값) and data3(C<O and C > D값); if Bcond == true Then{ if MarketPosition == 0 Then buy("b1",AtMarket,def,vol); if MarketPosition == 1 and MaxEntries == 1 Then buy("b2",AtMarket,def,Vol); if MarketPosition == 1 and MaxEntries == 2 Then buy("b3",AtMarket,def,Vol); if MarketPosition == 1 and MaxEntries == 3 Then buy("b4",AtMarket,def,Vol); if MarketPosition == 1 and MaxEntries == 4 Then buy("b5",AtMarket,def,Vol); if MarketPosition == -1 and countif(Bcond == true,BarsSinceEntry) == 1 Then ExitShort("sx1",OnClose,def,"s1"); if MarketPosition == -1 and countif(Bcond == true,BarsSinceEntry) == 2 Then ExitShort("sx2",OnClose,def,"s2"); if MarketPosition == -1 and countif(Bcond == true,BarsSinceEntry) == 3 Then ExitShort("sx3",OnClose,def,"s3"); if MarketPosition == -1 and countif(Bcond == true,BarsSinceEntry) == 4 Then ExitShort("sx4",OnClose,def,"s4"); if MarketPosition == -1 and countif(Bcond == true,BarsSinceEntry) == 5 Then ExitShort("sx5",OnClose,def,"s5"); } if Scond == true Then{ if MarketPosition == 0 Then sell("s1",AtMarket,def,vol); if MarketPosition == -1 and MaxEntries == 1 Then sell("s2",AtMarket,def,vol); if MarketPosition == -1 and MaxEntries == 1 Then sell("s3",AtMarket,def,vol); if MarketPosition == -1 and MaxEntries == 1 Then sell("s4",AtMarket,def,vol); if MarketPosition == -1 and MaxEntries == 1 Then sell("s5",AtMarket,def,vol); if MarketPosition == 1 and countif(Scond == true,BarsSinceEntry) == 1 Then exitlong("bx1",OnClose,def,"b1"); if MarketPosition == 1 and countif(Scond == true,BarsSinceEntry) == 1 Then exitlong("bx2",OnClose,def,"b2"); if MarketPosition == 1 and countif(Scond == true,BarsSinceEntry) == 1 Then exitlong("bx3",OnClose,def,"b3"); if MarketPosition == 1 and countif(Scond == true,BarsSinceEntry) == 1 Then exitlong("bx4",OnClose,def,"b4"); if MarketPosition == 1 and countif(Scond == true,BarsSinceEntry) == 1 Then exitlong("bx5",OnClose,def,"b5"); } 즐거운 하루되세요 > 미수예스 님이 쓴 글입니다. > 제목 : 분할매수매도 > 안녕하십니까. 아래내용 부탁드려요 적용차트 일봉이며 (주차트, Data2, Data3모두 일봉) 전일의 조건에 의해 당일시가에 진입 매수 : 주차트 5일선상승변곡 + Data2양봉(A값이상) + Data3양봉(B값이상) 매도 : 주차트 5일선하락변곡 + Data2음봉(C값이상) + Data3음봉(D값이상 분할매수 분할매도방식으로 진입하려합니다. 총투자금액 10,000,000만원 매수,매도 모두 한번거래시 총투자금액의 20%씩 거래, 매수만 한다고 가정하면 총 5회가능하지만 중간에 스위칭되므로 즉 매수,매수,매수면 => 3회 ,60%매수 매수,매도,매수면 => 1회 ,20%매수 매도,매수,매도면 => -1회 ,20%매도 1. 주식일 경우는 매수부터 시작 (매도는 분할청산의 개념) 2. 주식선물의 경우는 매도부터 시작도 가능 (순수매도포지선도 보유) 매수분이 있을경우에는 포지션을 분할청산한 후에 매도포지션을 늘려가는 개념. (매수분 40% --> 매도분 20% 이런식으로 바로 스위칭이 아니라.. 즉 보유분이 이렇게 +40% --> +20 --> 0 --> -20% 되도록) 레버리지를 고려해서 조정하는 변수도 포함부탁드립니다. 감사합니다.