Welcome back
Entry Objective
{{ activeAlgoRunStrategyName }}{{ algoEntryObjective.headline }}
Live Positions
Filter
Sort
| Chart | |||||
|---|---|---|---|---|---|
| {{ portfolio.description || `${formatNumber(portfolio.count)} holdings` }} | {{ formatPrice(portfolio.invested) }} | {{ formatPrice(portfolio.current) }} | {{ formatPrice(portfolio.absolute_return) }} | {{ formatNumber(portfolio.return_percent, { minimumFractionDigits: 2, maximumFractionDigits: 2 }) }}% | |
| Create a portfolio to view summary. | |||||
| {{ row.symbol || '-' }}{{ row.stock_name || row.instrument_key || '-' }} | {{ formatNumber(row.quantity) }} | {{ formatPrice(row.buy_price) }}{{ formatDisplayDate(row.source_buy_date || row.buy_date) }} | {{ formatPrice(row.ltp) }} | {{ formatPrice(row.invested) }} | {{ formatPrice(row.current) }} | {{ formatPrice(row.absolute_return) }} | {{ formatNumber(row.return_percent, { minimumFractionDigits: 2, maximumFractionDigits: 2 }) }}% | {{ formatNumber(row.volume) }} | {{ row.portfolio_description }} | {{ row.sl_enabled ? formatPrice(row.sl_price) : '-' }}{{ row.sl_type }} {{ formatNumber(row.sl_value) }} | {{ row.target_enabled ? formatPrice(row.target_price) : '-' }}{{ row.target_type }} {{ formatNumber(row.target_value) }} | {{ row.position_status || 'OPEN' }}{{ row.exit_reason || 'Exit' }} {{ formatPrice(row.exit_price) }} / {{ formatDisplayDate(row.exit_date) }}{{ row.skip_reason || 'Not allocated' }} | |
| No {{ portfolioPositionView === 'open' ? 'open holdings' : portfolioPositionView }} in this view. | |||||||||||||
| Total | {{ formatPrice(portfolioPositionViewMetrics.invested) }} | {{ formatPrice(portfolioPositionViewMetrics.current) }} | {{ formatPrice(portfolioPositionViewMetrics.absolute_return) }} | {{ formatNumber(portfolioPositionViewMetrics.return_percent, { minimumFractionDigits: 2, maximumFractionDigits: 2 }) }}% |
Simulation Settings
{{ portfolioManageMode === 'create' ? 'New Portfolio' : `Source Rows · ${portfolioDateLabel(portfolioDraft)}` }}
Source Holdings
{{ portfolioDraft.items.length }} dated EOD rows| Scrip | Source Date | EOD Price | Qty | Invested | Allocation | Status | Actions |
|---|---|---|---|---|---|---|---|
| {{ row.symbol || row.stock_name || '-' }}{{ row.stock_name || row.instrument_key || 'Not mapped' }} | {{ row.position_status || 'OPEN' }}{{ row.exit_reason }} @ {{ formatPrice(row.exit_price) }}{{ row.skip_reason }}{{ row.draft_error }} | ||||||
| Drop a CSV or search for a scrip to build this portfolio. | |||||||
Read-Only Watch Mode
{{ portfolioDateLabel(portfolioSummaryChartData.portfolio) || 'Portfolio Summary' }}
Final Position State
| Status | Contract | Side | Qty | Entry | LTP / Exit | Risk | MTM | Pts |
|---|---|---|---|---|---|---|---|---|
| {{ position.status }}{{ position.is_open ? 'Live' : formatIstTime(position.exit_time) }} | {{ backtestPositionLabel(position) }}{{ position.name || formatExpiry(position.expiry) }} | {{ algoEntryAction(position) }} | {{ formatNumber(position.quantity) }}{{ formatNumber(position.lots) }} lots | {{ formatPrice(position.entry) }}{{ formatIstTime(position.entry_time) }} | {{ position.is_open ? formatPrice(position.current) : formatPrice(position.exit) }}{{ position.is_open ? 'Live premium' : (position.exit_reason || 'Closed') }} | {{ position.is_open ? (position.sl_display || '-') : 'Exited' }}{{ position.exit_reason || (position.is_open ? 'SL monitor' : '-') }} | {{ formatPrice(position.pnl) }} | {{ formatPrice(position.pnl_points) }} |
| {{ backtest.summary ? 'No position records were returned for this run.' : 'Run the backtest to see position output.' }} | ||||||||
Day-by-Day P&L
| Contract | Action | Candle Open | Exit Time | Entry | Exit | Brokerage + Charges | Gross P&L | Net P&L |
|---|---|---|---|---|---|---|---|---|
| {{ trade.name || `${formatNumber(trade.strike)} ${trade.side || ''}` }}{{ formatExpiry(trade.expiry) }} | {{ String(trade.trade_side || '').toUpperCase() === 'LONG' ? 'BUY' : 'SELL' }} {{ trade.side || '' }}{{ trade.exit_reason || '-' }} | {{ formatIstTime(trade.entry_time) }} | {{ formatIstTime(trade.exit_time) }} | {{ formatPrice(trade.entry) }} | {{ formatPrice(trade.exit) }} | {{ backtestExpenseBreakdown(trade).text }}{{ formatPrice(backtestExpenseBreakdown(trade).total) }} total | {{ formatPrice(trade.pnl) }} | {{ formatPrice(trade.net_pnl) }} |
| {{ backtest.summary?.no_trade_reason || 'The engine completed this date without opening a trade.' }} | ||||||||
Saved Backtests
AlgoRun Settings
Live Run
AlgoRun Strategy
Trade Instrument
Select the traded instrument before configuring option-specific fields.
Expiry
Select the futures month and option expiry independently.
Stop Loss & Target
Choose the risk unit explicitly. Rupee limits are converted from actual entry price and traded quantity.
Option Strikes
Select CE and PE moneyness independently. Distance counts available option strikes from ATM.
Entry
Set the milestone gate, position direction, timing, and trade size.
Entry filters
Stop Loss
Define the fixed per-leg risk while both legs remain open.
Remaining-leg trailing and emergency protection
Rollover & Regime Guard
Use SuperTrend and previous-session pivots to suppress sideways re-entry churn.
SuperTrend and pivot rules
Adaptive anti-churn tuning
Entry
Choose the market reference, entry window, and repeat-entry limits.
Entry filters
Stop Loss
Fixed risk is checked on the configured completed candle.
Trailing and emergency protection
Target
Select whether each leg exits by underlying movement, premium movement, or milestone rollover.
Next milestone closes the straddle and permits rollover. Point and percentage targets close the qualifying leg independently.
Market & Entry
{{ isOrbDirectionalStrategy(algorun) ? 'ORB locks the opening range before evaluating its selected breakout model.' : isPriceMsDirectionalStrategy(algorun) ? 'Capture a milestone first; enter only after a completed-close threshold and SuperTrend confirmation.' : "STOT evaluates completed NIFTY candles against the previous session's R1 and S1." }}
Direction ConfirmationSuperTrend & Pivot
{{ isPriceMsDirectionalStrategy(algorun) ? 'The threshold close and SuperTrend direction must agree.' : 'Green above R1 permits bullish entry; red below S1 permits bearish entry.' }}
Model & Exit
Only controls used by the selected ORB model are shown.
Protection
The fixed SL needs completed option-candle closes. The 25% protective stop and active TSL remain immediate.
Execution
Express each confirmed direction through FUT or options.
Signal
Trend, strength, volatility, volume, swing, and pivot-space filters.
Risk & Exit
Underlying stop, trailing, and daily risk limits.
Session
Completed-candle trading window.
Signal & Execution
Configure market direction and execution behavior after choosing the signal and trade instruments above.
Crossover Model
Three EMAs with ATR-normalized noise rejection.
Exit Model
Structural risk plus one explicit profit-exit rule.
Session Risk
Reverse crossover and square-off remain mandatory. Every exit starts the same re-entry cooldown.
Market Levels
EMA and SuperTrend share the selected trend candle size. RSI and ADX remain independent. Opening VWAP uses the current {{ algorunFutureLabel }}; Traditional Pivot and CPR remain daily.
Backtest Settings
Backtest Run
Core Strategy
Trade Instrument
Select the traded instrument before configuring option-specific fields.
Expiry
Select the futures month and option expiry independently.
Option Strikes
Select CE and PE moneyness independently. Distance counts available option strikes from ATM.
Entry
Replay the same milestone gate, timing, and position sizing used by AlgoRun.
Entry filters
Stop Loss
Define the fixed per-leg risk while both legs remain open.
Remaining-leg trailing and emergency protection
Rollover & Regime Guard
Replay the same SuperTrend and pivot anti-churn permission used by AlgoRun.
SuperTrend and pivot rules
Adaptive anti-churn tuning
Entry
Define the same entry gate and timing contract used by AlgoRun.
Entry filters
Stop Loss
Choose index-point risk or a percentage of each option's entry premium.
Trailing and emergency protection
Target
Use the same per-leg target contract during replay and live execution.
Next milestone closes the straddle and permits rollover. Point and percentage targets close the qualifying leg independently.
Market & Entry
{{ isOrbDirectionalStrategy(backtest) ? 'ORB locks the opening range before evaluating its selected breakout model.' : isPriceMsDirectionalStrategy(backtest) ? 'Capture a milestone first; enter only after a completed-close threshold and SuperTrend confirmation.' : "STOT evaluates completed NIFTY candles against the previous session's R1 and S1." }}
Direction ConfirmationSuperTrend & Pivot
{{ isPriceMsDirectionalStrategy(backtest) ? 'The threshold close and SuperTrend direction must agree.' : 'Green above R1 permits bullish entry; red below S1 permits bearish entry.' }}
Model & Exit
Only controls used by the selected ORB model are shown.
Protection
The fixed SL needs completed option-candle closes. The 25% protective stop and active TSL remain immediate.
Execution
Express each confirmed direction through FUT or options.
Signal
Trend, strength, volatility, volume, swing, and pivot-space filters.
Risk & Exit
Underlying stop, trailing, and daily risk limits.
Session
Completed-candle trading window.
Signal & Execution
Configure market direction and execution behavior after choosing the signal and trade instruments above.
Crossover Model
Three EMAs with ATR-normalized noise rejection.
Exit Model
Structural risk plus one explicit profit-exit rule.
Session Risk
Reverse crossover and square-off remain mandatory. Every exit starts the same re-entry cooldown.
Monte Carlo Risk Analysis
Moving-block simulation
Resample complete daily net P&L blocks after deterministic replay. Same-day option legs remain together.
Exports & Storage
{{ tab === 'algorun' ? 'AlgoRun Tradebook' : 'Backtest Tradebook' }}
| Date | Strategy | Groups | Legs | Gross P&L | Brokerage | Charges | Net P&L |
|---|---|---|---|---|---|---|---|
| {{ formatDisplayDate(day.date) }} | {{ strategyDisplayName(day.strategy) }} | {{ formatNumber(day.trade_groups) }} | {{ formatNumber(day.legs) }} | {{ formatPrice(day.gross_pnl) }} | {{ formatPrice(day.brokerage) }} | {{ formatPrice(day.charges) }} | {{ formatPrice(day.net_pnl) }} |
| No saved paper trades for this month. | |||||||
| Candle Open | Exit Time | Order | Leg | Qty | Entry | Exit | Reason | Net P&L |
|---|---|---|---|---|---|---|---|---|
| {{ formatIstTime(trade.entry_time) }} | {{ formatIstTime(trade.exit_time) }} | {{ trade.order_id || trade.id || '-' }} | {{ algoEntryAction(trade) }} {{ formatNumber(trade.strike) }} {{ trade.side }} | {{ formatNumber(trade.quantity) }}{{ formatNumber(trade.lots) }} lots | {{ formatPrice(trade.entry) }} | {{ formatPrice(trade.exit) }} | {{ trade.exit_reason }} | {{ formatPrice(trade.net_pnl) }} |
| No saved paper trades for this date. | ||||||||
| {{ formatIstTime(trade.entry_time) }} | {{ formatIstTime(trade.exit_time) }} | {{ trade.id || '-' }} | {{ trade.position || `${formatNumber(trade.strike)} ${trade.side}` }} | {{ formatNumber(trade.quantity) }}{{ formatNumber(trade.lots) }} lots | {{ formatPrice(trade.entry) }} | {{ formatPrice(trade.exit) }} | {{ trade.exit_reason || trade.status }} | {{ formatPrice(trade.net_pnl) }} |
| Run the backtest to see tradebook entries. | ||||||||