커뮤니티
일봉과 분봉
2010-06-25 12:00:09
704
글번호 30591
1. 일봉을 필터로 하고 5분봉으로 거래하는 전략:
1-1. 일봉으로 봤을 때 볼린저밴드의 아래선에 닿았다가 위로 상승 중이면 분봉으로 5ma가 20 ma를 골든 크로스할 때, 매수 진입
1-2. 일봉에서 볼린저밴드의 아래선에 닿았다가 아래로 하락 중이면 분봉으로 5 ma 가 20 ma를 데드크로스할 때 매도 진입
1-3. 5분봉의 (5ma, 10ma, 30ma) 가 역배열일 때, 매수청산, 정배열일 때 매도청산
cf. 볼린저밴드의 아래선에 닿았다가 위로 상승 중이라는 말의 정확한 의미:
1) 2일전 일봉은 볼린저의 아랫선에 닿아 있어야 함.
2) 1일전의 일봉은 저가와 고가가 2일전의 일봉보다 높아야 함.
3) 오늘의 일봉의 현재까지의 상황은 오늘 현재까지의 저가는 어제의 저가보다 높고,
오늘 현재까지의 종가는 어제의 종가보다 높다.
2. 같은 전략을 이번에는 30분봉의 볼린저밴드로 필터 삼고, 5분봉으로 매매하는 전략.
위의 두개의 식을 써 주시면 감사하겠습니다.
답변 1
예스스탁 예스스탁 답변
2010-06-25 18:13:13
안녕하세요
예스스탁입니다.
1.
# 분봉에서 일봉 볼린져밴드 계산 시작
input : dayPeriod(20),dayDv(2);
var : daysum(0),daycnt(0),dayma(0),daySumSqrt(0),dayStdv(0);
var : dayBBup(0),dayBBdn(0),dayCounter(0);
if date != date[1] Then{
var1 = daybbdn[1];
var2 = var1[1];
}
daysum = 0;
for daycnt = 0 to dayPeriod-1{
daysum = daysum + DayClose(daycnt);
}
dayma = daysum/dayPeriod;
If DayClose(dayPeriod) != 0 Then {
daySumSqrt = 0;
For dayCounter = 0 To dayPeriod - 1 {
daySumSqrt = daySumSqrt + (DayClose(dayCounter) - dayma) * (DayClose(dayCounter) - dayma);
}
dayStdv = SquareRoot(daySumSqrt / dayPeriod);
}
Else
dayStdv = 0;
dayBBup = dayma + (dayDv * dayStdv);
dayBBdn = dayma - (dayDv * dayStdv);
if DayClose > DayClose(1) and #현재까지의 종가는 어제의 종가보다 높다.
daylow > daylow(1) And #현재까지의 저가는 어제의 저가보다 높고,
daylow(1) > daylow(2) and dayhigh(1) > dayhigh(2) and #1일전의 일봉은 저가와 고가가 2일전의 일봉보다 높아야 함.
var2 > 0 and dayhigh(2) > var2 and var2 > daylow(2) And #2일전 일봉은 볼린저의 아랫선에 닿아 있어야 함.
CrossUp(ma(c,5),ma(c,20)) Then#5ma가 20 ma를 골든 크로스
buy();
if DayClose < DayClose(1) and #현재까지의 종가는 어제의 종가보다 낮고
daylow < daylow(1) And #현재까지의 저가는 어제의 저가보다 낮고,
daylow(1) < daylow(2) and dayhigh(1) < dayhigh(2) and #1일전의 일봉은 저가와 고가가 2일전의 일봉보다 낮아야 함.
var2 > 0 and dayhigh(2) > var2 and var2 > daylow(2) And #2일전 일봉은 볼린저의 아랫선에 닿아 있어야 함.
CrossDown(ma(c,5),ma(c,20)) Then#5ma가 20 ma를 데그 크로스
Sell();
if ma(c,5) > ma(c,10) and ma(C,10) > ma(c,20) Then
exitlong();
if ma(c,5) < ma(c,10) and ma(C,10) < ma(c,20) Then
ExitShort();
2.
input : P(20),Dv(2);
var : cnt(0),count(0),sum(0),mav(0),MiBBup(0),MiBBdn(0),Avgv(0),SumSqrt(0),Counter(0),Stdv(0);
Array : CC[120](0),HH[2](0),LL[20](0);
# 분봉에서 다른 분봉 이동평균 시작
var1 = (TimeToMinutes(stime))%30;
if dayindex() == 0 or var1 <= var1[1] Then{
HH[0] = H;
LL[0] = L;
CC[1] = C[1];
for cnt = 2 to P+1{
CC[cnt] = CC[cnt-1][1];
}
value1 = mibbdn[1];
value2 = value1[1];
sum = 0;
for count = 1 to P-1{
sum = sum+CC[count];
HH[count] = HH[count-1][1];
LL[count] = LL[count-1][1];
}
}
CC[0] = C;
mav = (C+sum)/P;
If CC[P] != 0 Then Begin
Avgv = mav;
SumSqrt = 0;
For Counter = 0 To P - 1 Begin
SumSqrt = SumSqrt + (CC[Counter] - Avgv) * (CC[Counter] - Avgv);
End;
Stdv = SquareRoot(SumSqrt / P);
End
Else
Stdv = 0;
MiBBup = mav + (Dv * Stdv);
MiBBdn = mav - (Dv * Stdv);
if H > HH[0] Then
HH[0] = H;
if L < LL[0] Then
LL[0] = L;
if CC[0] > CC[1] and
LL[0] > LL[1] And
LL[1] > LL[2] and HH[1] > HH[2] and
value2 > 0 and HH[2] > 0 and HH[2] > value2 and value2 > LL[2] And
CrossUp(ma(c,5),ma(c,20)) Then
buy();
if CC[0] < CC[1] and
LL[0] < LL[1] And
LL[1] < LL[2] and HH[1] < HH[2] and
value2 > 0 and HH[2] > 0 and HH[2] > value2 and value2 > LL[2] And
CrossDown(ma(c,5),ma(c,20)) Then
Sell();
if ma(c,5) > ma(c,10) and ma(C,10) > ma(c,20) Then
exitlong();
if ma(c,5) < ma(c,10) and ma(C,10) < ma(c,20) Then
ExitShort();
즐거운 하루되세요
> 에구머니 님이 쓴 글입니다.
> 제목 : 일봉과 분봉
>
1. 일봉을 필터로 하고 5분봉으로 거래하는 전략:
1-1. 일봉으로 봤을 때 볼린저밴드의 아래선에 닿았다가 위로 상승 중이면 분봉으로 5ma가 20 ma를 골든 크로스할 때, 매수 진입
1-2. 일봉에서 볼린저밴드의 아래선에 닿았다가 아래로 하락 중이면 분봉으로 5 ma 가 20 ma를 데드크로스할 때 매도 진입
1-3. 5분봉의 (5ma, 10ma, 30ma) 가 역배열일 때, 매수청산, 정배열일 때 매도청산
cf. 볼린저밴드의 아래선에 닿았다가 위로 상승 중이라는 말의 정확한 의미:
1) 2일전 일봉은 볼린저의 아랫선에 닿아 있어야 함.
2) 1일전의 일봉은 저가와 고가가 2일전의 일봉보다 높아야 함.
3) 오늘의 일봉의 현재까지의 상황은 오늘 현재까지의 저가는 어제의 저가보다 높고,
오늘 현재까지의 종가는 어제의 종가보다 높다.
2. 같은 전략을 이번에는 30분봉의 볼린저밴드로 필터 삼고, 5분봉으로 매매하는 전략.
위의 두개의 식을 써 주시면 감사하겠습니다.
다음글
이전글