안녕하세요
매번 도움 주셔서 감사합니다.
일봉에서 주봉의 MACD 을 표현 하고 싶은데요,
제가 지표를 만들어서 일봉에 주봉의 MACD 을 표현해보면,
실제로 주봉차트에서 에스트레이더에서 제공하는 MACD 와 비교해보면 똑같이 나오지가 않아서 문의드립니다.
일봉에서 주봉의 MACD 을 표현하려면 어떻게 수식으로 표현해야 하는지
도움 부탁드리겠습니다.
감사합니다.
답변 1
예스스탁
예스스탁 답변
2020-09-16 10:41:51
안녕하세요
예스스탁입니다.
지표 중에는 그 계산방법에 따라 과거봉수에 영향을 받는 지표들이 있습니다.
대표적인 지표가 지수이동평균이고 MACD가 지수이동평균울 기반으로 계산됩니다.
차트에서 더 높은 주기의 지표를 계산하면 과거봉수의 문제로 값이 다를 수 있습니다.
해당 부부은 계산에 필요한 데이타수에서 차이가 나는 부분이므로
별도로 랭귀지에서 보완이 가능하지 않습니다.
과거봉의 영향이 차츰 소멸해 가므로 일봉에서 최대한 많은 봉을 조회하고 사용하실 수 밖에 없습니다.
Input : short(12),long(26),sig(9);
var : DINDEX1(0);
Var : Ep1(0), Wema1(0), PreWema1(0);
Var : Ep2(0), Wema2(0), PreWema2(0);
Var : Ep3(0), wJISU3(0);
var : PreWMACDv1(0),PreWMACDs1(0),PreWMACDv2(0),PreWMACDs2(0);
var : WMACDv(0),WMACDs(0);
var : MACDV(0),MACDS(0);
Ep1 = 2/(short+1);
Ep2 = 2/(long+1);
Ep3 = 2/(sig+1);
if DayOfWeek(sdate) < DayOfWeek(sdate[1]) Then
{
DINDEX1 = DINDEX1 + 1;
PreWema1 = Wema1[1];
PreWema2 = Wema2[1];
PreWMACDv1 = WMACDv[1];
PreWMACDS1 = WMACDs[1];
PreWMACDv2 = WMACDv[1];
PreWMACDS2 = WMACDs[1];
}
if DINDEX1 <= 1 then
{
Wema1 = C;
Wema2 = C;
WMACDv = Wema1-Wema2;
WMACDs = WMACDv;
}
else{
Wema1 = C * EP1 + PreWema1 * (1-EP1);
Wema2 = C * EP2 + PreWema2 * (1-EP2);
WMACDV = Wema1-Wema2;
WMACDS = wMACDV * EP3 + PreWMACDs1 * (1-EP3);
}
MACDV = MACD(short,long);
MACDS = ema(MACDv,sig);
plot1(WMACDV);
plot2(WMACDs);
plot3(MACDV);
plot4(MACDs);
즐거운 하루되세요
> 잘웃자 님이 쓴 글입니다.
> 제목 : 일봉에서 주봉 MACD 표현
> 안녕하세요
매번 도움 주셔서 감사합니다.
일봉에서 주봉의 MACD 을 표현 하고 싶은데요,
제가 지표를 만들어서 일봉에 주봉의 MACD 을 표현해보면,
실제로 주봉차트에서 에스트레이더에서 제공하는 MACD 와 비교해보면 똑같이 나오지가 않아서 문의드립니다.
일봉에서 주봉의 MACD 을 표현하려면 어떻게 수식으로 표현해야 하는지
도움 부탁드리겠습니다.
감사합니다.