주식 종목에 오늘부터 20일 전까지의 20 이평 값만 출력되도록,
아래와 같은 식을 적용하면 실제 20이평 값과 전혀 다른 값이 출력됩니다.
어떻게 수정하면 되는지 문의 드립니다.
Input : period(20);
Var : dd(0);
if sDate >= CurrentDate Then
{
for dd=0 to (period-1)
{
Var1 = ma(C[dd], period);
MessageLog("var1=%f", Var1);
}
}
답변 1
예스스탁
예스스탁 답변
2024-03-12 09:57:48
안녕하세요
예스스탁입니다.
현재 수식은 현재시점에서 매번 새로운 ma함수를 호출하게 됩니다.
즉 현재 함수가 호출되면 과거봉에서 연산을 해서 온것이 아니기에
이전값 참조가 되지 않습니다.
아래와 같이 매봉 ma를 계산하게 하시고
필요한 시점에 과거값을 호출하게 구현하셔야 합니다.
Input : period(20);
Var : dd(0),mav(0);
mav = ma(C,Period);
if sDate >= CurrentDate Then
{
for dd=0 to (period-1)
{
Var1 = mav[dd];
MessageLog("var1=%f", Var1);
}
}
즐거운 하루되세요
> 투자 님이 쓴 글입니다.
> 제목 : 20이평 값 출력 문의합니다.
> 주식 종목에 오늘부터 20일 전까지의 20 이평 값만 출력되도록,
아래와 같은 식을 적용하면 실제 20이평 값과 전혀 다른 값이 출력됩니다.
어떻게 수정하면 되는지 문의 드립니다.
Input : period(20);
Var : dd(0);
if sDate >= CurrentDate Then
{
for dd=0 to (period-1)
{
Var1 = ma(C[dd], period);
MessageLog("var1=%f", Var1);
}
}