과거 봉을 보면서, 전일 마지막 봉과 오늘 첫봉 사이에 추가 데이터를 넣고 싶은데요
현재는 값이 안나와서 부탁 드립니다.
예를 들어 오늘 첫봉을 기준으로 과거 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;
}
이야기 주신 것은
첫봉을 기준으로 했을 때, 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;
}