커뮤니티
시스템식 문의드립니다.
2012-11-29 11:36:56
384
글번호 56919
안녕하세요?
시스템식 문의드립니다.
저는 일봉과 5분봉 두가지를 적용하여 작성하고자 합니다.
실행시점은 5분봉 완성시점으로 하고 있습니다 따라서 아래와 같이 질의합니다
1. 일봉기준 볼린져밴드(20,2) 상한선이 3일연속 상승추세이고 5분봉기준 볼린져밴드(20,2) 상한선(실행 시점)이 3봉연속 상승추세일때 buy 진입
2. 일봉기준 5일 이동평균선이 3일연속 상승추세이고 5분봉기준 5일 이동평균선이 3봉연속 상승추세일때 buy 진입
3. 일봉기준 3일전 볼린져밴드(20,2) 하한선이 3일전 종가 보다 클때 buy진입 제외
4. 1~3봉전 종가(5분봉 실행시점)가 daycloes(1) 일때 buy 진입 금지
5. 5분봉(실행시점) 20일 이동평균선(실행시점)을 상향 돌파할때 Exitlong
감사합니다.
답변 1
예스스탁 예스스탁 답변
2012-11-29 18:46:35
안녕하세요
예스스탁입니다.
# 분봉에서 일봉 볼린져밴드 계산 시작
input : dayPeriod(20),dayDv(2),P1(5),P2(20);
var : daycnt(0),dayCounter(0),cnt(0);
var : daysum1(0),dayma1(0),daySumSqrt1(0),dayStdv1(0),dayBBup1(0),dayBBdn1(0);
var : daysum2(0),dayma2(0),daySumSqrt2(0),dayStdv2(0),dayBBup2(0),dayBBdn2(0);
var : daysum3(0),dayma3(0),daySumSqrt3(0),dayStdv3(0),dayBBup3(0),dayBBdn3(0);
var : daysum4(0),dayma4(0),daySumSqrt4(0),dayStdv4(0),dayBBup4(0),dayBBdn4(0);
var : sum11(0),sum21(0),mav11(0),mav21(0);
var : sum12(0),sum22(0),mav12(0),mav22(0);
var : sum13(0),sum23(0),mav13(0),mav23(0);
var : sum14(0),sum24(0),mav14(0),mav24(0);
#일봉 볼밴 계산
daysum1 = 0;
daysum2 = 0;
daysum3 = 0;
daysum4 = 0;
for daycnt = 0 to dayPeriod-1{
daysum1 = daysum1 + DayClose(daycnt);
daysum2 = daysum2 + DayClose(daycnt+1);
daysum3 = daysum3 + DayClose(daycnt+2);
daysum4 = daysum4 + DayClose(daycnt+3);
}
dayma1 = daysum1/dayPeriod;
dayma2 = daysum2/dayPeriod;
dayma3 = daysum3/dayPeriod;
dayma4 = daysum4/dayPeriod;
daySumSqrt1 = 0;
daySumSqrt2 = 0;
daySumSqrt3 = 0;
daySumSqrt4 = 0;
For dayCounter = 0 To dayPeriod - 1 {
daySumSqrt1 = daySumSqrt1 + (DayClose(dayCounter) - dayma1) * (DayClose(dayCounter) - dayma1);
daySumSqrt2 = daySumSqrt2 + (DayClose(dayCounter) - dayma2) * (DayClose(dayCounter) - dayma2);
daySumSqrt3 = daySumSqrt3 + (DayClose(dayCounter) - dayma3) * (DayClose(dayCounter) - dayma3);
daySumSqrt4 = daySumSqrt4 + (DayClose(dayCounter) - dayma4) * (DayClose(dayCounter) - dayma4);
}
dayStdv1 = SquareRoot(daySumSqrt1 / dayPeriod);
dayStdv2 = SquareRoot(daySumSqrt2 / dayPeriod);
dayStdv3 = SquareRoot(daySumSqrt3 / dayPeriod);
dayStdv4 = SquareRoot(daySumSqrt4 / dayPeriod);
#당일 일봉 볼밴
dayBBup1 = dayma1 + (dayDv * dayStdv1);
dayBBdn1 = dayma1 - (dayDv * dayStdv1);
#1일전 일봉 볼밴
dayBBup2 = dayma2 + (dayDv * dayStdv2);
dayBBdn2 = dayma2 - (dayDv * dayStdv2);
#2일전 일봉 볼밴
dayBBup3 = dayma3 + (dayDv * dayStdv3);
dayBBdn3 = dayma3 - (dayDv * dayStdv3);
#3일전 일봉 볼밴
dayBBup4 = dayma4 + (dayDv * dayStdv4);
dayBBdn4 = dayma4 - (dayDv * dayStdv4);
#일봉 5이평계산
sum11 = 0;
sum12 = 0;
sum13 = 0;
sum14 = 0;
for cnt = 0 to P1-1{
sum11 = sum11+DayClose(cnt);
sum12 = sum12+DayClose(cnt+1);
sum13 = sum13+DayClose(cnt+2);
sum14 = sum14+DayClose(cnt+3);
}
mav11 = sum11/P1;#당일 일봉 5이평
mav12 = sum12/P1;#1일전 일봉 5이평
mav13 = sum13/P1;#2일전 일봉 5이평
mav14 = sum14/P1;#3일전 일봉 5이평
var1 = BollBandUp(20,2);
if DayClose(3) > dayBBdn4 and
C[1] != DayClose(1) and C[2] != DayClose(1) and C[3] != DayClose(1) and
dayBBup1 > dayBBup2 and dayBBup2 > dayBBup3 and dayBBup3 > dayBBup4 and
countif(var1 > var1[1],3) == 3 Then
buy();
if DayClose(3) > dayBBdn4 and
C[1] != DayClose(1) and C[2] != DayClose(1) and C[3] != DayClose(1) and
mav11 > mav12 and mav12 > mav13 and mav13 > mav14 and
countif(var1 > var1[1],3) == 3 Then
buy();
if crossup(c,dayma1) Then
exitlong();
즐거운 하루되세요
> 새마귀 님이 쓴 글입니다.
> 제목 : 시스템식 문의드립니다.
> 안녕하세요?
시스템식 문의드립니다.
저는 일봉과 5분봉 두가지를 적용하여 작성하고자 합니다.
실행시점은 5분봉 완성시점으로 하고 있습니다 따라서 아래와 같이 질의합니다
1. 일봉기준 볼린져밴드(20,2) 상한선이 3일연속 상승추세이고 5분봉기준 볼린져밴드(20,2) 상한선(실행 시점)이 3봉연속 상승추세일때 buy 진입
2. 일봉기준 5일 이동평균선이 3일연속 상승추세이고 5분봉기준 5일 이동평균선이 3봉연속 상승추세일때 buy 진입
3. 일봉기준 3일전 볼린져밴드(20,2) 하한선이 3일전 종가 보다 클때 buy진입 제외
4. 1~3봉전 종가(5분봉 실행시점)가 daycloes(1) 일때 buy 진입 금지
5. 5분봉(실행시점) 20일 이동평균선(실행시점)을 상향 돌파할때 Exitlong
감사합니다.