커뮤니티

수식 재문의

프로필 이미지
부똘이
2018-07-24 13:43:15
137
글번호 120852
답변완료
일전, 다음과 같은 문의로 아래와 같은 수식을 도움 받았습니다. U : upvol을 n봉 기간 동안 누적 합니다. D : downvol을 n봉기간 동안 누적합니다. - (야간장 포함)누적을 시작하는 시점과 끝나는 시점을 input으로 지정해 줍니다. - n봉 기간을 input으로 설정할 수 있도록 합니다. plot 1 : U plot 2 : D plot 3 : U-D 제가 문의 드린 내용 중, up,donwvol 을 누적할 때, 마치 이동평균처럼 n봉기간을 누적하는 내용이 있었는데, 이 부분이 빠진 것 같습니다. 수정 부탁드립니다. input : starttime(223000),endtime(050000); var : Tcond(false),Uv(0),Dv(0); if (sdate != sdate[1] and stime >= starttime) or (sdate == sdate[1] and stime >= starttime and stime[1] < starttime) then { Tcond = true; Uv = 0; Dv = 0; } if (sdate != sdate[1] and stime >= endtime) or (sdate == sdate[1] and stime >= endtime and stime[1] < endtime) then { Tcond = false; } if Tcond == true then { Uv = Uv + Upvol; Dv = Dv + DownVol; } plot1(Uv); plot2(Dv); plot3(Uv-Dv); 식견이 부족하여 번거롭게 해 드려 죄송합니다. 항상 친절한 답변 감사드립니다.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2018-07-24 15:40:45

안녕하세요 예스스탁입니다. 지정하신 기간(시작시점~끝시점)과 n봉과 관계가 모호합니다. 1 기간도 있고 n으로 봉수도 지정하시므로 지정한 기간동안 생성된 봉수가 n봉에 미치지 못하면 생선된 봉수에서만 각 값을 누적하고 n봉이상이 생성되면 n봉간만 누적하게 작성해 드립니다. input : starttime(223000),endtime(050000),n(10); var : Tcond(false),sumU(0),sumD(0),sumi(0),Uv(0),Dv(0),iv(0); if (sdate != sdate[1] and stime >= starttime) or (sdate == sdate[1] and stime >= starttime and stime[1] < starttime) then { Tcond = true; sumU = 0; sumD = 0; sumi = 0; } if (sdate != sdate[1] and stime >= endtime) or (sdate == sdate[1] and stime >= endtime and stime[1] < endtime) then { Tcond = false; } if Tcond == true then { sumU = sumU + Upvol; sumD = sumD + DownVol; sumi = sumi + 1; if sumi < n Then { Uv = sumU; Dv = sumD; } else { Uv = AccumN(Upvol,n); Dv = AccumN(DownVol,n); } } plot1(Uv); plot2(Dv); plot3(Uv-Dv); 2 기간이 U나 D에 n봉합산을 저장하는 단순 제한시간일뿐이시면 아래식 이용하시면 됩니다. input : starttime(223000),endtime(050000),n(10); var : Tcond(false),sumU(0),sumD(0),sumi(0),Uv(0),Dv(0),iv(0); if (sdate != sdate[1] and stime >= starttime) or (sdate == sdate[1] and stime >= starttime and stime[1] < starttime) then { Tcond = true; } if (sdate != sdate[1] and stime >= endtime) or (sdate == sdate[1] and stime >= endtime and stime[1] < endtime) then { Tcond = false; } if Tcond == true then { Uv = AccumN(Upvol,n); Dv = AccumN(DownVol,n); } plot1(Uv); plot2(Dv); plot3(Uv-Dv); 즐거운 하루되세요 > 부똘이 님이 쓴 글입니다. > 제목 : 수식 재문의 > 일전, 다음과 같은 문의로 아래와 같은 수식을 도움 받았습니다. U : upvol을 n봉 기간 동안 누적 합니다. D : downvol을 n봉기간 동안 누적합니다. - (야간장 포함)누적을 시작하는 시점과 끝나는 시점을 input으로 지정해 줍니다. - n봉 기간을 input으로 설정할 수 있도록 합니다. plot 1 : U plot 2 : D plot 3 : U-D 제가 문의 드린 내용 중, up,donwvol 을 누적할 때, 마치 이동평균처럼 n봉기간을 누적하는 내용이 있었는데, 이 부분이 빠진 것 같습니다. 수정 부탁드립니다. input : starttime(223000),endtime(050000); var : Tcond(false),Uv(0),Dv(0); if (sdate != sdate[1] and stime >= starttime) or (sdate == sdate[1] and stime >= starttime and stime[1] < starttime) then { Tcond = true; Uv = 0; Dv = 0; } if (sdate != sdate[1] and stime >= endtime) or (sdate == sdate[1] and stime >= endtime and stime[1] < endtime) then { Tcond = false; } if Tcond == true then { Uv = Uv + Upvol; Dv = Dv + DownVol; } plot1(Uv); plot2(Dv); plot3(Uv-Dv); 식견이 부족하여 번거롭게 해 드려 죄송합니다. 항상 친절한 답변 감사드립니다.