커뮤니티
볼밴표시
2017-09-26 14:22:59
190
글번호 113074
안녕하세요. 부탁드립니다.
1) 일봉챠트의 볼밴(상하단.중심)을 분봉챠트에서 표현
2) 주봉챠트의 볼밴과 일목기준선을 일봉챠트에서 표현
3) 월봉챠트의 볼밴과 일목기준선을 일봉챠트에서 표현
감사합니다.^^
답변 3
예스스탁 예스스탁 답변
2017-09-26 13:38:26
안녕하세요
예스스탁입니다.
# 분봉에서 일봉 볼린져밴드 계산 시작
input : Period(20),Dv(2);
var : sum(0),cnt(0),mav(0),SumSqrt(0),Stdv(0);
var : BBup(0),BBdn(0),Counter(0);
If DayClose(Period) > 0 Then {
#일봉 이동평균 계산
sum = 0;
for cnt = 0 to Period-1{
sum = sum + DayClose(cnt);
}
mav = sum/Period;
#표준편차 계산
SumSqrt = 0;
For Counter = 0 To Period - 1 {
SumSqrt = SumSqrt + (DayClose(Counter) - mav)^2;
}
Stdv = SquareRoot(SumSqrt / Period);
# 일봉 볼린져밴드 계산
BBup = mav + (Dv * Stdv);
BBdn = mav - (Dv * Stdv);
plot1(BBup ,"상단");
plot2(mav,"중단");
plot3(BBdn,"하단");
}
즐거운 하루되세요
> 스로우 님이 쓴 글입니다.
> 제목 : 볼밴표시
> 안녕하세요.
일봉챠트의 볼밴(상하단.중심)을
분봉챠트에서 표현하고자 합니다. 감사합니다.^^
스로우
2017-09-26 14:50:09
안녕하세요. 추가로 부탁드립니다.
1) 주봉챠트의 볼밴과 일목기준선을 일봉/분봉챠트에서 표현
2) 월봉챠트의 볼밴과 일목기준선을 주봉/일봉챠트에서 표현
#############################
감사합니다.^^
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 볼밴표시
> 안녕하세요
예스스탁입니다.
# 분봉에서 일봉 볼린져밴드 계산 시작
input : Period(20),Dv(2);
var : sum(0),cnt(0),mav(0),SumSqrt(0),Stdv(0);
var : BBup(0),BBdn(0),Counter(0);
If DayClose(Period) > 0 Then {
#일봉 이동평균 계산
sum = 0;
for cnt = 0 to Period-1{
sum = sum + DayClose(cnt);
}
mav = sum/Period;
#표준편차 계산
SumSqrt = 0;
For Counter = 0 To Period - 1 {
SumSqrt = SumSqrt + (DayClose(Counter) - mav)^2;
}
Stdv = SquareRoot(SumSqrt / Period);
# 일봉 볼린져밴드 계산
BBup = mav + (Dv * Stdv);
BBdn = mav - (Dv * Stdv);
plot1(BBup ,"상단");
plot2(mav,"중단");
plot3(BBdn,"하단");
}
즐거운 하루되세요
> 스로우 님이 쓴 글입니다.
> 제목 : 볼밴표시
> 안녕하세요.
일봉챠트의 볼밴(상하단.중심)을
분봉챠트에서 표현하고자 합니다. 감사합니다.^^
예스스탁 예스스탁 답변
2017-09-26 15:52:39
안녕하세요
예스스탁입니다.
1. 주봉 볼밴
input : Period(20),Dv(2);
var : cnt(0),sum(0),mav(0),BBup(0),BBdn(0),SumSqrt(0),Counter(0),Stdv(0);
Array : WeekO[100](0),WeekC[100](0),WeekH[100](0),WeekL[100](0);
#주간 시고저종가 계산
if dayofweek(bdate) < dayofweek(bdate[1]) Then{
WeeKO[0] = O;
WeekH[0] = H;
WeekL[0] = L;
for cnt = 1 to 99{
WeekO[cnt] = WeekO[cnt-1][1];
WeekH[cnt] = WeekH[cnt-1][1];
WeekL[cnt] = WeekL[cnt-1][1];
WeekC[cnt] = WeekC[cnt-1][1];
}
}
WeekC[0] = C;
if H > WeekH[0] Then
WeekH[0] = H;
if L < WeekL[0] Then
WeekL[0] = L;
If WeekC[Period] != 0 Then {
sum = 0;
for cnt = 0 to Period-1{
sum = sum+WeekC[cnt];
}
mav = sum/Period;
SumSqrt = 0;
For cnt = 0 To Period - 1 {
SumSqrt = SumSqrt + (WeekC[cnt] - mav) * (WeekC[cnt] - mav);
}
Stdv = SquareRoot(SumSqrt / Period);
BBup = mav + (Dv * Stdv);
BBdn = mav - (Dv * Stdv);
plot1(BBup);
plot2(mav );
plot3(BBdn);
}
2 주봉 일목
input : 전환선기간(9),기준선기간(26),선행스팬2기간(52);
var : cnt(0);
var : wH1(0),wL1(0),wH11(0),wL11(0),wH2(0),wL2(0),wH22(0),wL22(0),wH3(0),wL3(0);
var : w전환선(0),w기준선(0),w선행스팬1(0),w선행스팬2(0);
Array : WH[100](0),WL[100](0);
if DayOfWeek(bdate) < DayOfWeek(bdate[1]) Then{
WH[0] = H;
WL[0] = L;
for cnt = 1 to 99{
WH[cnt] = WH[cnt-1][1];
WL[cnt] = WL[cnt-1][1];
}
}
if H > WH[0] Then
WH[0] = H;
if L < WL[0] Then
WL[0] = L;
if WH[선행스팬2기간+25] > 0 and WL[선행스팬2기간+25] > 0 then{
wH1 = WH[0];
wL1 = WL[0];
wH11 = WH[25];
wL11 = WL[25];
wH2 = WH[0];
wL2 = WL[0];
wH22 = WH[25];
wL22 = WL[25];
wH3 = WH[25];
wL3 = WL[25];
for cnt = 0 to 선행스팬2기간-1{
if cnt < 전환선기간 Then{
if WH[cnt] > wH1 Then
wH1 = WH[cnt];
if WL[cnt] < wL1 Then
wL1 = WL[cnt];
if WH[cnt+25] > wH11 Then
wH11 = WH[cnt+25];
if WL[cnt+25] < wL11 Then
wL11 = WL[cnt+25];
}
if cnt < 기준선기간 Then{
if WH[cnt] > wH2 Then
wH2 = WH[cnt];
if WL[cnt] < wL2 Then
wL2 = WL[cnt];
if WH[cnt+25] > wH22 Then
wH22 = WH[cnt+25];
if WL[cnt+25] < wL22 Then
wL22 = WL[cnt+25];
}
if WH[cnt+25] > wH3 Then
wH3 = WH[cnt+25];
if WL[cnt+25] < wL3 Then
wL3 = WL[cnt+25];
}
w전환선 = (wH1 + wL1)/2;
w기준선 = (wH2 + wL2)/2;
w선행스팬1 = ((wH11+wL11)/2 + (wH22+wL22)/2) / 2 ;
w선행스팬2 = (wH3+wL3) / 2;
plot1(w전환선);
plot2(w기준선);
plot3(w선행스팬1);
plot4(w선행스팬2);
}
3 월봉 볼밴
input : MonthkPeriod(20),MonthkDv(2);
var : Monthkcnt(0),Monthkcount(0),Monthksum(0),Monthkmav(0),MonthkBBup(0),MonthkBBdn(0),MonthkSumSqrt(0),MonthkCounter(0),MonthkStdv(0);
Array : MonthkC[100](0);
if date > date[1]+30 Then{
for Monthkcnt = 1 to 99{
MonthkC[Monthkcnt] = MonthkC[Monthkcnt-1][1];
}
}
MonthkC[0] = C;
If MonthkC[MonthkPeriod] != 0 Then {
Monthksum = 0;
for Monthkcount = 0 to MonthkPeriod-1{
Monthksum = Monthksum+MonthkC[Monthkcount];
}
Monthkmav = Monthksum/MonthkPeriod;
MonthkSumSqrt = 0;
For MonthkCounter = 0 To MonthkPeriod - 1 {
MonthkSumSqrt = MonthkSumSqrt + (MonthkC[MonthkCounter] - Monthkmav) * (MonthkC[MonthkCounter] - Monthkmav);
}
MonthkStdv = SquareRoot(MonthkSumSqrt / MonthkPeriod);
MonthkBBup = Monthkmav + (MonthkDv * MonthkStdv);
MonthkBBdn = Monthkmav - (MonthkDv * MonthkStdv);
plot1(MonthkBBup);
plot2(Monthkmav );
plot3(MonthkBBdn);
}
4 월봉 일목
input : 전환선기간(9),기준선기간(26),선행스팬2기간(52);
var : cnt(0);
var : mH1(0),mL1(0),mH11(0),mL11(0),mH2(0),mL2(0),mH22(0),mL22(0),mH3(0),mL3(0);
var : m전환선(0),m기준선(0),m선행스팬1(0),m선행스팬2(0);
Array : MH[100](0),ML[100](0);
if Bdate > Bdate[1]+30 Then{
MH[0] = H;
ML[0] = L;
for cnt = 1 to 99{
MH[cnt] = MH[cnt-1][1];
ML[cnt] = ML[cnt-1][1];
}
}
if H > MH[0] Then
MH[0] = H;
if L < ML[0] Then
ML[0] = L;
if MH[선행스팬2기간+25] > 0 and ML[선행스팬2기간+25] > 0 then{
mH1 = MH[0];
mL1 = ML[0];
mH11 = MH[25];
mL11 = ML[25];
mH2 = MH[0];
mL2 = ML[0];
mH22 = MH[25];
mL22 = ML[25];
mH3 = MH[25];
mL3 = ML[25];
for cnt = 0 to 선행스팬2기간-1{
if cnt < 전환선기간 Then{
if MH[cnt] > mH1 Then
mH1 = MH[cnt];
if ML[cnt] < mL1 Then
mL1 = ML[cnt];
if MH[cnt+25] > mH11 Then
mH11 = MH[cnt+25];
if ML[cnt+25] < mL11 Then
mL11 = ML[cnt+25];
}
if cnt < 기준선기간 Then{
if MH[cnt] > mH2 Then
mH2 = MH[cnt];
if ML[cnt] < mL2 Then
mL2 = ML[cnt];
if MH[cnt+25] > mH22 Then
mH22 = MH[cnt+25];
if ML[cnt+25] < mL22 Then
mL22 = ML[cnt+25];
}
if MH[cnt+25] > mH3 Then
mH3 = MH[cnt+25];
if ML[cnt+25] < mL3 Then
mL3 = ML[cnt+25];
}
m전환선 = (mH1 + mL1)/2;
m기준선 = (mH2 + mL2)/2;
m선행스팬1 = ((mH11+mL11)/2 + (mH22+mL22)/2) / 2 ;
m선행스팬2 = (mH3+mL3) / 2;
plot1(m전환선);
plot2(m기준선);
plot3(m선행스팬1);
plot4(m선행스팬2);
}
즐거운 하루되세요
> 스로우 님이 쓴 글입니다.
> 제목 : Re : Re : 감사합니다. 추가요청사항입니다
> 안녕하세요. 추가로 부탁드립니다.
1) 주봉챠트의 볼밴과 일목기준선을 일봉/분봉챠트에서 표현
2) 월봉챠트의 볼밴과 일목기준선을 주봉/일봉챠트에서 표현
#############################
감사합니다.^^
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 볼밴표시
> 안녕하세요
예스스탁입니다.
# 분봉에서 일봉 볼린져밴드 계산 시작
input : Period(20),Dv(2);
var : sum(0),cnt(0),mav(0),SumSqrt(0),Stdv(0);
var : BBup(0),BBdn(0),Counter(0);
If DayClose(Period) > 0 Then {
#일봉 이동평균 계산
sum = 0;
for cnt = 0 to Period-1{
sum = sum + DayClose(cnt);
}
mav = sum/Period;
#표준편차 계산
SumSqrt = 0;
For Counter = 0 To Period - 1 {
SumSqrt = SumSqrt + (DayClose(Counter) - mav)^2;
}
Stdv = SquareRoot(SumSqrt / Period);
# 일봉 볼린져밴드 계산
BBup = mav + (Dv * Stdv);
BBdn = mav - (Dv * Stdv);
plot1(BBup ,"상단");
plot2(mav,"중단");
plot3(BBdn,"하단");
}
즐거운 하루되세요
> 스로우 님이 쓴 글입니다.
> 제목 : 볼밴표시
> 안녕하세요.
일봉챠트의 볼밴(상하단.중심)을
분봉챠트에서 표현하고자 합니다. 감사합니다.^^