담당자닙 수고많습니다
input : Period(NumericSimple),Period1(NumericSimple);
var : cnt(0);
var : sum1(0),mav1(0),Csum(0);
Array : C1[500](0);
if Bdate != Bdate[1] Then
{
{ for cnt = 1 to 499
{
C1[cnt] = C1[cnt-1][1];
}
}
C1[0] = Period1;
if C1[Period-1] > 0 then
{
sum1 = 0;
for cnt = 0 to Period-1
{
sum1 = sum1+C1[cnt];
}
mav1 = sum1/Period;
}
}
if mav1 > 0 then
{
L40_D = mav1;
}
검색식
input : P(1);
Value1 = L40_D(p,C);
If Value1 > Value1[1] Then
Find(1);
위수식 검색 안됏어요 제가 보기엔 별문제 없어보이는데 겁색기간 500 넣고해도 안돼고 별별 지랄다해보아도 일치한 종목 존재하지 안습니다 라는 에러 뜨네요 저쫌 살려주세요
답변 1
예스스탁
예스스탁 답변
2023-06-15 10:37:39
안녕하세요
예스스탁입니다.
1
input : P(1);
Value1 = L40_D(p,C);
Plot1(MaxBarsBack);
위 지표 적용해 보시면 MaxBarsBack이 500으로 출력됩니다.
L40_D함수의 루프가 500회 수행되는데 1회마다 [1]값이 있어
MaxBarsBack이 불필요하게 많이 잡히고 있습니다.
기존식에서 로프횟수나 배열크기를 줄이시거나
루프를 downto로 변경하시면 됩니다.
아래는 downto로 변경한 식입니다.
2
input : Period(NumericSimple),Period1(NumericSimple);
var : cnt(0);
var : sum1(0),mav1(0),Csum(0);
Array : C1[500](0);
input : Period(NumericSimple),Period1(NumericSimple);
var : cnt(0);
var : sum1(0),mav1(0),Csum(0);
Array : C1[500](0);
if Bdate != Bdate[1] Then
{
{ for cnt = 499 downto 1
{
C1[cnt] = C1[cnt-1];
}
}
C1[0] = Period1;
if C1[Period-1] > 0 then
{
sum1 = 0;
for cnt = 0 to Period-1
{
sum1 = sum1+C1[cnt];
}
mav1 = sum1/Period;
}
}
if mav1 > 0 then
{
L40_D = mav1;
}
즐거운 하루되세요
> 커피한잔 님이 쓴 글입니다.
> 제목 : 검색식 문의드립니다
> 담당자닙 수고많습니다
input : Period(NumericSimple),Period1(NumericSimple);
var : cnt(0);
var : sum1(0),mav1(0),Csum(0);
Array : C1[500](0);
if Bdate != Bdate[1] Then
{
{ for cnt = 1 to 499
{
C1[cnt] = C1[cnt-1][1];
}
}
C1[0] = Period1;
if C1[Period-1] > 0 then
{
sum1 = 0;
for cnt = 0 to Period-1
{
sum1 = sum1+C1[cnt];
}
mav1 = sum1/Period;
}
}
if mav1 > 0 then
{
L40_D = mav1;
}
검색식
input : P(1);
Value1 = L40_D(p,C);
If Value1 > Value1[1] Then
Find(1);
위수식 검색 안됏어요 제가 보기엔 별문제 없어보이는데 겁색기간 500 넣고해도 안돼고 별별 지랄다해보아도 일치한 종목 존재하지 안습니다 라는 에러 뜨네요 저쫌 살려주세요