Complete Feature Reference

Option Pilot โ€” Every Feature
Documented from Source Code

94 indicators, 3 exit modes, 8 brokers, 21 GUI components โ€” all built into a single desktop app.

Indicator Library

94 Technical Indicators Across 6 Categories

All powered by pandas_ta. Every indicator includes default parameters, configurable weights, and suggested starting values based on reliability for Indian options markets.

๐Ÿ”ด

Momentum Indicators

Medium-to-high reliability oscillators that measure rate of change, overbought/oversold conditions, and momentum strength.

15 indicators
Name Full Name Default Params Weight Description & Use
RSI Relative Strength Index length=14 1.5ร— Measures overbought/oversold on a 0โ€“100 scale. Above 70 = overbought, below 30 = oversold.
MACD Moving Avg Convergence Divergence fast=12, slow=26, signal=9 1.8ร— Trend-following momentum. Use Histogram crossover of 0 as rule. Highest momentum weight.
STOCH Stochastic Oscillator k=14, d=3, smooth_k=3 1.2ร— %K and %D crossovers identify momentum shifts. Good with MACD confirmation.
STOCHRSI Stochastic RSI length=14, rsi_length=14, k=3, d=3 1.0ร— More sensitive than standard RSI. Best for ranging markets.
CCI Commodity Channel Index length=20, c=0.015 1.3ร— Deviation from statistical average. +100 breakouts = bullish, -100 = bearish.
TSI True Strength Index fast=13, slow=25 1.4ร— Double-smoothed momentum. Less noise than RSI at same length.
UO Ultimate Oscillator fast=7, medium=14, slow=28 1.3ร— Combines 3 timeframes of buying pressure. Weighted composite.
AO Awesome Oscillator fast=5, slow=34 1.1ร— Midpoint SMA difference. Saucer and Zero Line Crossover signals.
KAMA Kaufman Adaptive Moving Avg length=10, fast=2, slow=30 1.2ร— Adapts to volatility โ€” slow in choppy markets, fast in trending ones.
ROC Rate of Change length=10, scalar=100 1.1ร— Percentage change over N periods. Simple momentum gauge.
RVI Relative Vigor Index length=14, scalar=100 1.4ร— Compares close vs. open range to total high-low range.
TRIX Triple Exponential Average length=15, scalar=100 1.3ร— Triple-smoothed EMA rate of change. Filters out minor price movements.
WILLR Williams %R length=14, scalar=-100 1.2ร— Inverse stochastic. Values near -100 = oversold, near 0 = overbought.
DM Directional Movement length=14 1.2ร— DI+ and DI- directional indicators without the ADX trend-strength component.
PSL Psychological Line length=12 1.1ร— Percentage of candles closing higher than previous candle over period.
๐Ÿ”ต

Trend Indicators

High reliability for trend-following strategies. Moving averages confirm direction; trend strength indicators confirm conviction.

