커뮤니티

일봉과 분봉

프로필 이미지
에구머니
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분봉으로 매매하는 전략. 위의 두개의 식을 써 주시면 감사하겠습니다.