커뮤니티

지표우측의 수치값을 정수값으로 변환

프로필 이미지
카카
2019-03-23 16:33:53
449
글번호 127331
답변완료

첨부 이미지

안녕하세요 관리자님!! 즐거운 주말보내시길 바랍니다. 아래 지표는 변동폭을 표현한 수식인데요 그림 1,2와 같이종목마다 소수점뒷자리수가 모두 틀려 보기가 불편합니다. 따라서 아래 지표중 plot5의 수치를 나타내주는 오늘쪽의 수치를 종목에 상관없이 모두 백단위의(소수점앞3자리) 숫자로 정수화시키고 싶습니다. 부탁드립니다. -아 래- input : P(520);#10년 520주 var : cnt(0); Array : WH1[600](0),WH2[600](0),WH3[600](0),WH4[600](0),WH5[600](0); Array : WL1[600](0),WL2[600](0),WL3[600](0),WL4[600](0),WL5[600](0); var : sum1(0),Sqrt1(0),ma1(0),Stdv1(0); var : sum2(0),Sqrt2(0),ma2(0),stdv2(0); var : sum3(0),Sqrt3(0),ma3(0),Stdv3(0); var : sum4(0),Sqrt4(0),ma4(0),Stdv4(0); var : sum5(0),Sqrt5(0),ma5(0),Stdv5(0); if bdate != bdate[1] then { if DayOfWeek(bdate) == 1 Then { for cnt = 1 to 599 { WH1[cnt] = WH1[cnt-1][1]; WL1[cnt] = WL1[cnt-1][1]; } } if DayOfWeek(bdate) == 2 Then { for cnt = 1 to 599 { WH2[cnt] = WH2[cnt-1][1]; WL2[cnt] = WL2[cnt-1][1]; } } if DayOfWeek(bdate) == 3 Then { for cnt = 1 to 599 { WH3[cnt] = WH3[cnt-1][1]; WL3[cnt] = WL3[cnt-1][1]; } } if DayOfWeek(bdate) == 4 Then { for cnt = 1 to 599 { WH4[cnt] = WH4[cnt-1][1]; WL4[cnt] = WL4[cnt-1][1]; } } if DayOfWeek(bdate) == 5 Then { for cnt = 1 to 599 { WH5[cnt] = WH5[cnt-1][1]; WL5[cnt] = WL5[cnt-1][1]; } } } if DayOfWeek(bdate) == 1 Then { WH1[0] = DayHigh; WL1[0] = DayLow; } if DayOfWeek(bdate) == 2 Then { WH2[0] = DayHigh; WL2[0] = DayLow; } if DayOfWeek(bdate) == 3 Then { WH3[0] = DayHigh; WL3[0] = DayLow; } if DayOfWeek(bdate) == 4 Then { WH4[0] = DayHigh; WL4[0] = DayLow; } if DayOfWeek(bdate) == 5 Then { WH5[0] = DayHigh; WL5[0] = DayLow; } if WH1[P-1] > 0 and WL1[P-1] > 0 and DayOfWeek(bdate) == 1 then { sum1 = 0; for cnt = 0 to P-1 { sum1 = sum1 + (WH1[cnt]-WL1[cnt]); } ma1 = sum1/P; Sqrt1 = 0; For cnt = 0 To P - 1 { Sqrt1 = Sqrt1 + ((WH1[cnt]-WL1[cnt]) - ma1)^2; } Stdv1 = SquareRoot(Sqrt1/ P); plot1(ma1); plot2(ma1+Stdv1*2); plot3(ma1*0.7); plot4((ma1+Stdv1*2)*0.7); } if WH2[P-1] > 0 and WL2[P-1] > 0 and DayOfWeek(bdate) == 2 then { sum2 = 0; for cnt = 0 to P-1 { sum2 = sum2 + (WH2[cnt]-WL2[cnt]); } ma2= sum2/P; Sqrt2= 0; For cnt = 0 To P - 1 { Sqrt2 = Sqrt2 + ((WH2[cnt]-WL2[cnt]) - ma2)^2; } Stdv2 = SquareRoot(Sqrt2/ P); plot1(ma2); plot2(ma2+Stdv2*2); plot3(ma2*0.7); plot4((ma2+Stdv2*2)*0.7); } if WH3[P-1] > 0 and WL3[P-1] > 0 and DayOfWeek(bdate) == 3 then { sum3 = 0; for cnt = 0 to P-1 { sum3 = sum3 + (WH3[cnt]-WL3[cnt]); } ma3= sum3/P; Sqrt3 = 0; For cnt = 0 To P - 1 { Sqrt3 = Sqrt3 + ((WH3[cnt]-WL3[cnt]) - ma3)^2; } Stdv3 = SquareRoot(Sqrt3/ P); plot1(ma3); plot2(ma3+Stdv3*2); plot3(ma3*0.7); plot4((ma3+Stdv3*2)*0.7); } if WH4[P-1] > 0 and WL4[P-1] > 0 and DayOfWeek(bdate) == 4 then { sum4 = 0; for cnt = 0 to P-1 { sum4 = sum4 + (WH4[cnt]-WL4[cnt]); } ma4= sum4/P; Sqrt4 = 0; For cnt = 0 To P - 1 { Sqrt4 = Sqrt4 + ((WH4[cnt]-WL4[cnt]) - ma4)^2; } Stdv4 = SquareRoot(Sqrt4/ P); plot1(ma4); plot2(ma4+Stdv4*2); plot3(ma4*0.7); plot4((ma4+Stdv4*2)*0.7); } if WH5[P-1] > 0 and WL5[P-1] > 0 and DayOfWeek(bdate) == 5 then { sum5 = 0; for cnt = 0 to P-1 { sum5 = sum5 + (WH5[cnt]-WL5[cnt]); } ma5= sum5/P; Sqrt5 = 0; For cnt = 0 To P - 1 { Sqrt5 = Sqrt5 + ((WH5[cnt]-WL5[cnt]) - ma5)^2; } Stdv5 = SquareRoot(Sqrt5/ P); plot1(ma5); plot2(ma5+Stdv5*2); plot3(ma5*0.7); plot4((ma5+Stdv5*2)*0.7); } plot5(DayHigh-daylow,"당일변동폭");
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2019-03-25 09:28:41

