예스스탁
예스스탁 답변
2021-05-20 10:41:45
안녕하세요
예스스탁입니다.
사용자함수명 : moma
input: Price(NumericSeries),period(Numeric), mini(Numeric), maxi(Numeric);
var : sum(0),cnt(0);
sum = AccumN(Price,Period);
if max(mini,maxi) > 0 Then
{
For cnt = 1 to max(mini,maxi)
{
if cnt <= mini Then
{
sum = sum - NthLowest(cnt,C,Period);
}
if cnt <= maxi Then
{
sum = sum - NthHighest(cnt,C,Period);
}
}
}
moma = sum/(Period-mini-maxi);
즐거운 하루되세요
> 에구머니 님이 쓴 글입니다.
> 제목 : 수식 문의
> 안녕하세요?
moma라는 이름으로 함수식 하나 부탁드립니다.
input: period(10), mini(1), maxi(2);
moma(C, period, mini, maxi);
=>
원래는 10 이평을 구하는건데, mini == 1 이니까 10 기간 중에서 제일 작은거 1개는 버리고,
maxi == 2 니까 10 기간 중에서 제일 큰 거 2개는 버리고,
결국 10개의 봉 중에서 3개를 제외한 7개의 평균값을 리턴합니다.
예) 최근 10봉의 C 값들이 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
이었다면,
젤 작은 거 1 버리고,
젤 큰거 2개인 9, 10 버리고,
(2+3+4+5+6+7+8)/7 값을 리턴하는 함수를 원합니다.
만약 mini == 0, maxi == 1 이라면
제일 큰 거 1개만 버리니까 (1+2+3+4+5+6+7+8+9)/9 값을 리턴합니다.
만약 mini = 4, maxi == 0 이라면 제일 작은 순으로 4개만 버리니까
(5+6+7+8+9+10)/6 값을 리턴합니다.
물론, C 뿐 아니라 다른 것들에 대해서도 계산이 가능해야 합니다.
그러니까 함수식의 시작은
input: CC(Numeric), period(Numeric), mini(Numeric), maxi(Numeric);
...
감사합니다.