커뮤니티
문의 드립니다.
2014-12-03 19:46:09
209
글번호 81035
아래 수식에서 지금현재 'hOpen'값을 인식을 못하는것 같습니다.
plotpaintbar로 해서 나오는 결과는 hOpen값이 N/A로 잡히면서 무조건 hClose < hOpen으로 인식하는데 어디서 잘못된건지 한번 확인 부탁드리겠습니다..
혹시
haOpen = (haOpen[previous bar] + haClose[previous bar])/2 이것을
haOpen = (haOpen[1]+ haClose[1])/2; 표현했는데 여기서 문제가 생긴건지
아니면 추가조건을 걸어야지 haOpen값을 구할 수 있는건지
꼭 답변 부탁드립니다.
p.s: 수식 검증에서는 아무런 문제 없다고 나옵니다.
//-------------------------------------------------------------------------------
var : xOpen(0),xHigh(0),xLow(0),xClose(0), haClose(0),haOpen(0),haHigh(0),haLow(0),hClose(0),hOpen(0),hHigh(0),hLow(0);
xOpen = MA(Open,6);
xHigh = MA(High,6);
xLow = MA(Low,6);
xClose = MA(Close,6);
haClose = (xOpen + xHigh + xLow + xClose)/4;
haOpen = (haOpen[1]+ haClose[1])/2;
haHigh = max(xHigh, haOpen);
haLow = min(xLow, haOpen);
hOpen = WMA(haOpen,2);
hHigh = WMA(haHigh,2);
hLow = WMA(haLow,2);
hClose = WMA(haClose,2);
if hClose > hOpen Then
PlotPaintBar(hHigh,hLow,hOpen,hClose,"heiken ashi smoothed",red);
Else
PlotPaintBar(hHigh,hLow,hOpen,hClose,"heiken ashi smoothed",blue);
//-------------------------------------------------------------------------------
- 1. haopen.jpg (0.05 MB)
답변 1
예스스탁 예스스탁 답변
2014-12-04 11:33:00
안녕하세요
예스스탁입니다.
haOpen = (haOpen[1]+ haClose[1])/2;
haOpen이 이전값이 존재하지 않은 상태에서 계산식이 이루어 지므로 N/A가 됩니다.
아래와 같이 변경되시면 수식에 필요로 하는 계산이 모두 충족되는 봉이전에는 봉의 시가를 저장하고
그 이후에는 Haopen의 이전값을 이용해 계산을 하게 됩니다.
if CurrentBar <= 1 Then
Haopen = O;
Else
haOpen = (haOpen+ haClose[1])/2;
아래는 수정한 식입니다.
var : xOpen(0),xHigh(0),xLow(0),xClose(0), haClose(0),haOpen(0),haHigh(0),haLow(0),hClose(0),hOpen(0),hHigh(0),hLow(0);
xOpen = MA(Open,6);
xHigh = MA(High,6);
xLow = MA(Low,6);
xClose = MA(Close,6);
haClose = (xOpen + xHigh + xLow + xClose)/4;
if CurrentBar <= 1 Then
Haopen = O;
Else
haOpen = (haOpen+ haClose[1])/2;
haHigh = max(xHigh, haOpen);
haLow = min(xLow, haOpen);
hOpen = WMA(haOpen,2);
hHigh = WMA(haHigh,2);
hLow = WMA(haLow,2);
hClose = WMA(haClose,2);
if hClose > hOpen Then
PlotPaintBar(hHigh,hLow,hOpen,hClose,"heiken ashi smoothed",red);
Else
PlotPaintBar(hHigh,hLow,hOpen,hClose,"heiken ashi smoothed",blue);
즐거운 하루되세요
> 7out 님이 쓴 글입니다.
> 제목 : 문의 드립니다.
> 아래 수식에서 지금현재 'hOpen'값을 인식을 못하는것 같습니다.
plotpaintbar로 해서 나오는 결과는 hOpen값이 N/A로 잡히면서 무조건 hClose < hOpen으로 인식하는데 어디서 잘못된건지 한번 확인 부탁드리겠습니다..
혹시
haOpen = (haOpen[previous bar] + haClose[previous bar])/2 이것을
haOpen = (haOpen[1]+ haClose[1])/2; 표현했는데 여기서 문제가 생긴건지
아니면 추가조건을 걸어야지 haOpen값을 구할 수 있는건지
꼭 답변 부탁드립니다.
p.s: 수식 검증에서는 아무런 문제 없다고 나옵니다.
//-------------------------------------------------------------------------------
var : xOpen(0),xHigh(0),xLow(0),xClose(0), haClose(0),haOpen(0),haHigh(0),haLow(0),hClose(0),hOpen(0),hHigh(0),hLow(0);
xOpen = MA(Open,6);
xHigh = MA(High,6);
xLow = MA(Low,6);
xClose = MA(Close,6);
haClose = (xOpen + xHigh + xLow + xClose)/4;
haOpen = (haOpen[1]+ haClose[1])/2;
haHigh = max(xHigh, haOpen);
haLow = min(xLow, haOpen);
hOpen = WMA(haOpen,2);
hHigh = WMA(haHigh,2);
hLow = WMA(haLow,2);
hClose = WMA(haClose,2);
if hClose > hOpen Then
PlotPaintBar(hHigh,hLow,hOpen,hClose,"heiken ashi smoothed",red);
Else
PlotPaintBar(hHigh,hLow,hOpen,hClose,"heiken ashi smoothed",blue);
//-------------------------------------------------------------------------------
다음글
이전글