MyLinedChart
Pro다운로드
홈요금제다운로드아티클

NinjaTrader 차트 데이터, OHLCV, 지표 값을 CSV로 내보내는 방법

게시일 2026-06-26 · 수정일 2026-10-18 · 영어로 읽기

NinjaTrader는 Data Manager를 통해 OHLCV 봉 데이터를 기본으로 내보냅니다. 상품을 우클릭하고 내보내기를 선택하면 날짜, 시간, 시가, 고가, 저가, 종가, 거래량이 담긴 세미콜론 구분 CSV를 얻습니다. 지표 값은 이 내보내기에 포함되지 않습니다. 지표 값을 꺼내려면 값을 파일로 출력하는 NinjaScript 지표를 작성해야 합니다. 두 가지 방법이 어떻게 작동하는지 설명합니다.

핵심 요약
  • NinjaTrader Data Manager는 OHLCV 봉 데이터를 세미콜론 구분 CSV로 내보내며, 형식은 날짜와 시간, 그다음 시가, 고가, 저가, 종가, 거래량입니다.
  • 지표 값은 표준 OHLCV 내보내기에 포함되지 않으며, 값을 파일에 쓰는 NinjaScript 내보내기 지표가 필요합니다.
  • OHLCV와 지표를 합친 출력을 얻으려면 NinjaScript 내보내기를 봉 데이터 내보내기와 함께 실행하고 두 출력을 병합해야 합니다.

NinjaTrader에서 OHLCV 봉 데이터를 내보내는 방법

NinjaTrader 8은 과거 봉 데이터를 자체 로컬 데이터베이스에 저장합니다. 내보내려면 Control Center를 열고 Tools > Historical Data(일부 버전에서는 Data Manager)로 이동해, 원하는 상품을 우클릭한 뒤 Export를 선택합니다. 날짜 범위와 시간대를 선택하고 확인하세요. NinjaTrader가 선택한 출력 폴더에 CSV를 씁니다.

내보낸 CSV는 기본적으로 쉼표 대신 세미콜론을 구분자로 씁니다. 열 순서는 장중 시간대에서는 Date;Time;Open;High;Low;Close;Volume, 일봉에서는 Date;Open;High;Low;Close;Volume입니다. 날짜 형식은 YYYYMMDD, 시간 형식은 HHMMSS입니다.

OHLCV 내보내기는 NinjaTrader가 해당 상품과 시간대에 대해 내려받은 과거 데이터 전체를 대상으로 합니다. 더 많은 이력이 필요하면 내보내기 전에 플랫폼의 과거 데이터 다운로드 도구로 먼저 받으세요.

표준 NinjaTrader OHLCV 내보내기에 포함되지 않는 것

Data Manager의 OHLCV 내보내기에는 봉 데이터만 들어 있습니다. 그 봉으로 계산한 지표 값, 작도 객체나 주석 데이터, 매매 내역, 세션 단위 메모는 포함되지 않습니다.

이 파일은 원시 가격 데이터 내보내기입니다. 지표 계산 계층은 전적으로 NinjaTrader의 실행 환경 안에 있으며 봉 데이터 파일로 직렬화되지 않습니다. 분석 워크플로가 가격과 함께 특정 지표 값을 필요로 한다면, OHLCV만 내보내서는 그 컨텍스트를 담을 수 없습니다.

OHLCV와 함께 작도와 주석 데이터를 구조화해 내보내려면 /resources/articles/ninjatrader-drawing-export 글을 참고하세요.

NinjaTrader Data Manager 내보내기는 가격과 거래량만 담습니다. 지표 값에는 별도의 NinjaScript 내보내기 방식이 필요합니다.
데이터 유형Data Manager 내보내기 포함 여부
시가, 고가, 저가, 종가 (봉별)예
거래량 (봉별)예
날짜와 시간 타임스탬프예
지표 값 (EMA, RSI, VWAP 등)아니요
작도 객체와 주석아니요
매매 내역과 체결아니요
세션 단위 메모아니요