26 indicators
Name Full Name Default Params Weight Description & Use
EMA Exponential Moving Avg length=10 1.5ร— More weight on recent prices. Fast/slow EMA crossover is a foundational trend signal.
SMA Simple Moving Avg length=10 1.5ร— Equal weight across period. Classic support/resistance and crossover signal.
WMA Weighted Moving Avg length=10 1.5ร— Linearly weighted โ€” more recent candles carry more weight than SMA.
HMA Hull Moving Avg length=10 1.6ร— Reduces lag while maintaining smoothness. Responsive to price changes.
DEMA Double Exponential MA length=10 1.6ร— Reduces EMA lag by subtracting error term. Better for fast markets.
TEMA Triple Exponential MA length=10 1.7ร— Further lag reduction over DEMA. High weight suggestion (1.7).
TRIMA Triangular MA length=10 1.5ร— Double-smoothed SMA. Very smooth, significant lag. Best for long trends.
VIDYA Variable Index Dynamic Avg length=14 1.4ร— Adapts based on Chande Momentum Oscillator. Slows in choppy markets.
ADX Average Directional Index length=14 2.0ร— Trend STRENGTH (not direction). Above 25 = strong trend. Highest weight (2.0).
AROON Aroon Up/Down length=14, scalar=100 1.8ร— Measures how recently highs/lows occurred. Crossover = new trend. Weight 1.8.
AMAT Absolute Price Oscillator MA fast=8, slow=21, lookback=2 1.7ร— EMA crossover with trend direction confirmation. Reliable combined signal.
CHOP Choppiness Index length=14, scalar=100 1.4ร— Near 100 = choppy/ranging. Near 0 = strongly trending. Use to filter false signals.
CKSP Chande Kroll Stop length=10 1.3ร— Dynamic stop-and-reverse levels derived from ATR.
PSAR Parabolic SAR af0=0.02, af=0.02, max_af=0.2 1.6ร— Trailing stop dots above/below price. Cross = trend reversal signal.
SUPERTREND Supertrend length=7, multiplier=3.0 2.0ร— ATR-based trend-following. Highest weight (2.0). PSAR alternative with clearer signals.
TRENDFLEX Trendflex Oscillator length=20 1.4ร— Cycle-based trend indicator. Identifies turning points.
VHF Vertical Horizontal Filter โ€” 1.0ร— Distinguishes trending vs. ranging markets. High VHF = trending.
VORTEX Vortex Indicator โ€” 1.0ร— VI+ and VI- detect trend reversals. Cross = new trend.
TTM_TREND TTM Trend โ€” 1.0ร— Identifies trend direction with bar coloring signals.
TSIGNALS Trend Signals โ€” 1.0ร— Generates +1/โˆ’1 trend direction signals from MA alignment.
QSTICK QStick Indicator length=10 1.2ร— Moving average of open-close difference. Buying/selling pressure gauge.
LONG_RUN Long Run โ€” 1.0ร— Boolean: price above MA for extended period.
SHORT_RUN Short Run โ€” 1.0ร— Boolean: price below MA for extended period.
DECAY Decreasing Decay โ€” 1.0ร— Rate of decay/increase in momentum series.
DECREASING Price Decreasing โ€” 1.0ร— Boolean: consecutive decreasing price bars.
INCREASING Price Increasing โ€” 1.0ร— Boolean: consecutive increasing price bars.
๐ŸŸก

Volatility Indicators

Measure market volatility and range expansion. Essential for setting stop-loss distances and identifying breakout conditions.

8 indicators
Name Full Name Default Params Weight Description & Use
BBANDS Bollinger Bands length=20, std=2 1.5ร— Price channels ยฑ2ฯƒ from SMA. Band squeeze = volatility contraction before breakout.
KC Keltner Channel length=20, scalar=2 1.4ร— ATR-based channel around EMA. Wider than BBands in trending markets.
ATR Average True Range length=14 1.5ร— Average of true range over N periods. Use for stop-loss placement (e.g. 1.5ร— ATR).
NATR Normalized ATR length=14 1.5ร— ATR as percentage of close. Comparable across price levels.
DONA Donchian Channel lower=10, upper=15 1.3ร— Highest high / lowest low channels. Classic breakout strategy channel.
MASSI Mass Index fast=9, slow=25 1.3ร— Identifies trend reversals via range expansion. 'Reversal Bulge' signal.
HWC Holt-Winter Channel โ€” 1.0ร— Triple exponential smoothing channel. Adaptive to trend and seasonality.
TRUE_RANGE True Range drift=1 1.0ร— Single-bar range including gap. Foundation for ATR calculation.
๐ŸŸข

Volume Indicators

Confirm price moves with volume conviction. Low-to-medium reliability for options โ€” volume data quality depends on broker feed.

