커뮤니티
문의 드립니다.
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