NinjaTrader 상품 목록과 계약월: 분기물인가 월물인가

상품 목록은 NinjaTrader Control Center의 Tools, Instrument Lists에 있습니다. 목록은 상품을 묶어 두므로 Strategy Analyzer나 Market Analyzer를 모든 상품에 한 번에 돌리거나 다른 창에 빠르게 불러올 수 있습니다.

NinjaTrader의 선물은 ES 12-26처럼 이름에 만기가 들어 있습니다. 새 계약월이 얼마나 자주 생기는지는 거래소가 정합니다. ES와 NQ 같은 CME 주가지수 선물은 분기물(3월, 6월, 9월, 12월)로 상장되고, 원유(CL)는 매달 계약이 상장됩니다. 흔히 쓰는 지수 선물 중 1년에 한 번만 상장되는 것은 없습니다.

계약이 롤오버 날짜에 이르면 Tools, Database Management에서 상품을 다음 월물로 넘깁니다. NinjaTrader 도움말에 따르면 롤오버는 열려 있는 워크스페이스의 모든 상품 목록과 창에서 만기를 갱신하며, 변경을 유지하려면 워크스페이스를 저장해야 합니다. NinjaScript 전략은 저절로 롤오버되지 않습니다.

내보내기 전에는 Tools, Options, Market data의 Merge Policy를 확인하세요. MergeBackAdjusted는 각 만기를 롤오버 날짜의 오프셋과 함께 하나의 연속 이력으로 잇고, Do Not Merge는 한 계약월만 유지합니다. 나중에 봉을 맞춰 볼 수 있도록 파일 이름에 계약월과 병합 설정을 넣으세요.

  • 주가지수 선물(ES, NQ): 분기물, 3월, 6월, 9월, 12월.
  • 원유(CL): 매달 새 계약.
  • Database Management의 롤오버는 모든 상품 목록을 갱신하므로 워크스페이스를 다시 저장하세요.
  • 내보낸 이력이 한 계약에 걸치는지 여러 계약에 걸치는지는 Merge Policy가 정합니다.

NinjaTrader에서 지표 값을 내보내는 방법

지표 값을 CSV 파일에 담으려면, 원하는 값을 계산해서 봉이 갱신될 때마다 파일에 쓰는 NinjaScript 지표를 작성합니다. NinjaTrader의 NinjaScript 환경에서는 파일 쓰기를 위한 System.IO를 사용할 수 있습니다.

기본 패턴은 이렇습니다. State.DataLoaded의 OnStateChange에서 대상 파일 경로로 StreamWriter를 엽니다. OnBarUpdate에서 BarsInProgress == 0이고 IsFirstTickOfBar이면 현재 봉의 Date, Time, 지표 값을 StreamWriter에 씁니다. State.Terminated의 OnStateChange에서 StreamWriter를 닫습니다.

StreamWriter 방식을 쓰면 NinjaTrader 라이브러리에 있는 어떤 지표든, 직접 작성한 맞춤 지표든 봉별 기록을 얻을 수 있습니다. 출력은 Excel에서 열거나 어떤 분석 도구로도 가져올 수 있는 구분자 텍스트 파일입니다. 플랫폼에 의존하지 않는 내보내기 대안은 /resources/articles/thinkorswim-to-csv-xlsx-annotations 글을 참고하세요.

OHLCV와 지표 값을 한 파일로 합치기

OHLCV 봉과 지표 값을 합치는 방법은 두 가지입니다. 첫째는 OHLCV 필드와 지표 값을 행마다 함께 출력하는 NinjaScript 내보내기 지표를 하나 작성하는 것입니다. 모든 것이 같은 봉 타임스탬프에 맞춰 유지됩니다.

