커뮤니티

For 문으로 배열에 EMA 입력하는 차이

프로필 이미지
Nuno
2016-05-07 12:17:23
127
글번호 97791
답변완료

첨부 이미지

다음과 같은 수식으로 배열에 For문으로 EMA 를 넣으려는데 값이 이상합니다. (첫번째 첨부 화일) Arrays : a_ma[9](0); For Value1 = 0 to 8 { a_ma[Value1] = Ema(c, Value1 + 2); } plot1(a_ma[0], "t1"); plot2(a_ma[1], "t2"); plot3(a_ma[2], "t3"); plot4(a_ma[3], "t4"); plot5(a_ma[4], "t5"); plot6(a_ma[5], "t6"); plot7(a_ma[6], "t7"); plot8(a_ma[7], "t8"); plot9(a_ma[8], "t9"); 그런데 다음과 같이 수식을 For문이 아니라 그냥 나열해서 넣으면 제대로 나옵니다. (두번째 첨부 화일) Arrays : a_ma[9](0); a_ma[0] = ema(c, 2); a_ma[1] = ema(c, 3); a_ma[2] = ema(c, 4); a_ma[3] = ema(c, 5); a_ma[4] = ema(c, 6); a_ma[5] = ema(c, 7); a_ma[6] = ema(c, 8); a_ma[7] = ema(c, 9); a_ma[8] = ema(c, 10); plot1(a_ma[0], "t1"); plot2(a_ma[1], "t2"); plot3(a_ma[2], "t3"); plot4(a_ma[3], "t4"); plot5(a_ma[4], "t5"); plot6(a_ma[5], "t6"); plot7(a_ma[6], "t7"); plot8(a_ma[7], "t8"); plot9(a_ma[8], "t9"); 어떤 차이가 있는지요?
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2016-05-09 14:23:34

안녕하세요 예스스탁입니다. EP(평활계수) = 2/(기간 + 1) EMA = 금일 종가 * EP + 전일의 지수 이동평균 * (1-EP) 위는 지수이평 계산식입니다. 지수이평평균은 단순이평과는 달리 현재봉 기준으로 과거 N개봉의 가격을 불러와 평균내는 방식의 계산법이 아니고 일반적으로 기간으로 지칭하는 부분이 평활계수를 계산하기 위한 값입니다. 즉 현재봉값과 전봉값의 영향도를 지정하는 부분입니다. 차트 첫봉부터 시작해서 연속적으로 계산되어야 하므로 로프로 지정하실수는 없고 두번째 식과 같이 나열해서 지정하셔야 합니다. 즐거운 하루되세요 > Nuno 님이 쓴 글입니다. > 제목 : For 문으로 배열에 EMA 입력하는 차이 > 다음과 같은 수식으로 배열에 For문으로 EMA 를 넣으려는데 값이 이상합니다. (첫번째 첨부 화일) Arrays : a_ma[9](0); For Value1 = 0 to 8 { a_ma[Value1] = Ema(c, Value1 + 2); } plot1(a_ma[0], "t1"); plot2(a_ma[1], "t2"); plot3(a_ma[2], "t3"); plot4(a_ma[3], "t4"); plot5(a_ma[4], "t5"); plot6(a_ma[5], "t6"); plot7(a_ma[6], "t7"); plot8(a_ma[7], "t8"); plot9(a_ma[8], "t9"); 그런데 다음과 같이 수식을 For문이 아니라 그냥 나열해서 넣으면 제대로 나옵니다. (두번째 첨부 화일) Arrays : a_ma[9](0); a_ma[0] = ema(c, 2); a_ma[1] = ema(c, 3); a_ma[2] = ema(c, 4); a_ma[3] = ema(c, 5); a_ma[4] = ema(c, 6); a_ma[5] = ema(c, 7); a_ma[6] = ema(c, 8); a_ma[7] = ema(c, 9); a_ma[8] = ema(c, 10); plot1(a_ma[0], "t1"); plot2(a_ma[1], "t2"); plot3(a_ma[2], "t3"); plot4(a_ma[3], "t4"); plot5(a_ma[4], "t5"); plot6(a_ma[5], "t6"); plot7(a_ma[6], "t7"); plot8(a_ma[7], "t8"); plot9(a_ma[8], "t9"); 어떤 차이가 있는지요?