안녕하세요. 한결같은 답변 늘 감사드립니다.
전에 문의했던 질문(게시번호 - 46597)을 응용해서 수식을 만들었는데 맞게 되었는지 확인 부탁드립니다.
구현하고자 하는 사항은 콜, 풋 양합이 일정값 이상으로 증가한 이후 하락할때 매수진입하고 조건에 따라 매수청산하는 시스템입니다.
내용과 수식은 아래와 같습니다.
1)09:01 분에 콜풋의 양합을 구함(S1)
2)12시 이전에 9시 1분의 양합보다 현재의 양합이 5% 초과 상승한 상태에서 양합의 최고값에서 1% 하락하였을때 매수진입하고 매수시점의 양합을 구함(S2)
3)매수시점의 양합보다 현재 양합이 4% 이상 상승시 매수청산(bx1)
매수시점의 양합에서 현재 양합이 7% 이상 하락시 매수청산(bx2)
매수 진입후 양합이 4% 이상 하락후 양합의 최저값에서 1.5% 상승시 매수청산(bx3)
매수포지션인 경우 14:46분에 매수청산(bx4)
답변 미리 감사드립니다.
##수식====================================================
var : sum(0,data1), S1(0,data1), S2(0,data1), HH(0), LL(0);
sum = (data2(c)+data3(c));
if MarketPosition == 0 Then
{
if stime == 090100 and (dayhigh < (dayopen + 3)) and (daylow > (dayopen - 3)) Then
{
S1 = sum;
}
if stime <= 120000 and sum > S1*1.05 Then
{
if sum > HH Then
HH = sum;
if sum <= HH*0.99 Then
buy("b1");
S2 = sum;
LL = sum;
}
}
if MarketPosition == 1 Then
{
if sum < LL Then
LL = sum;
if MaxEntries == 1 then
{
if sum >= S2*1.04 Then
ExitLong("bx1");
if sum <= S2*0.93 Then
ExitLong("bx2");
if sum <= S2*0.96 Then
{
if sum >= LL*1.015 Then
Exitlong("bx3");
}
}
if stime == 144600 Then
Exitlong("bx4");
}
답변 1
예스스탁
예스스탁 답변
2016-03-07 14:50:28
안녕하세요
예스스탁입니다.
식을 조금 수정했습니다.
var : sum(0,data1), S1(0,data1), S2(0,data1), HH(0), LL(0);
sum = (data2(c)+data3(c));
if date != date[1] Then{
S1 = sum;
HH = sum;
}
#양합 당일 최고값
if sum > HH Then
HH = sum;
#무포지션이고
#주종목의 당일최고가는 시초가대비 3포인트 이하이고 최저가는 -3포인트 이상
#12시 이전
#양합당일최고값이 첫봉값대비 5%이상
#현재 양합이 최고값대비 1% 이하이면 매수
if MarketPosition == 0 and
and (dayhigh < (dayopen + 3)) and (daylow > (dayopen - 3))
stime <= 120000 and
HH > S1*1.05 and
sum <= HH*0.99 Then{
buy("b1");
S2 = sum;
LL = sum;
}
if MarketPosition == 1 Then{
#매수진입 이후 양합 최저값
if sum < LL Then
LL = sum;
#양합이 매수시점양합보다 4% 상승하면 청산
if sum >= S2*1.04 Then
ExitLong("bx1");
#양합이 매수시점양합보다 7% 하락하면 청산
if sum <= S2*0.93 Then
ExitLong("bx2");
#매수이후 최저양합이 매수시점 양합보다 4%이상 하락후
#현재 양합이 매수이후 최저양합보다 1.5% 상승하면 청산
if LL <= S2*0.96 and
sum >= LL*1.015 Then
Exitlong("bx3");
}
#14시 40분 당일청산
SetStopEndofday(144000);
즐거운 하루되세요
> 탄젠트80 님이 쓴 글입니다.
> 제목 : 수식 확인 부탁드립니다.
>
안녕하세요. 한결같은 답변 늘 감사드립니다.
전에 문의했던 질문(게시번호 - 46597)을 응용해서 수식을 만들었는데 맞게 되었는지 확인 부탁드립니다.
구현하고자 하는 사항은 콜, 풋 양합이 일정값 이상으로 증가한 이후 하락할때 매수진입하고 조건에 따라 매수청산하는 시스템입니다.
내용과 수식은 아래와 같습니다.
1)09:01 분에 콜풋의 양합을 구함(S1)
2)12시 이전에 9시 1분의 양합보다 현재의 양합이 5% 초과 상승한 상태에서 양합의 최고값에서 1% 하락하였을때 매수진입하고 매수시점의 양합을 구함(S2)
3)매수시점의 양합보다 현재 양합이 4% 이상 상승시 매수청산(bx1)
매수시점의 양합에서 현재 양합이 7% 이상 하락시 매수청산(bx2)
매수 진입후 양합이 4% 이상 하락후 양합의 최저값에서 1.5% 상승시 매수청산(bx3)
매수포지션인 경우 14:46분에 매수청산(bx4)
답변 미리 감사드립니다.
##수식====================================================
var : sum(0,data1), S1(0,data1), S2(0,data1), HH(0), LL(0);
sum = (data2(c)+data3(c));
if MarketPosition == 0 Then
{
if stime == 090100 and (dayhigh < (dayopen + 3)) and (daylow > (dayopen - 3)) Then
{
S1 = sum;
}
if stime <= 120000 and sum > S1*1.05 Then
{
if sum > HH Then
HH = sum;
if sum <= HH*0.99 Then
buy("b1");
S2 = sum;
LL = sum;
}
}
if MarketPosition == 1 Then
{
if sum < LL Then
LL = sum;
if MaxEntries == 1 then
{
if sum >= S2*1.04 Then
ExitLong("bx1");
if sum <= S2*0.93 Then
ExitLong("bx2");
if sum <= S2*0.96 Then
{
if sum >= LL*1.015 Then
Exitlong("bx3");
}
}
if stime == 144600 Then
Exitlong("bx4");
}