커뮤니티
문의
2013-06-24 11:30:27
149
글번호 64628
시스템식에서
1.일봉이 볼린져밴드 중심하단선 밑에 있으면 그날 매수금지 조건식을 걸려고합니다
2.30분 봉이 볼련져밴드 중심하단선 밑에 있으면 그날 매수금지
3.반대로 일봉이 볼린져밴드 중심상단선위에 있으면 그날 매도금지
부탁드립니다
답변 1
예스스탁 예스스탁 답변
2013-06-24 14:28:32
안녕하세요
예스스탁입니다.
input : Period(20),Dv(2),Ntime(30);;
var : daysum(0),daycnt(0),dayma(0),daySumSqrt(0),dayStdv(0);
var : dayBBup(0),dayBBdn(0),dayBBmd(0),dayCounter(0);
var : cnt(0),count(0),sum(0),mav(0),MiBBup(0),MiBBdn(0),Avgv(0),SumSqrt(0),Counter(0),Stdv(0),MiBBmd(0);
Array : CC[120](0);
# 분봉에서 일봉 볼린져밴드 계산
daysum = 0;
for daycnt = 0 to Period-1{
daysum = daysum + DayClose(daycnt);
}
dayma = daysum/Period;
If DayClose(Period) != 0 Then {
daySumSqrt = 0;
For dayCounter = 0 To Period - 1 {
daySumSqrt = daySumSqrt + (DayClose(dayCounter) - dayma) * (DayClose(dayCounter) - dayma);
}
dayStdv = SquareRoot(daySumSqrt / Period);
}
Else
dayStdv = 0;
dayBBup = dayma + (Dv * dayStdv);
dayBBmd = dayma;
dayBBdn = dayma - (Dv * dayStdv);
# 분봉에서 30분봉 볼린져밴드 계산
var1 = TimeToMinutes(stime)%Ntime;
if dayindex() == 0 or (var1 < var1[1] and stime > stime[1]) Then{
for cnt = 1 to Period-1{
CC[cnt] = CC[cnt-1][1];
}
}
CC[0] = C;
sum = 0;
for count = 0 to Period-1{
sum = sum+CC[count];
}
mav = sum/Period;
If CC[Period-1] != 0 Then{
Avgv = mav;
SumSqrt = 0;
For Counter = 0 To Period - 1 {
SumSqrt = SumSqrt + (CC[Counter] - Avgv) * (CC[Counter] - Avgv);
}
Stdv = SquareRoot(SumSqrt / Period);
}
Else
Stdv = 0;
MiBBup = mav + (Dv * Stdv);
MiBBmd = mav;
MiBBdn = mav - (Dv * Stdv);
if C > dayBBmd and C > MiBbmd and 매수조건 Then
buy();
if C < DayBBmd and 매도조건 Then
sell();
일봉 볼린져밴드 상단선은 dayBBup
일봉 볼린져밴드 중심선은 dayBBmd
일봉 볼린져밴드 하단선은 dayBBdn
30분봉 볼린져밴드 상단선은 MiBBup
30분봉 볼린져밴드 중심선은 miBBmd
30분봉 볼린져밴드 하단선은 miBBdn
입니다.
즐거운 하루되세요
> 돌핀 님이 쓴 글입니다.
> 제목 : 문의
> 시스템식에서
1.일봉이 볼린져밴드 중심하단선 밑에 있으면 그날 매수금지 조건식을 걸려고합니다
2.30분 봉이 볼련져밴드 중심하단선 밑에 있으면 그날 매수금지
3.반대로 일봉이 볼린져밴드 중심상단선위에 있으면 그날 매도금지
부탁드립니다
이전글