커뮤니티

adx 지표식

프로필 이미지
고동희
2008-01-16 16:42:46
1241
글번호 14418
답변완료
예스스탁에서 사용하는 지표식을 찾아서 트레이드스테이션에서 다음과 같이 작성했습니다. Inputs : period(Numeric); Variables : value1(0), value2(0), value3(0), value4(0), value5(0); value1 = iff(H-H[1]>0 and H-H[1]>L[1]-L,H-H[1],0); value2 = iff(L[1]-L>0 and H-H[1]<L[1]-L,L[1]-L,0); value3 = average(value1,period); value4 = average(value2,period); _ADX = average(absvalue(value3-value4)/(value3+value4)*100,Period) 그런데 적용을 하려니까, 0으로 나누기를 시도하는 에러를 발생시킵니다. 같은 식으로 예스차트에서 적용시키니까 제대로 돌구요. 예스스탁으로 작성한 전략을 트레이드스테이션과 호환시키기 위해서 adx 값이 같아야 하는데 언급한 문제때문에 막혔습니다. 같은 기간, 같은 차트를 통해서 적용시키는데 왜 그럴까요. 예스스탁에서는 별도의 처리를 해주는 건가요? 혹 아시는 내용 있으시면 알려주시면 감사하겠습니다.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2008-01-16 17:08:15

안녕하세요 예스스탁입니다. 각 랭귀지마다 일정부분 다르게 처리하는 부분이 있습니다. 가령 특정수를 0으로 나눌때 N/A를 리턴하느냐 혹은 0값을 리턴하는 차이가 날 수 있습니다. 3.1식을 ADX지표식을 올려드립니다. 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; 사용자함수내의 DMI는 TS에서 사용되는 함수로 변경하시기 바랍니다. 즐거운 하루되세요 > 고동희 님이 쓴 글입니다. > 제목 : adx 지표식 > 예스스탁에서 사용하는 지표식을 찾아서 트레이드스테이션에서 다음과 같이 작성했습니다. Inputs : period(Numeric); Variables : value1(0), value2(0), value3(0), value4(0), value5(0); value1 = iff(H-H[1]>0 and H-H[1]>L[1]-L,H-H[1],0); value2 = iff(L[1]-L>0 and H-H[1]<L[1]-L,L[1]-L,0); value3 = average(value1,period); value4 = average(value2,period); _ADX = average(absvalue(value3-value4)/(value3+value4)*100,Period) 그런데 적용을 하려니까, 0으로 나누기를 시도하는 에러를 발생시킵니다. 같은 식으로 예스차트에서 적용시키니까 제대로 돌구요. 예스스탁으로 작성한 전략을 트레이드스테이션과 호환시키기 위해서 adx 값이 같아야 하는데 언급한 문제때문에 막혔습니다. 같은 기간, 같은 차트를 통해서 적용시키는데 왜 그럴까요. 예스스탁에서는 별도의 처리를 해주는 건가요? 혹 아시는 내용 있으시면 알려주시면 감사하겠습니다.