예스스탁
예스스탁 답변
2020-02-12 16:33:55
안녕하세요
예스스탁입니다.
종목검색서버는 검색에 일정시간이상 소모되는 수식은 검색이 되지 않게 되어 있습니다.
종목검색서버가 여러분들이 공용으로 사용하게 되는데 한분이 너무 리소스를 많이 차지하고
있는 것을 막기 위함입니다.
올려주신 수식은 최소 계산에 과거봉을 150 이상 필요하고
봉당 지정한 이평들을 모두 계산해야 합니다.
최소 지정하신 기간의 합(p3+p4+p5+p6+p7+p8+p9+p10+p11)만큼 한봉에서 루프가 발생하게 됩니다.
종목검색에 시간이 많이 걸리시면 식을 별도로 풀어서
계산을 좀더 간단히 하는 방법을 모색해 보셔야 합니다.
아래와 같이 작성하시면 루프는 p11만큰만 수행하면서
하위 기간의 가중이평을 계산하게 됩니다.
input:p3(27),p4(39),p5(52),p6(64),p7(76),p8(90),p9(104),p10(120),p11(150);
var : k1(0),k2(0),k3(0),k4(0),k5(0),k6(0),k7(0),k8(0),k9(0),k10(0),k11(0);
var : cnt(0);
var : sum3(0),Csum3(0);
var : sum4(0),Csum4(0);
var : sum5(0),Csum5(0);
var : sum6(0),Csum6(0);
var : sum7(0),Csum7(0);
var : sum8(0),Csum8(0);
var : sum9(0),Csum9(0);
var : sum10(0),Csum10(0);
var : sum11(0),Csum11(0);
Sum3 = 0;
Sum4 = 0;
Sum5 = 0;
Sum6 = 0;
Sum7 = 0;
Sum8 = 0;
Sum9 = 0;
Sum10 = 0;
Sum11 = 0;
CSum3 = 0;
CSum4 = 0;
CSum5 = 0;
CSum6 = 0;
CSum7 = 0;
CSum8 = 0;
CSum9 = 0;
CSum10 = 0;
CSum11 = 0;
For cnt = 0 To p11 - 1
{
if cnt < P3 Then
{
Sum3 = Sum3 + c[cnt] * (p3 - cnt);
CSum3 = CSum3 +p3 - cnt;
k3 = Sum3 / CSum3;
}
if cnt < P4 Then
{
Sum4 = Sum4 + c[cnt] * (p4 - cnt);
CSum4 = CSum4 +p4 - cnt;
k4 = Sum4 / CSum4;
}
if cnt < P5 Then
{
Sum5 = Sum5 + c[cnt] * (p5 - cnt);
CSum5 = CSum5 +p5 - cnt;
k5 = Sum5 / CSum5;
}
if cnt < P6 Then
{
Sum6 = Sum6 + c[cnt] * (p6 - cnt);
CSum6 = CSum6 +p6 - cnt;
k6 = Sum6 / CSum6;
}
if cnt < P7 Then
{
Sum7 = Sum7 + c[cnt] * (p7 - cnt);
CSum7 = CSum7 +p7 - cnt;
k7 = Sum7 / CSum7;
}
if cnt < P8 Then
{
Sum8 = Sum8 + c[cnt] * (p8 - cnt);
CSum8 = CSum7 +p8 - cnt;
k8 = Sum8 / CSum8;
}
if cnt < P9 Then
{
Sum9 = Sum9 + c[cnt] * (p9 - cnt);
CSum9 = CSum9 +p9 - cnt;
k9 = Sum9 / CSum9;
}
if cnt < P10 Then
{
Sum10 = Sum10 + c[cnt] * (p10 - cnt);
CSum10 = CSum10 +p10 - cnt;
k10 = Sum10 / CSum10;
}
if cnt < P11 Then
{
Sum11 = Sum11 + c[cnt] * (p11 - cnt);
CSum11 = CSum11 +p11 - cnt;
k11 = Sum11 / CSum11;
}
}
if
max(K3,K4,K5,K6,K7,K8,K9,K10,K11)<min(K3,K4,K5,K6,K7,K8,K9,K10,K11)*(1+6/100)
then
find(1);
즐거운 하루되세요
> 생각하는허수아비 님이 쓴 글입니다.
> 제목 : 가중이평 수식관련
> 연일 고생이 많읍니다.
가중이평과 관련하여 질문드립니다.
가중이평이 밀집하는 구간을 검색하고자 하는데 짧은 수식에도 가중이평을 넣으면
서버 과부하가 예상되어 ~ ~ 로 나오면서 검색이 되지 않습니다.
아래 수식
input:p3(27),p4(39),p5(52),p6(64),p7(76),p8(90),p9(104),p10(120),p11(150);
var:k1(0),k2(0),k3(0),k4(0),k5(0),k6(0),k7(0),k8(0),k9(0),k10(0),k11(0);
k3=wma(c,p3);
k4=wma(c,p4);k5=wma(c,p5);k6=wma(c,p6);
k7=wma(c,p7);k8=wma(c,p8);k9=wma(c,p9);
k10=wma(c,p10);k11=wma(c,p11);
if
max(K3,K4,K5,K6,K7,K8,K9,K10,K11)<min(K3,K4,K5,K6,K7,K8,K9,K10,K11)*(1+6/100)
then
find(1);
이런 종류의 수식은 위의설명과 같은 현상이 발생 합니다 .
단 한가지 돌파수식의 경우만 검색이 되는데
위와 수식과 같이 여러개의 이평이 혼재되어 있을때 계산법이 더 어려워서
서버의 영향이 받는지 궁금합니다 .
아니면 다른 이유가 있는지 궁금 합니다. 감사 합니다 ~