커뮤니티
For 문으로 배열에 EMA 입력하는 차이
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. 98314_캡처1.JPG (0.09 MB)
- 2. 캡처2.JPG (0.10 MB)
답변 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");
어떤 차이가 있는지요?
다음글
이전글