커뮤니티

20이평 값 출력 문의합니다.

프로필 이미지
투자
2024-03-11 18:32:54
761
글번호 177388
답변완료
주식 종목에 오늘부터 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); } }