14 indicators
Name Full Name Default Params Weight Description & Use
OBV On-Balance Volume โ€” 1.4ร— Cumulative volume following price direction. Divergence = warning signal.
CMF Chaikin Money Flow length=20 1.4ร— Volume-weighted accumulation/distribution over period. Above 0 = bullish.
MFI Money Flow Index length=14 1.5ร— Volume-weighted RSI. Overbought >80, oversold <20. Highest volume weight.
KVO Klinger Volume Oscillator fast=34, slow=55, signal=13 1.3ร— Long-term money flow direction with short-term sensitivity.
AD Accumulation/Distribution โ€” 1.2ร— Running total of money flow. Divergence from price = trend weakness.
ADOSC A/D Oscillator fast=3, slow=10 1.3ร— MACD applied to A/D line. Crossover = momentum shift in volume flow.
EFI Elder Force Index length=13 1.3ร— Price change ร— volume. Identifies significant buying/selling pressure.
EOM Ease of Movement length=14 1.2ร— Relates price movement to volume. High = price moving easily on low volume.
NVI Negative Volume Index length=1, initial=1000 1.2ร— Cumulates returns on down-volume days. Smart money tracker.
PVI Positive Volume Index length=1, initial=1000 1.2ร— Cumulates returns on up-volume days. Crowd activity tracker.
PVOL Price Volume โ€” 1.0ร— Raw price ร— volume product.
PVR Price Volume Rank โ€” 1.0ร— Relative rank of price-volume combination.
PVT Price Volume Trend drift=1 1.3ร— Cumulative volume adjusted for percentage price change.
VP Volume Profile โ€” 1.0ร— Price levels with highest traded volume. Key support/resistance zones.
๐ŸŸฃ

Statistic Indicators

Statistical measures of price distribution. Useful for identifying unusual price behaviour and volatility regimes.

10 indicators
Name Full Name Default Params Weight Description & Use
ZSCORE Z-Score length=30 1.0ร— Standard deviations from mean. Extreme values = mean reversion candidates.
ENTROPY Price Entropy length=10, base=2 1.0ร— Information content of price series. High = unpredictable/noisy.
KURTOSIS Kurtosis length=30 1.0ร— Fat-tail measure. High kurtosis = extreme moves more likely.
MAD Mean Absolute Deviation length=30 1.0ร— Average absolute deviation from mean. Robust volatility measure.
MEDIAN Rolling Median length=30 1.0ร— More robust than mean to outlier candles.
QUANTILE Rolling Quantile length=30, q=0.5 1.0ร— Percentile of price within rolling window.
SKEW Price Skewness length=30 1.0ร— Asymmetry of price distribution. Positive = right tail dominates.
STDEV Standard Deviation length=30 1.0ร— Classic volatility measure. Foundation for Bollinger Bands.
TOS_STDEVALL TOS StDev All length=30, std=1 1.0ร— ThinkOrSwim-style channel bands using rolling standard deviation.
VARIANCE Rolling Variance length=30 1.0ร— Square of standard deviation. Use StDev for most strategies.
โšช

Others Indicators

Composite indicators, price transforms, and helper signals. Include powerful tools like Squeeze Momentum and Fisher Transform.

21 indicators
Name Full Name Default Params Weight Description & Use
SQUEEZE Squeeze Momentum bb_length=20, kc_length=20 1.0ร— LazyBear Squeeze โ€” identifies consolidation before explosive moves. BBands inside KC = squeeze.
FISHER Fisher Transform length=9 1.0ร— Converts price to Gaussian normal. Sharp reversals at extreme values.
PPO Percent Price Oscillator fast=12, slow=26, signal=9 1.0ร— MACD as percentage. Comparable across instruments at different price levels.
LINREG Linear Regression length=14 1.0ร— Least-squares regression line. Slope indicates trend direction and strength.
SLOPE Price Slope length=1 1.0ร— Rate of change of linear regression. Positive = uptrend.
HWMA Holt-Winter Moving Avg โ€” 1.0ร— Adaptive MA using Holt-Winters triple exponential smoothing.
HA Heikin Ashi โ€” 1.0ร— Modified candles that smooth noise. HA-Close and HA-Open as rule inputs.
LOG_RETURN Log Return length=1 1.0ร— Natural log of price ratio. Used in return-based statistical analysis.
PERCENT_RETURN Percent Return length=1 1.0ร— Simple percentage return over N periods.
MCGD McGinley Dynamic length=10 1.0ร— Self-adjusting MA that automatically adjusts speed to market pace.
CROSSOVER EMA Crossover Signal โ€” 1.0ร— Boolean: fast MA crossed above slow MA on this bar.
CROSS MA Cross Boolean โ€” 1.0ร— True on the exact bar of crossover. Use with lookback for confirmation.
ABOVE Price Above MA โ€” 1.0ร— Boolean: price is currently above the specified MA level.
BELOW Price Below MA โ€” 1.0ร— Boolean: price is currently below the specified MA level.
ABOVE_VALUE Above Scalar Value โ€” 1.0ร— Compare indicator output against a fixed numeric threshold.
BELOW_VALUE Below Scalar Value โ€” 1.0ร— Compare indicator output against a fixed numeric threshold.
CROSS_VALUE Cross Scalar Value โ€” 1.0ร— Indicator crossed a fixed value on this bar.
HL2 High-Low Midpoint โ€” 1.0ร— (High + Low) / 2. Simple midpoint for use in indicator calculations.
HLC3 Typical Price โ€” 1.0ร— (High + Low + Close) / 3. Standard typical price formula.
OHLC4 Average Price โ€” 1.0ร— (O+H+L+C) / 4. Mean of all four OHLC values.
XSIGNALS Extended Signals โ€” 1.0ร— Composite signal generator combining multiple indicator states.
Signal Engine Architecture

