커뮤니티
문의드립니다.
2012-07-25 13:26:34
309
글번호 53250
아래 선을 중심선으로 볼린져밴드를 구현하고 싶습니다.
input : x(0); // X = 0 은 종가의 순수 평균, X = 100 은 종가의 평균에 +100%를 한값
var : period(0), N(0), cnt(0), sum(0), av(0);
period = 0;
n = 0;
cnt = 0;
sum = 0;
av = 0;
Period = Interval;
if stime == 090000 Then
{
n = 1;
}
Else
{
n = ((TimeToMinutes(sTime) - 540) / period) + 1;
}
if n > 2 Then
{
for cnt = 1 to n-1
{
sum = sum + c[cnt];
}
}
Else if n == 1 Then
sum = 0;
Else if n == 2 Then
sum = c[1];
sum = sum + c[0];
av = sum / n * (1 + (x*0.01));
PlotBaseLine1(av, "당일종가평균1");
그리고 추가 하나더요
저가가 20이평선을 뚫었을때 그 지점을 선으로 나타내고 싶어요
고가가 20이평선을 깻을때 그 지점을 선으로 나타내고 싶어요
수고하세요
답변 1
예스스탁 예스스탁 답변
2012-07-25 13:40:52
안녕하세요
예스스탁입니다.
input : x(0),dv(2); // X = 0 은 종가의 순수 평균, X = 100 은 종가의 평균에 +100%를 한값
var : period(0), N(0), cnt(0), sum(0), av(0);
period = 0;
n = 0;
cnt = 0;
sum = 0;
av = 0;
Period = Interval;
if stime == 090000 Then
{
n = 1;
}
Else
{
n = ((TimeToMinutes(sTime) - 540) / period) + 1;
}
if n > 2 Then
{
for cnt = 1 to n-1
{
sum = sum + c[cnt];
}
}
Else if n == 1 Then
sum = 0;
Else if n == 2 Then
sum = c[1];
sum = sum + c[0];
av = sum / n * (1 + (x*0.01));
Var : SumSqrt(0), Avgv(0), Counter(0),Stdv(0);
If av != 0 Then Begin
Avgv = av;
SumSqrt = 0;
For Counter = 0 To n - 1 Begin
SumSqrt = SumSqrt + ((c[Counter]* (1 + (x*0.01))) - Avgv) * ((c[Counter]* (1 + (x*0.01))) - Avgv);
End;
Stdv = SquareRoot(SumSqrt / n);
End
Else
Stdv = 0;
plot1(av,"중심");
plot2(av+stdv*dv,"상단");
plot3(av-stdv*dv,"하단");
작성하신 식은 아래와 같이 간단히 작성해 사용하셔도 됩니다.
plot1(ma(C,dayindex+1));
plot2(BollBandUp(dayindex+1,2));
plot3(BollBandDown(dayindex+1,2));
즐거운 하루되세요
> 일일일백 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 아래 선을 중심선으로 볼린져밴드를 구현하고 싶습니다.
input : x(0); // X = 0 은 종가의 순수 평균, X = 100 은 종가의 평균에 +100%를 한값
var : period(0), N(0), cnt(0), sum(0), av(0);
period = 0;
n = 0;
cnt = 0;
sum = 0;
av = 0;
Period = Interval;
if stime == 090000 Then
{
n = 1;
}
Else
{
n = ((TimeToMinutes(sTime) - 540) / period) + 1;
}
if n > 2 Then
{
for cnt = 1 to n-1
{
sum = sum + c[cnt];
}
}
Else if n == 1 Then
sum = 0;
Else if n == 2 Then
sum = c[1];
sum = sum + c[0];
av = sum / n * (1 + (x*0.01));
PlotBaseLine1(av, "당일종가평균1");
그리고 추가 하나더요
저가가 20이평선을 뚫었을때 그 지점을 선으로 나타내고 싶어요
고가가 20이평선을 깻을때 그 지점을 선으로 나타내고 싶어요
수고하세요
다음글