예스스탁
예스스탁 답변
2025-09-19 14:13:18.0
안녕하세요
예스스탁입니다.
차트상 현재가 그리기와 같이 봉의 마지막값으로 그릴수 없습니다.
언급하신 예측선은 현재봉값을 한봉뒤에 그릴뿐입니다.
이전 답변에서 설명드렸지만
수식에서 수평선을 그리기 위해서는 추세선을 이용할 수 밖에 없는데
마지막값으로는 그리지 못합니다.
이전 답변식에 우측으로 연장선이 표시되게만 추가해 드립니다.
input : Period(20),dv(2);
input : 상단색(Red),하단색(Blue);
input : 상단긁기(1),하단굵기(1);
var : bbmd(0),SumSqrt(0),cnt(0),stdv(0);
var : bbup(0),bbdn(0);
bbmd = (C+AccumN(C,Period-1))/Period;
SumSqrt = (C-bbmd)^2;
For cnt = 0 To Period - 2
{
SumSqrt = SumSqrt + (C[cnt] - bbmd)^2;
}
Stdv = SquareRoot(SumSqrt / Period);
bbup = BBmd + stdv*dv;
bbdn = BBmd - stdv*dv;
Plot1(bbup,"상단");
Plot2(bbmd,"중단");
Plot3(bbdn,"하단");
//오른쪽으로 1봉 이동
FixPlotShift(1,1);
FixPlotShift(2,1);
FixPlotShift(3,1);
var : TL1(0),TL2(0);
TL_Delete(TL1);
TL_Delete(TL2);
TL1 = TL_New(sDate,sTime,BBup,NextBarSdate,NextBarStime,BBup);
TL2 = TL_New(sDate,sTime,BBdn,NextBarSdate,NextBarStime,BBdn);
TL_SetExtLeft(TL1,true);
TL_SetExtLeft(TL2,true);
TL_SetExtRight(TL2,true);
TL_SetExtRight(TL2,true);
TL_SetColor(TL1,상단색);
TL_SetColor(TL2,하단색);
TL_SetSize(TL1,상단긁기);
TL_SetSize(TL2,하단굵기);
즐거운 하루되세요
> 고박사122 님이 쓴 글입니다.
> 제목 : 지표관련 문의 드립니다.
> 안녕하세요. 운영자님
아래 작성해 주신 수식을 수정을 좀 해야할 것 같아서 부탁드립니다.
보내주신 수식의 볼린저밴드 예측선인데, 제가 표현하고 싶은 것은
수식1 : 일반 볼린저밴드에서의 수평선 그리기 (그림에서는 수형선이 뒤쪽으로만 나오는데
앞쪽으로도 나올 수 있도록 부탁드립니다)
첨부된 그림에서와 같이 차트속성에 현재가를 수평선(녹색) 그리는 기능이 있는데
동일한 방식으로 그려기기을 원합니다.
수식2 : 볼린저밴드 예측선도 수식1과 동일한 방식으로 작성되기를 원합니다.
기본볼린저 밴드와 볼린저 밴드 예측선이 하나의 수식에 포함되기를 원하지 않습니다.
====================================================================================
안녕하세요
예스스탁입니다.
특정값을 차트에 수평으로 그리기 위해서는
추세선함수를 사용해야 하는데
추세선함수가 봉완성시에만 동작해서 마지막봉값은 출력하지 못합니다.
마지막완성봉의 값으로 출력하신다면 아래식 이용하시면 됩니다.
input : Period(20),dv(2);
input : 상단색(Red),하단색(Blue);
input : 상단긁기(1),하단굵기(1);
var : bbmd(0),SumSqrt(0),cnt(0),stdv(0);
var : bbup(0),bbdn(0);
bbmd = (C+AccumN(C,Period-1))/Period;
SumSqrt = (C-bbmd)^2;
For cnt = 0 To Period - 2
{
SumSqrt = SumSqrt + (C[cnt] - bbmd)^2;
}
Stdv = SquareRoot(SumSqrt / Period);
bbup = BBmd + stdv*dv;
bbdn = BBmd - stdv*dv;
Plot1(bbup,"상단");
Plot2(bbmd,"중단");
Plot3(bbdn,"하단");
//오른쪽으로 1봉 이동
FixPlotShift(1,1);
FixPlotShift(2,1);
FixPlotShift(3,1);
var : TL1(0),TL2(0);
TL_Delete(TL1);
TL_Delete(TL2);
TL1 = TL_New(sDate,sTime,BBup,NextBarSdate,NextBarStime,BBup);
TL2 = TL_New(sDate,sTime,BBdn,NextBarSdate,NextBarStime,BBdn);
TL_SetExtLeft(TL1,true);
TL_SetExtLeft(TL2,true);
TL_SetColor(TL1,상단색);
TL_SetColor(TL2,하단색);
TL_SetSize(TL1,상단긁기);
TL_SetSize(TL2,하단굵기);