둘째는 Data Manager에서 OHLCV를 내보내고 NinjaScript로 지표 값을 따로 내보낸 뒤, 공통 타임스탬프를 조인 키로 삼아 스프레드시트나 스크립트에서 두 파일을 병합하는 방법입니다. 병합이 제대로 되려면 두 파일의 타임스탬프 형식이 일치해야 합니다.

단일 파일 NinjaScript 방식은 분석하기에 더 깔끔하지만 구현하려면 NinjaScript 지식이 필요합니다. 병합 방식은 타임스탬프 형식이 맞으면 별도 코드 없이도 작동합니다.

NinjaTrader 내보내기의 한계와 보완이 필요한 때

Data Manager든 NinjaScript든 NinjaTrader 내보내기 워크플로는 봉 단위 데이터 추출에는 믿을 만하지만, 원시 OHLCV를 넘어서는 것에는 NinjaScript 개발이 필요합니다. 개발자가 아닌 사람에게 지표 값 내보내기는 상당한 장벽입니다.

또 다른 한계는 주석의 이식성입니다. NinjaTrader에서 그린 차트 작도, 메모 텍스트, 지지와 저항 레벨은 OHLCV나 지표 내보내기에 들어 있지 않습니다. 봉 데이터와 함께 차트 컨텍스트를 옮겨야 하는 워크플로에는 보완용 주석 내보내기 계층이 필요합니다.

플랫폼과 무관한 주석 계층은 /resources/articles/chart-annotation-export-for-trading-journal-xlsx-csv 글을, 지표 내보내기 방식의 플랫폼 간 비교는 /resources/articles/export-tradingview-indicator-values-csv 글을 참고하세요.

자주 묻는 질문

NinjaTrader가 지표 값을 CSV로 기본 내보낼 수 있나요?
아니요. Data Manager의 OHLCV 내보내기에는 봉의 가격과 거래량 데이터만 들어 있습니다. 지표 값을 내보내려면 봉이 갱신될 때마다 System.IO.StreamWriter로 값을 파일에 쓰는 NinjaScript 지표를 작성해야 합니다.
NinjaTrader 차트에서 어떤 OHLCV 데이터를 내보낼 수 있나요?
Data Manager를 쓰면 NinjaTrader가 내려받은 모든 상품과 시간대에 대해 날짜, 시간, 시가, 고가, 저가, 종가, 거래량을 내보낼 수 있습니다. 출력은 세미콜론 구분 CSV입니다. 장중 내보내기에는 시간 열이 있고 일봉 내보내기에는 없습니다.
외부 분석용으로 NinjaTrader 차트 데이터를 가져오는 가장 좋은 방법은?
OHLCV 봉 데이터는 Data Manager 내보내기를 쓰세요. 지표 값은 봉별 지표 값을 OHLCV 필드와 함께 파일에 쓰는 NinjaScript 내보내기 지표를 작성하세요. 내보내기를 둘로 나눴다면 타임스탬프를 기준으로 출력을 병합합니다.
NinjaTrader CSV 내보내기의 구분자 형식은 무엇인가요?
NinjaTrader는 기본 CSV 내보내기에서 쉼표 대신 세미콜론을 구분자로 씁니다. Excel이나 다른 도구로 가져올 때 가져오기 설정에서 쉼표가 아닌 '세미콜론'을 구분자로 선택하세요.
NinjaTrader 선물 계약은 분기물인가요, 월물인가요?
거래소의 상장 방식에 따라 다릅니다. ES와 NQ는 3월, 6월, 9월, 12월 분기물로 상장되고, CL은 매달 상장됩니다. NinjaTrader는 ES 12-26처럼 만기로 각 계약에 이름을 붙이며, Tools, Database Management에서 상품 목록을 다음 월물로 넘깁니다.

MyLinedChart 사용해 보기

MyLinedChart는 작도, 메모, 지표 값을 내보내고 검토하고 다시 쓸 수 있는 데이터로 보관합니다.

MyLinedChart 둘러보기

더 많은 아티클