커뮤니티

문의 드립니다.

프로필 이미지
고운무지개
2015-11-19 10:40:42
193
글번호 92552
답변완료
안녕하세요. 일전에 당일 거래로만 계산한 OBV 10, 20 이평선을 부탁 드렸습니다. 알려주신 수식이 계산한 내용과 달라서 찬찬히 살펴보고 수정을 했습니다. 당일 2번 째 봉부터 계산을 하기 때문에 idx를 -1를 줘서 1부터 시작하게 했구요. OBVv = OBVv + Volume; OBV가 계속 누적이 되길래 OBVv = OBVv[1] + Volume; 이렇게 수정했습니다. 문제는 10개의 봉이 진행하고 11번 째 봉에서 부터는 맨 앞의 obv를 탈락시키고 이평값으로 나누어야 하는데 수식을 잘 모르겠습니다. 수식 살펴보시고 수정 부탁 드립니다. input : P1(10),P2(20); var : OBVV(0),idx(0),sum(0),mav1(0),mav2(0); If date != date[1] Then{ OBVV = 0; sum = 0; idx = 0; } idx = idx+1; if date == date[1] Then{ If Close[0] > Close[1] Then OBVv = OBVv + Volume; If Close[0] < Close[1] Then OBVv = OBVv - Volume; } sum = sum+OBVv; if idx < P1 Then mav1 = sum/idx; Else mav1 = AccumN(Obvv,P1)/P1; if idx < P2 Then mav2 = sum/idx; Else mav2 = AccumN(Obvv,P2)/P2; plot1(OBVv); plot2(mav1); plot3(mav2); ============================================== input : P1(10),P2(20); var : OBVV(0),idx(0),sum(0),mav1(0),mav2(0); If date != date[1] Then{ OBVV = 0; sum = 0; idx = -1; } idx = idx+1; if date == date[1] Then{ If Close[0] > Close[1] Then OBVv = OBVv[1] + Volume; If Close[0] < Close[1] Then OBVv = OBVv[1] - Volume; } sum = sum+OBVv; if idx < P1 Then mav1 = obvv/idx; Else mav1 = AccumN(Obvv,P1)/P1; if idx < P2 Then mav2 = obvv/idx; Else mav2 = AccumN(Obvv,P2)/P2; plot1(OBVv,"OBV"); plot2(mav1,"10이평"); plot3(mav2); 3527 3527 1 3527.00 2930 6457 2 3228.50 1879 8336 3 2778.67 2274 10610 4 2652.50 -1205 9405 5 1881.00 0 9405 6 1567.50 1121 10526 7 1503.71 -1451 9075 8 1134.38 -913 8162 9 906.89 443 8605 10 860.50 834 5912 10 591.20 -886 2096 10 209.60 588 805 10 80.50 ------------------------------------------ OBV 10봉전까지 당일 OBV 10 이평 누적OBV
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2015-11-19 14:08:18

안녕하세요 예스스탁입니다. 식을 수정했습니다. input : P1(10),P2(20); var : OBVV(0),idx(0),sum(0),mav1(0),mav2(0); If date != date[1] Then{ OBVV = 0; sum = 0; idx = -1; } idx = idx+1; if date == date[1] Then{ If Close[0] > Close[1] Then OBVv = OBVv[1] + Volume; If Close[0] < Close[1] Then OBVv = OBVv[1] - Volume; } sum = sum+OBVv; if idx < P1 Then mav1 = sum/idx; Else mav1 = AccumN(Obvv,P1)/P1; if idx < P2 Then mav2 = sum/idx; Else mav2 = AccumN(Obvv,P2)/P2; plot1(OBVv,"OBV"); plot2(mav1,"P1이평"); plot3(mav2,"P2이평"); 즐거운 하루되세요 > 고운무지개 님이 쓴 글입니다. > 제목 : 문의 드립니다. > 안녕하세요. 일전에 당일 거래로만 계산한 OBV 10, 20 이평선을 부탁 드렸습니다. 알려주신 수식이 계산한 내용과 달라서 찬찬히 살펴보고 수정을 했습니다. 당일 2번 째 봉부터 계산을 하기 때문에 idx를 -1를 줘서 1부터 시작하게 했구요. OBVv = OBVv + Volume; OBV가 계속 누적이 되길래 OBVv = OBVv[1] + Volume; 이렇게 수정했습니다. 문제는 10개의 봉이 진행하고 11번 째 봉에서 부터는 맨 앞의 obv를 탈락시키고 이평값으로 나누어야 하는데 수식을 잘 모르겠습니다. 수식 살펴보시고 수정 부탁 드립니다. input : P1(10),P2(20); var : OBVV(0),idx(0),sum(0),mav1(0),mav2(0); If date != date[1] Then{ OBVV = 0; sum = 0; idx = 0; } idx = idx+1; if date == date[1] Then{ If Close[0] > Close[1] Then OBVv = OBVv + Volume; If Close[0] < Close[1] Then OBVv = OBVv - Volume; } sum = sum+OBVv; if idx < P1 Then mav1 = sum/idx; Else mav1 = AccumN(Obvv,P1)/P1; if idx < P2 Then mav2 = sum/idx; Else mav2 = AccumN(Obvv,P2)/P2; plot1(OBVv); plot2(mav1); plot3(mav2); ============================================== input : P1(10),P2(20); var : OBVV(0),idx(0),sum(0),mav1(0),mav2(0); If date != date[1] Then{ OBVV = 0; sum = 0; idx = -1; } idx = idx+1; if date == date[1] Then{ If Close[0] > Close[1] Then OBVv = OBVv[1] + Volume; If Close[0] < Close[1] Then OBVv = OBVv[1] - Volume; } sum = sum+OBVv; if idx < P1 Then mav1 = obvv/idx; Else mav1 = AccumN(Obvv,P1)/P1; if idx < P2 Then mav2 = obvv/idx; Else mav2 = AccumN(Obvv,P2)/P2; plot1(OBVv,"OBV"); plot2(mav1,"10이평"); plot3(mav2); 3527 3527 1 3527.00 2930 6457 2 3228.50 1879 8336 3 2778.67 2274 10610 4 2652.50 -1205 9405 5 1881.00 0 9405 6 1567.50 1121 10526 7 1503.71 -1451 9075 8 1134.38 -913 8162 9 906.89 443 8605 10 860.50 834 5912 10 591.20 -886 2096 10 209.60 588 805 10 80.50 ------------------------------------------ OBV 10봉전까지 당일 OBV 10 이평 누적OBV