답변완료
Data참조 관련 ema 값이 다릅니다..
리딩스타 7401화면이구요..
종목은 ATM연결 콜옵션, 5분봉
data2에 연결선물지수 5분봉 참조하였구요..
var : 종가(0), ema1(0), ema2(0);
ema1 = data2(ema(C,20));
종가 = data2(C);
ema2 = ema(종가,20);
Plot1(ema1, "ema1");
Plot2(ema2, "ema2");
이렇게 수식을 작성하였습니다.
보통은 같은데요.. 특정날에는 수치가 다르게 나옵니다..
연결선물지수(data2) 5분봉을 확인하여보니.. 특정날에 15시 5분 봉이 비어있었습니다.
예) 2009년 1월 7일 15시 5분, 2008년 5월 9일 15시 5분
위에 날뿐아니라 다른날이 더 있구요..
Data 유무에 상관없이.. 저는 ema값이 잘못되어 신호가 다르게 나와서요..
1. Data부분을 수정하면 같은값이 나오것같습니다.
2. Data수정과 관련 없이 위의 식에서 ema1, ema2 둘중 어느것으로 하는것이 정상이라고 볼수 있는지요?
2011-08-03
1118
글번호 205218
예스트레이더 (iM증권)
답변완료
결과값이 다릅니다.
우선 5069번의 마지막 질문에 답변 부탁드리겠습니다.
추가 질문 드립니다.
아래 두식은 보시면 아시겠지만, MACD를 지표식과 강조식으로 표현했습니다.
(아래 두식은 일부만 추출한것이 아니고 식의 전부입니다.)
로직은 MACD OSC가 0을 교차하면 배열에 그 시점의 고가와 저가를 넣게됩니다.
그 시점을 눈으로 쉽게 확인하기 위해 강조식으로 다시 만들어 본차트에 적용시켰습니다.
그런데 결과가 다른 부분이 있어 원인을 알고 싶어 문의 드립니다.
2011/08/02 09:33:00 MACD OSC가 0을 상향돌파하기전 강조에는 돌파되었다고 표시됨.
2011/08/02 11:06:00 MACD OSC가 0을 상향돌파한 다음봉에 돌파되었다고 표시됨.
2011/07/01 11:27:00 MACD OSC가 0을 돌파하지 않았음에도 돌파되었다고 표시됨.
2011/07/01 11:30:00 11:27:00증상과 동일
***사용된 MACD 지표식
value = MACD(shortPeriod, longPeriod); // shortPeriod:12 longPeriod:24
macdosc = value-ema(value,Period); // Period : 9
Plot1(value, "MACD");
Plot2(ema(value,Period), "MACDSignal");
counter = 0;
If CrossUp(macdosc,0) OR CrossDown(macdosc,0) Then
{
For counter = 0 to 49
{
MV[ 0 , 50 - Counter ] = MV[ 0 , 49 - Counter ];
MV[ 1 , 50 - Counter ] = MV[ 1 , 49 - Counter ];
MV[ 2 , 50 - Counter ] = MV[ 2 , 49 - Counter ];
}
MV[ 0 , 0 ] = Index;
MV[ 1, 0 ] = High;
MV[ 2, 0 ] = Low;
MessageLog("%.2f, %.2f, %.2f", macdosc, MV[ 1 , 0 ],MV[ 2 , 0 ]);
}
if macdosc > 0 then plot3(mscdosc, "MACDOscillator", RED);
else Plot3(value1, "MACDOscillator", BLUE);
PlotBaseLine1(0, "기준선1");
*** 위 식의 강조식
value = MACD(shortPeriod, longPeriod); // shortPeriod:12 longPeriod:24
macdosc = value-ema(value,Period); // Period : 9
Plot1(value, "MACD");
Plot2(ema(value,Period), "MACDSignal");
counter = 0;
If CrossUp(macdosc,0) OR CrossDown(macdosc,0) Then
{
For counter = 0 to 49
{
MV[ 0 , 50 - Counter ] = MV[ 0 , 49 - Counter ];
MV[ 1 , 50 - Counter ] = MV[ 1 , 49 - Counter ];
MV[ 2 , 50 - Counter ] = MV[ 2 , 49 - Counter ];
}
MV[ 0 , 0 ] = Index;
MV[ 1, 0 ] = High;
MV[ 2, 0 ] = Low;
MessageLog("%.2f, %.2f, %.2f", macdosc, MV[ 1 , 0 ],MV[ 2 , 0 ]);
}
if crossup(macdosc,0) then PlotPaintBar(close,open,"aa",yellow);
if crossdown(macdosc,0) then PlotPaintBar(close,open,"aa",cyan);
2011-08-03
1119
글번호 205217
예스트레이더 (iM증권)