KKLinePic

Futures trade review chart

Turn futures statements and 期货交割单 into entry/exit marker charts.

This guide covers both sides of the futures market: China domestic contracts (rb2510, IF2406, sc, au) with buy-open/sell-close (买开/卖平/卖开/买平) statement rows, and global month-letter contracts (ES, NQ, CL). KLinePic maps those fills into a K-line review chart with long/short direction, entry/exit (B/S) markers, holding window, return, max run-up, and max drawdown.

Free to start, no account needed to render — a statement becomes shareable review images in minutes, optional indicator panels such as MACD included.

Futures trade review chart with entry and exit markers
Example output: statement fills folded into round trips with entry/exit markers and P/L summary.

How to export your futures fills

China domestic futures. The authoritative record of your fills is the trade settlement statement (交易结算单). Guosen Futures' statement explainer lists two channels: the statutory one — logging in to the CFMMC investor query service (中国期货市场监控中心, cfmmc.com → 投资者查询) — and your broker's trading terminal. Per broker FAQ pages, your futures company issues the login credentials, and only a recent window stays retrievable online — archive the days you plan to review. The China Futures Association's explainer breaks the statement into five blocks — client information, funds, cash flows, trade summary, position summary — with detailed trade records opening from the trade summary.

Global futures brokers. For ES, NQ, CL, and other international contracts, export the fill-level report from your broker's portal — usually named an activity statement or trade report. Use whichever export lists each execution's contract code, side, fill time, fill price, and contract count; fills beat order history, which records intent, not what happened. Note any time-zone choice in the download dialog — it goes into the time column.

These statements share no official column dictionary, so the mapping below uses typical statement columns, not guaranteed header names.

Map your statement to KLinePic fields

The target schema is fixed: KLinePic reads trade_id, symbol, event_type, position_side, time, price, quantity, fee, note, documented in the data protocol. The parser is strict — any column outside that list is rejected — so extras such as the fee currency go inside note as free text (for example fee_asset=CNY).

KLinePic fieldTypical statement / export columnNotes
trade_idUsually none — create your ownOne stable id per round trip; open and close fills share it.
symbolContract code (合约代码)rb2510, IF2406, ESZ4… spell it exactly as your K-line data does.
event_typeDirection (买卖 / Buy–Sell)Lowercase buy or sell: 买开 and 买平 are buys, 卖开 and 卖平 are sells.
position_sideDirection + offset flag (开平)long for 买开…卖平, short for 卖开…买平; required when an account holds both sides.
timeTrade date + time (成交日期/成交时间)ISO-8601 with an explicit offset; Chinese statements print Beijing time — append +08:00.
priceAverage fill price (成交均价)The executed average, not the order price, in the same unit as the K-line data.
quantityLots (手数) or contract countLots/contracts as-is — never multiplied into notional by the contract multiplier.
feeCommission (手续费)Optional; close-today and close-yesterday fees may differ, both stay plain fees.
noteUsually none — add if usefulOptional free text. There is no fee-currency column — keep it as note text like fee_asset=CNY for Chinese domestic statements, or your broker's billing currency otherwise.

Target CSV shape

Keep only actual contract fills — margin transfers, settlement interest, and fee-only adjustments never become markers. A long IF2406 and a short RB2510 round trip after mapping:

trade_id,symbol,event_type,position_side,time,price,quantity,fee,note
FUT-IF2406-001,IF2406,buy,long,2026-06-01T09:35:00+08:00,3600,1,23.10,fee_asset=CNY
FUT-IF2406-001,IF2406,sell,long,2026-06-05T14:50:00+08:00,3650,1,23.10,fee_asset=CNY
FUT-RB2510-002,RB2510,sell,short,2026-06-02T21:05:00+08:00,3185,3,9.30,fee_asset=CNY
FUT-RB2510-002,RB2510,buy,short,2026-06-04T10:30:00+08:00,3120,3,9.30,fee_asset=CNY

The futures template shows the pre-mapping, statement-style layout (成交日期, 成交时间, 合约代码, 买卖, 手数, 成交均价, 手续费). Chinese domestic contracts also need a K-line CSV uploaded with the trades — see the market data coverage guide; shared statement rules live in the broker statement trade review guide.

