커뮤니티

문의드립니다.

프로필 이미지
동해바다01
2012-08-14 21:18:07
240
글번호 53778
답변완료
var1 = bids - asks 호가잔량으로 adx 지표 부탁드립니다. DIplus와 DIminus도 같이 나오게 부탁드립니다.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2012-08-16 08:40:42

안녕하세요 예스스탁입니다. Inputs: Length(10); var : TH(0),TL(0),TR(0); Var : Counter(0), TRange(0), MyRange(Length), PlusDM14(0), PlusDM(0), MinusDM(0),DPlus(0); Var : MinusDM14(0), Dminus(0),DMIv(0), ADXCounter(0), ADXCummDMI(0), ADXReturn(0),Return(0),ADXv(0); var1 = bids-asks; If var1[1] > var1 then TH = var1[1]; else TH = var1; If var1[1] < var1 then TL = var1[1]; else TL = var1; TR = TH - TL; If CurrentBar == 1 Then { MyRange = Length; DPlus = 0; PlusDM14 = 0; MinusDM14 = 0; TRange = 0; For Counter = 0 To MyRange - 1 { If var1[Counter] - var1[Counter+1] < 0 Then PlusDM = 0; Else PlusDM = var1[Counter] - var1[Counter+1]; If var1[Counter+1] - var1[Counter] < 0 Then MinusDM = 0; Else MinusDM = var1[Counter+1] - var1[Counter]; If MinusDM >= PlusDM Then PlusDM = 0; If PlusDM >= MinusDM Then MinusDM = 0; TRange = TRange + TR[Counter]; PlusDM14 = PlusDM14 + PlusDM; MinusDM14 = MinusDM14 + MinusDM; } If TRange <> 0 Then DPlus = 100 * PlusDM14 / TRange; Else DPlus = 0 ; If TRange <> 0 Then DMinus = 100 * MinusDM14 / TRange; Else DMinus = 0; } ##dp Else If CurrentBar > 1 Then { If var1[0] - var1[1] < 0 Then PlusDM = 0; Else PlusDM = var1[0] - var1[1]; If var1[1] - var1[0] < 0 Then MinusDM = 0; Else MinusDM = var1[1] - var1[0]; If MinusDM >= PlusDM Then PlusDM = 0; If PlusDM >= MinusDM Then MinusDM = 0 ; If MyRange > 0 Then Begin TRange = TRange[1] - (TRange[1] / MyRange) + TR; PlusDM14 = PlusDM14[1] - (PlusDM14[1] / MyRange) + PlusDM; MinusDM14 = MinusDM14[1] - (MinusDM14[1] / MyRange) + MinusDM; End; If TRange <> 0 Then DPlus = 100 * PlusDM14 / TRange; Else DPlus = 0 ; If TRange <> 0 Then DMinus = 100 * MinusDM14 / TRange; Else DMinus = 0; } If DPlus + DMinus == 0 Then DMIv = 0; Else DMIv = 100 * AbsValue(DPlus - DMinus) / (DPlus + DMinus); Return = 0; If CurrentBar >= 1 AND Length > 0 Then Begin If CurrentBar < Length Then begin ADXCummDMI = 0; for Counter = 0 To CurrentBar - 1 Begin ADXCummDMI = ADxCummDMI + DMIV[Counter]; End; Return = ADXCummDMI / CurrentBar; End Else Return = (ADXv[1] * (Length - 1) + DMIv) / Length; End; ADXv = Return; plot1(ADXv); plot2(Dplus); plot3(Dminus); 즐거운 하루되세요 > 동해바다01 님이 쓴 글입니다. > 제목 : 문의드립니다. > var1 = bids - asks 호가잔량으로 adx 지표 부탁드립니다. DIplus와 DIminus도 같이 나오게 부탁드립니다.