답변완료
시간대 별 OHLC 가격 구하는 함수
안녕하세요.
미국 CME선물은 24시간 거래지만, 저는 나스닥 같은 지수 선물 거래시, 실제 나스닥 현물 지수가 존재하는 시간대에만 거래하고 싶습니다.
즉, 시카고 시간으로 아침 8:30 ~ 오후 4시 15분까지 거래하고 싶고, 해당 시간대의 시가, 고가, 저가, 종가 데이터를 이용하여 이동평균 등을 활용하고 싶습니다. 주거래는 1분봉을 하려고 하고, data2(다른 주기의 봉)를 이용하여 OHLC를 생성해도 됩니다.
시카고 시간으로 오늘 아침 8:31분에 진입을 한다면, 이전 5일간 저가의 이동평균 값을 사용하고 싶은데, 이 저가가 24시간 기준이 아니라, 시카고 시간 아침 8:30 ~ 오후 4시 15분 동안의 저가를 사용하는 것입니다. (5일간 이동평균 이므로 이전 5일간 저가 5개 데이터가 필요하게 됩니다.)
함수 입력: 시작 시간, 종료시간, n일
함수 출력: O, H, L, C
함수를 다 작성해 주셔도 좋고, 어렵다면 구현 힌트를 주시면 제가 구현해 보겠습니다.
감사합니다.
2021-02-16
793
글번호 146391
사용자 함수
답변완료
변환부탁드립니다
c = input(close)
len = input(200, minval=1),off= 0,dev= input(4, "Deviation")
lreg = linreg(c, len, off), lreg_x =linreg(c, len, off+1)
b = bar_index, s = lreg - lreg_x,intr = lreg - b*s
dS = 0.0
for i=0 to len-1
dS:= dS + pow(c[i]-(s*(b-i)+intr), 2)
de = sqrt(dS/(len))
up = (-de*dev) + lreg
down= (de*dev) + lreg
up_t = 0.0
up_t := c[1] > up_t[1] ? max(up, up_t[1]) : up
down_t = 0.0
down_t := c[1] < down_t[1] ? min(down, down_t[1]) : down
trend = 0
trend := c > down_t[1] ? 1: c < up_t[1] ? -1 : nz(trend[1], 1)
r_line = trend ==1 ? up_t : down_t
buy=crossover( c, r_line)
sell=crossunder(c, r_line)
2021-02-16
635
글번호 146385
시스템