커뮤니티

안녕하세요

프로필 이미지
돈을잃자
2024-03-15 07:23:46
683
글번호 177501
답변완료
1. '당일, 고가를 갱신한 후 n개봉 이내에' 라는 표현 수식을 알고 싶습니다 2. adx를 매일 초기화하여 당일기준으로만 볼 수 있는 수식을 알고 싶습니다 ^^ 즐거운 주말 되십쇼
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2024-03-15 10:16:59

안녕하세요 예스스탁입니다. 1 input : n(10); if h == DayHigh Then var1 = Index; if var1 > 0 and Index <= var1+n Then 2 Inputs : Period(24); Var : idx(0),Counter(0), TRange(0), PlusDM14(0),MinusDM14(0); var : PlusDM(0), MinusDM(0),DMIv(0); var : DP(0),DM(0); if bdate != Bdate[1] or Index == 0 Then { idx = 0; DP = 0; DM = 0; } else idx = idx+1; if idx >= Period+1 Then { If idx == Period+1 Then { DP = 0; DM = 0; PlusDM14 = 0; MinusDM14 = 0; TRange = 0; For Counter = 0 To Period - 1 { 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]; var1 = PlusDM; Var2 = MinusDM; If Var2 >= var1 Then PlusDM = 0; If var1 >= Var2 Then MinusDM = 0; TRange = TRange + TrueRange[Counter]; PlusDM14 = PlusDM14 + PlusDM; MinusDM14 = MinusDM14 + MinusDM; } If TRange <> 0 Then { DP = 100 * PlusDM14 / TRange; DM = 100 * MinusDM14 / TRange; } Else { DP = 0; DM = 0; } } If idx > Period+1 Then { 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]; var1 = PlusDM; Var2 = MinusDM; If Var2 >= var1 Then PlusDM = 0; If var1 >= Var2 Then MinusDM = 0; If Period > 0 Then Begin TRange = TRange[1] - (TRange[1] / Period) + TrueRange; PlusDM14 = PlusDM14[1] - (PlusDM14[1] / Period) + PlusDM; MinusDM14 = MinusDM14[1] - (MinusDM14[1] / Period) + MinusDM; End; If TRange <> 0 Then { DP = 100 * PlusDM14 / TRange; DM = 100 * MinusDM14 / TRange; } Else { DP = 0; DM = 0; } } If DP + DM == 0 Then DMIv = 0; Else DMIv = 100 * AbsValue(DP - DM) / (DP + DM); var : CummDMI(0),ADXV(0); If idx >= Period+1 and idx <= period*2+1 Then { CummDMI = 0; for Counter = 0 To idx-(Period+1) { CummDMI = CummDMI + DMIV[Counter]; } ADXV = CummDMI / (idx-(Period+1)+1); } Else ADXV = (ADXV[1] * (Period - 1) + DMIV) / Period; Plot1(ADXV); Plot2(DP); Plot3(DM); } Else { NoPlot(1); NoPlot(2); NoPlot(3); } 즐거운 하루되세요 > 돈을잃자 님이 쓴 글입니다. > 제목 : 안녕하세요 > 1. '당일, 고가를 갱신한 후 n개봉 이내에' 라는 표현 수식을 알고 싶습니다 2. adx를 매일 초기화하여 당일기준으로만 볼 수 있는 수식을 알고 싶습니다 ^^ 즐거운 주말 되십쇼