How the Confidence Voting System Works

Version 2.9 of the Dynamic Signal Engine โ€” extracted directly from dynamic_signal_engine.py

Confidence Formula

Confidence = ฮฃ(weight_i for passing rules)
             โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
             ฮฃ(weight_i for all rules)

Signal fires when Confidence โ‰ฅ min_confidence
Default min_confidence = 0.60 (60%)

Example: BUY_CALL group with 2 rules
  Rule 1: MACD_Histogram > 0  (weight=1.5) โœ“ PASSES
  Rule 2: RSI > 40            (weight=1.0) โœ— FAILS

Confidence = 1.5 / (1.5 + 1.0) = 60%
โ†’ Exactly meets 60% threshold โ†’ BUY_CALL fires

Signal Priority Order

EXIT_CALL Priority 1 Highest โ€” exit takes precedence over entry when in CALL position
EXIT_PUT Priority 1 Highest โ€” exit takes precedence over entry when in PUT position
HOLD Priority 2 Medium โ€” maintain position, suppress conflicting entry signals
BUY_CALL Priority 3 Standard entry signal โ€” fires only when no higher-priority group active
BUY_PUT Priority 3 Standard entry signal โ€” fires only when no higher-priority group active
WAIT Default No qualifying group reached threshold โ€” no action taken

Conflict Resolution

When both BUY_CALL and BUY_PUT groups reach the confidence threshold simultaneously:

WAIT Default โ€” do nothing. Wait for one side to gain clear majority.
BUY_CALL Force CALL regardless of BUY_PUT result.
BUY_PUT Force PUT regardless of BUY_CALL result.

Day-Gap Protection

The engine detects when the first candle of a new trading day arrives and resets indicator state to prevent false crossover signals caused by the overnight price gap between previous session close and new session open. This is a known source of false signals in systems without this protection.

MTF Filter Integration

Timeframes 1m, 5m, 15m (configurable in Daily Settings)
EMA Fast 9 periods (configurable)
EMA Slow 21 periods (configurable)
Agreement 2 of 3 timeframes must agree (configurable)
Derived from 1-minute OHLCV data (no extra API calls)
Trend direction BULLISH, BEARISH, or NEUTRAL per timeframe
Risk Engine Reference

All Risk Parameters โ€” Default Values from Source

Extracted from ProfitStoplossSetting.py, ReEntrySetting.py, and DailyTradeSetting.py

Profit & Stoploss Settings

ParameterDefaultRangeNotes
profit_type STOP STOP / TRAILING / FIXED 3 exit modes available
tp_percentage 15.0% 0.1 โ€“ 100% Take profit threshold
stoploss_percentage 7.0% 0.1 โ€“ 50% Always stored as positive
trailing_activation_pct 10.0% 0.1 โ€“ 100% TRAILING: gap above entry before SL moves
trailing_sl_at_activation 5.0% -50% โ€“ 100% TRAILING: SL level on first activation
trailing_first_profit 3.0% 0.1 โ€“ 50% Legacy compat parameter
max_profit 30.0% 0.1 โ€“ 200% FIXED: maximum profit cap
profit_step 2.0% 0.1 โ€“ 20% FIXED: step size per profitable bar
loss_step 2.0% 0.1 โ€“ 20% FIXED: step size per losing bar

