Info

Format: parameters joined by &

instrumentRequired. Ticker symbol, e.g. BTCUSD or CME:NIYH2026
entryRequired. DDMMYYYY,price[,units] or DDMMYYYY-HHMM,price[,units] (hour used only on the hourly chart) — multiple separated by |
exitOptional. Same format as entry
stop_lossOptional. Price only (no date) or DDMMYYYY,price — multiple separated by |
targetOptional. Target price (single value). Must be above entry for long, below for short.
noteOptional. Free text notes separated by | for multiple lines. Displayed in the stats bar. A note line starting Daily pattern: labels the pattern box.
pattern_start_dateOptional. DDMMYYYY. Draws a highlight box spanning the high/low of all bars from this date up to entry. Must be before entry.
pattern_daysOptional. Integer. Alternative to pattern_start_date — counts back this many bars from the entry bar to start the pattern box.

Example — Long BTCUSD, 2 entries scaling in, 1 exit, stop loss adjusted once:

instrument=BTCUSD&entry=06112024,73972,2|11112024,82095,1&exit=05022025,92000,3&stop_loss=66216|26112024,88200

Buy 2 units at 73972 on 06/11/2024, add 1 unit at 82095 on 11/11/2024. Initial stop at 66216, raised to 88200 on 26/11/2024. Exit all 3 units at 92000 on 05/02/2025.

ATR Trailing Stop overlay (TStp dropdown)

Trailing-stop lines are computed on the chart's bars (whatever timeframe is shown). Most flavors are pure Wilder ATR(14) ratchets and do not use the trade's stop_loss param; the two exceptions are MG (initial stop = the trade stop) and the Stair flavors (which ratchet to swing lows instead of an ATR distance — see below). The line value at bar N is the stop level that would trigger an exit on bar N: bar N's OHLC is checked against the line at bar N. So the line starts at the initial stop on the entry bar, and the bar at the end of the line is the one that crosses (or gaps through) it. If the trade is still open at the last bar, a short dashed segment projects the stop one bar forward.

Std 2.0Single multiplier. First-day stop = entry ∓ 2.0×ATR. Each subsequent bar: trailing = max(prev, high − 2.0×ATR) for long (mirror for short). Matches the original pinescript.
BE 1.0→2.0Tight pre-breakeven, relax after. Same formula but multiplier = 1.0 while trailing is still on the loss side of entry; the first bar trailing crosses entry, the multiplier flips to 2.0 and stays there.
BE 1.5→2.0Same logic as BE 1.0 but with a less aggressive 1.5× pre-breakeven multiplier — a moderate compromise between Std 2.0 and BE 1.0.
BE 1.0→3.0"Runner" variant. Tight 1.0× pre-breakeven (same loser-cap as BE 1.0→2.0) but the post-breakeven multiplier widens to 3.0×, giving winners more room before the trail catches up.
BE 0.5/1.0 (0.5×ATR init)Tight stop: synthetic initial floor at entry ± 0.5×ATR (overrides the trade's stop_loss param). Trail multiplier 0.5× pre-breakeven, 1.0× post-breakeven. The plotted line is a single continuous effective stop: starts at the synthetic init level, then follows the trail upward as it tightens past it.
BE 0.5/1.25Tight 0.5×ATR pre-breakeven, moderate 1.25×ATR post-breakeven. A 0.15% min-distance floor caps how close the effective stop can sit to entry (prevents degenerate near-zero stops in low-vol regimes); the breakeven flip still tracks the unclamped trail.
BE 0.25/3.0Very tight 0.25×ATR pre-breakeven, wide 3.0×ATR post-breakeven runner. Same 0.15% min-distance floor as above.
MG 1.25/2.0Fitted clone of the trader's actual exit style. Initial stop = the trade's stop_loss (from the URL/trade input) when one is given; if no stop is provided it falls back to entry ± 0.5×ATR. From there: 1.25×ATR ratchet pre-breakeven, 2.0×ATR post-breakeven. The only flavor whose initial stop honors the recorded trade stop instead of a pure ATR distance.
Stair 50/50 cR33 0.25Swing-low staircase — not an ATR ratchet. Initial stop = entry ± 0.25×ATR (floored at 0.15% of entry). Thereafter, each time price makes a new extreme since entry, the stop jumps to the most recent confirmed swing low — a 1-bar pivot, i.e. a bar whose low is below the bar immediately before and after it (swing highs for shorts), confirmed one bar later so there's no look-ahead — and never loosens. While each pullback holds above the last swing low the trade stays in; close/trade through a swing low and it's out. ("50/50" = sell half at the 1× height target and half at 2×; "cR33" = constant 33 bp risk sizing — neither moves the stop line, so the chart draws only the staircase.)
Stair 50/50 cR33 0.5The same swing-low staircase as Stair 0.25, but with a wider 0.5×ATR initial stop — it survives the first pullback after entry more often, at the cost of a larger initial risk.
Stair ∩ 2.5×ATR 0.25 / 0.5Hybrid — the effective stop at each bar is the tighter of two legs run in parallel: the swing-low staircase (above) and a flat 2.5×ATR ratchet trail (high − 2.5×ATR, monotone). Both start from the same initial stop (0.25× or 0.5×ATR). The ATR leg keeps creeping up while price holds near its highs even when no new swing low prints — so on a top/rollover after the last new high (where the pure staircase freezes), this trail still tightens. Whichever leg is closer to price wins, bar by bar.

Default is None. Use the URL parameter trailing_stop=std|be10|be15|be13|be05|be0512|be0230|mg|st25|st50|sa25|sa50 to auto-select on load.

Toolbar buttons

D / W / HTimeframe: Daily, Weekly, or Hourly bars. Hourly is required to see intraday entry/exit times (DDMMYYYY-HHMM).
UnadjToggle unadjusted prices — turns off split adjustment (raw historical prices instead of split-adjusted).
Cont / BAdj3-state futures mode. Click to cycle: specified contract (as typed) → Cont (continuous front-month, e.g. CBOT:UBH2026→CBOT:UB1!) → BAdj (back-adjusted continuous — splices contracts removing roll gaps, best for long-term charts).
CSVImport a CSV/TSV of trades and step through them with the Prev/Next navigator. Column mapping is auto-detected with a confirmation dialog.
📷Export the current chart as a PNG image.

URL options (auto-apply on load)

timeframedaily|weekly|hourly (aliases d|w|h, 1D|1W|60) — opens the chart at that timeframe instead of the default Daily.
trailing_stopstd|be10|be15|be13|be05|be0512|be0230|mg|st25|st50|sa25|sa50 — pre-selects a trailing-stop flavor.
conttrue|1|yes|on — loads as continuous front-month (same as one click of the Cont button).
badjtrue|1|yes|on — loads as back-adjusted continuous (the BAdj mode). Takes precedence over cont.

Example: ?instrument=CBOT:UBH2026&entry=02022026,115&badj=true&timeframe=weekly opens directly in back-adjusted continuous mode on the weekly chart.