커뮤니티
문의드립니다.
2010-11-23 15:07:00
839
글번호 33829
var1 = int(120/BarInterval);
var2 = highest(h,var1);
var3 = Lowest(L,var1);
Condition1 = ExitDate(1) == sdate ; #직전청산이 당일이면 true 전일이면 false
if crossup(c,var2[1]) and dayindex > var1 and stime > 110000 and stime < 150000 and asks < bids and asks < 10000 and c > Ma(c,60) and c > Ma(c,20) and Ma(c,20) > Ma(c,60) and# 직전 60분간 최고가 상향
(Condition1 == false or (Condition1 == true and BarsSinceExit(1) >= var1)) # 두번째 진입부터는 청산후 60분이후에 진입
Then
{
buy();
}
# 매도/매수청산
if crossdown(c,Var3[1]) and dayindex > var1 and stime > 110000 and stime < 150000 and asks > bids and bids < 10000 and c < Ma(c,60) and c < Ma(c,20) and Ma(c,20) < Ma(c,60) and# 직전 60분간 최고가 상향
(Condition1 == false or (Condition1 == true and BarsSinceExit(1) >= var1)) # 두번째 진입부터는 청산후 60분이후에 진입
Then
{
Sell();
}
If CrossUp(c, Ma(c,60)) Then
{
exitshort();
}
If CrossDown(c, Ma(c,60)) Then
{
exitlong();
}
--------------------------------------------------------------------------------
위 수식은 제가 선물1분봉을 기준으로 작성을 해본것입니다.
간략히 설명을 드리면 당일 1분봉을 기준으로 120개의 봉 최고가를 넘으면 매수 후
60분이동평균선 밑으로 내려오면 매수 청산입니다.
매도도 비슷하게 120개봉의 최저가를 하향하면 매도 후 종가가 60분이동평균선 위로 올라가면 매도청산을 하는 시스템식입니다.
그런데 제가 질문을 드리고싶은것은
위 수식을 테스트를 해보면 수익이 발생하는 거래인데도 시스템포트폴리오에서는
손실로 기록이됩니다. 하도 이상해서 차트에서 진입 청산하는 시점을 하나하나 봤는데도 수익인데도 손실로 테스트가 나옵니다. 혹시나 위 수식이 뭐 잘못된점이 있는지
확인좀 해주세요~~~
답변 1
예스스탁 예스스탁 답변
2010-11-23 17:47:48
안녕하세요
예스스탁입니다.
시스템식에서는 지정된 조건에 진입과 청산신호가 발생하므로
식에서 컨트롤 될 내용은 아닙니다.
가령 신호상 100에 매수진입후 100.05나 100.10에 청산되었는데
해당 매수거래가 손실로 리포트에 나오신 다면 수수료와 슬리피지를
살펴보셔야 합니다.
리포트의 수익은 시스템 트레이딩 설정창의 비용/수용탭에서
지정한 수수료와 슬리피지가 적용됩니다.
일반적으로 선물이면 수수료는 진입청산 모두 0.01% 슬리피지는 0.025Pt로 설정하시면 됩니다. 해당 화면을 살펴보시기 바랍니다.
해당 부분때문에 0으로 놓으시면 수수료와 슬리피지를 제외하고
신호값만으로 수익과 손실을 보실 수 있습니다.
즐거운 하루되세요
> HI_coco 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> var1 = int(120/BarInterval);
var2 = highest(h,var1);
var3 = Lowest(L,var1);
Condition1 = ExitDate(1) == sdate ; #직전청산이 당일이면 true 전일이면 false
if crossup(c,var2[1]) and dayindex > var1 and stime > 110000 and stime < 150000 and asks < bids and asks < 10000 and c > Ma(c,60) and c > Ma(c,20) and Ma(c,20) > Ma(c,60) and# 직전 60분간 최고가 상향
(Condition1 == false or (Condition1 == true and BarsSinceExit(1) >= var1)) # 두번째 진입부터는 청산후 60분이후에 진입
Then
{
buy();
}
# 매도/매수청산
if crossdown(c,Var3[1]) and dayindex > var1 and stime > 110000 and stime < 150000 and asks > bids and bids < 10000 and c < Ma(c,60) and c < Ma(c,20) and Ma(c,20) < Ma(c,60) and# 직전 60분간 최고가 상향
(Condition1 == false or (Condition1 == true and BarsSinceExit(1) >= var1)) # 두번째 진입부터는 청산후 60분이후에 진입
Then
{
Sell();
}
If CrossUp(c, Ma(c,60)) Then
{
exitshort();
}
If CrossDown(c, Ma(c,60)) Then
{
exitlong();
}
--------------------------------------------------------------------------------
위 수식은 제가 선물1분봉을 기준으로 작성을 해본것입니다.
간략히 설명을 드리면 당일 1분봉을 기준으로 120개의 봉 최고가를 넘으면 매수 후
60분이동평균선 밑으로 내려오면 매수 청산입니다.
매도도 비슷하게 120개봉의 최저가를 하향하면 매도 후 종가가 60분이동평균선 위로 올라가면 매도청산을 하는 시스템식입니다.
그런데 제가 질문을 드리고싶은것은
위 수식을 테스트를 해보면 수익이 발생하는 거래인데도 시스템포트폴리오에서는
손실로 기록이됩니다. 하도 이상해서 차트에서 진입 청산하는 시점을 하나하나 봤는데도 수익인데도 손실로 테스트가 나옵니다. 혹시나 위 수식이 뭐 잘못된점이 있는지
확인좀 해주세요~~~
다음글
이전글