커뮤니티

특정시간 분할매수, 분할매도... 부탁드립니다.

프로필 이미지
시골뜨기
2013-01-07 02:04:28
462
글번호 57855
답변완료
안녕하세요 현물을 시스템으로 적용해보고 싶어 주말내내 열공해 보았으나 한계에 부딪혀 문의드립니다. 제가 구현해보고 싶은거는 현물을 특정시간대에 분할매수, 분할매도 하는건데요 일단 제가 stime, buy, exitlong로 만들어 봤으나 분할매수는 되는데 매도는 한번에 되네요. 쩝~ 아래와 같이 구현해보고 싶습니다. ㅁ분할매수 1. 12:30분 매수, 신호명 B1, 신호타입 및 가격조건 없음, 수량 100주 2. 13:00분 매수, 신호명 B2, 신호타입 및 가격조건 없음, 수량 100주 3. 13:30분 매수, 신호명 B3, 신호타입 및 가격조건 없음, 수량 100주 ㅁ분할매도 1. 14:00분 매도, 신호명 BX1, 신호타입 및 가격조건 없음, B1 매도, 수량 100주 2. 14:30분 매도, 신호명 BX2, 신호타입 및 가격조건 없음, B2 매도, 수량 100주 3. 14:45분 매도, 신호명 BX3, 신호타입 및 가격조건 없음, B3 매도, 수량 100주 질문) 1. 염치불구하고 오로지 특정시간에 의한 분할매수, 매도 시스템식 부탁드립니다. 2. 매수 및 매도 수량을 가능금액의 40%(최초대비 40%), 남은 금액의 50%(최초대비 30%), 남은금액 전부(최초대비 30%)로 수량이 아닌 비율로 구현하는 법 3. 분할매도의 3번만을 다음날 아침 09:05분에 매도하는 법 감은 오는데 구현이 안되니 답답할 뿐이네요. 부탁드립니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2013-01-07 18:07:18

안녕하세요 예스스탁입니다. 청산함수의 진입이름만 넣으시면 각 진입명의 신호에서 들어간 수량만큼만 청산됩니다. 1. if stime == 123000 Then buy("b1",OnClose,def,100); if stime == 130000 Then buy("b2",OnClose,def,100); if stime == 133000 Then buy("b3",OnClose,def,100); if MarketPosition == 1 Then{ if stime == 140000 Then ExitLong("bx1",OnClose,def,"b1"); if stime == 143000 Then ExitLong("bx2",OnClose,def,"b2"); if stime == 144500 Then ExitLong("bx3",OnClose,def,"b3"); } 2. input : 투입금액(10000000); if CodeCategory == 1 then { if BasePrice < 50000 Then { Var1 = int(int((투입금액*0.4)/C)/10)*10; Var2 = int(int((투입금액*0.3)/C)/10)*10; Var3 = int(int((투입금액*0.3)/C)/10)*10; } Else { Var1 = int((투입금액*0.4)/C); Var2 = int((투입금액*0.3)/C); Var3 = int((투입금액*0.3)/C); } } if CodeCategory == 2 or CodeCategory == 8 Then { Var1 = int((투입금액*0.4)/C); Var2 = int((투입금액*0.3)/C); Var3 = int((투입금액*0.3)/C); } if stime == 123000 Then buy("b1",OnClose,def,var1); if stime == 130000 Then buy("b2",OnClose,def,var2); if stime == 133000 Then buy("b3",OnClose,def,var3); if MarketPosition == 1 Then{ if stime == 140000 Then ExitLong("bx1",OnClose,def,"b1"); if stime == 143000 Then ExitLong("bx2",OnClose,def,"b2"); if stime == 144500 Then ExitLong("bx3",OnClose,def,"b3"); } 3. input : 투입금액(10000000); if CodeCategory == 1 then { if BasePrice < 50000 Then { Var1 = int(int((투입금액*0.4)/C)/10)*10; Var2 = int(int((투입금액*0.3)/C)/10)*10; Var3 = int(int((투입금액*0.3)/C)/10)*10; } Else { Var1 = int((투입금액*0.4)/C); Var2 = int((투입금액*0.3)/C); Var3 = int((투입금액*0.3)/C); } } if CodeCategory == 2 or CodeCategory == 8 Then { Var1 = int((투입금액*0.4)/C); Var2 = int((투입금액*0.3)/C); Var3 = int((투입금액*0.3)/C); } if stime == 123000 Then buy("b1",OnClose,def,var1); if stime == 130000 Then buy("b2",OnClose,def,var2); if stime == 133000 Then buy("b3",OnClose,def,var3); if MarketPosition == 1 Then{ if stime == 140000 Then ExitLong("bx1",OnClose,def,"b1"); if stime == 143000 Then ExitLong("bx2",OnClose,def,"b2"); if sdate > EntryDate and stime == 90500 Then ExitLong("bx3",OnClose,def,"b3"); } 즐거운 하루되세요 > 시골뜨기 님이 쓴 글입니다. > 제목 : 특정시간 분할매수, 분할매도... 부탁드립니다. > 안녕하세요 현물을 시스템으로 적용해보고 싶어 주말내내 열공해 보았으나 한계에 부딪혀 문의드립니다. 제가 구현해보고 싶은거는 현물을 특정시간대에 분할매수, 분할매도 하는건데요 일단 제가 stime, buy, exitlong로 만들어 봤으나 분할매수는 되는데 매도는 한번에 되네요. 쩝~ 아래와 같이 구현해보고 싶습니다. ㅁ분할매수 1. 12:30분 매수, 신호명 B1, 신호타입 및 가격조건 없음, 수량 100주 2. 13:00분 매수, 신호명 B2, 신호타입 및 가격조건 없음, 수량 100주 3. 13:30분 매수, 신호명 B3, 신호타입 및 가격조건 없음, 수량 100주 ㅁ분할매도 1. 14:00분 매도, 신호명 BX1, 신호타입 및 가격조건 없음, B1 매도, 수량 100주 2. 14:30분 매도, 신호명 BX2, 신호타입 및 가격조건 없음, B2 매도, 수량 100주 3. 14:45분 매도, 신호명 BX3, 신호타입 및 가격조건 없음, B3 매도, 수량 100주 질문) 1. 염치불구하고 오로지 특정시간에 의한 분할매수, 매도 시스템식 부탁드립니다. 2. 매수 및 매도 수량을 가능금액의 40%(최초대비 40%), 남은 금액의 50%(최초대비 30%), 남은금액 전부(최초대비 30%)로 수량이 아닌 비율로 구현하는 법 3. 분할매도의 3번만을 다음날 아침 09:05분에 매도하는 법 감은 오는데 구현이 안되니 답답할 뿐이네요. 부탁드립니다.