커뮤니티

문의드립니다.

프로필 이미지
예스매니아
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,"하단");