Strategies & Builder¶
Built-in strategy catalog¶
| Strategy | Type | Best for |
|---|---|---|
| MACD Momentum | Trend-following | Single-stock daily swings |
| Mean Reversion | Counter-trend | Range-bound stocks, RSI signals |
| Trend Following | Trend | EMA crossover with ADX filter |
| Stochastic Crossover | Counter-trend | Overbought/oversold reversals |
| Volume Breakout | Trend | Confirms direction via volume spikes |
| VWAP Trend | Trend | Intraday/multi-day VWAP-anchored |
| Covered Call (F&O) | Income | Premium collection on held stock |
| Calendar Spread (F&O) | Volatility | Time-decay capture |
Each strategy exposes a small set of parameters (EMA periods, stop-loss %, etc.) you can tweak before running. Defaults are honest, not curve-fit to a specific stock.
Strategy Builder (no-code)¶
The Strategy Builder (the Builder item in the sidebar, /strategy-builder) lets you compose a custom strategy from indicator building blocks — no code. It's a three-pane screen: an indicator palette on the left, the strategy canvas in the middle, and an actions panel on the right.
To build one:
- Add indicators from the palette (grouped into Trend, Momentum, Volatility, Volume). Each opens a small Configure dialog for its parameters (period, source) — out-of-range values are auto-clamped to a valid range.
- Entry Rules (BUY) and Exit Rules (SELL) — add one or more rules; each rule combines conditions with ALL (AND) or ANY (OR). A condition is three parts: left operand, an operator (
>,<,>=,<=,==, Crosses Above, Crosses Below), and a right operand (another indicator/field, or a fixed number). - Risk — set Stop Loss % and Target % on your entry rules.
- Save it. It then appears alongside the built-ins when you configure a backtest.
A starter template (Golden Cross, RSI Mean Reversion, MACD Momentum, Bollinger Breakout, Supertrend Follow) pre-fills a working rule set you can tweak. The Equity / F&O toggle switches between equity rules here and the options payoff builder for F&O.
The actions panel also gives you a plain-English summary of your rules and two pre-backtest checks:
Logic Check¶
Logic Check validates your rules as you edit — live, with no run needed. It flags:
- Impossible conditions (⛔) — a threshold outside a bounded indicator's range, e.g. "RSI is 0–100, so
rsi14 > 100can never be true." - Contradictions (⛔) — the same operand bounded both ways inside an AND rule, e.g. "
rsi14 > 70andrsi14 < 30can't both be true." - Very-restrictive thresholds (⚠️) — valid but unlikely to fire, e.g. an
RSI > 80entry — "valid but very restrictive — expect few signals."
When nothing's wrong it shows "No logical issues detected." Logic Check is advisory — it never blocks you from saving or running.
Check Signals¶
Check Signals previews how often your rules would fire over a date window without simulating any trades — a fast sanity check before a full backtest. It reuses the Symbol and date range from the Backtest panel and reports:
- Bars scanned, Entry signals, Exit signals (counts over the window).
- For each entry rule, the % of bars it fires, broken down per condition — so you can see which condition is the bottleneck (e.g. a rule that fires 0% of the time because one condition never triggers).
Use it to tune thresholds until you get a sane number of signals, then run the backtest.
Start simple
First-time builder users often combine 4-5 conditions and end up with a strategy that fits the past but won't generalise. Start with one indicator pair; only add more if you can explain why each one helps and the out-of-sample performance survives adding it. Use Check Signals to confirm each added condition isn't silently killing all your signals.
Optimizer¶
The Optimizer runs a grid search across a parameter range and ranks the runs. Pick the strategy, pick which parameters to vary (e.g. EMA fast 5-15, EMA slow 20-50), and the grid is materialised.
The result table is sortable by total return, Sharpe, drawdown, win rate. Look at all four, not just total return — the strategy with the highest return often has the worst drawdown and is the most curve-fit.
Overfitting is the enemy
Grid search will always find some parameter combination that worked well in the past. That doesn't mean it'll work in the future. Best practice:
- Out-of-sample test: optimize on 2020-2023, then run the best parameters on 2024-2025 untouched. If it falls apart, your strategy was fitting noise.
- Pick a robust region, not the single best cell. If only one cell in the grid looks good and everything around it is bad, that cell is luck.
Scanner¶
The Scanner runs a quick condition (e.g. "RSI < 30 today") across a list of symbols and shows the matches. Useful for finding setups manually before building them into a strategy.