커뮤니티

문의드립니다

프로필 이미지
해피오
2022-01-26 15:33:56
919
글번호 155819
답변완료
볼밴기준선은 기간은 10, 2를 설정합니다 1. 월봉기준으로 볼밴상단선과 중심선은은 우상향하고 하단선은 우하향해야한다 2. 주봉기준으로 볼밴상단선과 중심선은은 우상향하고 하단선은 우하향해야한다 3. 일봉기준으로는 볼밴상단선과 중심선은은 우상향하는 종목 위 기준을 만족하는 종목검색식을 부탁드리고요, 추가적으로 10봉이전에는 위 종목검색이 안되고 0봉전기준으로 처음검색되는 종목조항도 별도로 수식만들어주세요
종목검색
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2022-01-27 10:03:35

안녕하세요 예스스탁입니다. 일봉에서 월봉,주봉을 모두 계산해야 하므로 봉수가 많이 필요합니다 속성에서 검색에 필요한 최소시간에 500봉 지정하고 검색하시기 바랍니다. 종목검색은 최대 500봉까지 제공되므로 볼밴기간을 크게 잡으시면 검색이 봉수가 부족해 계산하지 못ㅎ바니다. 1 input : Period(10),Dv(2); var : cnt(0); var : Msum(0),Mmav(0),MBBup(0),MBBdn(0),Mmav1(0),MBBup1(0),MBBdn1(0),MSumSqrt(0),MStdv(0); Array : monthC[100](0); var : Wsum(0),Wmav(0),WBBup(0),WBBdn(0),Wmav1(0),WBBup1(0),WBBdn1(0),WSumSqrt(0),WStdv(0); Array : WeekC[100](0); var : mav(0),bbup(0),bbdn(0); mav = ma(C,Period); bbup = BollBandUp(Period,dv); bbdn = BollBandDown(Period,dv); if sdate != sdate[1] Then { if sdate != sdate[1]+30 Then { for cnt = 1 to 99 { monthC[cnt] = monthC[cnt-1][1]; } } if dayofweek(sdate) < DayOfWeek(sdate[1]) Then { for cnt = 1 to 99 { WeekC[cnt] = WeekC[cnt-1][1]; } } Mmav1 = Mmav[1]; MBBup1 = MBBup[1]; MBBdn1 = MBBdn[1]; Wmav1 = Wmav[1]; WBBup1 = WBBup[1]; WBBdn1 = WBBdn[1]; } monthC[0] = C; WeekC[0] = C; If monthC[Period-1] > 0 and WeekC[Period-1] > 0 Then { Msum = 0; Wsum = 0; for cnt = 0 to Period-1 { Msum = Msum+monthC[cnt]; Wsum = Wsum+WeekC[cnt]; } Mmav = Msum/Period; Wmav = Wsum/Period; MSumSqrt = 0; WSumSqrt = 0; For cnt = 0 To Period - 1 { MSumSqrt = MSumSqrt + (monthC[cnt] - Mmav)^2; WSumSqrt = WSumSqrt + (WeekC[cnt] - Wmav)^2; } MStdv = SquareRoot(MSumSqrt / Period); MBBup = Mmav + (Dv * MStdv); MBBdn = Mmav - (Dv * MStdv); WStdv = SquareRoot(WSumSqrt / Period); WBBup = Wmav + (Dv * WStdv); WBBdn = Wmav - (Dv * WStdv); Condition1 = Mmav1 > 0 and WMav1 > 0 and Mmav > Mmav1 and Mbbup > Mbbup1 and Mbbdn < Mbbdn1 and Wmav > Wmav1 and Wbbup > Wbbup1 and Wbbdn < Wbbdn1 and mav > mav[1] and bbup > bbup[1]; if Condition1 == true Then Find(1); } 2 input : Period(10),Dv(2),N(10); var : cnt(0); var : Msum(0),Mmav(0),MBBup(0),MBBdn(0),Mmav1(0),MBBup1(0),MBBdn1(0),MSumSqrt(0),MStdv(0); Array : monthC[100](0); var : Wsum(0),Wmav(0),WBBup(0),WBBdn(0),Wmav1(0),WBBup1(0),WBBdn1(0),WSumSqrt(0),WStdv(0); Array : WeekC[100](0); var : mav(0),bbup(0),bbdn(0); mav = ma(C,Period); bbup = BollBandUp(Period,dv); bbdn = BollBandDown(Period,dv); if sdate != sdate[1] Then { if sdate != sdate[1]+30 Then { for cnt = 1 to 99 { monthC[cnt] = monthC[cnt-1][1]; } } if dayofweek(sdate) < DayOfWeek(sdate[1]) Then { for cnt = 1 to 99 { WeekC[cnt] = WeekC[cnt-1][1]; } } Mmav1 = Mmav[1]; MBBup1 = MBBup[1]; MBBdn1 = MBBdn[1]; Wmav1 = Wmav[1]; WBBup1 = WBBup[1]; WBBdn1 = WBBdn[1]; } monthC[0] = C; WeekC[0] = C; If monthC[Period-1] > 0 and WeekC[Period-1] > 0 Then { Msum = 0; Wsum = 0; for cnt = 0 to Period-1 { Msum = Msum+monthC[cnt]; Wsum = Wsum+WeekC[cnt]; } Mmav = Msum/Period; Wmav = Wsum/Period; MSumSqrt = 0; WSumSqrt = 0; For cnt = 0 To Period - 1 { MSumSqrt = MSumSqrt + (monthC[cnt] - Mmav)^2; WSumSqrt = WSumSqrt + (WeekC[cnt] - Wmav)^2; } MStdv = SquareRoot(MSumSqrt / Period); MBBup = Mmav + (Dv * MStdv); MBBdn = Mmav - (Dv * MStdv); WStdv = SquareRoot(WSumSqrt / Period); WBBup = Wmav + (Dv * WStdv); WBBdn = Wmav - (Dv * WStdv); Condition1 = Mmav1 > 0 and WMav1 > 0 and Mmav > Mmav1 and Mbbup > Mbbup1 and Mbbdn < Mbbdn1 and Wmav > Wmav1 and Wbbup > Wbbup1 and Wbbdn < Wbbdn1 and mav > mav[1] and bbup > bbup[1]; if Condition1 == true and countif(Condition1 == true,N) == 1 Then Find(1); } 즐거운 하루되세요 > 해피오 님이 쓴 글입니다. > 제목 : 문의드립니다 > 볼밴기준선은 기간은 10, 2를 설정합니다 1. 월봉기준으로 볼밴상단선과 중심선은은 우상향하고 하단선은 우하향해야한다 2. 주봉기준으로 볼밴상단선과 중심선은은 우상향하고 하단선은 우하향해야한다 3. 일봉기준으로는 볼밴상단선과 중심선은은 우상향하는 종목 위 기준을 만족하는 종목검색식을 부탁드리고요, 추가적으로 10봉이전에는 위 종목검색이 안되고 0봉전기준으로 처음검색되는 종목조항도 별도로 수식만들어주세요