커뮤니티
문의드립니다.
2014-04-16 15:23:33
179
글번호 74485
늘 감사드리면서,,,
질문1.아래의 수식들의 가격변수(C)를 가격이 아닌 증감비율로 해서 다시 제작해주실수 없으신지요? 즉, 가격스케일이 상이하게 움직이는 두개의 움직임의 기준치를 동일하게 적용해서 아래지표에 넣고 싶어서 그렇습니다.
예를들어) 하나는 0.2345 식의 움직임과 다른하나는 88.23식의 움직임인데요,,,가격으로 아래지표에 적용하면 겹쳐도 의미가 없기때문에, 비율로 적용하면 두움직임을 상대적으로 비교를 할수 있지 않을까 싶어서요.
질문2. Data2에도 적용가능하도록 해주시면 더할나위없이 감사드립니다.
1. input : Ntime(120),P(20),Dv(2);#120분봉
var : cnt(0),count(0),sum(0),mav(0),MiBBup(0),MiBBdn(0),Avgv(0);
var : SumSqrt(0),Counter(0),Stdv(0),TF(0);
Array : CC[120](0);
if date != date[1] Then
var1 = TimeToMinutes(stime);
TF = (TimeToMinutes(stime)-var1)%Ntime;
if dayindex() == 0 or (TF < TF[1] and stime > stime[1]) Then{
for cnt = 1 to P-1{
CC[cnt] = CC[cnt-1][1];
}
}
CC[0] = C;
sum = 0;
for count = 0 to P-1{
sum = sum+CC[count];
}
mav = sum/P;
If CC[P-1] != 0 Then{
Avgv = mav;
SumSqrt = 0;
For Counter = 0 To P - 1 {
SumSqrt = SumSqrt + (CC[Counter] - Avgv) * (CC[Counter] - Avgv);
}
Stdv = SquareRoot(SumSqrt / P);
}
Else
Stdv = 0;
MiBBup = mav + (Dv * Stdv);
MiBBdn = mav - (Dv * Stdv);
plot1(MiBBup);
plot2(mav);
plot3(MiBBdn);
2.
input : dayPeriod(2),dayDv(2),aa(0);
var : daysum(0),daycnt(0),dayma(0),daySumSqrt(0),dayStdv(0);
var : dayBBup(0),dayBBdn(0),dayCounter(0);
daysum = 0;
for daycnt = 0 to dayPeriod-1{
daysum = daysum + DayClose(daycnt);
}
dayma = daysum/dayPeriod;
If DayClose(dayPeriod) != 0 Then {
daySumSqrt = 0;
For dayCounter = 0 To dayPeriod - 1 {
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,"하단");
3.
input : weekPeriod(2),weekDv(2),aa(0);
var : weekcnt(0),weekcount(0),weeksum(0),weekmav(0),weekBBup(0),weekBBdn(0),weekAvgv(0),weekSumSqrt(0),weekCounter(0),weekStdv(0);
Array : 주봉C[120](0);
if dayofweek(date) < dayofweek(date[1]) and date > date[1] Then{
주봉C[1] = C[1];
for weekcnt = 2 to weekPeriod+1{
주봉C[weekcnt] = 주봉C[weekcnt-1][1];
}
}
주봉C[0] = C;
weeksum = 0;
for weekcount = 0 to weekPeriod-1{
weeksum = weeksum+주봉C[weekcount];
}
weekmav = weeksum/weekPeriod;
If 주봉C[weekPeriod] != 0 Then Begin
weekAvgv = weekmav;
weekSumSqrt = 0;
For weekCounter = 0 To weekPeriod - 1 Begin
weekSumSqrt = weekSumSqrt + (주봉C[weekCounter] - weekAvgv) * (주봉C[weekCounter] - weekAvgv);
End;
weekStdv = SquareRoot(weekSumSqrt / weekPeriod);
End
Else
weekStdv = 0;
weekBBup = weekmav + (weekDv * weekStdv);
weekBBdn = weekmav - (weekDv * weekStdv);
plot1(weekBBup,"상단");
plot2(weekmav,"중단" );
plot3(weekBBdn,"하단");
답변 1
예스스탁 예스스탁 답변
2014-04-16 15:48:54
안녕하세요
예스스탁입니다.
1-1 타분봉
input : Ntime(120),P(20),Dv(2);#120분봉
var : cnt(0),count(0),sum(0),mav(0),MiBBup(0),MiBBdn(0),Avgv(0);
var : SumSqrt(0),Counter(0),Stdv(0),TF(0),TT(0),PreC(0);
Array : CC[120](99999999999);
if date != date[1] Then
TT = TimeToMinutes(stime);
TF = (TimeToMinutes(stime)-TT)%Ntime;
if dayindex() == 0 or (TF < TF[1] and stime > stime[1]) Then{
for cnt = 1 to P-1{
CC[cnt] = CC[cnt-1][1];
}
}
CC[0] = (C-CloseD(1))/CloseD(1)*100;
If CC[P-1] != 99999999999 Then{
sum = 0;
for count = 0 to P-1{
sum = sum+CC[count];
}
mav = sum/P;
Avgv = mav;
SumSqrt = 0;
For Counter = 0 To P - 1 {
SumSqrt = SumSqrt + (CC[Counter] - Avgv) * (CC[Counter] - Avgv);
}
Stdv = SquareRoot(SumSqrt / P);
}
Else
Stdv = 0;
MiBBup = mav + (Dv * Stdv);
MiBBdn = mav - (Dv * Stdv);
plot1(MiBBup);
plot2(mav);
plot3(MiBBdn);
1-2 타분봉 data2
input : Ntime(120),P(20),Dv(2);#120분봉
var : cnt(0,data2),count(0,data2),sum(0,data2),mav(0,data2),MiBBup(0,data2),MiBBdn(0,data2),Avgv(0,data2);
var : SumSqrt(0,data2),Counter(0,data2),Stdv(0,data2),TF(0,data2),TT(0,data2);
Array : CC[120](99999999999);
if data2(date != date[1]) Then
TT = data2(TimeToMinutes(stime));
TF = data2((TimeToMinutes(stime)-TT)%Ntime);
if data2(dayindex() == 0 or (TF < TF[1] and stime > stime[1])) Then{
for cnt = 1 to P-1{
CC[cnt] = CC[cnt-1][1];
}
}
CC[0] = data2((C-CloseD(1))/CloseD(1)*100);
If CC[P-1] != 99999999999 Then{
sum = 0;
for count = 0 to P-1{
sum = sum+CC[count];
}
mav = sum/P;
Avgv = mav;
SumSqrt = 0;
For Counter = 0 To P - 1 {
SumSqrt = SumSqrt + (CC[Counter] - Avgv) * (CC[Counter] - Avgv);
}
Stdv = SquareRoot(SumSqrt / P);
}
Else
Stdv = 0;
MiBBup = mav + (Dv * Stdv);
MiBBdn = mav - (Dv * Stdv);
plot1(MiBBup);
plot2(mav);
plot3(MiBBdn);
2-1 일봉
input : dayPeriod(2),dayDv(2),aa(0);
var : cnt(0);
var : daysum(0),daycnt(0),dayma(0),daySumSqrt(0),dayStdv(0);
var : dayBBup(0),dayBBdn(0),dayCounter(0);
Array : CC[100](99999999999,data2);
if date != date[1] Then{
for cnt = 1 to 99{
CC[cnt] = CC[cnt-1][1];
}
}
CC[0] = (C-CloseD(1))/CloseD(1)*100;
If CC[dayPeriod] != 99999999999 Then {
daysum = 0;
for daycnt = 0 to dayPeriod-1{
daysum = daysum + CC[daycnt];
}
dayma = daysum/dayPeriod;
daySumSqrt = 0;
For dayCounter = 0 To dayPeriod - 1 {
daySumSqrt = daySumSqrt + (CC[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-2 일봉 data2
input : dayPeriod(2),dayDv(2),aa(0);
var : cnt(0,data2),daysum(0,data2),daycnt(0,data2),dayma(0,data2),daySumSqrt(0,data2),dayStdv(0,data2);
var : dayBBup(0,data2),dayBBdn(0,data2),dayCounter(0,data2);
Array : CC[100](99999999999,data2);
if data2(date != date[1]) Then{
for cnt = 1 to 99{
CC[cnt] = CC[cnt-1][1];
}
}
CC[0] = data2((C-CloseD(1))/CloseD(1)*100);
If CC[dayPeriod] != 99999999999 Then {
daysum = 0;
for daycnt = 0 to dayPeriod-1{
daysum = daysum + CC[daycnt];
}
dayma = daysum/dayPeriod;
daySumSqrt = 0;
For dayCounter = 0 To dayPeriod - 1 {
daySumSqrt = daySumSqrt + (CC[dayCounter] - dayma)^2;
}
dayStdv = SquareRoot(daySumSqrt / dayPeriod);
}
Else
dayStdv = 0;
dayBBup = dayma + (dayDv * dayStdv);
dayBBdn = dayma - (dayDv * dayStdv);
plot1(dayBBup ,"상단");
plot2(dayma,"중단");
plot3(dayBBdn,"하단");
3-1 주봉
input : weekPeriod(2),weekDv(2);
var : weekcnt(0),weekcount(0),weeksum(0),weekmav(0),weekBBup(0),weekBBdn(0);
var : weekAvgv(0),weekSumSqrt(0),weekCounter(0),weekStdv(0),PreC(0);
Array : 주봉C[100](99999999999);
if dayofweek(date) < dayofweek(date[1]) and date > date[1] Then{
PreC = C[1];
for weekcnt = 1 to weekPeriod+1{
주봉C[weekcnt] = 주봉C[weekcnt-1][1];
}
}
주봉C[0] = (C-PreC)/PreC*100;
If 주봉C[weekPeriod] != 99999999999 Then {
weeksum = 0;
for weekcount = 0 to weekPeriod-1{
weeksum = weeksum+주봉C[weekcount];
}
weekmav = weeksum/weekPeriod;
weekAvgv = weekmav;
weekSumSqrt = 0;
For weekCounter = 0 To weekPeriod - 1 Begin
weekSumSqrt = weekSumSqrt + (주봉C[weekCounter] - weekAvgv) * (주봉C[weekCounter] - weekAvgv);
End;
weekStdv = SquareRoot(weekSumSqrt / weekPeriod);
}
Else
weekStdv = 0;
weekBBup = weekmav + (weekDv * weekStdv);
weekBBdn = weekmav - (weekDv * weekStdv);
plot1(weekBBup,"상단");
plot2(weekmav,"중단" );
plot3(weekBBdn,"하단");
3-2 주봉 data2
input : weekPeriod(2),weekDv(2);
var : weekcnt(0,data2),weekcount(0,data2),weeksum(0,data2),weekmav(0,data2),weekBBup(0,data2),weekBBdn(0,data2);
var : weekAvgv(0,data2),weekSumSqrt(0,data2),weekCounter(0,data2),weekStdv(0,data2),PreC(0,data2);
Array : 주봉C[100](99999999999,data2);
if data2(dayofweek(date) < dayofweek(date[1]) and date > date[1]) Then{
PreC = data2(C[1]);
for weekcnt = 1 to weekPeriod+1{
주봉C[weekcnt] = 주봉C[weekcnt-1][1];
}
}
주봉C[0] = data2((C-PreC)/PreC*100);
If 주봉C[weekPeriod] != 99999999999 Then {
weeksum = 0;
for weekcount = 0 to weekPeriod-1{
weeksum = weeksum+주봉C[weekcount];
}
weekmav = weeksum/weekPeriod;
weekAvgv = weekmav;
weekSumSqrt = 0;
For weekCounter = 0 To weekPeriod - 1 Begin
weekSumSqrt = weekSumSqrt + (주봉C[weekCounter] - weekAvgv) * (주봉C[weekCounter] - weekAvgv);
End;
weekStdv = SquareRoot(weekSumSqrt / weekPeriod);
}
Else
weekStdv = 0;
weekBBup = weekmav + (weekDv * weekStdv);
weekBBdn = weekmav - (weekDv * weekStdv);
plot1(weekBBup,"상단");
plot2(weekmav,"중단" );
plot3(weekBBdn,"하단");
즐거운 하루되세요
> 예스매니아 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 늘 감사드리면서,,,
질문1.아래의 수식들의 가격변수(C)를 가격이 아닌 증감비율로 해서 다시 제작해주실수 없으신지요? 즉, 가격스케일이 상이하게 움직이는 두개의 움직임의 기준치를 동일하게 적용해서 아래지표에 넣고 싶어서 그렇습니다.
예를들어) 하나는 0.2345 식의 움직임과 다른하나는 88.23식의 움직임인데요,,,가격으로 아래지표에 적용하면 겹쳐도 의미가 없기때문에, 비율로 적용하면 두움직임을 상대적으로 비교를 할수 있지 않을까 싶어서요.
질문2. Data2에도 적용가능하도록 해주시면 더할나위없이 감사드립니다.
1. input : Ntime(120),P(20),Dv(2);#120분봉
var : cnt(0),count(0),sum(0),mav(0),MiBBup(0),MiBBdn(0),Avgv(0);
var : SumSqrt(0),Counter(0),Stdv(0),TF(0);
Array : CC[120](0);
if date != date[1] Then
var1 = TimeToMinutes(stime);
TF = (TimeToMinutes(stime)-var1)%Ntime;
if dayindex() == 0 or (TF < TF[1] and stime > stime[1]) Then{
for cnt = 1 to P-1{
CC[cnt] = CC[cnt-1][1];
}
}
CC[0] = C;
sum = 0;
for count = 0 to P-1{
sum = sum+CC[count];
}
mav = sum/P;
If CC[P-1] != 0 Then{
Avgv = mav;
SumSqrt = 0;
For Counter = 0 To P - 1 {
SumSqrt = SumSqrt + (CC[Counter] - Avgv) * (CC[Counter] - Avgv);
}
Stdv = SquareRoot(SumSqrt / P);
}
Else
Stdv = 0;
MiBBup = mav + (Dv * Stdv);
MiBBdn = mav - (Dv * Stdv);
plot1(MiBBup);
plot2(mav);
plot3(MiBBdn);
2.
input : dayPeriod(2),dayDv(2),aa(0);
var : daysum(0),daycnt(0),dayma(0),daySumSqrt(0),dayStdv(0);
var : dayBBup(0),dayBBdn(0),dayCounter(0);
daysum = 0;
for daycnt = 0 to dayPeriod-1{
daysum = daysum + DayClose(daycnt);
}
dayma = daysum/dayPeriod;
If DayClose(dayPeriod) != 0 Then {
daySumSqrt = 0;
For dayCounter = 0 To dayPeriod - 1 {
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,"하단");
3.
input : weekPeriod(2),weekDv(2),aa(0);
var : weekcnt(0),weekcount(0),weeksum(0),weekmav(0),weekBBup(0),weekBBdn(0),weekAvgv(0),weekSumSqrt(0),weekCounter(0),weekStdv(0);
Array : 주봉C[120](0);
if dayofweek(date) < dayofweek(date[1]) and date > date[1] Then{
주봉C[1] = C[1];
for weekcnt = 2 to weekPeriod+1{
주봉C[weekcnt] = 주봉C[weekcnt-1][1];
}
}
주봉C[0] = C;
weeksum = 0;
for weekcount = 0 to weekPeriod-1{
weeksum = weeksum+주봉C[weekcount];
}
weekmav = weeksum/weekPeriod;
If 주봉C[weekPeriod] != 0 Then Begin
weekAvgv = weekmav;
weekSumSqrt = 0;
For weekCounter = 0 To weekPeriod - 1 Begin
weekSumSqrt = weekSumSqrt + (주봉C[weekCounter] - weekAvgv) * (주봉C[weekCounter] - weekAvgv);
End;
weekStdv = SquareRoot(weekSumSqrt / weekPeriod);
End
Else
weekStdv = 0;
weekBBup = weekmav + (weekDv * weekStdv);
weekBBdn = weekmav - (weekDv * weekStdv);
plot1(weekBBup,"상단");
plot2(weekmav,"중단" );
plot3(weekBBdn,"하단");
다음글
이전글