Re-Entry Guard Settings

ParameterDefaultNotes
allow_reentry True Master on/off switch
min_candles_after_sl 3 Candles to wait after SL exit
min_candles_after_tp 1 Candles to wait after TP exit
min_candles_after_signal 2 Candles to wait after signal exit
min_candles_default 2 Fallback for unknown exit reason
same_direction_only False If True, block only same direction
require_new_signal True Must see fresh BUY signal after wait
price_filter_enabled True Blocks re-entry if price moved too far
price_filter_pct 5.0% Max price divergence from entry
max_reentries_per_day 0 (โˆž) Daily cap. 0 = unlimited

Daily Trade & Risk Settings

ParameterDefaultNotes
exchange NSE National Stock Exchange India
derivative NIFTY50 NIFTY50 / BANKNIFTY / FINNIFTY
lot_size 65 Auto-filled from NSE data
max_daily_loss -โ‚น5,000 Kill switch triggers at this level
max_trades_per_day 10 Hard cap โ€” strategy signals ignored above
daily_target โ‚น5,000 Optional profit target โ€” stops session
min_confidence 0.60 (60%) Per-strategy minimum confidence threshold
market_open_time 09:15 IST โ€” trading starts
market_close_time 15:30 IST โ€” auto-exit before close
use_mtf_filter False Enable Multi-Timeframe EMA filter
mtf_timeframes 1,5,15 Comma-separated timeframes in minutes
mtf_ema_fast 9 Fast EMA period for MTF check
mtf_ema_slow 21 Slow EMA period for MTF check
mtf_agreement_required 2 Min timeframes that must agree

Backtest Configuration & Metrics

Config FieldNotes
start_date / end_date Historical date range for replay
derivative NIFTY / BANKNIFTY / FINNIFTY
expiry_type weekly or monthly
lot_size Units per trade
num_lots Number of lots per signal
Option Pricer Priority 1 Real broker historical data (if available)
Option Pricer Priority 2 Black-Scholes with VIX cache (fallback)
Auto-exit before close 5 minutes before 15:30 IST
Cooldown after re-entry 15-minute minimum between re-entries
Min warmup bars 15 bars before first signal evaluated

BacktestResult Metrics

Net P&L Total Trades Win Rate % Winners Losers Best Trade Worst Trade Avg Net P&L/Trade Max Drawdown Profit Factor Sharpe Ratio Data Source
Broker Integration Reference

8 Brokers via Official SDKs

All connections use the broker's official Python SDK โ€” not screen-scraping or unofficial APIs. OAuth2 authentication on every broker.

F
Fyers fyers_apiv3

Full algo trading support. WebSocket for real-time data. OAuth2 daily renewal.

Z
Zerodha kiteconnect

KiteConnect API. Widely used. Strong WebSocket tick data.

D
Dhan dhanhq

Modern API with good derivatives support. Active development.

A
Angel One smartapi-python

SmartAPI with WebSocket streaming. Supports options chain data.

U
Upstox upstox-python-sdk

Official Upstox v2 SDK. Fast order execution.

S
Shoonya NorenRestApiPy

Finvasia/Shoonya. Same API base as Flattrade.

A
AliceBlue pya3

ANT API. Options-friendly with good OHLCV history.

F
Flattrade NorenRestApiPy

Zero-brokerage. Same NorenRestApiPy SDK as Shoonya.

BaseBroker โ€” Common Features Across All Brokers

Rate Limiter

Sliding-window rate limit with configurable requests/second per broker

Exponential Backoff

Automatic retry on transient API errors with increasing delay

Token Expiry Tracking

TokenExpiryHandler centrally tracks token freshness and triggers re-auth

Balance Helpers

get_available_balance(), get_balance_after_reserve(), get_current_pnl_from_state()

Symbol Helpers

_format_symbol(), _split_symbol(), _to_interval() โ€” unified across brokers

Market Hours

is_market_open(), is_pre_market() delegated from Utils.common โ€” no duplication

GUI Components

21 Built-In Popups & Settings Panels

Every window, dialog, and popup available in the app โ€” all built with PyQt5, themed by ThemeManager (dark/light switchable).

