Strategy Account Info Function Status Description strategy.account_currency ✅ Account currency strategy.equity ✅ Account equity strategy.grossloss ✅ Gross loss strategy.grossloss_percent ✅ Gross loss percentage strategy.grossprofit ✅ Gross profit strategy.grossprofit_percent ✅ Gross profit percentage strategy.initial_capital ✅ Initial capital strategy.margin_liquidation_price ✅ Margin liquidation price strategy.netprofit ✅ Net profit strategy.netprofit_percent ✅ Net profit percentage
Trade Statistics Function Status Description strategy.avg_losing_trade ✅ Average losing trade strategy.avg_losing_trade_percent ✅ Average losing trade percent strategy.avg_trade ✅ Average trade strategy.avg_trade_percent ✅ Average trade percent strategy.avg_winning_trade ✅ Average winning trade strategy.avg_winning_trade_percent ✅ Average winning trade percent strategy.closedtrades ✅ Number of closed trades strategy.eventrades ✅ Number of even trades strategy.losstrades ✅ Number of losing trades strategy.opentrades ✅ Number of open trades strategy.wintrades ✅ Number of winning trades
Closed Trades Function Status Description strategy.closedtrades.first_index ✅ First closed trade index strategy.closedtrades.commission() ✅ Get commission strategy.closedtrades.entry_bar_index() ✅ Get entry bar index strategy.closedtrades.entry_comment() ✅ Get entry comment strategy.closedtrades.entry_id() ✅ Get entry ID strategy.closedtrades.entry_price() ✅ Get entry price strategy.closedtrades.entry_time() ✅ Get entry time strategy.closedtrades.exit_bar_index() ✅ Get exit bar index strategy.closedtrades.exit_comment() ✅ Get exit comment strategy.closedtrades.exit_id() ✅ Get exit ID strategy.closedtrades.exit_price() ✅ Get exit price strategy.closedtrades.exit_time() ✅ Get exit time strategy.closedtrades.max_drawdown() ✅ Get max drawdown strategy.closedtrades.max_drawdown_percent() ✅ Get max drawdown percent strategy.closedtrades.max_runup() ✅ Get max runup strategy.closedtrades.max_runup_percent() ✅ Get max runup percent strategy.closedtrades.profit() ✅ Get profit strategy.closedtrades.profit_percent() ✅ Get profit percent strategy.closedtrades.size() ✅ Get size
Drawdown & Runup Function Status Description strategy.max_contracts_held_all ✅ Max contracts held (all) strategy.max_contracts_held_long ✅ Max contracts held (long) strategy.max_contracts_held_short ✅ Max contracts held (short) strategy.max_drawdown ✅ Maximum drawdown strategy.max_drawdown_percent ✅ Maximum drawdown percent strategy.max_runup ✅ Maximum runup strategy.max_runup_percent ✅ Maximum runup percent
Position Info Function Status Description strategy.openprofit ✅ Open profit strategy.openprofit_percent ✅ Open profit percent strategy.position_avg_price ✅ Position average price strategy.position_entry_name ✅ Position entry name strategy.position_size ✅ Position size
Open Trades Function Status Description strategy.opentrades.capital_held ✅ Capital held strategy.opentrades.commission() ✅ Get commission strategy.opentrades.entry_bar_index() ✅ Get entry bar index strategy.opentrades.entry_comment() ✅ Get entry comment strategy.opentrades.entry_id() ✅ Get entry ID strategy.opentrades.entry_price() ✅ Get entry price strategy.opentrades.entry_time() ✅ Get entry time strategy.opentrades.max_drawdown() ✅ Get max drawdown strategy.opentrades.max_drawdown_percent() ✅ Get max drawdown percent strategy.opentrades.max_runup() ✅ Get max runup strategy.opentrades.max_runup_percent() ✅ Get max runup percent strategy.opentrades.profit() ✅ Get profit strategy.opentrades.profit_percent() ✅ Get profit percent strategy.opentrades.size() ✅ Get size
Constants Function Status Description strategy.cash ✅ Cash constant strategy.fixed ✅ Fixed constant strategy.long ✅ Long constant strategy.percent_of_equity ✅ Percent of equity constant strategy.short ✅ Short constant
Commission Function Status Description strategy.commission.cash_per_contract ✅ Cash per contract strategy.commission.cash_per_order ✅ Cash per order strategy.commission.percent ✅ Commission percent
Direction Function Status Description strategy.direction.all ✅ All directions strategy.direction.long ✅ Long direction strategy.direction.short ✅ Short direction
OCA Function Status Description strategy.oca.cancel ✅ OCA cancel strategy.oca.none ✅ OCA none strategy.oca.reduce ✅ OCA reduce
Order Management Function Status Description strategy.cancel() ✅ Cancel order strategy.cancel_all() ✅ Cancel all orders
Position Management Function Status Description strategy.close() ✅ Close position strategy.close_all() ✅ Close all positions strategy.entry() ✅ Enter position strategy.exit() ✅ Exit position strategy.order() ✅ Place order
Conversion Function Status Description strategy.convert_to_account() ✅ Convert to account strategy.convert_to_symbol() ✅ Convert to symbol strategy.default_entry_qty() ✅ Default entry quantity
Risk Management Function Status Description strategy.risk.allow_entry_in() ✅ Allow entry in strategy.risk.max_cons_loss_days() ✅ Max consecutive loss days strategy.risk.max_drawdown() ✅ Max drawdown strategy.risk.max_intraday_filled_orders() ✅ Max intraday filled orders strategy.risk.max_intraday_loss() ✅ Max intraday loss strategy.risk.max_position_size() ✅ Max position size
Notes The entire strategy.* namespace is implemented and matches TV’s surface 1:1. Of the 31 TV oracle scripts in Automations/PineTS/pinescripts/strategy/, 12 currently match TradingView to comparator-epsilon (precision 3, eps 0.001001). The remaining 18 produce valid output that diverges from TV in specific numeric fields — these are precision/semantics differences that need iterative refinement:
strategy.margin_liquidation_price — PineTS uses a simple “equity hits zero” approximation; TV’s broker liquidation formula differs in detail. Affects account_props.pine. strategy.convert_to_account / convert_to_symbol — identity passthrough for same-currency cases. TV may return na when symbol/account currencies differ even nominally (e.g. BTCUSDC’s USDC vs USD). Affects conversion.pine. OCA enforcement (cancel/reduce semantics) — order objects carry oca_name / oca_type fields, but the engine does not yet auto-cancel or reduce siblings on fill. Deferred. Affects oca_groups.pine. Commission rounding — per-leg charges may differ from TV by sub-cent rounding in edge cases. Affects commission_slippage.pine and commission_types.pine in the second-decimal place. Per-trade max_drawdown / max_runup — PineTS tracks intra-bar high/low excursions, but TV’s accounting includes the entry price’s pre-fill open and exit-bar close in subtly different ways for trades that open and close in adjacent bars. Affects closedtrades_full.pine, opentrades_full.pine. oca_groups.pine is the explicit Phase 7 deferral. All others are iteration items for follow-up work.