커뮤니티

문의 드립니다.

프로필 이미지
7out
2021-03-19 04:44:31
709
글번호 147235
답변완료
안녕하세요. 수식 구현에 어려움을 느껴서 문의드립니다. 제가 구현하고자 하는 것은 c > c[1] 만족하는 경우, C 만족하지 않는 경우, 0 (open아닙니다 숫자 0입니다) lookback을 3으로 설정했을 경우 예를 들어 c: 1300 / c[1]: 1500 / c[2]: 1400 / c[3]: 1500 일 경우 1. c < c[1] = 0 2. c[1] > c[2] = 1500 3. c[2] < c[3] = 0 따라서 나오는 값이 (0+1500+0)/3 = 500 되도록 하고 싶습니다. 현재봉이 전봉보다 크면 Close, 현재봉이 전봉보다 작으면 0 lookback기간동안안에 있는 모든 봉을 비교해서 값을 구하고 싶습니다. 혹시 몰라서 iff 문으로 작성해보니 iff(c > c[1], C , 0) 이렇게 작성하였을 때 위의 경우를 똑같이 계산할 경우 c: 1300 / c[1]: 1500 / c[2]: 1400 / c[3]: 1500 일 경우 1. c < c[1] = c = 0 2. c[1] > c[2] 조건 상관없이 C[1]값 사용 3. c[2] < c[3] 조건 상관없이 C[2]값 사용 나오는 결과 값이 ( 0 + 1400 + 1500) = 966.6이 나옵니다. 예스랭귀지에서 해결할 수 있는 방법이 있다면 꼭 알려주세요. 감사합니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2021-03-19 12:51:16

안녕하세요 예스스탁입니다. iff함수와 ma함수 사용하셔서 처리하시면 됩니다. input : lookback(3); var1 = iff(C>C[1],C,0); Var2 = ma(var1,lookback); Plot1(Var1,"iff"); plot2(var2",ma"); 즐거운 하루되세요 > 7out 님이 쓴 글입니다. > 제목 : 문의 드립니다. > 안녕하세요. 수식 구현에 어려움을 느껴서 문의드립니다. 제가 구현하고자 하는 것은 c > c[1] 만족하는 경우, C 만족하지 않는 경우, 0 (open아닙니다 숫자 0입니다) lookback을 3으로 설정했을 경우 예를 들어 c: 1300 / c[1]: 1500 / c[2]: 1400 / c[3]: 1500 일 경우 1. c < c[1] = 0 2. c[1] > c[2] = 1500 3. c[2] < c[3] = 0 따라서 나오는 값이 (0+1500+0)/3 = 500 되도록 하고 싶습니다. 현재봉이 전봉보다 크면 Close, 현재봉이 전봉보다 작으면 0 lookback기간동안안에 있는 모든 봉을 비교해서 값을 구하고 싶습니다. 혹시 몰라서 iff 문으로 작성해보니 iff(c > c[1], C , 0) 이렇게 작성하였을 때 위의 경우를 똑같이 계산할 경우 c: 1300 / c[1]: 1500 / c[2]: 1400 / c[3]: 1500 일 경우 1. c < c[1] = c = 0 2. c[1] > c[2] 조건 상관없이 C[1]값 사용 3. c[2] < c[3] 조건 상관없이 C[2]값 사용 나오는 결과 값이 ( 0 + 1400 + 1500) = 966.6이 나옵니다. 예스랭귀지에서 해결할 수 있는 방법이 있다면 꼭 알려주세요. 감사합니다.