MyLinedChart
Pro下載
首頁價格下載文章

如何把 NinjaTrader 圖表資料、OHLCV 與指標數值匯出成 CSV

發布日期 2026-06-26 · 更新日期 2026-10-18 · 閱讀英文版

NinjaTrader 原生就能透過 Data Manager 匯出 OHLCV K 線資料:在商品上按右鍵、選擇匯出,就會得到一份以分號分隔的 CSV,內含日期、時間、開盤、最高、最低、收盤與成交量。指標數值不在這份匯出中。要取出指標數值,需要撰寫一個把數值輸出到檔案的 NinjaScript 指標。以下說明兩種路徑的做法。

重點摘要
  • NinjaTrader Data Manager 會把 OHLCV K 線資料匯出成以分號分隔的 CSV;格式為日期與時間,接著是開盤、最高、最低、收盤、成交量。
  • 標準的 OHLCV 匯出不含指標數值,需要用 NinjaScript 匯出指標把數值寫入檔案。
  • 若要同時取得 OHLCV 與指標的輸出,就得在 K 線資料匯出之外,另外執行 NinjaScript 匯出,再合併兩份輸出。

如何從 NinjaTrader 匯出 OHLCV K 線資料

NinjaTrader 8 把歷史 K 線資料存放在自己的本機資料庫。匯出方式:開啟 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 匯出只包含 K 線資料。不包含:依這些 K 線計算出的指標數值、畫線物件或標註資料、交易歷史,或時段層級的筆記。

這個檔案是原始價格資料的匯出。指標計算層完全存在於 NinjaTrader 的執行環境中,不會序列化到 K 線資料檔裡。如果你的分析工作流程需要特定的指標讀數與價格並列,只有 OHLCV 的匯出無法帶出那些脈絡。

若要在 OHLCV 之外,結構化匯出畫線與標註資料,請參閱 /resources/articles/ninjatrader-drawing-export。

NinjaTrader Data Manager 的匯出只有價格與成交量。指標數值需要另外採用 NinjaScript 匯出的做法。
資料類型是否包含在 Data Manager 匯出中
開盤、最高、最低、收盤(每根 K 線)是
成交量(每根 K 線)是
日期與時間戳記是
指標數值(EMA、RSI、VWAP 等)否
畫線物件與標註否
交易歷史與成交否
時段層級的筆記否

NinjaTrader 商品清單與合約月份:按季還是按月

商品清單位於 NinjaTrader Control Center 的 Tools,再到 Instrument Lists。清單把商品歸為一組,讓你能一次對所有商品執行 Strategy Analyzer 或 Market Analyzer,或快速載入到其他視窗。

NinjaTrader 中的期貨名稱帶有到期月份,例如 ES 12-26。新的合約月份多久出現一次由交易所決定:CME 的股價指數期貨(例如 ES 和 NQ)按季掛牌(3 月、6 月、9 月和 12 月),原油(CL)則每個月都有一個合約。常見的指數期貨都不是一年才掛牌一次。

合約到了轉倉日時,透過 Tools,再到 Database Management,就能把商品轉到下一個合約。NinjaTrader 說明指南指出,轉倉會更新所有商品清單和已開啟工作區中各視窗的到期月份,你需要儲存工作區才能保留變更。NinjaScript 策略不會自動轉倉。

匯出時,請檢查 Tools、Options、Market data 下的 Merge Policy。MergeBackAdjusted 會把各個到期月份接成一段連續歷史,並在轉倉日做價差調整;Do Not Merge 只保留一個合約月份。把合約月份和合併設定寫進檔名,之後才能對上這些 K 線。

  • 股價指數期貨(ES、NQ):按季,3 月、6 月、9 月、12 月。
  • 原油(CL):每個月一個新合約。
  • 在 Database Management 轉倉會更新每個商品清單;請重新儲存工作區。
  • Merge Policy 決定匯出的歷史涵蓋一個合約還是多個合約。

如何從 NinjaTrader 匯出指標數值

要把指標數值存成 CSV 檔,你需要撰寫一個 NinjaScript 指標,計算你想要的數值,並在每次 K 線更新時把它寫入檔案。NinjaTrader 的 NinjaScript 環境可使用 System.IO 來寫檔。

