커뮤니티

지표

프로필 이미지
질갱이
2026-09-09 11:02:31
83
글번호 233551
답변완료

안녕하세요

선물60틱차트에서 On Balance Price 120틱 지표을같이볼려구합니다

이미지는 선물60틱차트입니다

On Balance Price 120틱지표가이렇게표시됩니까?

맡에지표가주신수식입니다 검토부탁합니다. 감사합니다


안녕하세요

예스스탁입니다.

input : n(2);//기본차트 2배주기

var : cnt(0),D1(0),idx(0),TF(0);

Array : CC[10](0);

Var : OBP(0) ;


if Bdate != Bdate[1] Then

{

D1 = sdate;

idx = 0;

}

Else

idx = idx+1;


if D1 > 0 then

{

TF = idx%n;


if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then

{

for cnt = 99 DownTo 1

{

CC[cnt] = CC[cnt-1];

}

}

CC[0] = C;

If CC[0] > CC[1] Then

OBP = 1;

else if CC[0] < CC[1] Then

OBP = -1;

else

OBP = 0;


Plot1(OBP);

}


지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2026-09-09 13:03:34

안녕하세요 예스스탁입니다. 1 Var : OBP(0) ; If Close > Close[1] Then OBP = 1; else if Close < Close[1] Then OBP = -1; else OBP = 0; Plot1(accum(OBP), "On Balance Price"); PlotBaseLine1(0, "기준선0"); On Balance Price 계산식인데 차트 전체 누적값 처리가 빠졌있었습니다. 2 기본식이 차트 전체 누적입니다. 60틱에서 120틱이면 봉수 문제로 값이 다를 수 있습니다. 60틱의 조회봉수가 120틱의 2배가 되어야 값이 같거나 비슷하게 됩니다. 수정한 식입니다. input : n(2);//기본차트 2배주기 var : cnt(0),D1(0),idx(0),TF(0); Array : CC[10](0); Var : OBP(0),sum(0),sumOBP(0); if Index == 0 or Bdate != Bdate[1] Then { D1 = sdate; idx = 0; } Else idx = idx+1; if D1 > 0 then { TF = idx%n; if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then { for cnt = 99 DownTo 1 { CC[cnt] = CC[cnt-1]; } SUM = SUM + OBP[1]; } CC[0] = C; If CC[0] > CC[1] Then OBP = 1; else if CC[0] < CC[1] Then OBP = -1; else OBP = 0; sumOBP = sum+OBP; Plot1(sumOBP); } 즐거운 하루되세요