수고하십니다
아래 수식으로 월봉 검색 시 다른 종목은 다 정상 검색 되는데요 현대사료만 검색안되요 궁굼해서 여쭤봅니다
input : P1(3),P2(4),n(5);
var : cnt(0),count(0);
var : sum1(0),sum2(0),sum3(0),csum1(0),csum2(0),csum3(0);
var : mav1(0),mav2(0),mav3(0);
Array : CC[300](0);
if Bdate > Bdate[1]+1000 Then
{
for cnt = 1 to 300
{
CC[cnt] = CC[cnt-1][1];
}
}
CC[0] = H;
if CC[P1-1] > 0 Then
{
sum1 = 0;
csum1 = 0;
for count = 0 to P1-1
{
sum1 = sum1+CC[count] * (p1 - cnt);
csum1 = csum1 + p1 - cnt;
}
mav1 = sum1/csum1;
}
if CC[P2-1] > 0 Then
{
sum2 = 0;
csum2 = 0;
for count = 0 to P2-1
{
sum2 = sum2+CC[count] * (p2 - cnt);
csum2 = csum2 + p2 - cnt;
}
mav2 = sum2/csum2;
}
If CountIF(CrossUp(mav1,mav2),n) >= 1 Then
Find(1);
답변 1
예스스탁
예스스탁 답변
2022-04-06 11:17:11
안녕하세요
예스스탁입니다.
종목검색서버에서 배열의 이전봉 참조에 일부 문제가 있는것 같습니다.
이전봉값을 이용하지 않고 배열방을 옮기도록 식을 수정해 드립니다.
input : P1(3),P2(4),n(5);
var : cnt(0),count(0);
var : sum1(0),sum2(0),sum3(0),csum1(0),csum2(0),csum3(0);
var : mav1(0),mav2(0),mav3(0);
Array : CC[300](0);
if Sdate > Sdate[1]+1000 Then
{
for cnt = 299 downto 1
{
CC[cnt] = CC[cnt-1];
}
}
CC[0] = H;
if CC[P1-1] > 0 Then
{
sum1 = 0;
csum1 = 0;
for count = 0 to P1-1
{
sum1 = sum1+CC[count] * (p1 - cnt);
csum1 = csum1 + p1 - cnt;
}
mav1 = sum1/csum1;
}
if CC[P2-1] > 0 Then
{
sum2 = 0;
csum2 = 0;
for count = 0 to P2-1
{
sum2 = sum2+CC[count] * (p2 - cnt);
csum2 = csum2 + p2 - cnt;
}
mav2 = sum2/csum2;
}
If CountIF(CrossUp(mav1,mav2),n) >= 1 Then
Find(1);
즐거운 하루되세요
> 커피한잔 님이 쓴 글입니다.
> 제목 : 문의 드립니다
>
수고하십니다
아래 수식으로 월봉 검색 시 다른 종목은 다 정상 검색 되는데요 현대사료만 검색안되요 궁굼해서 여쭤봅니다
input : P1(3),P2(4),n(5);
var : cnt(0),count(0);
var : sum1(0),sum2(0),sum3(0),csum1(0),csum2(0),csum3(0);
var : mav1(0),mav2(0),mav3(0);
Array : CC[300](0);
if Bdate > Bdate[1]+1000 Then
{
for cnt = 1 to 300
{
CC[cnt] = CC[cnt-1][1];
}
}
CC[0] = H;
if CC[P1-1] > 0 Then
{
sum1 = 0;
csum1 = 0;
for count = 0 to P1-1
{
sum1 = sum1+CC[count] * (p1 - cnt);
csum1 = csum1 + p1 - cnt;
}
mav1 = sum1/csum1;
}
if CC[P2-1] > 0 Then
{
sum2 = 0;
csum2 = 0;
for count = 0 to P2-1
{
sum2 = sum2+CC[count] * (p2 - cnt);
csum2 = csum2 + p2 - cnt;
}
mav2 = sum2/csum2;
}
If CountIF(CrossUp(mav1,mav2),n) >= 1 Then
Find(1);