안녕하세요 예스스탁입니다. 수식안에서 해당 수치가 소숫점 몇자리인지 알수가 없어 정수화가 가능하지 않습니다. 가능한 방법이라면 현재 당일고가와 당일저가의 차이를 그리는데 그 차이값을 틱수로 변환이 가능합니다. plot5를 아래와 같이 변경하면 됩니다. plot5((DayHigh-daylow)/PriceScale,"당일변동폭"); 즐거운 하루되세요 > 카카 님이 쓴 글입니다. > 제목 : 지표우측의 수치값을 정수값으로 변환 > 안녕하세요 관리자님!! 즐거운 주말보내시길 바랍니다. 아래 지표는 변동폭을 표현한 수식인데요 그림 1,2와 같이종목마다 소수점뒷자리수가 모두 틀려 보기가 불편합니다. 따라서 아래 지표중 plot5의 수치를 나타내주는 오늘쪽의 수치를 종목에 상관없이 모두 백단위의(소수점앞3자리) 숫자로 정수화시키고 싶습니다. 부탁드립니다. -아 래- input : P(520);#10년 520주 var : cnt(0); Array : WH1[600](0),WH2[600](0),WH3[600](0),WH4[600](0),WH5[600](0); Array : WL1[600](0),WL2[600](0),WL3[600](0),WL4[600](0),WL5[600](0); var : sum1(0),Sqrt1(0),ma1(0),Stdv1(0); var : sum2(0),Sqrt2(0),ma2(0),stdv2(0); var : sum3(0),Sqrt3(0),ma3(0),Stdv3(0); var : sum4(0),Sqrt4(0),ma4(0),Stdv4(0); var : sum5(0),Sqrt5(0),ma5(0),Stdv5(0); if bdate != bdate[1] then { if DayOfWeek(bdate) == 1 Then { for cnt = 1 to 599 { WH1[cnt] = WH1[cnt-1][1]; WL1[cnt] = WL1[cnt-1][1]; } } if DayOfWeek(bdate) == 2 Then { for cnt = 1 to 599 { WH2[cnt] = WH2[cnt-1][1]; WL2[cnt] = WL2[cnt-1][1]; } } if DayOfWeek(bdate) == 3 Then { for cnt = 1 to 599 { WH3[cnt] = WH3[cnt-1][1]; WL3[cnt] = WL3[cnt-1][1]; } } if DayOfWeek(bdate) == 4 Then { for cnt = 1 to 599 { WH4[cnt] = WH4[cnt-1][1]; WL4[cnt] = WL4[cnt-1][1]; } } if DayOfWeek(bdate) == 5 Then { for cnt = 1 to 599 { WH5[cnt] = WH5[cnt-1][1]; WL5[cnt] = WL5[cnt-1][1]; } } } if DayOfWeek(bdate) == 1 Then { WH1[0] = DayHigh; WL1[0] = DayLow; } if DayOfWeek(bdate) == 2 Then { WH2[0] = DayHigh; WL2[0] = DayLow; } if DayOfWeek(bdate) == 3 Then { WH3[0] = DayHigh; WL3[0] = DayLow; } if DayOfWeek(bdate) == 4 Then { WH4[0] = DayHigh; WL4[0] = DayLow; } if DayOfWeek(bdate) == 5 Then { WH5[0] = DayHigh; WL5[0] = DayLow; } if WH1[P-1] > 0 and WL1[P-1] > 0 and DayOfWeek(bdate) == 1 then { sum1 = 0; for cnt = 0 to P-1 { sum1 = sum1 + (WH1[cnt]-WL1[cnt]); } ma1 = sum1/P; Sqrt1 = 0; For cnt = 0 To P - 1 { Sqrt1 = Sqrt1 + ((WH1[cnt]-WL1[cnt]) - ma1)^2; } Stdv1 = SquareRoot(Sqrt1/ P); plot1(ma1); plot2(ma1+Stdv1*2); plot3(ma1*0.7); plot4((ma1+Stdv1*2)*0.7); } if WH2[P-1] > 0 and WL2[P-1] > 0 and DayOfWeek(bdate) == 2 then { sum2 = 0; for cnt = 0 to P-1 { sum2 = sum2 + (WH2[cnt]-WL2[cnt]); } ma2= sum2/P; Sqrt2= 0; For cnt = 0 To P - 1 { Sqrt2 = Sqrt2 + ((WH2[cnt]-WL2[cnt]) - ma2)^2; } Stdv2 = SquareRoot(Sqrt2/ P); plot1(ma2); plot2(ma2+Stdv2*2); plot3(ma2*0.7); plot4((ma2+Stdv2*2)*0.7); } if WH3[P-1] > 0 and WL3[P-1] > 0 and DayOfWeek(bdate) == 3 then { sum3 = 0; for cnt = 0 to P-1 { sum3 = sum3 + (WH3[cnt]-WL3[cnt]); } ma3= sum3/P; Sqrt3 = 0; For cnt = 0 To P - 1 { Sqrt3 = Sqrt3 + ((WH3[cnt]-WL3[cnt]) - ma3)^2; } Stdv3 = SquareRoot(Sqrt3/ P); plot1(ma3); plot2(ma3+Stdv3*2); plot3(ma3*0.7); plot4((ma3+Stdv3*2)*0.7); } if WH4[P-1] > 0 and WL4[P-1] > 0 and DayOfWeek(bdate) == 4 then { sum4 = 0; for cnt = 0 to P-1 { sum4 = sum4 + (WH4[cnt]-WL4[cnt]); } ma4= sum4/P; Sqrt4 = 0; For cnt = 0 To P - 1 { Sqrt4 = Sqrt4 + ((WH4[cnt]-WL4[cnt]) - ma4)^2; } Stdv4 = SquareRoot(Sqrt4/ P); plot1(ma4); plot2(ma4+Stdv4*2); plot3(ma4*0.7); plot4((ma4+Stdv4*2)*0.7); } if WH5[P-1] > 0 and WL5[P-1] > 0 and DayOfWeek(bdate) == 5 then { sum5 = 0; for cnt = 0 to P-1 { sum5 = sum5 + (WH5[cnt]-WL5[cnt]); } ma5= sum5/P; Sqrt5 = 0; For cnt = 0 To P - 1 { Sqrt5 = Sqrt5 + ((WH5[cnt]-WL5[cnt]) - ma5)^2; } Stdv5 = SquareRoot(Sqrt5/ P); plot1(ma5); plot2(ma5+Stdv5*2); plot3(ma5*0.7); plot4((ma5+Stdv5*2)*0.7); } plot5(DayHigh-daylow,"당일변동폭");