커뮤니티
문의 드립니다.
2011-11-02 18:06:05
419
글번호 44394
수고가 많습니다.
50~200 이평선 중에서 밀집도가 가장 높은 연속된 10개의 이평선을
찾는 식을 구하고 싶습니다.
항상 빠른 답변 감사합니다.
답변 1
예스스탁 예스스탁 답변
2011-11-03 09:29:03
안녕하세요
예스스탁입니다.
우선 전체 151개(50이평~151이평) 이동평균을
제일큰것부터 제일작은값으로 순위를 정하고
1순위~10순위
2순위~11순위
3순위~12순위
~~~
142~151순위 까지
열개씩 묶어 그 차가 가장 작은 것(가장 조밀하게 모여있는)
10개의 이평을 찾아
그 기간값을 리턴해 주는 식입니다.
var : cnt(0),Nth(0),tempmax(0),mavp(0),tempIndex(0),diff(0),Difi(0),aa(0);
Array : mav[201](0),NTHV[151](0),NTHP[151](0);
for cnt = 50 to 200 {
mav[cnt] = ma(c,cnt);
}
#151개 이평이므로 1~151위 까지 순위에 따라 분류
if mav[200] > 0 Then{#200이평까지 계산된 후에
#전체 151개 이평을 큰순서로 1~151위 까지 순위를 매김
For Nth = 1 to 151{
tempmax = -99999999;
For mavp = 50 to 200{
if ( mav[mavp] > tempmax ) then{
tempmax = mav[mavp];
tempIndex = mavp;
}
}
NTHV[Nth] = tempmax;
NTHP[Nth] = tempIndex;
mav[tempIndex] = -99999999;
}
# 10개 순위씩 순차적으로 묶어 그 차가 가장 작은 것을 찾음
Diff = NTHV[1]-NTHV[151];
Difi = 0;
for aa = 1 to 142{
if NTHV[aa]-NTHV[aa+9] < Diff Then{
Diff = NTHV[aa]-NTHV[aa+9];
Difi = aa;
}
}
}
plot1(NTHP[difi]);
plot2(NTHP[difi+1]);
plot3(NTHP[difi+2]);
plot4(NTHP[difi+3]);
plot5(NTHP[difi+4]);
plot6(NTHP[difi+5]);
plot7(NTHP[difi+6]);
plot8(NTHP[difi+7]);
plot9(NTHP[difi+8]);
plot10(NTHP[difi+9]);
즐거운 하루되세요
> 아틀라스 님이 쓴 글입니다.
> 제목 : 문의 드립니다.
> 수고가 많습니다.
50~200 이평선 중에서 밀집도가 가장 높은 연속된 10개의 이평선을
찾는 식을 구하고 싶습니다.
항상 빠른 답변 감사합니다.
다음글
이전글