커뮤니티

함수값 문의

프로필 이미지
사랑초
2012-09-10 14:27:22
447
글번호 54541
답변완료
제가 예전에 ADX 지표값이 타 HTS에서 보던거랑 예스트레이더에서 보던거랑 달라서 문의를 드리고 단순화시킨 함수라면서 받은것이 있습니다. "ADXV" input : Period(NumericSimple); var : SPDM(0), SMDM(0), STR(0),PlusDi(0), MinusDi(0), DX(0); SPDM = ema(iff(H-H[1]>0 && H-H[1]>L[1]-L,H-H[1],0),period); SMDM= ema(iff(L[1]-L>0 && H-H[1]<L[1]-L,L[1]-L,0),period); STR = ema(TrueRange,period); PlusDi = SPDM/STR*100; MinusDi = SMDM/STR*100; DX = abs(PlusDi-MinusDi)/abs(PlusDi+MinusDi)*100; ADXV = ema(DX,period); "기존 ADX" /* Description : (A)verage (D)irectinal Movement Inde(x) * * Provided By : YesStock Inc. (c) Copyright 2006 * E-Mail : webmaster@yesstock.com */ Inputs: Length(Numeric); Variables: Counter(0), CummDMI(0), Return(0), DMIV(0); Return = 0; DMIV = DMI(Length); If CurrentBar >= 1 AND Length > 0 Then Begin If CurrentBar < Length Then begin CummDMI = 0; for Counter = 0 To CurrentBar - 1 Begin CummDMI = CummDMI + DMIV[Counter]; End; Return = CummDMI / CurrentBar; End Else Return = (ADX[1] * (Length - 1) + DMI(Length)) / Length; End; ADX = Return; --제가 궁금한것은 이 수식을 보고 잘 이해를 못해서. 1.정말 원래 내장되어 있는 ADX 함수값이 원래 식에 맞는것인지 2. 두 수식의 차이가 어떤 차이점이 있는건지 3. 어떤분이 지수이평과 단순 이평의 차이라고 하시던데 원래 있던것은 단순이평을 쓴것이고. 위에것이 지수평균을 활용해서 그런거라는 뎃글을 보았는데.. 그런것인지? 책에서 보면. 지수이평을 활용한다고.. 나와있어서. 4. 올려주신 ADXV 14 값과 내장 ADX 7.5 값이 정확하게 맞아 떨어지는데.. 지수이평과 단순이평차이가 아닌것 같기도 하고요.. 제가 이 두함수가 어떤차이가 있는지 어떤것이 맞는건지 확실히 알아야 어떤함수를 활용해서 로직을 짤것인지. 확실히 정해질것 같아서. 질문 올립니다. --------------- 댓글내용 "저도 같은걸로 고민했었는데, DI와 ADX 계산식 찾아보고 엑셀로 계산해보고 알아냈습니다. ADX 계산시에 이동평균으로 계산시... 단순이동평균이냐 지수이동평균이냐의 차이네요... 단순이동평균(리딩,예스트레이더, 대신, 우리) 지수이동평균(키움) 키움 ADX (27) = 리딩 ADX (14) 2/(1+27) = 1/14 ma로 했느냐, ema로 했느냐의 차이죠... ---------------
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2012-09-10 16:09:33

안녕하세요 예스스탁입니다. ADX는 DX의 N일간의 평균인데 말씀하신 것과 같이 지표를 제공하는 회사마다 평균방법이 많이 차이가 발생합니다. 단순이평,지수이평,가중이평등 여러 형태의 평균방법이 사용되며 실제 기술적 지표관련 책에서도 계산식이 상이한 경우가 있습니다. 평균방법에 있어 어떤게 정답이다라는 내용은 없습니다. 사용자분이 기호에 맞게 이용하시면 됩니다. 내장 adx에서는 봉수가 수식계산에 필요한 최소봉수가 되지 않았을 경우에는 현재까지의 봉의 dmi값을 합산하여 평균해서 adx값으로 사용하고 수식계산에 필요한 최소봉수를 넘어가면 직전봉에서 계산한 adx에 기간-1의 가중치를 주고 현재봉 dmi값을 더해 기간으로 평균하는 방법을 택하고 있습니다.내장 ADX의 경우 멀티차트,트레이드스테이션등 전문 시스템 트레이딩툴과 같은 계산식으로 알고 있습니다. 즐거운 하루되세요 > 사랑초 님이 쓴 글입니다. > 제목 : 함수값 문의 > 제가 예전에 ADX 지표값이 타 HTS에서 보던거랑 예스트레이더에서 보던거랑 달라서 문의를 드리고 단순화시킨 함수라면서 받은것이 있습니다. "ADXV" input : Period(NumericSimple); var : SPDM(0), SMDM(0), STR(0),PlusDi(0), MinusDi(0), DX(0); SPDM = ema(iff(H-H[1]>0 && H-H[1]>L[1]-L,H-H[1],0),period); SMDM= ema(iff(L[1]-L>0 && H-H[1]<L[1]-L,L[1]-L,0),period); STR = ema(TrueRange,period); PlusDi = SPDM/STR*100; MinusDi = SMDM/STR*100; DX = abs(PlusDi-MinusDi)/abs(PlusDi+MinusDi)*100; ADXV = ema(DX,period); "기존 ADX" /* Description : (A)verage (D)irectinal Movement Inde(x) * * Provided By : YesStock Inc. (c) Copyright 2006 * E-Mail : webmaster@yesstock.com */ Inputs: Length(Numeric); Variables: Counter(0), CummDMI(0), Return(0), DMIV(0); Return = 0; DMIV = DMI(Length); If CurrentBar >= 1 AND Length > 0 Then Begin If CurrentBar < Length Then begin CummDMI = 0; for Counter = 0 To CurrentBar - 1 Begin CummDMI = CummDMI + DMIV[Counter]; End; Return = CummDMI / CurrentBar; End Else Return = + DMI(Length)) / Length; End; ADX = Return; --제가 궁금한것은 이 수식을 보고 잘 이해를 못해서. 1.정말 원래 내장되어 있는 ADX 함수값이 원래 식에 맞는것인지 2. 두 수식의 차이가 어떤 차이점이 있는건지 3. 어떤분이 지수이평과 단순 이평의 차이라고 하시던데 원래 있던것은 단순이평을 쓴것이고. 위에것이 지수평균을 활용해서 그런거라는 뎃글을 보았는데.. 그런것인지? 책에서 보면. 지수이평을 활용한다고.. 나와있어서. 4. 올려주신 ADXV 14 값과 내장 ADX 7.5 값이 정확하게 맞아 떨어지는데.. 지수이평과 단순이평차이가 아닌것 같기도 하고요.. 제가 이 두함수가 어떤차이가 있는지 어떤것이 맞는건지 확실히 알아야 어떤함수를 활용해서 로직을 짤것인지. 확실히 정해질것 같아서. 질문 올립니다. --------------- 댓글내용 "저도 같은걸로 고민했었는데, DI와 ADX 계산식 찾아보고 엑셀로 계산해보고 알아냈습니다. ADX 계산시에 이동평균으로 계산시... 단순이동평균이냐 지수이동평균이냐의 차이네요... 단순이동평균(리딩,예스트레이더, 대신, 우리) 지수이동평균(키움) 키움 ADX (27) = 리딩 ADX (14) 2/(1+27) = 1/14 ma로 했느냐, ema로 했느냐의 차이죠... ---------------