커뮤니티

BOX 차트 수식 문의

프로필 이미지
뚜벅대왕
2010-11-18 19:50:52
1110
글번호 33570
답변완료
대신에는 있던데.. 제꺼에는 없네요 가격 & BOX 차트 메일로 해주셨던데 지표 수식 부탁드립니다.제발 부탁드립니다. 그리고 염치없지만 BOX를 하단돌파하는 조건식도 알고 싶습니다.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2010-11-15 10:17:19

안녕하세요? 예스스탁입니다. 먼저 BOX지표 사용상의 주의 말씀을 드리겠습니다. 이 지표는 그 특성상 차트에 띄워진 봉의 개수에 따라서 지표가 다르게 그려질 수 있습니다. 따라서 봉갯수를 충분히 많이 띄워놓고 사용하시길 바라며, 봉갯수에 따라 값이 가변적이 되기 때문에 시스템식이나 조건검색식으로 사용하기는 적합하지 않습니다. 특히 조건검색은 최대 봉갯수를 500봉까지만 사용가능하기 때문에 조건검색으로 나오는 결과와 차트에 장기간의 차트로 띄워놓고 보시는 결과가 전혀 일치하지 않게 됩니다. [지표식] input : MaPeriod(20), StdDevPeriod(300); var : ii(0), UpperSum(0),UpperNum(0),LowerSum(0), LowerNum(0); If index >= MAPeriod - 1 then { Var1 = ma(close, MAPeriod); Var2 = close - Var1; If Var2 >= 0 then { Var3 = Var2; //upper Var7 = 0; //lower //0//값 입력 Var4 = Var4 + Var3; //upper의 합 Var5 = Var5 + 1; //nPlus } If Var2 < 0 then { Var7 = Var2; //lower Var3 = 0; //upper //0//값 입력 Var8 = Var8 + Var7; //lower의 합 Var9 = Var9 + 1; //nMinus } If index >= StdDevPeriod - 1 then { If index > StdDevPeriod - 1 then { UpperSum = Var4 - Var4[StdDevPeriod]; UpperNum = Var5 - Var5[StdDevPeriod]; Var6 = UpperSum / UpperNum; //upperMean } Else Var6 = Var4 / Var5; //upperMean Var11 = 0; For ii = index - StdDevPeriod + 1 To index { If Var3[ii] <> 0 then { Var11 = Var11 + (Var6 - Var3[ii]) ^ 2; } } If index == StdDevPeriod - 1 then Var11 = sqrt(Var11 / Var5); //upperstd Else Var11 = sqrt(Var11 / UpperNum); //upperstd plot1( Var1 + Var6 + (2 * Var11),"upperLine"); If index > StdDevPeriod - 1 then { LowerSum = Var8 - Var8[StdDevPeriod]; LowerNum = Var9 - Var9[StdDevPeriod]; Var10 = LowerSum / LowerNum; //lowerMean } Else Var10 = Var8 / Var9; //lowerMean Var12 = 0; For ii = index - StdDevPeriod + 1 To index { If Var7[ii] <> 0 then { Var12 = Var12 + (Var10 - Var7[ii]) ^ 2; } } If index == StdDevPeriod - 1 then Var12 = sqrt(Var12 / Var9); //upperstd Else Var12 = sqrt(Var12 / LowerNum); //upperstd plot2( Var1 + Var10 - (2 * Var12),"lowerLine"); plot3( Var1,"MA"); } } [조건검색식] //차트상 봉차트를 500봉으로 맞추시고, 조건검색도 사용자설정 500으로 맞추어놓고 검색해야 차트와 검색되는 종목이 일치합니다. 봉갯수에 따라서 가변적인 문제가 있기 때문에 이 검색식은 사용하지 않으시는게 좋다고 판단됩니다. input : MaPeriod(20), StdDevPeriod(300); var : ii(0), UpperSum(0),UpperNum(0),LowerSum(0), LowerNum(0); If index >= MAPeriod - 1 then { Var1 = ma(close, MAPeriod); Var2 = close - Var1; If Var2 >= 0 then { Var3 = Var2; //upper Var7 = 0; //lower //0//값 입력 Var4 = Var4 + Var3; //upper의 합 Var5 = Var5 + 1; //nPlus } If Var2 < 0 then { Var7 = Var2; //lower Var3 = 0; //upper //0//값 입력 Var8 = Var8 + Var7; //lower의 합 Var9 = Var9 + 1; //nMinus } If index >= StdDevPeriod - 1 then { If index > StdDevPeriod - 1 then { UpperSum = Var4 - Var4[StdDevPeriod]; UpperNum = Var5 - Var5[StdDevPeriod]; Var6 = UpperSum / UpperNum; //upperMean } Else Var6 = Var4 / Var5; //upperMean Var11 = 0; For ii = index - StdDevPeriod + 1 To index { If Var3[ii] <> 0 then { Var11 = Var11 + (Var6 - Var3[ii]) ^ 2; } } If index == StdDevPeriod - 1 then Var11 = sqrt(Var11 / Var5); //upperstd Else Var11 = sqrt(Var11 / UpperNum); //upperstd If index > StdDevPeriod - 1 then { LowerSum = Var8 - Var8[StdDevPeriod]; LowerNum = Var9 - Var9[StdDevPeriod]; Var10 = LowerSum / LowerNum; //lowerMean } Else Var10 = Var8 / Var9; //lowerMean Var12 = 0; For ii = index - StdDevPeriod + 1 To index { If Var7[ii] <> 0 then { Var12 = Var12 + (Var10 - Var7[ii]) ^ 2; } } If index == StdDevPeriod - 1 then Var12 = sqrt(Var12 / Var9); //upperstd Else Var12 = sqrt(Var12 / LowerNum); //upperstd } } if CrossDown(C, Var1 + Var10 - (2 * Var12)) Then find(1); > 뚜벅대왕 님이 쓴 글입니다. > 제목 : BOX 차트 수식 문의 > 대신에는 있던데.. 제꺼에는 없네요 가격 & BOX 차트 메일로 해주셨던데 지표 수식 부탁드립니다.제발 부탁드립니다. 그리고 염치없지만 BOX를 하단돌파하는 조건식도 알고 싶습니다. marino123@ naver.com