커뮤니티

지표식 문의

프로필 이미지
한글나라
2020-03-27 02:03:09
501
글번호 137263
답변완료
지표식 문의드립니다. diplus와 diminus를 풀어쓴 식이 필요합니다.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2020-03-30 09:31:37

안녕하세요 예스스탁입니다. Input : Length(14) ; Var : Counter(0), TRange(0), MyRange(Length), PlusDM14(0), PlusDM(0), MinusDM(0),DIPlusv(0); Var : MinusDM14(0),DIMinusv(0),v1(0),v2(0); If CurrentBar == 1 Then Begin MyRange = Length; DIPlusv = 0; PlusDM14 = 0; DIMinusv = 0; MinusDM14 = 0; TRange = 0; For Counter = 0 To MyRange - 1 Begin If High[Counter] - High[Counter+1] < 0 Then PlusDM = 0; Else PlusDM = High[Counter] - High[Counter+1]; If Low[Counter+1] - Low[Counter] < 0 Then MinusDM = 0; Else MinusDM = Low[Counter+1] - Low[Counter]; v1 = PlusDM; v2 = MinusDM; If v2 >= v1 Then PlusDM = 0; If v1 >= v2 Then MinusDM = 0; TRange = TRange + TrueRange[Counter]; PlusDM14 = PlusDM14 + PlusDM; MinusDM14 = MinusDM14 + MinusDM; End; If TRange <> 0 Then DIPlusv = 100 * PlusDM14 / TRange; Else DIPlusv = 0 ; If TRange <> 0 Then DIMinusv = 100 * MinusDM14 / TRange; Else DIMinusv = 0; End Else If CurrentBar > 1 Then Begin If High[0] - High[1] < 0 Then PlusDM = 0; Else PlusDM = High[0] - High[1]; If Low [1] - Low [0] < 0 Then MinusDM = 0; Else MinusDM = Low[1] - Low[0]; v1 = PlusDM; v2 = MinusDM; If v2 >= v1 Then PlusDM = 0; If v1 >= v2 Then MinusDM = 0; If MyRange > 0 Then Begin TRange = TRange[1] - (TRange[1] / MyRange) + TrueRange; PlusDM14 = PlusDM14[1] - (PlusDM14[1] / MyRange) + PlusDM; MinusDM14 = MinusDM14[1] - (MinusDM14[1] / MyRange) + MinusDM; End; If TRange <> 0 Then DIPlusv = 100 * PlusDM14 / TRange; Else DIPlusv = 0 ; If TRange <> 0 Then DIMinusv = 100 * MinusDM14 / TRange; Else DIMinusv = 0; End ; plot1(DIPlusv); plot2(DIMinusv); 즐거운 하루되세요 > 한글나라 님이 쓴 글입니다. > 제목 : 지표식 문의 > 지표식 문의드립니다. diplus와 diminus를 풀어쓴 식이 필요합니다.