커뮤니티

수식 문의

프로필 이미지
에구머니
2021-10-28 22:51:52
755
글번호 153236
답변완료
안녕하세요? 아래와 같은 mcontiAtr 함수 부탁드립니다. input: n(Numeric); // 이하에서는 n = 100 으로 놓고 설명함. 차트의 index : 0 ~ 99 : mcontiAtr: 아직 정의되지 않음 차트의 index == 100: mcontiAtr = Atr(1); // 1 == (100 - n) + 1 이니까 차트의 index == 101: mcontiAtr = Atr(2); // 2 == (101 - n) + 1 이니까 차트의 index == 102: mcontiAtr = Atr(3); // 3 == (102 - n) + 1 이니까 ..... 만약 차트의 봉수가 5000개라면, 맨 마지막 봉에서의 함수값은 차트의 index == 4999: mcontiAtr = Atr(4900); // 4900 == (4999 - n(100)) + 1 이니까 요렇게 되기를 원합니다. /////////////////////////////////// 특히 n == 0 이면 첫봉은 Atr(1) 2번째 봉에서는 Atr(2) 3번째 봉에서는 Atr(3) 4번째 봉에서는 Atr(4) ... 의 값을 리턴하기를 원합니다. 감사합니다.
사용자 함수
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2021-10-29 15:48:01

안녕하세요 예스스탁입니다. 함수에 가변적인 기간을 지정하면 최대 1024까지만 계산이 됩니다. 아래와 같이 풀어서 작성하셔야 하며 truerange는 봉 2개를 이용하므로 차트 첫봉에 값이 있을수 없습니다. TR값이 N/A가 아닌봉이고 index가 n보다 클때부터 봉수 카운트해 누적하고 평균을 계산하게 됩니다. input: n(1); var : idx(0),TR(0),sum(0),cnt(0),mcontiAtr(0); TR = TrueRange; if Index >= n and IsNaN(TR) == False Then { idx = idx+1; sum = sum + TR; mcontiAtr = sum/idx; Plot1(mcontiAtr); } 즐거운 하루되세요 > 에구머니 님이 쓴 글입니다. > 제목 : 수식 문의 > 안녕하세요? 아래와 같은 mcontiAtr 함수 부탁드립니다. input: n(Numeric); // 이하에서는 n = 100 으로 놓고 설명함. 차트의 index : 0 ~ 99 : mcontiAtr: 아직 정의되지 않음 차트의 index == 100: mcontiAtr = Atr(1); // 1 == (100 - n) + 1 이니까 차트의 index == 101: mcontiAtr = Atr(2); // 2 == (101 - n) + 1 이니까 차트의 index == 102: mcontiAtr = Atr(3); // 3 == (102 - n) + 1 이니까 ..... 만약 차트의 봉수가 5000개라면, 맨 마지막 봉에서의 함수값은 차트의 index == 4999: mcontiAtr = Atr(4900); // 4900 == (4999 - n(100)) + 1 이니까 요렇게 되기를 원합니다. /////////////////////////////////// 특히 n == 0 이면 첫봉은 Atr(1) 2번째 봉에서는 Atr(2) 3번째 봉에서는 Atr(3) 4번째 봉에서는 Atr(4) ... 의 값을 리턴하기를 원합니다. 감사합니다.