커뮤니티
문의드립니다.
2017-10-27 12:15:54
160
글번호 113683
안녕하세요.
예전에 짜주신 지표인데요. 또 부탁드리고 싶은것이 있어서요.
아래의 변수를 Nday(1),dayPeriod(2),dayDv(1);
바꾸면 plot1 또는 plot3 둘 중에 하나는 수평선이 나오게 되는데요.
plot1-plot3 를 선으로 나타낼려고 하다보니 항상 0보다 큰 선이 나오게 되서 말인데요.
예를들어,
1. plot1값은 수평선이고 plot3 값은 곡선형태라면
plot1-plot3 선이 0보다 작은 - 형태의 곡선이 나오게 해주시고요.
2. plot1값은 곡선이고 plot3 값은 수평선형태라면
plot1-plot3 선이 0보다 큰 + 형태의 곡선이 나오게 해주시면 고맙겠습니다.
항상 감사드립니다.
########################################################
input : Nday(1),dayPeriod(20),dayDv(2);
var : daysum(0),daycnt(0),dayma(0),daySumSqrt(0),dayStdv(0);
var : dayBBup(0),dayBBdn(0),dayCounter(0);
#일봉 이동평균 계산
daysum = 0;
for daycnt = 0 to Nday*dayPeriod-Nday step Nday{
daysum = daysum + DayClose(daycnt);
}
dayma = daysum/dayPeriod;
#표준편차 계산
If DayClose(dayPeriod) != 0 Then {
daySumSqrt = 0;
For dayCounter = 0 To Nday*dayPeriod-Nday step Nday {
daySumSqrt = daySumSqrt + (DayClose(dayCounter) - dayma)^2;
}
dayStdv = SquareRoot(daySumSqrt / dayPeriod);
}
Else
dayStdv = 0;
# 일봉 볼린져밴드 계산
dayBBup = dayma + (dayDv * dayStdv);
dayBBdn = dayma - (dayDv * dayStdv);
plot1(dayBBup ,"상단");
plot2(dayma,"중단");
plot3(dayBBdn,"하단");
답변 2
예스스탁 예스스탁 답변
2017-10-27 15:53:24
안녕하세요
예스스탁입니다.
문의하신 내용은 수식의 어느 부분을 수정해 드려야 할지 모르겠습니다.
도움을 드리지 못해 죄송합니다.
즐거운 하루되세요
> 예스매니아 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 안녕하세요.
예전에 짜주신 지표인데요. 또 부탁드리고 싶은것이 있어서요.
아래의 변수를 Nday(1),dayPeriod(2),dayDv(1);
바꾸면 plot1 또는 plot3 둘 중에 하나는 수평선이 나오게 되는데요.
plot1-plot3 를 선으로 나타낼려고 하다보니 항상 0보다 큰 선이 나오게 되서 말인데요.
예를들어,
1. plot1값은 수평선이고 plot3 값은 곡선형태라면
plot1-plot3 선이 0보다 작은 - 형태의 곡선이 나오게 해주시고요.
2. plot1값은 곡선이고 plot3 값은 수평선형태라면
plot1-plot3 선이 0보다 큰 + 형태의 곡선이 나오게 해주시면 고맙겠습니다.
항상 감사드립니다.
########################################################
input : Nday(1),dayPeriod(20),dayDv(2);
var : daysum(0),daycnt(0),dayma(0),daySumSqrt(0),dayStdv(0);
var : dayBBup(0),dayBBdn(0),dayCounter(0);
#일봉 이동평균 계산
daysum = 0;
for daycnt = 0 to Nday*dayPeriod-Nday step Nday{
daysum = daysum + DayClose(daycnt);
}
dayma = daysum/dayPeriod;
#표준편차 계산
If DayClose(dayPeriod) != 0 Then {
daySumSqrt = 0;
For dayCounter = 0 To Nday*dayPeriod-Nday step Nday {
daySumSqrt = daySumSqrt + (DayClose(dayCounter) - dayma)^2;
}
dayStdv = SquareRoot(daySumSqrt / dayPeriod);
}
Else
dayStdv = 0;
# 일봉 볼린져밴드 계산
dayBBup = dayma + (dayDv * dayStdv);
dayBBdn = dayma - (dayDv * dayStdv);
plot1(dayBBup ,"상단");
plot2(dayma,"중단");
plot3(dayBBdn,"하단");
예스매니아
2017-10-27 15:59:29
볼린져 상단-하단을 표시하려는 것 뿐입니다.
다만, 상단- 하단의 값이 항상 양의 값을 갖다보니
상단- 하단 의 선을 0선을 위아래로 움직이는 선을 만들고 싶을 뿐입니다.
저의 짧은 소견으로는 plot1값이 변하지 않으면,
var = plot1-plot3 값을
plot(-var); 로 해주시고요
만약에 plot3선이 변하지 않으면
plot(var); 로 해주시면 될거같은데요.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 문의드립니다.
>
안녕하세요
예스스탁입니다.
문의하신 내용은 수식의 어느 부분을 수정해 드려야 할지 모르겠습니다.
도움을 드리지 못해 죄송합니다.
즐거운 하루되세요
> 예스매니아 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 안녕하세요.
예전에 짜주신 지표인데요. 또 부탁드리고 싶은것이 있어서요.
아래의 변수를 Nday(1),dayPeriod(2),dayDv(1);
바꾸면 plot1 또는 plot3 둘 중에 하나는 수평선이 나오게 되는데요.
plot1-plot3 를 선으로 나타낼려고 하다보니 항상 0보다 큰 선이 나오게 되서 말인데요.
예를들어,
1. plot1값은 수평선이고 plot3 값은 곡선형태라면
plot1-plot3 선이 0보다 작은 - 형태의 곡선이 나오게 해주시고요.
2. plot1값은 곡선이고 plot3 값은 수평선형태라면
plot1-plot3 선이 0보다 큰 + 형태의 곡선이 나오게 해주시면 고맙겠습니다.
항상 감사드립니다.
########################################################
input : Nday(1),dayPeriod(20),dayDv(2);
var : daysum(0),daycnt(0),dayma(0),daySumSqrt(0),dayStdv(0);
var : dayBBup(0),dayBBdn(0),dayCounter(0);
#일봉 이동평균 계산
daysum = 0;
for daycnt = 0 to Nday*dayPeriod-Nday step Nday{
daysum = daysum + DayClose(daycnt);
}
dayma = daysum/dayPeriod;
#표준편차 계산
If DayClose(dayPeriod) != 0 Then {
daySumSqrt = 0;
For dayCounter = 0 To Nday*dayPeriod-Nday step Nday {
daySumSqrt = daySumSqrt + (DayClose(dayCounter) - dayma)^2;
}
dayStdv = SquareRoot(daySumSqrt / dayPeriod);
}
Else
dayStdv = 0;
# 일봉 볼린져밴드 계산
dayBBup = dayma + (dayDv * dayStdv);
dayBBdn = dayma - (dayDv * dayStdv);
plot1(dayBBup ,"상단");
plot2(dayma,"중단");
plot3(dayBBdn,"하단");