커뮤니티
수식 문의드립니다.
2011-05-21 00:29:58
586
글번호 38897
작성해 주신 수식 감사합니다.
제 의도와 부합하는 식인 된 것 같아 고맙습니다.
다만 한 가지 문제점이 있어서 수정 부탁 드리고 싶습니다.
작성해 주신 아래의 수식을 "1초봉 차트"로 적용을 하면 가끔식 연속적으로 두 번을 매수하는 경우가 발생합니다.
예를 들어 10시 정각에 'b1'이든 'b2'든 한 번의 매수가 일어나야 하는데 2초 또는 3초 간격을 두고 두 번의 매수가 일어나는 경우가 간혹 있습니다. 즉 10시 1초에 'b1'으로 매수가 일어나고 2초 정도 뒤인 10시 3초에 다시 'b1'으로 매수가 일어나는 겁니다.
시물레이션은 "1분봉 차트" 밖에 검증이 안 되고, "1초봉 실시간 전략 차트"로 검증을 해봐도 검증 결과에는 한 번의 매수만 있는 것으로 나오지만 실제 매매에서는 1초 또는 2초 단위로 연속하여 매매가 이루어지는 경우가 자주 발생합니다. 물론 매번 2번의 매매가 연속해서 일어나는 것은 아닙니다. 그래서 더욱 그 원인을 찾기가 힘듭니다.
이 식의 어느 부분 때문에 저런 현상이 일어나는지 원인을 찾아 수정해 주시길 부탁드립니다.
감사합니다.
P.S. 혹시 제가 어떤 식을 부탁드렸는지 궁금하시다면 글번호 '18674'를 보시면 됩니다.
<수식>
input : 매수금액(150000);
var : Entry(0,data1),D2v(0,data1),val1(0,data1),val2(0,data1),val3(0,data1),val4(0,data1);
entry = int(매수금액/(C*BigPointValue));
D2v = data2(c);#보조지표
if data1(TimeToMinutes(stime)%30 == 0) Then{
val1 = D2v;
val2 = val1[1];
val3 = c;
val4 = val3[1];
}
if data1(stime >= 100000 and stime < 150000 and TimeToMinutes(stime)%30 == 0) Then{
if Iff(val1 > val2,1,0)+iff(val3 > val4*0.8,1,0) == 2 Then
buy("b1",OnClose,def,entry*2);
if Iff(val1 > val2,1,0) == 1 and iff(val3 > val4*0.8,1,0) == 0 Then
buy("b2",OnClose,def,entry);
}
SetStopLoss(20);
SetStopEndofday(150000);
답변 1
예스스탁 예스스탁 답변
2011-05-23 10:46:03
안녕하세요
예스스탁입니다.
아무래도 참조종목과 주종목간에 시간차등이 존재하여 발생되는 내용 같습니다.
모든식의 내용을 주종목에 맞추게 해 보았습니다.
아래 내용으로 컨트롤이 되지 않으면
수식적으로는 별다른 방법이 없습니다.
input : 매수금액(150000);
var : Entry(0,data1),D2v(0,data1),val1(0,data1),val2(0,data1),val3(0,data1),val4(0,data1);
entry = int(매수금액/(C*BigPointValue));
D2v = data2(c);#보조지표
if data1(TimeToMinutes(stime)%30 == 0) Then{
val1 = D2v;
val2 = val1[1];
val3 = data1(c);
val4 = val3[1];
}
if data1(stime >= 100000 and stime < 150000 and TimeToMinutes(stime)%30 == 0) Then{
if data1(Iff(val1 > val2,1,0)+iff(val3 > val4*0.8,1,0) == 2) Then
buy("b1",OnClose,def,entry*2);
if data1(Iff(val1 > val2,1,0) == 1 and iff(val3 > val4*0.8,1,0) == 0) Then
buy("b2",OnClose,def,entry);
}
SetStopLoss(20);
SetStopEndofday(150000);
즐거운 하루되세요
> 은색 님이 쓴 글입니다.
> 제목 : 수식 문의드립니다.
> 작성해 주신 수식 감사합니다.
제 의도와 부합하는 식인 된 것 같아 고맙습니다.
다만 한 가지 문제점이 있어서 수정 부탁 드리고 싶습니다.
작성해 주신 아래의 수식을 "1초봉 차트"로 적용을 하면 가끔식 연속적으로 두 번을 매수하는 경우가 발생합니다.
예를 들어 10시 정각에 'b1'이든 'b2'든 한 번의 매수가 일어나야 하는데 2초 또는 3초 간격을 두고 두 번의 매수가 일어나는 경우가 간혹 있습니다. 즉 10시 1초에 'b1'으로 매수가 일어나고 2초 정도 뒤인 10시 3초에 다시 'b1'으로 매수가 일어나는 겁니다.
시물레이션은 "1분봉 차트" 밖에 검증이 안 되고, "1초봉 실시간 전략 차트"로 검증을 해봐도 검증 결과에는 한 번의 매수만 있는 것으로 나오지만 실제 매매에서는 1초 또는 2초 단위로 연속하여 매매가 이루어지는 경우가 자주 발생합니다. 물론 매번 2번의 매매가 연속해서 일어나는 것은 아닙니다. 그래서 더욱 그 원인을 찾기가 힘듭니다.
이 식의 어느 부분 때문에 저런 현상이 일어나는지 원인을 찾아 수정해 주시길 부탁드립니다.
감사합니다.
P.S. 혹시 제가 어떤 식을 부탁드렸는지 궁금하시다면 글번호 '18674'를 보시면 됩니다.
<수식>
input : 매수금액(150000);
var : Entry(0,data1),D2v(0,data1),val1(0,data1),val2(0,data1),val3(0,data1),val4(0,data1);
entry = int(매수금액/(C*BigPointValue));
D2v = data2(c);#보조지표
if data1(TimeToMinutes(stime)%30 == 0) Then{
val1 = D2v;
val2 = val1[1];
val3 = c;
val4 = val3[1];
}
if data1(stime >= 100000 and stime < 150000 and TimeToMinutes(stime)%30 == 0) Then{
if Iff(val1 > val2,1,0)+iff(val3 > val4*0.8,1,0) == 2 Then
buy("b1",OnClose,def,entry*2);
if Iff(val1 > val2,1,0) == 1 and iff(val3 > val4*0.8,1,0) == 0 Then
buy("b2",OnClose,def,entry);
}
SetStopLoss(20);
SetStopEndofday(150000);