커뮤니티

시간대 별 OHLC 가격 구하는 함수

프로필 이미지
찰리03
2021-02-16 20:45:59
794
글번호 146391
답변완료
안녕하세요. 미국 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 함수를 다 작성해 주셔도 좋고, 어렵다면 구현 힌트를 주시면 제가 구현해 보겠습니다. 감사합니다.
사용자 함수
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2021-02-17 14:55:07

안녕하세요 예스스탁입니다. input : StartTime(083000),EndTime(161500),N(5); var : Tcond(false),cnt(0),sum(0),mav(0); Array : DO[100](0),DH[100](0),DL[100](0),DC[100](0); if (sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then Tcond = False; if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then { Tcond = true; DO[0] = O; DH[0] = H; DL[0] = L; For cnt = 1 to 99 { DO[cnt] = DO[cnt-1][1]; DH[cnt] = DH[cnt-1][1]; DL[cnt] = DL[cnt-1][1]; DC[cnt] = DC[cnt-1][1]; } } if Tcond == true Then { if DH[0] > 0 and H > DH[0] Then DH[0] = H; if DL[0] > 0 and L < DL[0] Then DL[0] = L; DC[0] = C; } if DL[N] > 0 Then { sum = 0; For cnt = 1 to N { sum = sum + DL[cnt]; } mav = sum/N; Plot1(mav); } 즐거운 하루되세요 > 찰리03 님이 쓴 글입니다. > 제목 : 시간대 별 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 함수를 다 작성해 주셔도 좋고, 어렵다면 구현 힌트를 주시면 제가 구현해 보겠습니다. 감사합니다.