커뮤니티

부탁 드립니다.

프로필 이미지
문제있음
2021-03-14 01:40:48
831
글번호 147070
답변완료
과거 봉을 보면서, 전일 마지막 봉과 오늘 첫봉 사이에 추가 데이터를 넣고 싶은데요 현재는 값이 안나와서 부탁 드립니다. 예를 들어 오늘 첫봉을 기준으로 과거 3개를 가지고 있고 싶다면, close_w[0] : 오늘 첫봉의 종가 close_w[1] : 전일 마지막 봉 종가와 오늘 첫봉 종가의 평균 값 close_w[2] : 전일 마지막 봉 종가 이런 값. 오늘 3번째 봉 기준으로 과거 3개를 가져온다면 close_w[0] : 오늘 세번째 봉의 종가 close_w[1] : 오늘 두번째 봉의 종가 close_w[2] : 오늘 첫번째 봉의 종가 현재 제가 적은 것은 array: array[3](0) For i = 1 to 3 { IF sDate[i] <> sDate[i-1] Then # 날짜가 넘어갔다는 이야기 { Close_w_id_bar[bar_i] = (close[i-1]+close[i])/2; bar_i = bar_i + 1; } Close_w[bar_i] = Close[i]; # i = i+1; bar_i = bar_i + 1; }
시스템
답변 2
프로필 이미지

예스스탁 예스스탁 답변

2021-03-15 13:25:35

안녕하세요 예스스탁입니다. input : N(3); var : bar_i(0); array : Close_w[3](0); #매봉 저장값을 다음방으로 이동 For bar_i = N-1 downto 1 { Close_w[bar_i] = Close_w[bar_i-1]; } #[0]에는 항상 현재봉종가 Close_w[0] = Close; #당일 첫봉에서만 #다시 저장값을 다음방으로 이동 if sDate != sDate[1] Then { for bar_i = N-1 DownTo 2 { Close_w[bar_i] = Close_w[bar_i-1]; } #이동후 1번방의 값을 전일 마지막 봉 종가와 오늘 첫봉 종가의 평균 값으로 저장 Close_w[1] = (Close[1]+Close[0])/2; } Plot1(Close_w[0]); Plot2(Close_w[1]); Plot3(Close_w[2]); 즐거운 하루되세요 > 문제있음 님이 쓴 글입니다. > 제목 : 부탁 드립니다. > 과거 봉을 보면서, 전일 마지막 봉과 오늘 첫봉 사이에 추가 데이터를 넣고 싶은데요 현재는 값이 안나와서 부탁 드립니다. 예를 들어 오늘 첫봉을 기준으로 과거 3개를 가지고 있고 싶다면, close_w[0] : 오늘 첫봉의 종가 close_w[1] : 전일 마지막 봉 종가와 오늘 첫봉 종가의 평균 값 close_w[2] : 전일 마지막 봉 종가 이런 값. 오늘 3번째 봉 기준으로 과거 3개를 가져온다면 close_w[0] : 오늘 세번째 봉의 종가 close_w[1] : 오늘 두번째 봉의 종가 close_w[2] : 오늘 첫번째 봉의 종가 현재 제가 적은 것은 array: array[3](0) For i = 1 to 3 { IF sDate[i] <> sDate[i-1] Then # 날짜가 넘어갔다는 이야기 { Close_w_id_bar[bar_i] = (close[i-1]+close[i])/2; bar_i = bar_i + 1; } Close_w[bar_i] = Close[i]; # i = i+1; bar_i = bar_i + 1; }
프로필 이미지

문제있음

2021-03-16 00:48:15

이야기 주신 것은 첫봉을 기준으로 했을 때, Close_w[2]가 전일 마지막 봉 종가가 되지 않는 것으로 확인 됩니다. 그리고, 만약에 N 값을 지금은 3으로 짧게 해서 한번만 구문을 적으면 되지만, N이 큰 수 일때는, FOR LOOP을 돌려서 하는 방법이 좋을거 같은데요. 제가 처음 질문에 시도 했던 방법 같이, 루프를 돌려서 한번에 하는 방법은 없을까요? > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 부탁 드립니다. > 안녕하세요 예스스탁입니다. input : N(3); var : bar_i(0); array : Close_w[3](0); #매봉 저장값을 다음방으로 이동 For bar_i = N-1 downto 1 { Close_w[bar_i] = Close_w[bar_i-1]; } #[0]에는 항상 현재봉종가 Close_w[0] = Close; #당일 첫봉에서만 #다시 저장값을 다음방으로 이동 if sDate != sDate[1] Then { for bar_i = N-1 DownTo 2 { Close_w[bar_i] = Close_w[bar_i-1]; } #이동후 1번방의 값을 전일 마지막 봉 종가와 오늘 첫봉 종가의 평균 값으로 저장 Close_w[1] = (Close[1]+Close[0])/2; } Plot1(Close_w[0]); Plot2(Close_w[1]); Plot3(Close_w[2]); 즐거운 하루되세요 > 문제있음 님이 쓴 글입니다. > 제목 : 부탁 드립니다. > 과거 봉을 보면서, 전일 마지막 봉과 오늘 첫봉 사이에 추가 데이터를 넣고 싶은데요 현재는 값이 안나와서 부탁 드립니다. 예를 들어 오늘 첫봉을 기준으로 과거 3개를 가지고 있고 싶다면, close_w[0] : 오늘 첫봉의 종가 close_w[1] : 전일 마지막 봉 종가와 오늘 첫봉 종가의 평균 값 close_w[2] : 전일 마지막 봉 종가 이런 값. 오늘 3번째 봉 기준으로 과거 3개를 가져온다면 close_w[0] : 오늘 세번째 봉의 종가 close_w[1] : 오늘 두번째 봉의 종가 close_w[2] : 오늘 첫번째 봉의 종가 현재 제가 적은 것은 array: array[3](0) For i = 1 to 3 { IF sDate[i] <> sDate[i-1] Then # 날짜가 넘어갔다는 이야기 { Close_w_id_bar[bar_i] = (close[i-1]+close[i])/2; bar_i = bar_i + 1; } Close_w[bar_i] = Close[i]; # i = i+1; bar_i = bar_i + 1; }