Main Trading Dashboard

TradingGUI (QMainWindow)

Chart panel, status panel, trade panel, mode controls, P&L bar, status bar. All updates via pyqtSignal โ€” zero blocking calls on GUI thread.

Strategy Editor v2

StrategyEditorWindow

Tabbed editor: Info, Signal Rules, Indicators, Help. Left sidebar with strategy list. Create/Copy/Delete/Activate/Revert/Save/Import/Export buttons.

Signal Intelligence Console

DynamicSignalDebugPopup

Live signal evaluation viewer. Signal Groups tab with per-rule breakdown. Raw JSON tab. Confidence bars panel. Indicator Values panel. Auto-refresh 1s.

Daily Trade Settings

DailyTradeSettingGUI

Tabs: Core (exchange, derivative, lot size), Risk (daily loss/target/max trades), MTF (multi-timeframe filter), Info. Save button applies to live state.

Profit & Stoploss

ProfitStoplossSettingGUI

Mode selector (STOP/TRAILING/FIXED). Threshold inputs. Animated save confirmation. Settings applied immediately to running TradeState.

Re-Entry Settings

ReEntrySettingGUI

Master switch, candle wait by exit reason, direction control, signal freshness, price filter, daily cap. Restore defaults button.

Trading Mode

TradingModeSettingGUI

Simulation/Live/Backtest mode selector. Safety settings (confirm-per-trade toggle, live-enable toggle). Simulation settings (balance, slippage).

Brokerage Settings

BrokerageSettingDialog

Tabs: Broker (select broker, credentials), Telegram (bot token, chat ID, enable toggle), Information. Open Login URL, Test Connection, Save buttons.

Broker Login Popup

BrokerLoginPopup

Step 1: Generate OAuth URL (Open in Browser, Copy). Step 2: Paste redirect URL or auth code. Complete Login button. Guided flow per broker.

Trade History

TradeHistoryPopup

Period filter (today/week/month/custom). Table with all order fields. Real-time updates via trade_closed signal. CSV Export button.

Stats Dashboard

StatsPopup

Multi-tab statistics: session P&L, trade metrics, win/loss analysis. All from OrderCRUD + live TradeState. Periodic auto-refresh.

System Monitor

SystemMonitorPopup

Tabs: System (CPU/RAM/Disk via psutil), Trading (threads/queues), Network. Manual GC Run button. Refresh Now button.

Connection Monitor

ConnectionMonitorPopup

Tabs: Connection (WebSocket + Broker API status), Statistics. Reconnect WebSocket, Test Connection buttons. Auto-refresh.

Log Viewer

LogPopup

Severity filter (ALL/INFO/WARNING/ERROR), module filter, text search with Aa case toggle, max messages (20k), wrap toggle. Clear/Pause/Copy/Export/Stats.

Modify SL Dialog

ModifySLDialog

Adjust stop-loss on open position without closing. Input validation. Immediate TradeState update.

Modify TP Dialog

ModifyTPDialog

Adjust take-profit on open position without closing. Input validation. Immediate TradeState update.

Exit Confirm Dialog

ExitConfirmDialog

Confirmation gate before any manual position exit. Shows current P&L at time of confirmation.

Backtest Window

BacktestGUI

Tabs: Overview (10 metrics), Trade Log, Strategy Analysis, Equity Curve, Candle Debug. Strategy/Timeframes/Instrument selectors on right panel. Run/Stop buttons.

Onboarding Wizard

OnboardingPopup

First-launch guided setup: broker selection, instrument, lot size, risk defaults. Skippable. State stored in SQLite on completion.

Upgrade Popup

UpgradePopup

License activation/upgrade flow. Plan comparison. Handles activation_dialog and license_manager integration.

App Status Bar

AppStatusBar

Bottom bar: ready/running state, algorithm mode indicator, data status, process status, order status, position status, connection dot, market status, CPU/MEM/PNL/QUE/MSG meters.

Start Free

94 Indicators. 7 Days. No Card.

Full access to Strategy Editor, Signal Intelligence Console, Backtester, and Paper Mode โ€” free during the 7-day trial. Paper and Backtest remain free forever after.