커뮤니티
수식수정 부탁드립니다.
2011-12-21 10:41:38
426
글번호 45953
글번호 "22099" 에서 문의드린 내용에 대해서 수식 작성해 주셔서 감사합니다.
몇 가지 추가 요청사항이 있습니다.
1. 진입수량과 금액을 설정창에서 지정하라고 하셨는데, 수식 내에서 구현하고 싶습니다. 혹시 불가능한 것이 아니라면 수식내에서 구현할 수 있도록 작성을 부탁드립니다.
2. 작성해주신 수식을 보면 제가 부탁드린 첫번째 수식은 조건이 만족되면 '매도'하는 것입니다. 수식의 3번째와 4번째 줄에 있는
if data1(stime == 093000) Then
buy();
여기서 buy(); 부분이 buy가 아니라 sell이 맞는 것 아닌가 싶습니다.
단순 실수인 것 같지만 혹시 제가 실수하는 건 아닌가 싶어 질문드립니다.
혹시 저것이 실수라면 다른 식들은 추가로 수정되어야 할 것이 없는지도 검토 부탁드립니다.
감사합니다.
<운영자님의 답변내용>
안녕하세요
예스스탁입니다.
진입수량이나 금액은 시스템 트레이딩 설정창의
비용/수량 탭에서 지정하시면 됩니다.
1.
var : d2v(0,data1);
if data1(stime == 093000) Then
buy();
d2v = data2(c);
if MarketPosition == 1 Then{
if d2v[BarsSinceEntry] >= 5.0 and data2(c) >= d2v*1.2 Then
exitlong();
if d2v[BarsSinceEntry] < 5.0 and data2(c) >= d2v*1.3 Then
exitlong();
}
SetStopEndofday(143000);
2.
var : d2v(0,data2);
if data2(stime == 093000) Then
d2v = data2(c);
if data2(stime > 093000) Then{
if d2v >= 5.0 and data2(c) >= d2v*1.2 Then
buy();
if d2v < 5.0 and data2(c) >= d2v*1.3 Then
buy();
}
SetStopEndofday(143000);
즐거운 하루되세요
> 은색 님이 쓴 글입니다.
> 제목 : 수식작성 문의드립니다.
> 다음 두 가지 수식작성 부탁드립니다.
<1번 수식>
주차트는 옵션입니다.
진입조건은,
거래 시작 시간은 9시30분으로 하고, 9시 30분 주차트 현재의 가격대로 1계약을 매도합니다(계약 개수를 1개,2개,3개 등과 같이 그때그때 마다 바꿀 수 있도록 부탁드립니다).
청산조건은 보조차트를 이용합니다.
9시30분 당시 보조차트의 가격이 5.0 이상이었으면 현재가격이 9시30분 당시 가격보다 20% 상승시(즉, 보조차트로는 손실이 발생한 경우입니다), 5.0 이하였으면 현재가격이 9시30분 당시가격보다 30%이상 상승시 매수청산합니다.
또한 위 청산조건을 만족하지 않았더라도 2시30분에는 매수청산하여 당일청산을 합니다.
<수식2>
주차트는 옵션이고, 보조차트를 활용합니다.
거래 개시는 9시 30분에 합니다.
진입조건은,
9시30분 당시 보조차트의 가격이 5.0 이상이었으면 현재가격이 9시30분 당시 가격보다 20% 상승시(즉, 보조차트로는 손실이 발생한 경우입니다), 5.0 이하였으면 현재가격이 9시30분 당시가격보다 30%이상 상승시 매수진입합니다. 이 때 매수금액은 그때그때 마다 제가 입력할 수 있도록 변수로 부탁드립니다.
다른 청산조건은 없고 진입 이후에는 2시30분에 당일 청산합니다.
감사하니다.
답변 1
예스스탁 예스스탁 답변
2011-12-21 11:14:46
안녕하세요
예스스탁입니다.
죄송합니다. 청산내용에 매수청산으로 되어 있어 매수식으로 착각했습니다.
1번식 매도로 수정하고, 1번,2번 모두 수식내에서 수량 설정하게 수정했습니다.
1.
input : 투입금액(10000000);
var : d2v(0,data1),Vol(0,data1);
if CodeCategory == 1 Then{ #코스피
if BasePrice < 50000 Then
Vol = int(int(투입금액/C)/10)*10;
Else
Vol = int(투입금액/C);
}
if CodeCategory == 2 Then
Vol = int(투입금액/C);
if CodeCategory == 6 Then
Vol = int(투입금액/(C*BigPointValue));
if data1(stime == 093000) Then
Sell("S",OnClose,def,Vol);
d2v = data2(c);
if MarketPosition == -1 Then{
if d2v[BarsSinceEntry] >= 5.0 and data2(c) >= d2v*1.2 Then
ExitShort();
if d2v[BarsSinceEntry] < 5.0 and data2(c) >= d2v*1.3 Then
ExitShort();
}
SetStopEndofday(143000);
2.
input : 투입금액(10000000);
var : d2v(0,data2),Vol(0,data1);
if CodeCategory == 1 Then{ #코스피
if BasePrice < 50000 Then
Vol = int(int(투입금액/C)/10)*10;
Else
Vol = int(투입금액/C);
}
if CodeCategory == 2 Then
Vol = int(투입금액/C);
if CodeCategory == 6 Then
Vol = int(투입금액/(C*BigPointValue));
if data2(stime == 093000) Then
d2v = data2(c);
if data2(stime > 093000) Then{
if d2v >= 5.0 and data2(c) >= d2v*1.2 Then
buy("b1",OnClose,def,Vol);
if d2v < 5.0 and data2(c) >= d2v*1.3 Then
buy("b2",OnClose,def,Vol);
}
SetStopEndofday(143000);
즐거운 하루되세요
> 은색 님이 쓴 글입니다.
> 제목 : 수식수정 부탁드립니다.
> 글번호 "22099" 에서 문의드린 내용에 대해서 수식 작성해 주셔서 감사합니다.
몇 가지 추가 요청사항이 있습니다.
1. 진입수량과 금액을 설정창에서 지정하라고 하셨는데, 수식 내에서 구현하고 싶습니다. 혹시 불가능한 것이 아니라면 수식내에서 구현할 수 있도록 작성을 부탁드립니다.
2. 작성해주신 수식을 보면 제가 부탁드린 첫번째 수식은 조건이 만족되면 '매도'하는 것입니다. 수식의 3번째와 4번째 줄에 있는
if data1(stime == 093000) Then
buy();
여기서 buy(); 부분이 buy가 아니라 sell이 맞는 것 아닌가 싶습니다.
단순 실수인 것 같지만 혹시 제가 실수하는 건 아닌가 싶어 질문드립니다.
혹시 저것이 실수라면 다른 식들은 추가로 수정되어야 할 것이 없는지도 검토 부탁드립니다.
감사합니다.
<운영자님의 답변내용>
안녕하세요
예스스탁입니다.
진입수량이나 금액은 시스템 트레이딩 설정창의
비용/수량 탭에서 지정하시면 됩니다.
1.
var : d2v(0,data1);
if data1(stime == 093000) Then
buy();
d2v = data2(c);
if MarketPosition == 1 Then{
if d2v[BarsSinceEntry] >= 5.0 and data2(c) >= d2v*1.2 Then
exitlong();
if d2v[BarsSinceEntry] < 5.0 and data2(c) >= d2v*1.3 Then
exitlong();
}
SetStopEndofday(143000);
2.
var : d2v(0,data2);
if data2(stime == 093000) Then
d2v = data2(c);
if data2(stime > 093000) Then{
if d2v >= 5.0 and data2(c) >= d2v*1.2 Then
buy();
if d2v < 5.0 and data2(c) >= d2v*1.3 Then
buy();
}
SetStopEndofday(143000);
즐거운 하루되세요
> 은색 님이 쓴 글입니다.
> 제목 : 수식작성 문의드립니다.
> 다음 두 가지 수식작성 부탁드립니다.
<1번 수식>
주차트는 옵션입니다.
진입조건은,
거래 시작 시간은 9시30분으로 하고, 9시 30분 주차트 현재의 가격대로 1계약을 매도합니다(계약 개수를 1개,2개,3개 등과 같이 그때그때 마다 바꿀 수 있도록 부탁드립니다).
청산조건은 보조차트를 이용합니다.
9시30분 당시 보조차트의 가격이 5.0 이상이었으면 현재가격이 9시30분 당시 가격보다 20% 상승시(즉, 보조차트로는 손실이 발생한 경우입니다), 5.0 이하였으면 현재가격이 9시30분 당시가격보다 30%이상 상승시 매수청산합니다.
또한 위 청산조건을 만족하지 않았더라도 2시30분에는 매수청산하여 당일청산을 합니다.
<수식2>
주차트는 옵션이고, 보조차트를 활용합니다.
거래 개시는 9시 30분에 합니다.
진입조건은,
9시30분 당시 보조차트의 가격이 5.0 이상이었으면 현재가격이 9시30분 당시 가격보다 20% 상승시(즉, 보조차트로는 손실이 발생한 경우입니다), 5.0 이하였으면 현재가격이 9시30분 당시가격보다 30%이상 상승시 매수진입합니다. 이 때 매수금액은 그때그때 마다 제가 입력할 수 있도록 변수로 부탁드립니다.
다른 청산조건은 없고 진입 이후에는 2시30분에 당일 청산합니다.
감사하니다.
다음글
이전글