커뮤니티

수식확인 부탁드립니다.

프로필 이미지
dandan
2021-04-28 05:28:16
1582
글번호 148476
답변완료
1. ATR함수를 수식으로 구현 시 아래가 맞는지 확인부탁드립니다. > avg(max(max(high-low,abs(close[1]-high)),abs(close[1]-low)),Period) 2. n분봉 차트에서 직전 (n*5)분봉 하이킨아시 캔들의 고가,저가,종가값을 구하고싶습니다. ex) (09:01분) 1분봉 차트에서 (08:55~09:00분)에 해당하는 5분봉 하이킨아시 캔들의 고가, 저가, 종가 값 아래처럼 여러 수식을 참고하여 작성해봤으나 정확한 데이터가 검출되지 않습니다. 수식작성 부탁드립니다. Var: mm(1), j(0), calcPeriod(0), htf_h(0), htf_c(0), htf_l(0); Array:MinOpen[100](0), MinClose[100](0), MinHigh[100](0), MinLow[100](0); mm = BarInterval()*5; if mm >= BarInterval() then calcperiod = mm/BarInterval(); if DayIndex()%calcperiod == 0 then { for j = 98 downto 0 { MinHigh[j+1] = MinHigh[j]; MinLow[j+1] = MinLow[j]; MinClose[j+1] = MinClose[j]; } MinHigh[0] = H; MinLow[0] = L; MinClose[0] = (O + C + H + L)/4; } htf_h = minHigh[0]; htf_l = minLow[0]; htf_c = minClose[0];
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2021-04-28 15:10:01

안녕하세요 예스스탁입니다. 1 avg대신에 ma함수를 사용하셔야 합니다. ma가 단순이평계산함수입니다. 또한 ATR은 함수로 제공되고 있습니다. 아래 지표적용해 보시면 값이 같은걸 확인하실 수 있습니다. input : Period(10); var1 = ma(max(max(high-low,abs(close[1]-high)),abs(close[1]-low)),Period); Var2 = ATR(Period); Plot1(var1); Plot2(var2); 2 input : ntime(5);#기분분봉차트 배수 var : S1(0),D1(0),TM(0),TF(0),cnt(0); var : HH(0),LL(0),OO(0),CC(0); Array : xO[100](0),xH[100](0),xL[100](0),xC[100](0); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF = TM%(BarInterval*ntime); if Bdate != Bdate[1] or (Bdate == Bdate[1] and ntime > 1 and TF < TF[1]) or (Bdate == Bdate[1] and ntime > 1 and TM >= TM[1]+ntime) or (Bdate == Bdate[1] and ntime == 1 and TM > TM[1]) Then { OO = O; HH = H; LL = L; for cnt = 1 to 99 { xO[cnt] = xO[cnt-1][1]; xH[cnt] = xH[cnt-1][1]; xL[cnt] = xL[cnt-1][1]; xC[cnt] = xC[cnt-1][1]; } } if H > HH Then HH = H; if L < LL Then LL = L; CC = C; if xO[1] == 0 Then { xO[0] = OO; xC[0] = (OO+HH+LL+CC)/4; xH[0] = MaxList(HH, xO[0], xC[0]); xL[0] = MinList(LL, xO[0],xC[0]); } Else { xO[0] = (xO[1] + xC[1])/2 ; xC[0] = (OO+HH+LL+CC)/4; xH[0] = MaxList(HH, xO[0],xC[0]); xL[0] = MinList(LL, xO[0],xC[0]); } Plot1(xO[0],"하켄시가"); Plot2(xH[0],"하켄고가"); Plot3(xL[0],"하켄저가"); Plot4(xC[0],"하켄종가"); } 즐거운 하루되세요 > dandan 님이 쓴 글입니다. > 제목 : 수식확인 부탁드립니다. > 1. ATR함수를 수식으로 구현 시 아래가 맞는지 확인부탁드립니다. > avg(max(max(high-low,abs(close[1]-high)),abs(close[1]-low)),Period) 2. n분봉 차트에서 직전 (n*5)분봉 하이킨아시 캔들의 고가,저가,종가값을 구하고싶습니다. ex) (09:01분) 1분봉 차트에서 (08:55~09:00분)에 해당하는 5분봉 하이킨아시 캔들의 고가, 저가, 종가 값 아래처럼 여러 수식을 참고하여 작성해봤으나 정확한 데이터가 검출되지 않습니다. 수식작성 부탁드립니다. Var: mm(1), j(0), calcPeriod(0), htf_h(0), htf_c(0), htf_l(0); Array:MinOpen[100](0), MinClose[100](0), MinHigh[100](0), MinLow[100](0); mm = BarInterval()*5; if mm >= BarInterval() then calcperiod = mm/BarInterval(); if DayIndex()%calcperiod == 0 then { for j = 98 downto 0 { MinHigh[j+1] = MinHigh[j]; MinLow[j+1] = MinLow[j]; MinClose[j+1] = MinClose[j]; } MinHigh[0] = H; MinLow[0] = L; MinClose[0] = (O + C + H + L)/4; } htf_h = minHigh[0]; htf_l = minLow[0]; htf_c = minClose[0];