커뮤니티

지표 문의 드립니다.

프로필 이미지
한글나라
2013-09-14 00:26:32
140
글번호 67567
답변완료
ADX에서 DIPLUS값의 DIPLUS값을 출력하는 지표 문의드립니다. 즉 주가의 Diplus값을 다시 Diplus에 넣어서 나오는 값을 출력하는 겁니다. 사용자함수 보고 넣으려해도 어렵습니다.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2013-09-16 14:26:54

안녕하세요 예스스탁입니다. 식을 완전히 풀어서 작성하셔야 합니다. 아래식 참고하시기 바랍니다. Inputs: Length(14) ; Var : cnt1(0), TRange1(0), MyRange1(0), PlusDM1141(0), PlusDM1(0), MinusDM1(0),DIP1(0); Var : cnt2(0), TRange2(0), MyRange2(0), PlusDM2142(0), PlusDM2(0), MinusDM2(0),DIP2(0); var : TH(0),TL(0),TR(0),idx(0); If index == Length+2 Then { MyRange1 = Length; DIP1 = 0; PlusDM1141 = 0; TRange1 = 0; For cnt1 = 0 To MyRange1 - 1 { If High[cnt1] - High[cnt1+1] < 0 Then PlusDM1 = 0; Else PlusDM1 = High[cnt1] - High[cnt1+1]; If Low[cnt1+1] - Low[cnt1] < 0 Then MinusDM1 = 0; Else MinusDM1 = Low[cnt1+1] - Low[cnt1]; If MinusDM1 >= PlusDM1 Then PlusDM1 = 0; TRange1 = TRange1 + TrueRange[cnt1]; PlusDM1141 = PlusDM1141 + PlusDM1; } If TRange1 <> 0 Then DIP1 = 100 * PlusDM1141 / TRange1; Else DIP1 = 0 ; } Else If index > Length+2 Then { If High[0] - High[1] < 0 Then PlusDM1 = 0; Else PlusDM1 = High[0] - High[1]; If Low [1] - Low [0] < 0 Then MinusDM1 = 0; Else MinusDM1 = Low[1] - Low[0]; If MinusDM1 >= PlusDM1 Then PlusDM1 = 0; If MyRange1 > 0 Then { TRange1 = TRange1[1] - (TRange1[1] / MyRange1) + TrueRange; PlusDM1141 = PlusDM1141[1] - (PlusDM1141[1] / MyRange1) + PlusDM1; } If TRange1 <> 0 Then DIP1 = 100 * PlusDM1141 / TRange1; Else DIP1 = 0 ; } if DIP1 > 0 Then idx = idx+1; if idx >= 2 Then{ If DIP1[1] > DIP1 then TH = DIP1[1]; else TH = DIP1; If DIP1[1] < DIP1 then TL = DIP1[1]; else TL = DIP1; TR = TH-TL; } If idx == Length+2 Then { MyRange2 = Length; DIP2 = 0; PlusDM2142 = 0; TRange2 = 0; For cnt2 = 0 To MyRange2 - 1 { If DIP1[cnt2] - DIP1[cnt2+1] < 0 Then PlusDM2 = 0; Else PlusDM2 = DIP1[cnt2] - DIP1[cnt2+1]; If DIP1[cnt2+1] - DIP1[cnt2] < 0 Then MinusDM2 = 0; Else MinusDM2 = DIP1[cnt2+1] - DIP1[cnt2]; If MinusDM2 >= PlusDM2 Then PlusDM2 = 0; TRange2 = TRange2 + TR[cnt2]; PlusDM2142 = PlusDM2142 + PlusDM2; } If TRange2 <> 0 Then DIP2 = 100 * PlusDM2142 / TRange2; Else DIP2 = 0 ; } Else If idx > Length+2 Then { If DIP1[0] - DIP1[1] < 0 Then PlusDM2 = 0; Else PlusDM2 = DIP1[0] - DIP1[1]; If DIP1[1] - DIP1[0] < 0 Then MinusDM2 = 0; Else MinusDM2 = DIP1[1] - DIP1[0]; If MinusDM2 >= PlusDM2 Then PlusDM2 = 0; If MyRange2 > 0 Then { TRange2 = TRange2[1] - (TRange2[1] / MyRange2) + TR; PlusDM2142 = PlusDM2142[1] - (PlusDM2142[1] / MyRange2) + PlusDM2; } If TRange2 <> 0 Then DIP2 = 100 * PlusDM2142 / TRange2; Else DIP2 = 0 ; } plot1(DIP2); 즐거운 하루되세요 > 한글나라 님이 쓴 글입니다. > 제목 : 지표 문의 드립니다. > ADX에서 DIPLUS값의 DIPLUS값을 출력하는 지표 문의드립니다. 즉 주가의 Diplus값을 다시 Diplus에 넣어서 나오는 값을 출력하는 겁니다. 사용자함수 보고 넣으려해도 어렵습니다.