Search
📝

분봉에서 일봉 MACD

Input : Period1(12),Period2(26),Period3(9); var : DayCount(0),EP1(0),EP2(0),EP3(0); Var : DayEMA1(0), PreDayEMA1(0); Var : DayEMA2(0), PreDayEMA2(0); var : DayMACDV(0), PreDayMACDV(0); Var : DayMACDS(0), PreDayMACDS(0); var : DayMACDO(0), PreDayMACDO(0); //Period1 지수이동평균 평활상수 Ep1 = 2/(Period1+1); //Period2 지수이동평균 평활상수 Ep2 = 2/(Period2+1); //Period3 지수이동평균 평활상수 Ep3 = 2/(Period3+1); //영업일 변경 if bdate != bdate[1] Then { //날짜수 카운트 DayCount = DayCount+ 1; //전일 일봉 단기 지수이평값 PreDayEMA1 = DayEMA1[1]; //전일 일봉 장기 지수이평값 PreDayEMA2 = DayEMA2[1]; //전일 MACD값 PreDayMACDV = DayMACDV[1]; //전일 MACD 시그널값 PreDayMACDS = DayMACDS[1]; } #첫날 if DayCount <= 1 then { //단기지수이평은 종가 DayEMA1 = C; //장기지수이평은 종가 DayEMA2 = C; //일간 MACD는 단기지수이평-장기지수이평 DayMACDV = DayEMA1-DayEMA2; //일간 MACD 시그널은 일간 MACD값 DayMACDS = DayMACDV; } else { //일간 단기지수이평 = 현재봉 종가에 EP1 가중치, 전일 단기지수이평 값에는 (1-EP1)가중치를 주어 합산 DayEMA1 = C * EP1 + PreDayEMA1 * (1-EP1); //일간 장기지수이평 = 현재봉 종가에 EP2 가중치, 전일 장기지수이평 값에는 (1-EP2)가중치를 주어 합산 DayEMA2 = C * EP2 + PreDayEMA2 * (1-EP2); //일간 MACD는 단기지수이평-장기지수이평 DayMACDV = DayEMA1-DayEMA2; //일간 MACD 시그널 = 현재봉 일간MACD에 EP3 가중치, 전일 일간MACD시그널 값에는 (1-EP2)가중치를 주어 합산 DayMACDS = DayMACDV * EP3 + PreDayMACDS * (1-EP3); } plot1(DayMACDV,"Day MACD"); plot2(DayMACDs,"Day MACD Signal"); PlotBaseLine1(0);
JavaScript
복사
[지수이평평균 공식]
EP(평활계수) = 2/(기간 + 1)
EMA = 금일 종가 * EP + 전일의 지수 이동평균 * (1-EP)
[스토캐스틱 공식]
FastK = (현재종가-n일기간 최저가) / (n일기간 최고가 - n일기간 최저가)*100 %K = 기본적K의 n지수이동평균 %D = Slow%K의 n지수이동평균
[주의사항]
지수이동평균은 과거 데이터가 현재봉 계산에 영향을 주는 평균방법입니다. 차트의 과거봉수에 따라 현재값이 다를 수 있는데 차트 주기보다 큰 주기의 값을 계산하면 큰 주기의 봉수가 상대적으로 적어 값의 차이가 발생 할 수 있습니다. 차트에 최대한 많은 봉을 조회해서 보셔야 합니다.