基本模式如下:在 State.DataLoaded 的 OnStateChange 中,開啟指向目標檔案路徑的 StreamWriter。在 OnBarUpdate 中,若 BarsInProgress == 0 且 IsFirstTickOfBar,就把目前這根 K 線的 Date、Time 與指標數值寫入 StreamWriter。在 State.Terminated 的 OnStateChange 中,關閉 StreamWriter。

StreamWriter 的做法,能讓你取得 NinjaTrader 程式庫中任何指標,或你自己寫的任何自訂指標,逐根 K 線的紀錄。輸出是一份分隔符號文字檔,可用試算表開啟,或匯入任何分析工具。若想找不依賴特定平台的匯出替代方案,請參閱 /resources/articles/thinkorswim-to-csv-xlsx-annotations。

把 OHLCV 與指標數值合併成一個檔案

要把 OHLCV K 線與指標數值合併,有兩種做法。第一種是寫一個 NinjaScript 匯出指標,在每一列同時輸出 OHLCV 欄位與指標數值,這樣一切都對齊同一個 K 線時間戳記。

第二種做法,是從 Data Manager 匯出 OHLCV,再另外透過 NinjaScript 匯出指標數值,接著在試算表或腳本中,以共同的時間戳記作為合併鍵,把兩個檔案合併。兩個檔案的時間戳記格式必須一致,合併才會正確。

單一檔案的 NinjaScript 做法在分析上更簡潔,但實作需要 NinjaScript 的技能。合併的做法只要時間戳記格式對得上,就不需要自訂程式碼。

NinjaTrader 匯出的不足之處,以及何時該補強

無論是從 Data Manager 還是透過 NinjaScript,NinjaTrader 的匯出流程在逐根 K 線的資料擷取上都很可靠,但只要超出原始 OHLCV,就需要 NinjaScript 開發。非開發者要匯出指標數值,會遇到相當高的門檻。

另一個限制是標註的可攜性:在 NinjaTrader 畫的圖表畫線、筆記文字與支撐壓力價位,都不在 OHLCV 或指標的匯出裡。如果工作流程需要把圖表脈絡與 K 線資料一起帶走,就需要額外的標註匯出層。

關於這個與平台無關的標註層,請參閱 /resources/articles/chart-annotation-export-for-trading-journal-xlsx-csv,以及 /resources/articles/export-tradingview-indicator-values-csv,其中有跨平台的指標匯出做法比較。

常見問題

NinjaTrader 能原生把指標數值匯出成 CSV 嗎?
不能。Data Manager 的 OHLCV 匯出只包含 K 線的價格與成交量資料。要匯出指標數值,你需要撰寫一個 NinjaScript 指標,使用 System.IO.StreamWriter,在每次 K 線更新時把數值寫入檔案。
可以從 NinjaTrader 圖表匯出哪些 OHLCV 資料?
使用 Data Manager,你可以匯出 NinjaTrader 已下載的任何商品與時間週期的日期、時間、開盤、最高、最低、收盤與成交量。輸出為以分號分隔的 CSV。日內匯出含有時間欄位;日線匯出則沒有。
取得 NinjaTrader 圖表資料供外部分析,最好的方式是什麼?
OHLCV K 線資料:使用 Data Manager 匯出。指標數值:撰寫一個 NinjaScript 匯出指標,把逐根 K 線的指標讀數連同 OHLCV 欄位一起寫入檔案。如果使用兩份獨立的匯出,請以時間戳記合併輸出。
NinjaTrader 的 CSV 匯出使用哪種分隔符號?
NinjaTrader 預設的 CSV 匯出使用分號作為分隔符號,而不是逗號。匯入 Excel 或其他工具時,請在匯入過程中選擇「分號」作為分隔符號,而不是逗號。
NinjaTrader 的期貨合約是按季還是按月?
這取決於交易所的掛牌方式。ES 和 NQ 在 3 月、6 月、9 月和 12 月按季掛牌;CL 每個月都掛牌。NinjaTrader 以到期月份為每個合約命名,例如 ES 12-26,並透過 Tools,再到 Database Management,把商品清單轉到下一個月份。

試試 MyLinedChart

MyLinedChart 把你的畫線、筆記與指標數值保存為資料,可匯出、檢視與重複使用。

探索 MyLinedChart

更多文章