예스스탁에서 가격박스에 대한 수식이 없길래
키움에 문의하여 다음과 같은 데이터를 받았습니다
이 데이터를 근거로 가격박스 수식 부탁드립니다
----가격박스 중심선----
A = MA( 가격, 이평기간, 이평방법 ); //변수A는 24이평선입니다.
----가격박스 상한선----
A + AvgIf( 가격 - A, 1, 0.0 ) //
AvgIf함수는 차트에 조회된 기간(기본적으로 일봉은 600봉, 분봉은 900봉)중 "종가-24이평선"값이 0보다 큰값을 모두더한 후 해당 기간값으로 나눈 값입니다. 이값을 24이평선에 더해 계산합니다.
즉, 차트내에서 24이평선보다 종가가 더클때, 종가와 24이평선의 차이의 평균을 구한후, 24이평선에 더한 값입니다.
+ 2 * StdevIf( 가격 - A, 1, 0.0 )
stdevif함수는 차트에 조회된 기간(기본적으로 일봉은 600봉, 분봉은 900봉)중 "종가-24이평선"값이 0보다 큰값들에 대해 표준편차를 구합니다.
수식관리자에서는 표준편차를 계산하는 구조가 제공되고 있지 않으므로 내부적으로 프로그래밍된 함수로 계산하여 결과값을 도출합니다.
즉, 차트내에서 24이평선보다 종가가 더클때, "종가-24이평선값"들의 표준편차을 구한후 2를 곱한값입니다.
위에서 계산된 2,3번값을 더하여 가격박스 상한선이 계산됩니다.
----가격박스 하한선----
2.
A + AvgIf( 가격 - A, -1, 0.0 ) //
AvgIf함수는 차트에 조회된 기간(기본적으로 일봉은 600봉, 분봉은 900봉)중 "종가-24이평선"값이 0보다 작은값을 모두더한 후 해당 기간값으로 나눈 값입니다. 이값을 24이평선에 더해 계산합니다.
즉, 차트내에서 24이평선보다 종가가 더 작을때, 종가와 24이평선의 차이의 평균을 구한후, 24이평선에 더한 값입니다.
3.
+ 2 * StdevIf( 가격 - A, -1, 0.0 )
stdevif함수는 차트에 조회된 기간(기본적으로 일봉은 600봉, 분봉은 900봉)중 "종가-24이평선"값이 0보다 작은값들에 대해 표준편차를 구합니다.
수식관리자에서는 표준편차를 계산하는 구조가 제공되고 있지 않으므로 내부적으로 프로그래밍된 함수로 계산하여 결과값을 도출합니다.
즉, 차트내에서 24이평선보다 종가가 더작을때, "종가-24이평선값"들의 표준편차을 구한후 2를 곱한값입니다.
위에서 계산된 2번값에서 3번값을 뺀값이 가격박스 하한선이 계산됩니다
답변 1
예스스탁
예스스탁 답변
2019-11-04 19:29:31
안녕하세요
예스스탁입니다.
StdevIf의 계산로직이 정확치 않아
아래 내용이 정확한지 모르겠습니다.
내용 읽어 보시고 수정보완해 사용하시기 바랍니다.
input : 이평기간(24);
var : mav(0),SumSqrt1(0),SumSqrt2(0),std1(0),std2(0),ii(0),cnt(0);
mav = ma(C,이평기간);
if mav > 0 then
{
ii = ii+1;
if C-mav > 0 then
{
value1 = value1 + C-mav;
value2 = value2 + 1;
value3 = value1/value2;
}
if C- mav < 0 then
{
value4 = value4 + C-mav;
value5 = value5 + 1;
value6 = value4/value5;
}
SumSqrt1 = 0;
SumSqrt2 = 0;
for cnt = 0 to ii-1
{
if value2 >= 1 and C[cnt] > mav[cnt] Then
{
SumSqrt1 = SumSqrt1 + ((C[cnt]-mav[cnt])-value3)^2;
}
if value5 >= 1 and C[cnt] < mav[cnt] Then
{
SumSqrt2 = SumSqrt2 + ((C[cnt]-mav[cnt])-value6)^2;
}
}
Std1 = SquareRoot(SumSqrt1 / value2);
Std2 = SquareRoot(SumSqrt2 / value5);
plot1(mav);
plot2(mav+value3);
plot3(mav+std1*2);
plot4(mav);
plot5(mav+value6);
plot6(mav-std2*2);
}
즐거운 하루되세요
> 마르뚝 님이 쓴 글입니다.
> 제목 : 부탁드립니다
> 예스스탁에서 가격박스에 대한 수식이 없길래
키움에 문의하여 다음과 같은 데이터를 받았습니다
이 데이터를 근거로 가격박스 수식 부탁드립니다
----가격박스 중심선----
A = MA( 가격, 이평기간, 이평방법 ); //변수A는 24이평선입니다.
----가격박스 상한선----
A + AvgIf( 가격 - A, 1, 0.0 ) //
AvgIf함수는 차트에 조회된 기간(기본적으로 일봉은 600봉, 분봉은 900봉)중 "종가-24이평선"값이 0보다 큰값을 모두더한 후 해당 기간값으로 나눈 값입니다. 이값을 24이평선에 더해 계산합니다.
즉, 차트내에서 24이평선보다 종가가 더클때, 종가와 24이평선의 차이의 평균을 구한후, 24이평선에 더한 값입니다.
+ 2 * StdevIf( 가격 - A, 1, 0.0 )
stdevif함수는 차트에 조회된 기간(기본적으로 일봉은 600봉, 분봉은 900봉)중 "종가-24이평선"값이 0보다 큰값들에 대해 표준편차를 구합니다.
수식관리자에서는 표준편차를 계산하는 구조가 제공되고 있지 않으므로 내부적으로 프로그래밍된 함수로 계산하여 결과값을 도출합니다.
즉, 차트내에서 24이평선보다 종가가 더클때, "종가-24이평선값"들의 표준편차을 구한후 2를 곱한값입니다.
위에서 계산된 2,3번값을 더하여 가격박스 상한선이 계산됩니다.
----가격박스 하한선----
2.
A + AvgIf( 가격 - A, -1, 0.0 ) //
AvgIf함수는 차트에 조회된 기간(기본적으로 일봉은 600봉, 분봉은 900봉)중 "종가-24이평선"값이 0보다 작은값을 모두더한 후 해당 기간값으로 나눈 값입니다. 이값을 24이평선에 더해 계산합니다.
즉, 차트내에서 24이평선보다 종가가 더 작을때, 종가와 24이평선의 차이의 평균을 구한후, 24이평선에 더한 값입니다.
3.
+ 2 * StdevIf( 가격 - A, -1, 0.0 )
stdevif함수는 차트에 조회된 기간(기본적으로 일봉은 600봉, 분봉은 900봉)중 "종가-24이평선"값이 0보다 작은값들에 대해 표준편차를 구합니다.
수식관리자에서는 표준편차를 계산하는 구조가 제공되고 있지 않으므로 내부적으로 프로그래밍된 함수로 계산하여 결과값을 도출합니다.
즉, 차트내에서 24이평선보다 종가가 더작을때, "종가-24이평선값"들의 표준편차을 구한후 2를 곱한값입니다.
위에서 계산된 2번값에서 3번값을 뺀값이 가격박스 하한선이 계산됩니다