커뮤니티

도움 부탁드립니다.

프로필 이미지
이만스닥
2023-05-02 12:02:01
1041
글번호 168638
답변완료
안녕하세요 날씨가 많이 풀렸습니다. 항상 건강하셨으면 좋겠습니다. ---- 이평선을 작성하려하는데, 값이 변할때만 해당 값을 참고하면 이평선을 그리길 원합니다. ex) 1, 2, 2, 3, 4,4,5,6,6,6,7 위의 숫자들이 있다는 가정 하에, 1, 2, 3, 4, 5, 6, 7 의 값만 한번씩 사용해서 이평선을 구하길 원합니다. 즉, 지금 숫자가, 전의 숫자와 다를 때, 해당 값을 저장하여, 저장된 값들의 이동평균 값을 구하길 원합니다. 지금 숫자가 전의 숫자과 같을 떄는, 이평값도 바로 전 이평값과 같게 표시되었으면 좋겠습니다. If X <> X[1] then begin for j = 7 down to 0 ; Y = x; Y[j] = Y[j-1] end; Plot1( ma(Y, 5) ); 이런 식으로 출력하려 해봤으나 제가 원하는데로 나오지 않더라구요.. array 기능을 써야할 것 같은데 ㅠㅠ 도움 부탁드립니다.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2023-05-03 11:06:34

안녕하세요 예스스탁입니다. ma를 사용하면 방법이 없습니다. 아래와 같이 수식을 X가 변경이 될때마다 배열변수인 Y에 순차적으로 값이 저장되게 한후 Y변수의 최근 N개의 값을 가져와 합산해서 평균하게 작성하셔야 합니다. input : N(5); var : cnt(0),X(0),sum(0),mav(0); Array : Y[100](0); if X != X[1] Then { For cnt = 99 DownTo 1 { Y[cnt] = Y[cnt-1]; } Y[0] = X; } if Y[N-1] > 0 Then { sum = 0; For cnt = 0 to N-1 { sum = sum + Y[cnt]; } mav = sum/N; } 즐거운 하루되세요 > 이만스닥 님이 쓴 글입니다. > 제목 : 도움 부탁드립니다. > 안녕하세요 날씨가 많이 풀렸습니다. 항상 건강하셨으면 좋겠습니다. ---- 이평선을 작성하려하는데, 값이 변할때만 해당 값을 참고하면 이평선을 그리길 원합니다. ex) 1, 2, 2, 3, 4,4,5,6,6,6,7 위의 숫자들이 있다는 가정 하에, 1, 2, 3, 4, 5, 6, 7 의 값만 한번씩 사용해서 이평선을 구하길 원합니다. 즉, 지금 숫자가, 전의 숫자와 다를 때, 해당 값을 저장하여, 저장된 값들의 이동평균 값을 구하길 원합니다. 지금 숫자가 전의 숫자과 같을 떄는, 이평값도 바로 전 이평값과 같게 표시되었으면 좋겠습니다. If X <> X[1] then begin for j = 7 down to 0 ; Y = x; Y[j] = Y[j-1] end; Plot1( ma(Y, 5) ); 이런 식으로 출력하려 해봤으나 제가 원하는데로 나오지 않더라구요.. array 기능을 써야할 것 같은데 ㅠㅠ 도움 부탁드립니다.