커뮤니티

함수요청

프로필 이미지
흰둥이아빠
2023-10-19 17:23:40
968
글번호 173233
답변완료
안녕하세요? 아래 글번호 84183번 재질문입니다. 웹에서 서치한 BOX 차트의 공식입니다. 스크립트에 반영 부탁드립니다. ma = n 일 이동평균 upper = (종가 - ma) 가 양인 값들로 이루어진 배열(오른 날을 nPlus) lower = (종가 - ma) 가 음인 값들의 배열(내린 날을 nMinus) upperMean = upper의 nPlus 평균 lowerMean = lower의 nMinus 평균 upperstd = upper의 nPlus 표준편차 lowerstd = lower의 nMinus 표준편차 box 챠트의 상위선 = ma + upperMean + (2 * upperstd) box 챠트의 하위선 = ma + upperbox 챠트의 하위선 = ma + lowerMean - (2 * lowerstd)
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2023-10-20 09:48:32

안녕하세요 예스스탁입니다. 해당공식에 모호한 부분들이 있어 정확히 구현된 내용인지 모르겠습니다. 주석 내용들 참고하시기 바랍니다. input : n(20),STDperiod(60); var : mav(0),upper(0),lower(0),uppermean(0),lowermean(0); var : cnt(0),sum1(0),sum2(0),SumSqrt1(0),SumSqrt2(0),upperstd(0),lowerstd(0); var : box상위선(0),box하위선(0); Array : nPlus[100](0),nMinus[100](0); mav = ma(c,n); #(종가 - ma) 가 양인 값들로 이루어진 배열 if C - mav > 0 Then { for cnt = 99 DownTo 1 { nPlus[cnt] = nPlus[cnt-1]; } nPlus[0] = abs(C-mav); } # (종가 - ma) 가 음인 값들의 배열 if C - mav < 0 Then { for cnt = 99 DownTo 1 { nMinus[cnt] = nMinus[cnt-1]; } nMinus[0] = abs(C-mav); } if nplus[STDperiod-1] > 0 and nMinus[STDperiod-1] > 0 Then { #upperMean = upper의 nPlus 평균 #lowerMean = lower의 nMinus 평균 sum1 = 0; sum2 = 0; For cnt = 0 to STDperiod-1 { sum1 = sum1 + nPlus[cnt]; sum2 = sum2 + nMinus[cnt]; } upperMean = sum1/STDperiod; lowerMean = sum2/STDperiod; #upperstd = upper의 nPlus 표준편차 #lowerstd = lower의 nMinus 표준편차 SumSqrt1 = 0; SumSqrt2 = 0; For cnt = 0 To STDperiod - 1 { SumSqrt1 = SumSqrt1 + (nPlus[cnt] - lowerMean)^2; SumSqrt2 = SumSqrt2 + (nMinus[cnt] - lowerMean)^2; } upperstd = SquareRoot(SumSqrt1 / STDperiod); lowerstd = SquareRoot(SumSqrt2 / STDperiod); box상위선 = mav + upperMean + (2 * upperstd); box하위선 = mav + lowerMean - (2 * lowerstd); if CountIf(H < box하위선,2) == 2 Then Sell("s1",AtMarket); if CountIf(l > box상위선,2) == 2 Then Buy("b1",AtMarket); if H[1] < box하위선 and L > box하위선 Then Buy("b2",AtMarket); if H[1] < box상위선 and L > box상위선 Then Sell("s2",AtMarket); } 즐거운 하루되세요 > 흰둥이아빠 님이 쓴 글입니다. > 제목 : 함수요청 > 안녕하세요? 아래 글번호 84183번 재질문입니다. 웹에서 서치한 BOX 차트의 공식입니다. 스크립트에 반영 부탁드립니다. ma = n 일 이동평균 upper = (종가 - ma) 가 양인 값들로 이루어진 배열(오른 날을 nPlus) lower = (종가 - ma) 가 음인 값들의 배열(내린 날을 nMinus) upperMean = upper의 nPlus 평균 lowerMean = lower의 nMinus 평균 upperstd = upper의 nPlus 표준편차 lowerstd = lower의 nMinus 표준편차 box 챠트의 상위선 = ma + upperMean + (2 * upperstd) box 챠트의 하위선 = ma + upperbox 챠트의 하위선 = ma + lowerMean - (2 * lowerstd)