커뮤니티
시스템식 문의
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);
감사합니다.