커뮤니티

문의

프로필 이미지
돌핀
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.반대로 일봉이 볼린져밴드 중심상단선위에 있으면 그날 매도금지 부탁드립니다