예스스탁
예스스탁 답변
2020-10-22 16:50:35
안녕하세요
예스스탁입니다.
올려주신 수식은 내용상 n1기간~ n2기간의 이평과 볼밴을 계산해서 상승횟수를 카운트 하는 식인것 같은데
올리신 식은 n1기간의 이평과 볼밴만을 계산해서 반복해서 계산을 하게 됩니다.
n1이평이 전봉대비 상승하면 1이지만 루프가 n1~n2만큰 수행되므로 6으로 표시가 됩니다.
식을 2개 작성해 드립니다.
1번식은 기존 올리신 수식내용으로 계산되는 식이고
2번식은 n1기간~ n2기간의 이평과 볼밴을 계산해서 상승/하락횟수를 카운트 하는 식입니다.
1번식
input : n1(5),n2(10);
var : cnt(0),sum1(0),sum2(0),sum3(0);
var : ii(0),S1(0),S2(0),mav1(0),mav2(0),SumSqrt1(0),SumSqrt2(0);
var : stdv1(0),stdv2(0),bbup1(0),bbup2(0),bbdn1(0),bbdn2(0);
s1 = 0;
s2 = 0;
for ii = 0 to n1-1
{
s1 = s1 + DayClose(ii);
s2 = s2 + DayClose(ii+1);
}
mav1 = s1/n1;
mav2 = s2/n1;
SumSqrt1 = 0;
SumSqrt2 = 0;
For ii = 0 To n1 - 1
{
SumSqrt1 = SumSqrt1 + (DayClose(ii) - mav1)^2;
SumSqrt2 = SumSqrt2 + (DayClose(ii+1) - mav2)^2;
}
Stdv1 = SquareRoot(SumSqrt1 / n1);
Stdv2 = SquareRoot(SumSqrt2 / n1);
BBup1 = mav1 + (2 * Stdv1);
BBdn1 = mav1 - (2 * Stdv1);
BBup2 = mav2 + (2 * Stdv2);
BBdn2 = mav2 - (2 * Stdv2);
sum1 = 0;
sum2 = 0;
sum3 = 0;
for cnt = n1 to n2
{
if mav1 > mav2 Then
sum1 = sum1+1;
if bbup1 > bbup2 Then
sum2 = sum2+1;
if bbdn1 < bbdn2 Then
sum3 = sum3+1;
}
plot1(sum1,"이평상승갯수");
plot2(sum2,"볼밴상단상승갯수");
plot3(sum3,"볼밴하단하락갯수");
2번식
input : n1(5),n2(10);
var : cnt(0),sum1(0),sum2(0),sum3(0);
var : ii(0),S1(0),S2(0),mav1(0),mav2(0),SumSqrt1(0),SumSqrt2(0);
var : stdv1(0),stdv2(0),bbup1(0),bbup2(0),bbdn1(0),bbdn2(0);
sum1 = 0;
sum2 = 0;
sum3 = 0;
for cnt = n1 to n2
{
s1 = 0;
s2 = 0;
for ii = 0 to cnt-1
{
s1 = s1 + DayClose(ii);
s2 = s2 + DayClose(ii+1);
}
mav1 = s1/cnt;
mav2 = s2/cnt;
SumSqrt1 = 0;
SumSqrt2 = 0;
For ii = 0 To cnt - 1
{
SumSqrt1 = SumSqrt1 + (DayClose(ii) - mav1)^2;
SumSqrt2 = SumSqrt2 + (DayClose(ii+1) - mav2)^2;
}
Stdv1 = SquareRoot(SumSqrt1 / cnt);
Stdv2 = SquareRoot(SumSqrt2 / cnt);
BBup1 = mav1 + (2 * Stdv1);
BBdn1 = mav1 - (2 * Stdv1);
BBup2 = mav2 + (2 * Stdv2);
BBdn2 = mav2 - (2 * Stdv2);
if mav1 > mav2 Then
sum1 = sum1+1;
if bbup1 > bbup2 Then
sum2 = sum2+1;
if bbdn1 < bbdn2 Then
sum3 = sum3+1;
}
plot1(sum1,"이평상승갯수");
plot2(sum2,"볼밴상단상승갯수");
plot3(sum3,"볼밴하단하락갯수");
즐거운 하루되세요
> e편한신호 님이 쓴 글입니다.
> 제목 : 부탁드립니다.
> 과거 작성해주신 일봉으로 아래식을 참고하고 있습니다.
이것을 분차트에서 일봉기준 수치로 볼수있도록 수식부탁합니다.
감사합니다.
input : n1(5),n2(10);
var : cnt(0),sum1(0),sum2(0),sum3(0);
sum1 = 0;
sum2 = 0;
sum3 = 0;
for cnt = n1 to n2
{
if ma(C,n1) > ma(c,n1)[1] Then
sum1 = sum1+1;
if BollBandUp(n1,2) > BollBandUp(n1,2)[1] Then
sum2 = sum2+1;
if BollBandDown(n1,2) < BollBandDown(n1,2)[1] Then
sum3 = sum3+1;
}
plot1(sum1,"이평상승갯수");
plot2(sum2,"볼밴상단상승갯수");
plot3(sum3,"볼밴하단하락갯수");