SweepTick Parameter Sweeps
SweepTick answers "what if I nudged this setting?" by testing many values of one setting, or a full two-setting SweepGrid, in a single Backtick run. Up to 256 test combinations run side by side, so you can see whether your chosen values sit on a stable plateau or on a knife edge where a small change swings the outcome.
What SweepTick does
You build one Core Position, choose a Setting to Sweep, and define the range of values to test. SweepTick generates a position for every value in the range and runs them all in one job, alongside your untouched core as a baseline. Add a second setting with its own range and the sweep becomes a SweepGrid: one test for every combination of the two ranges, rendered on the results page as heatmaps over the grid.
A sweep can take any shape up to 256 combinations: a 1-D sweep of up to 256 values of a single setting, a full 16 x 16 grid, or anything in between, like 4 values of one setting by 64 of another. The results page then lines the iterations up next to each other, which tells you something a single backtest cannot: how sensitive the strategy is to the numbers you picked.
Find it under the Backtick menu as Create SweepTick, at /backtick/sweeptick. For a single quick test of one position instead of a sweep, use QuickTick; to test many positions together, use the full Backtick editor.
Preview Mode and Premium
Every Backtick subscriber can build and preview a sweep. Submitting one for backtesting requires a Premium Backtick subscription. On lower tiers the page shows a Preview Mode notice: you can create and preview SweepTick iterations, and the upgrade link in the notice takes you to your Backtick plan options.
Set the Core Position
The Core Position is the base every iteration copies, and the full position editor is built right into the page below the Core Position card. Start it either way:
- Use Existing Position. Add from Bot preloads the editor from one of your live bots, and Add from Backtick reuses a position from a completed run. The form below fills with that configuration, ready to adjust.
- Create New Position. Just start editing the form. It seeds from your defaults, and every change saves automatically; there is no separate editor to open and no save button to remember.
Reset clears the editor back to a fresh position. As you work, the SweepTick Name up top auto-fills to describe the whole sweep: the core position's name plus the swept range and test count, so a core named "0DTE SPX 40/80" sweeping Profit Target becomes "0DTE SPX 40/80 40%-90% x10". Each generated iteration is named from the core name with its tested value in brackets, like "0DTE SPX 40/80 [40%]", and sweeping an entry time first strips a stale time token from a cloned core's name so the range reads clean. Type a name of your own at any point and it sticks; auto-naming steps aside for good.
A Multi-Entry bot cannot be the core position directly, since SweepTick tests one position and a Multi-Entry bot never trades on its own, only its entries do. In Add from Bot, a Multi-Entry bot's row checkbox is disabled and its badge becomes a View entries button. Click it to drill in to "Viewing Entries of <bot name>", where you pick one entry as the core position; a Back to Bots link returns you to the full list. If none of the bot's entries are enabled, the picker shows "No Enabled Entries Found" with the message "This Multi-Entry bot has no enabled entries to select. Enable at least one entry first."
Two automatic checks help keep the sweep comparable:
- If the core position has Entry Time Randomization enabled, the page recommends disabling it, since randomized entry times make it impossible to compare iterations at exact entry times. A one-click Disable Entry Randomization button handles it.
- SweepTick runs a single core position, so any settings that reference other positions are removed just for this test. A Settings removed for SweepTick notice lists exactly what was stripped: Launch on Stop, dependent bot settings, and, when it doesn't qualify to carry over, "Position open and close signals (needs blank Position Names and Backtick Premium; re-upload via Test Settings)."
Choose the Sweep Setting
The Sweep Setting card is one row: pick the Setting to Sweep, then give it a Step Size, Minimum Value, and Maximum Value. The select lists only the settings actually configured on your core position, each labeled with its current value, and the choices span most of what matters: strike targets (Delta Target, Premium Target, Points OTM, Vertical Width, and the other target types), Target DTE, Profit Target % and $, Exit Time, Entry Window Start and End, Entry Time Randomization, Sequential Entry Delay, stop values (Percent Loss, Dollar Loss, Delta, Underlying Move, and Trailing Stop trigger and trail), position sizing (Quantity, Account Percentage, Leverage), trade value bounds, and daily limits.
As soon as the three values are in, a live Step Size readout shows how many tests fit the range and lists the exact Values the sweep will test, so there are no surprises about what you're about to run. Time settings take times, dollar settings take dollars, and percent settings take percents; validation catches a backwards range, a step too fine for the setting, or a range that would blow past the 256-test cap.
Add a second setting: the SweepGrid
The optional Second Sweep Setting card turns the sweep into a SweepGrid. Pick a different setting, give it its own step and range the same way, and SweepTick tests every combination of the two ranges. A live SweepGrid Size readout shows the grid as you build it, like "16 x 16 = 256 cells", and turns red when the combination would exceed the 256-cell cap, since the cap applies to the total number of tests, not to each setting separately. Any split works: 16 x 16, 4 x 64, 2 x 128. Pairings that adjust the same underlying value (Entry Window Start together with Entry Window End, or two Profit Target modes) can't be combined, and the page says so when you try.
Position open and close signals
If the core position is a When Triggered strategy, or you just want the sweep timed off exact external timestamps instead of the position's own timing rules, attach a signals file from the same Backtick Test Settings card SweepTick shares with regular runs: see Position Open and Close Signals for the CSV formats and upload flow. SweepTick adds one rule on top of the normal ones: every row's Position Name must be left blank. A sweep clones the core position into many renamed iterations, so a named row could never match one of them; a blank name already means "apply to every position," which is exactly what a sweep needs. Attaching a signals file is what makes it possible to sweep a When Triggered strategy at all.
If you add the core position from an existing Backtick or bot that already carries signals, they carry over automatically when you have Backtick Premium and every row in the source file has a blank Position Name. Otherwise they're dropped, and they show up in the Settings removed for SweepTick notice above.
Preview and run
Preview Generated Positions lists every position the sweep will create, numbered, with its name and a column per swept setting, so every SweepGrid cell is listed with both of its values. Review it, set the test period and simulation settings (the same Backtick Test Settings card used elsewhere, covered in Backtick User Settings and Simulation Realism), pick a Commission Profile, add Skip Days if needed, and optionally mark the run Saved so it stays in your Backtick Library. Then click Create & Run.
Reading sweep results
A finished sweep gets a results view built for iteration comparison instead of the standard single-run workup. The info card up top summarizes the sweep itself: the grid dimensions ("22x11 grid: 242 cells"), each swept setting with its range, the test period, and the base position's full configuration. Beside it, Performance by Iteration charts a chosen metric (Total P/L, CAGR, Sharpe, Sortino, MAR, Win Rate, or Max DD) across the swept values, with a crown on the winner, a dashed baseline line for your untouched core position, and a Versus Baseline toggle that re-plots every bar as its difference from that baseline.
SweepTick Best by Metric names the winning iteration for each metric, with its value and its edge over the baseline. Rounding out the view, Iteration Performance and Iteration Drawdowns overlay every iteration's equity curve and drawdown history, Iteration Performance Statistics tables the numbers per iteration, and Returns by Year, Exit Reason Mix, Risk vs Return, and Win Rate vs Payoff weigh the iterations against each other and the baseline. On a 1-D sweep, the Metric Sensitivity Grid shows per-metric minis across the range, and Refine Around Winner on the Best by Metric card starts a new, tighter sweep seeded from the winning value.
Reading SweepGrid results
A two-setting sweep adds the heatmap layer. SweepGrid Metric Heatmaps shows a mini-heatmap of the whole grid for every metric at once, the fastest way to see whether Total P/L, Sharpe, and Win Rate agree about which corner of the grid works. Click any mini to feature it in the full-size SweepGrid Heatmap below.
The featured heatmap puts one swept setting on each axis and colors every cell by the selected metric, green toward profit and red toward loss, with the scale shown on the legend underneath. The best cell in the grid is outlined in white, a hatched cell means the metric is undefined for that combination (for example a drawdown ratio where the iteration never drew down), and on grids small enough to stay readable each cell prints its value.
With two swept settings, Performance by Iteration shows one slice of the grid at a time, and the slice controls under the chart choose which slice. The Iterate over toggle picks which setting runs across the chart, and the slider holds the other setting at a fixed value while you compare along the first. The heatmap outlines the row or column you're currently slicing, so you always know where the chart sits in the grid.
A completed sweep can also go straight back into the editor: Edit & Rerun on the results page discards the run's results and reopens that same run at Create SweepTick with the core position loaded and every swept range prefilled, so you can widen a range, swap a setting, or tighten the step and rerun without rebuilding anything. The rerun replaces the original run rather than piling up copies; use Copy first if you want to keep the old results.
To read a sweep like an ordinary run, use Switch to Backtick Results View on the results page, or open one iteration from the tables to get the full standard workup for just that position. Backtick Results: Deep-Dive Analytics covers the rest of the results page.