커뮤니티

문의 드립니다.

프로필 이미지
아틀라스
2011-11-08 08:49:16
381
글번호 44536
답변완료
수고가 많으십니다. 1~50이평선에서 상승이평선수의 수를 구하고 싶은데 아래 식은 답이 틀린 것 같습니다. var : cnt(0), count(0); count = 0; for cnt = 1 to 50 { if ma(c, cnt) > ma(c, cnt)[1] then count = count +1; } plot1(count); 상기의 식은 아래의 수식 결과와 다른 값이 나옵니다. 감사합니다. 안녕하세요 예스스탁입니다. var : cnt(0),count(0); Array : mav[51](0); for cnt = 1 to 50{ mav[cnt] = ma(C,cnt); } count = 0; for cnt = 1 to 50{ if mav[cnt] > mav[cnt][1] then count = count+1; } plot1(count); 즐거운 하루되세요
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2011-11-08 10:45:52

안녕하세요 예스스탁입니다. var : cnt(0),count(0); Array : mav[51](0); for cnt = 1 to 50{ mav[cnt] = ma(C,cnt); } count = 0; for cnt = 1 to 50{ if mav[cnt] > mav[cnt][1] then count = count+1; } plot1(count); 기존의 올려드린 답변과 같이 작성해서 사용하셔야 합니다. 수정하신 식과 같이 for문안에서 이평의 기간값과 이전값을 요구하는 조건문을 한번에 작성하지 않으셔야 합니다. 즉 현재시점에서 이평함수를 불러와 기간값을 1~50을 넣어 계산하므로 과거(이전값)을 만들지를 못합니다. 즐거운 하루되세요 > 아틀라스 님이 쓴 글입니다. > 제목 : 문의 드립니다. > 수고가 많으십니다. 1~50이평선에서 상승이평선수의 수를 구하고 싶은데 아래 식은 답이 틀린 것 같습니다. var : cnt(0), count(0); count = 0; for cnt = 1 to 50 { if ma(c, cnt) > ma(c, cnt)[1] then count = count +1; } plot1(count); 상기의 식은 아래의 수식 결과와 다른 값이 나옵니다. 감사합니다. 안녕하세요 예스스탁입니다. var : cnt(0),count(0); Array : mav[51](0); for cnt = 1 to 50{ mav[cnt] = ma(C,cnt); } count = 0; for cnt = 1 to 50{ if mav[cnt] > mav[cnt][1] then count = count+1; } plot1(count); 즐거운 하루되세요