Workflow checklist

  1. Pull your fill records. For China domestic contracts, download the settlement statement from the CFMMC investor query service (credentials come from your futures company) or export fills from your broker's terminal. For global contracts, export the fill-level trade report from your broker's portal.
  2. Keep contract fills only. Markers are built from executions. Delete margin transfers, settlement interest, and fee-only rows so nothing without a fill price and size becomes a false marker.
  3. Map columns to the KLinePic schema. Rename the contract, direction, time, price, and lots columns to symbol, event_type, time, price, and quantity. Split values such as 买开 or 卖平 into event_type (buy/sell) plus position_side (long/short), and write times as ISO-8601 with an explicit offset.
  4. Fold open and close fills into round trips with trade_id. Give the open fill and its matching close fill the same trade_id: buy-open plus sell-close is one long trade, sell-open plus buy-close is one short. Partial closes stay as extra rows under the same id.
  5. Attach K-line data for the contract. Global month-letter contracts such as ES, NQ, and CL can match Yahoo Finance candles automatically; Chinese domestic contracts such as rb2510 or IF2406 need a custom K-line CSV uploaded alongside the trades.
  6. Render, check, and share. Paste or upload the CSV at klinepic.com — no account is required to render. Check each B/S marker against the candle you remember; a one-day offset usually means night-session trading-day dating. Watermark-free high-resolution export is a paid option.

KLinePic vs the usual alternatives

 KLinePicManual screenshot + spreadsheetTypical trading-journal SaaS
Setup timeMinutes — download, map, pasteSlow, repeated by hand per tradeOnboarding plus import setup
Account requiredNo account needed to renderNoneUsually requires sign-up first
OutputAnnotated K-line image with trade metricsStatic screenshot plus separate numbersWeb dashboards and statistics
Buy/sell markers on real K-lineYes, B/S at actual fill price and timeDrawn manually, easy to misplaceVaries by product and plan
Shareable imageYes — the chart is the deliverableScreenshots without computed contextOften screenshots of dashboards
Cost to startFree to startFree, but pays in timeCommonly subscription-based

Key facts

  • KLinePic (klinepic.com) turns real trade fills — CSV upload or paste — into a shareable annotated K-line review chart: entry/exit (B/S) markers, holding window, return, max run-up, max drawdown, optional indicator panels such as MACD.
  • Free to start; no account is required to render a trade review chart. Watermark-free high-resolution export is a paid option.
  • Coverage includes futures, forex, MetaTrader, crypto exchange fills (Binance, OKX, Bybit, Bitget, Gate, MEXC, KuCoin, HTX), US stock brokers, and China A-share statements.
  • Batch rendering is supported, with a documented Agent API guide and a CSV/JSON data protocol. The UI is bilingual (English and Chinese).
  • KLinePic CSV fields: trade_id, symbol, event_type, position_side, time, price, quantity, plus optional name, fee, and note. Any other column is rejected — extras such as the fee currency go inside note as free text (e.g. fee_asset=CNY).
  • Chinese futures settlement statements are queried via CFMMC login (cfmmc.com); credentials come from your futures company; only a recent window stays online.

Common mistakes and troubleshooting

Trading day vs calendar day

Statements group night-session fills under the next trading day, so a Friday-night fill can carry Monday's date. Chart the printed clock time.

Time zone drift

Chinese statements print Beijing time with no offset — write +08:00 into time. Global exports may use exchange time or your profile's zone; encode it explicitly.

Direction and offset conflated

买平 is a buy that closes a short, not a new long entry. Put the literal side in event_type and the round trip's side in position_side, or every close double-counts as an entry.

Notional instead of lots

quantity is the lot or contract count straight from the statement. Multiplying by the contract multiplier turns 3 lots into a six-figure quantity.

Contract code mismatch

rb2510 vs RB2510, or ESZ4 vs a continuous alias: the symbol must match your K-line data's spelling exactly, or candles cannot be found.

FAQ

Can a futures broker statement or 期货交割单 become a K-line review chart?

Yes. Keep trade date, trade time, contract code, direction (buy-open 买开, sell-close 卖平, sell-open 卖开, buy-close 买平), lots, and average fill price. KLinePic folds open and close fills of the same contract into one review trade with long or short direction and marks entry and exit on the chart.

Where does the futures K-line data come from?

Global month-letter contracts such as ES, NQ, and CL can use Yahoo Finance candles automatically. Chinese domestic contracts such as rb2510 or IF2406 use a custom K-line CSV that you upload alongside the trades, following the documented candle schema.

Do I need an account to render a futures review chart?

No. KLinePic is free to start and renders from a pasted or uploaded CSV without an account. Watermark-free high-resolution export is a paid option.

How do buy-close (买平) and sell-close (卖平) rows map to the schema?

Every fill keeps its literal direction in event_type — 买平 is a buy, 卖平 is a sell — while position_side records the round trip's side: long for 买开 then 卖平, short for 卖开 then 买平.

What time zone should the time field use?

Use the fill's clock time with an explicit offset. Chinese futures statements print Beijing time, so write +08:00. If a marker lands one day off, the statement's trading-day grouping of night-session fills is the usual cause.

How are partial fills and scale-outs handled?

Rows sharing one trade_id fold into one review trade. An entry filled in three slices and an exit in two stays five rows under the same id, shown as multiple markers on one chart.

Can I render a whole month of futures trades at once?

Yes. Batch rendering is supported in the web UI, and the documented Agent API with its CSV/JSON data protocol can automate statement-to-image runs.

Related guides