커뮤니티

시스템식 문의

프로필 이미지
율이파파
2013-08-07 06:06:28
147
글번호 66162
답변완료
안녕하세요. 투입자금 100만원중에서, 매수시 잔고의 10%만으로 매수로 하고, 매도시 현재가 또는 시장가로 주문하는 수식은 어떻게 되나요? 그리고 매도시에 현재가로 주문을 걸고 1분후 체결이 안되었으면 취소후 시장가 또는 1호가 밑으로 주문하는 수식 좀 부탁드립니다. 그리고 아래 수식에서 지정 시간이 지나도 stoploss는 동작하는 건가요? 수식을 보면 안될것 같은데 시뮬레이션 상에서는 동작하더라구요.. if stime >= 90000 and stime < 100000 Then{ if (var1 > var1[1]) Then buy(); SetStopLoss(2,PercentStop); } 제생각엔 아래처럼 수식을 짜야 시간이내에서만 사고, 시간에 상관없이 stoploss가 적용될 것같은데요... 맞나요? if stime >= 90000 and stime < 100000 Then{ if (var1 > var1[1]) Then buy(); } SetStopLoss(2,PercentStop); 감사합니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2013-08-07 09:21:52

안녕하세요 예스스탁입니다. 1. 시스템 수식에서는 주문가격을 지정하는 부분이 없습니다. 시스템에서 신호가 발생하면 시스템 트레이딩 설정창의 매매탭에서 매매가격으로 지정한 가격으로 주문이 나가게 됩니다. 매매가격에서 진입과 청산 각각 다른 가격으로 지정하실 수 있습니다. 아래는 지정한 금액의 10%로 매수하는 식입니다. input : 투입금액(100000); #kospi if CodeCategory == 1 Then{ if BasePrice < 50000 Then #기준가 5만원 미만 Var1 = int(int((투입금액*0.1)/C)/10)*10; Else #5만원 이상 Var1 = int((투입금액*0.1)/C); } #kosdoq if CodeCategory == 2 Then Var1 = int((투입금액*0.1)/C); if 매수조건 Then buy("b",OnClose,def,var1); if 매수청산조건 Then exitlong(); 2 SetStopLoss에 해제하는 내용을 넣어주지 않으시면 지정한 조건이 만족하면 해당 설정이 계속 유지가 됩니다. 아래와 같이 작성하시면 if stime >= 90000 and stime < 100000 Then{ if (var1 > var1[1]) Then buy(); SetStopLoss(2,PercentStop); } 차트상 처음 9시가 넘어가면 SetStopLoss가 설정이 되고 이후에는 계속 해당 설정으로 손절을 하게 됩니다. 그러므로 위식과 아래식은 실제적으로는 같은 내용이며 일반적으로는 아래와 같이 작성하시면 됩니다. if stime >= 90000 and stime < 100000 Then{ if (var1 > var1[1]) Then buy(); } SetStopLoss(2,PercentStop); 만약 지정한 시간동안에만 SetStopLoss로 손절매를 하고 지정한 시간 이후에는 손절매를 하지 않는다고 하면 아래와 같이 해제하는 내용을 넣어주시면 됩니다. if stime >= 90000 and stime < 100000 Then{ SetStopLoss(2,PercentStop); } else SetStopLoss(0);//해제 즐거운 하루되세요 > 율이파파 님이 쓴 글입니다. > 제목 : 시스템식 문의 > 안녕하세요. 투입자금 100만원중에서, 매수시 잔고의 10%만으로 매수로 하고, 매도시 현재가 또는 시장가로 주문하는 수식은 어떻게 되나요? 그리고 매도시에 현재가로 주문을 걸고 1분후 체결이 안되었으면 취소후 시장가 또는 1호가 밑으로 주문하는 수식 좀 부탁드립니다. 그리고 아래 수식에서 지정 시간이 지나도 stoploss는 동작하는 건가요? 수식을 보면 안될것 같은데 시뮬레이션 상에서는 동작하더라구요.. if stime >= 90000 and stime < 100000 Then{ if (var1 > var1[1]) Then buy(); SetStopLoss(2,PercentStop); } 제생각엔 아래처럼 수식을 짜야 시간이내에서만 사고, 시간에 상관없이 stoploss가 적용될 것같은데요... 맞나요? if stime >= 90000 and stime < 100000 Then{ if (var1 > var1[1]) Then buy(); } SetStopLoss(2,PercentStop); 감사합니다.