커뮤니티

문의 드립니다.

프로필 이미지
썬보이
2013-01-04 13:23:10
297
글번호 57817
답변완료
전일 상한가친종목을 금액1000만원을 기준으로 시초가에 500만원 전일 종가대비 3%하락시 500만원 매수 시초가 진입 후 -10%시 손절 시초가 매수 종가 대비 3% 매수 후 총잔고 -10%시 손절 진입 후 금액기준 10%수익 달성 시 1000만원에 50%인 500만원익절 20%수익 달성 시 25% 250만원 익절 30%수익 달성 시 25% 전량 익절 수익 실현 후 고점대비 -10%하락시 전량 매도 다음과 같이 매매를 하고 싶은데... 작성식 부탁드립니다~~^^.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2013-01-04 18:41:42

안녕하세요 예스스탁입니다. 1분봉에 적용하시면 됩니다. 시초가에 주문을 내기 위해서는 전일 마지막봉에 if문을 만족시켜 다음날 첫시세 들어올때 주문이 발생시켜야만 합니다. 적용하신 종목의 거래가 없어 15시에 거래가 없으면 해당종목은 주문이 나가지 않습니다. input : 투입금액(1000000); var : 상한가(0), UpLimit(0); var : up1(0), up2(0), up3(0), up4(0), up5(0),up6(0); if date >= 19981207 then { if date < 20050328 && CodeCategory() == 2 then UpLimit = (BP[0] * 1.12); Else UpLimit = (BP[0] * 1.15); if CodeCategory() == 2 then { if date >= 20030721 then { up1 = int(UpLimit/100+0.00001)*100; up2 = int(UpLimit/100+0.00001)*100; up3 = int(UpLimit/100+0.00001)*100; up4 = int(UpLimit/50+0.00001)*50; up5 = int(UpLimit/10+0.00001)*10; up6 = int(UpLimit/5+0.00001)*5; } else { up1 = int(UpLimit/1000+0.00001)*1000; up2 = int(UpLimit/500+0.00001)*500; up3 = int(UpLimit/100+0.00001)*100; up4 = int(UpLimit/50+0.00001)*50; up5 = int(UpLimit/10+0.00001)*10; up6 = int(UpLimit/10+0.00001)*10; } } Else { up1 = int(UpLimit/1000+0.00001)*1000; up2 = int(UpLimit/500+0.00001)*500; up3 = int(UpLimit/100+0.00001)*100; up4 = int(UpLimit/50+0.00001)*50; up5 = int(UpLimit/10+0.00001)*10; up6 = int(UpLimit/5+0.00001)*5; } if CodeCategory() == 1 || CodeCategory() == 2 then { If BP >= 500000 Then 상한가 = up1; Else If BP >= 100000 Then 상한가 = iff(up2>=500000, up1, up2); Else If BP >= 50000 Then 상한가 = iff(up3>=100000, up2, up3); Else If BP >= 10000 Then 상한가 = iff(up4>=50000, up3, up4); Else If BP >= 5000 Then 상한가 = iff(up5>=10000, up4, up5); Else 상한가 = iff(up6>=5000, up5, up6); } else if CodeCategory() == 8 || CodeCategory() == 9 then { // ETF 상한가 = up6; } } #수량계산 if CodeCategory == 1 Then{ if BasePrice < 50000 Then Var1 = int(int((투입금액*0.5)/C)/10)*10; Else Var1 = int((투입금액*0.5)/C); } if CodeCategory == 2 or CodeCategory == 8 Then Var1 = int(투입금액/C); #시가신호 if stime == 150000 and dayhigh >= 상한가 Then buy("b1",AtMarket,def,var1); #전일종가-3% if MarketPosition == 1 Then buy("b2",atlimit,DayClose(1)*0.97,var1); #매도 if MarketPosition == 1 Then{ #시가신호만 발생했을때 if maxEntries == 1 Then{ exitlong("bx",AtStop,EntryPrice*0.9); } #추가매수도 된경우 if MaxEntries == 2 Then{ if CodeCategory == 1 and BasePrice < 50000 Then{ value1 = int(int(MaxContracts*0.5)/10)*10; value2 = int(int(MaxContracts*0.25)/10)*10; } Else{ value1 = int(int(MaxContracts*0.5)/10)*10; value2 = int(int(MaxContracts*0.25)/10)*10; } if countif(crossup(PositionProfit,투입금액*0.1),BarsSinceEntry) == 1 and crossup(PositionProfit,투입금액*0.1) Then exitlong("bx1",OnClose,def,"",value1,1); if countif(crossup(PositionProfit,투입금액*0.2),BarsSinceEntry) == 1 and crossup(PositionProfit,투입금액*0.2) Then exitlong("bx2",OnClose,def,"",value2,1); if countif(crossup(PositionProfit,투입금액*0.3),BarsSinceEntry) == 1 and crossup(PositionProfit,투입금액*0.3) Then exitlong("bx3"); if CurrentContracts < MaxContracts Then exitlong("bx4",AtStop,highest(H,BarsSinceEntry)*0.9); } } 즐거운 하루되세요 > 썬보이 님이 쓴 글입니다. > 제목 : 문의 드립니다. > 전일 상한가친종목을 금액1000만원을 기준으로 시초가에 500만원 전일 종가대비 3%하락시 500만원 매수 시초가 진입 후 -10%시 손절 시초가 매수 종가 대비 3% 매수 후 총잔고 -10%시 손절 진입 후 금액기준 10%수익 달성 시 1000만원에 50%인 500만원익절 20%수익 달성 시 25% 250만원 익절 30%수익 달성 시 25% 전량 익절 수익 실현 후 고점대비 -10%하락시 전량 매도 다음과 같이 매매를 하고 싶은데... 작성식 부탁드립니다~~^^.