커뮤니티

질문 부탁드립니다

프로필 이미지
yamu
2025-06-30 12:27:30
210
글번호 192180
답변완료
답변 감사드립니다 알려주신 수식은 if h>l*1.08 ... 조건이 만족한 봉 사이의 일수차 중에서 가장 짧은 값을 구하는거죠? (현재와 직전 만족봉을 가지고 비교) 배열 hh[] 을 가지고도 일수차를 구하고자 합니다 hh[]의 값이 발생한 시점의 index 값을 구해서 hh[0] 과 hh[1] 의 일수차, hh[1] 과 hh[2] 의 일수차...hh[19] 와 hh[20] 차 까지 구해서 가장 짧은 값을 구하고 싶습니다 감사합니다 if Bdate != Bdate[1] Then { DD = DD+1; } if (h>l*1.08) and (d1 == 0 or (d1 > 0 and dd >= d1+5)) Then { d1 = dd; value1 = dd; var1=index; var2=var1[1]; var3=h; for cnt = 1 to (var1-var2)-1 { if h[cnt] > var3 then { var3=h[cnt]; } } for cnt = 49 downto 1 { hh[cnt] = hh[cnt-1]; tt[cnt] = tt[cnt-1]; if mintt == 0 or (tt[cnt]-tt[cnt+1] < mintt) Then mintt = tt[cnt]-tt[cnt+1]; } hh[0] = var3; tt[0] = var1; mintt = 0; for cnt = 0 to 20 { if mintt == 0 or (tt[cnt]-tt[cnt+1] < mintt) Then mintt = tt[cnt]-tt[cnt+1]; } }
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2025-06-30 15:23:44

안녕하세요 예스스탁입니다. 이전에 언급하신 내용은 일수가 아니라 시간입니다. 시간이므로 index 차이로 계산되었습니다. 일수 차이이면 tt에 d1저장해서 이용하시면 됩니다. if (h>l*1.08) and (d1 == 0 or (d1 > 0 and dd >= d1+5)) Then { d1 = dd; d2 = d1[1] value1 = dd; var1=index; var2=var1[1]; var3=h; for cnt = 1 to (var1-var2)-1 { if h[cnt] > var3 then { var3=h[cnt]; } } for cnt = 49 downto 1 { hh[cnt] = hh[cnt-1]; tt[cnt] = tt[cnt-1]; if mintt == 0 or (tt[cnt]-tt[cnt+1] < mintt) Then mintt = tt[cnt]-tt[cnt+1]; } hh[0] = var3; tt[0] = d1; mintt = 0; for cnt = 0 to 20 { if mintt == 0 or (tt[cnt]-tt[cnt+1] < mintt) Then mintt = tt[cnt]-tt[cnt+1]; } } 즐거운 하루되세요 > yamu 님이 쓴 글입니다. > 제목 : 질문 부탁드립니다 > 답변 감사드립니다 알려주신 수식은 if h>l*1.08 ... 조건이 만족한 봉 사이의 일수차 중에서 가장 짧은 값을 구하는거죠? (현재와 직전 만족봉을 가지고 비교) 배열 hh[] 을 가지고도 일수차를 구하고자 합니다 hh[]의 값이 발생한 시점의 index 값을 구해서 hh[0] 과 hh[1] 의 일수차, hh[1] 과 hh[2] 의 일수차...hh[19] 와 hh[20] 차 까지 구해서 가장 짧은 값을 구하고 싶습니다 감사합니다 if Bdate != Bdate[1] Then { DD = DD+1; } if (h>l*1.08) and (d1 == 0 or (d1 > 0 and dd >= d1+5)) Then { d1 = dd; value1 = dd; var1=index; var2=var1[1]; var3=h; for cnt = 1 to (var1-var2)-1 { if h[cnt] > var3 then { var3=h[cnt]; } } for cnt = 49 downto 1 { hh[cnt] = hh[cnt-1]; tt[cnt] = tt[cnt-1]; if mintt == 0 or (tt[cnt]-tt[cnt+1] < mintt) Then mintt = tt[cnt]-tt[cnt+1]; } hh[0] = var3; tt[0] = var1; mintt = 0; for cnt = 0 to 20 { if mintt == 0 or (tt[cnt]-tt[cnt+1] < mintt) Then mintt = tt[cnt]-tt[cnt+1]; } }