PerpIntel
Contents

HOW IT WORKS

Strategy setups

Simple toggles for current experimental setups; only entry-reference, stop-loss and take-profit lines on your existing chart.

Last reviewed November 2026

The current setup panel

Research setup availability uses a deliberately simpler, user-authorized screen: nonzero later-sample trades, positive measured net return after fees/slippage/funding, and profit factor above 1. This is an availability rule, not proof of a profitable edge. Volatility breakout, Range reversion, Sweep reversal, Cascade proxy, Bollinger + RSI and Mean reversion are selectable; Trend pullback, Time-series momentum and Volume impulse continuation have negative later net return and remain research-only. Every original strict gate and result is retained separately: none of the nine passes every strict validation requirement. No dates, rules, parameters or historical metrics were changed to create a pass. Saved choices are filtered only to available IDs, preserving the user's existing choices; newly available strategies are never silently selected. The master visualization preference remains independent of individual selections. Entry alerts are opt-in for new users and follow the same availability screen, causal confirmation and freshness guards. Each row carries a live status chip (forming side, in position, no setup, needs history, or waiting on data). A reward:risk figure is computed from the displayed references, and the tested-interval line notes when the current chart interval is untested. Strategy rules, methodology, validation gates and the reasons researched setups are not offered live on this How it works page rather than in expandable terminal explanations.

No qualifying current candidate means no strategy drawings. No old trade is substituted. Chart captions prefix Long or Short to the full strategy name, followed by Entry reference, Take profit or Stop loss. Coincident levels of the same role merge into one line with complete names joined by a plus sign. Strategy lines are anchored at their decision candle with a short lookback rather than spanning all visible history, and each drawn setup shades a loss-tinted band between entry reference and stop plus a gain-tinted band between entry reference and target — canvas pixels only, never scale or viewport changes. Captions are omitted if they collide or cannot fit within a limited part of the chart, especially on mobile; full strategy names, side and all three plainly named numeric references remain visible in the strategy panel below. Omitted captions never fall back to opaque codes or move the viewport. Levels outside the visible price range stay offscreen; the chart is never moved to reveal them.

Support and live entry conditions

The retained research renderer can evaluate OHLC rules on BTCUSDT, ETHUSDT and SOLUSDT perpetuals at the actual chart interval: 1m, 5m, 15m, 1h, 4h, 1D, Monday-aligned 1w, or custom whole-minute intervals from 1 through 10,080. Periods and holding limits remain selected-chart bars. Detection portability does not transfer research validation: Sweep reversal, Cascade proxy, Bollinger + RSI and Mean reversion metrics cover only ETH 1h; Trend pullback, Volatility breakout and Range reversion metrics cover only BTC/ETH/SOL 4h. No other timeframe backtest is implied, and the app never changes the chart to force a setup.

A current candidate evaluates the shared strategy detector on the actual forming exchange candle, using only history through the latest update. It must qualify now. Original rules require 150 completed warmup bars; Sweep requires 40 completed bars; the other reference rules require 25. A candidate is conditional, not an order or a filled position: conditions must still qualify at that candle's close, then the mechanical entry is at the next open. A previous signal's next-open fill is never offered as an entry available today. The one-position-per-strategy replay can block a fresh candidate while its earlier simulated position has not exited or reached the next-open time limit; its old levels are not shown.

Before confirmation, Entry reference is only an indicative next-open level: latest traded close with 1 bp adverse entry slippage. For original rules, stop and target are ATR distances from that reference. For source-adapted rules, stop is the current rejection wick plus the rule's simple-ATR buffer and target is its risk multiple or current SMA20. All references recompute while the candle forms. The actual next opening fill is unknown and may differ. Source rules assume signal-close entry; this adaptation explicitly uses next-open entry and skips openings already outside the frozen signal stop/target. Source-adapted stops and targets freeze at the decision candle in historical simulation. No entry zone, confirmed close, future fill or price path is invented.

Freshness and invalidation

Only a ready, online Binance exchange feed with a matching market/interval key can supply a current setup. The latest candle must be the UTC-aligned candle containing the current clock time. History must be continuous with valid positive OHLC values and nonnegative volume. Exchange updates older than 45 seconds, updates over five seconds ahead of the local clock, missing forming candles, offline snapshots, loading/error states or insufficient warmup publish no levels. The client rechecks time every second and on visibility changes, so stale drawings disappear without waiting for a new successful request.

Changing market, interval, disabling a toggle, losing freshness or losing the forming conditions removes obsolete strategy lines immediately. Enabled toggles retain their meaning: if a new valid candidate later forms on a supported chart it may appear automatically. These are independent experimental strategies, not a synchronized executable portfolio or account positions. No orders, alerts to third parties, brokerage activity or live trading are performed.

Source-adapted hypotheses

  • Sweep reversal: price takes the prior 20-bar extreme and closes back inside with a directional candle, at least 35% rejection wick and range at least 0.8× SMA ATR14. Stop 0.2× ATR beyond the wick; signal risk strictly between 0.5× and 2.5× ATR; target 2.8× signal risk; maximum 50 holding bars.
  • Cascade proxy: two preceding directional candles, penetration of the 20-bar 2.2 sample-SD band, simple RSI14 below 35/above 65 and opposite candle with at least 35% rejection wick. Stop 0.2× ATR beyond the wick, risk strictly 0.5–2.5× ATR, target 2.5× risk, maximum 48 bars. This is an OHLC/RSI pattern, not measured liquidation activity, institutional absorption or funding imbalance.
  • Bollinger + RSI: 2.2 sample-SD band penetration, simple RSI14 below 30/above 70, opposite candle and at least 30% rejection wick. Stop 0.25× SMA ATR14 beyond the wick, risk strictly 0.5–2.2× ATR, target 2.2× risk, maximum 40 bars. These are the source implementation's conditions; its prose mentions different wick/re-entry wording.
  • Mean reversion: band penetration, simple RSI14 below 32/above 68, opposite candle and at least 25% wick. Stop 0.2× ATR beyond the wick; risk strictly 0.4–2.5× ATR. Target is signal SMA20 and must exceed 1.2× risk in the profitable direction. Target stays fixed after entry; maximum 30 bars.
  • The source uses simple rolling true-range mean ATR14, sample standard deviation (ddof=1) and simple rolling-gain/loss RSI14 with a 1e-9 denominator buffer. Shared TypeScript decisions match all 809 signal times/directions and source-rounded levels from its reviewed pure Python detector on the frozen 13,896-candle ETH sample. Source TP1 values are metadata: its server outcome detector evaluates full stop/target, so this adaptation does not add partial profits or breakeven trailing.

Original hypotheses

  • Trend pullback: EMA20 above EMA50 with EMA20 rising over five bars; low touches EMA20 and close recovers above it. Short inverts conditions. Stop 2× Wilder ATR14, target 3× ATR14, maximum 18 bars.
  • Volatility breakout: close exceeds the prior 20-bar high/low, excluding the current bar, with Wilder ATR14 above its 50-bar mean. Stop 2× ATR14, target 4× ATR14, maximum 18 bars.
  • Range reversion: close returns inside a 20-bar, two-population-SD Bollinger band after the previous close was outside; absolute five-bar EMA50 change below ATR14. Stop 1.5× ATR14, target 2.25× ATR14, maximum 12 bars. EMA seeds at the first close. Original historical metrics remain bit-for-bit reproducible after sharing the execution engine.

Research and execution assumptions

Net PF, Return and close-marked DD appear beside each checkbox, scoped to its actual tested markets/interval and August–October 2026 holdout. The shared caption states 10,000 USDT/book, 1% stop risk and maximum 1× notional. Methodology and failed validation gates are documented on this How it works page. It never opens old candles on the main chart. Source: Binance USDⓈ-M /fapi/v1/klines and /fapi/v1/fundingRate, with reported settlement mark prices. The original study contains 3,474 four-hour candles and 1,737 settlements per BTC/ETH/SOL market. The new reference study contains 13,896 continuous ETH one-hour candles and the same complete 1,737-event ETH funding series from April 1, 2025 through October 31, 2026 UTC.

Both use development April 1, 2025–July 31, 2026, four chronological reset folds, then the later August 1–October 31 holdout. Each evaluation starts flat, seeds causal indicators from earlier bars and closes remaining positions at the final close. Rules, costs and gates are fixed without parameter search. Source hypotheses may already have been selected on overlapping history, and earlier repository research overlapped these markets. This is chronological re-evaluation, not independent replication or a previously unseen holdout claim.

Each isolated strategy/market book starts at 10,000 USDT. Initial stop risk is capped at 1% equity and notional at 1× equity; gaps/costs can exceed stop risk. Entry and exit each pay assumed 5 bps taker commission on executed notional and 1 bp adverse slippage. Settlement funding is deducted as side × quantity × reported mark × funding rate. Exact open settlements apply to pre-existing positions, not new entries. Uncertain intrabar exit ordering charges funding debits and omits uncertain credits. Opening gaps are resolved before barriers; ambiguous stop/target bars stop out first. Time exits use the next open after the maximum holding bars. Source-adapted invalid entry gaps are skipped, with full exit at stop/target and no partial TP1.

Net R is trade P&L after costs/funding divided by quantity × initial stop distance. Profit factor is summed positive net P&L divided by absolute summed negative net P&L. Return is net P&L / initial capital with subsequent equity-based sizing. Drawdown is peak-to-trough candle-close marked equity; intrabar extremes are omitted. Impact, spread variation, latency, exchange rounding and liquidation are not modeled. Undefined statistics show a dash.

Results and verification status

No strategy passes every preset gate. Original pooled holdout: trend pullback 67 trades, −0.191R expectancy, 0.64 PF, 6.01% close-marked drawdown; breakout 38 trades, +0.165R, 1.30 PF, 3.21% drawdown; reversion 94 trades, +0.186R, 1.45 PF, 3.67% drawdown. Original gates require at least 60 pooled and 10 per-market holdout trades, positive development/holdout expectancy, at least 3/4 positive development folds, PF above 1.1, positive net on at least two markets and drawdown below 15%.

Source-adapted ETH 1h holdout: Sweep reversal 33 trades, +0.854R expectancy, 3.16 PF, +29.76% return, 4.91% close-marked drawdown; Cascade proxy 23 trades, +1.199R, 6.16 PF, +25.69% return, 2.51% drawdown; Bollinger + RSI 23 trades, +0.726R, 3.81 PF, +17.07% return, 2.32% drawdown; Mean reversion 28 trades, +0.460R, 2.67 PF, +12.85% return, 2.19% drawdown. All four fail the 60-trade floor, positive development expectancy and 3/4 positive-fold requirement. Favorable later-sample results do not establish a durable edge.

Reference repository YandomsEnvironment/strat-alerts is pinned at commit 4b91170f8e0219e94447c647dbb46d0e3e576b90. Its backend/server.py has four implemented causal detectors, but its STRATEGY_META scorecard is hardcoded rather than computed on request. Its historical ACTIVE status and chart auto-zoom are not current entry availability. We adapt the detectors and simple level-rendering idea, not its scorecard, auto-navigation, dual-chart UI or unsupported narratives.

Additional fixed hypotheses and results

Two additional hypotheses were specified in engine/strategies/additional-protocol.json before running their later-sample evaluation, with no parameter search or post-result tuning. Time-series momentum enters when a 24-bar return crosses zero in the direction of price versus EMA100, stop 2 ATR14, target 3 ATR14, maximum 18 bars. Volume impulse continuation requires volume at least twice its prior 20-bar mean, body at least 65% of range, range above ATR14 and close beyond the prior three-bar extreme in the candle direction, stop 1.5 ATR14, target 2.5 ATR14, maximum six bars. Both use 150-bar warmup and the unchanged shared conservative execution engine.

The additional study reuses the exact archived BTC/ETH/SOL 4h candles and real funding, original April 2025–July 2026 development, four reset folds and August–October 2026 later sample, with the same costs, risk sizing and unchanged strict study gates. Time-series momentum: 56 later trades, −3.70% return, 0.65 PF, 4.69% close-marked drawdown; negative development expectancy and failed sample-size/consistency gates. Volume impulse continuation: 55 later trades, −1.09% return, 0.87 PF, 3.63% drawdown; failed sample-size, consistency, later expectancy/PF and market-breadth gates. Neither is active. Already inspected history is not a pristine holdout or independent replication. These failures are retained, not tuned away or replaced with profitable-looking claims.

npm run research:additional-strategies reproduces src/data/additional-strategies.json, with protocol/code/archive hashes. npm run test:strategy-eligibility verifies its exact reproduction and the lightweight src/data/strategy-eligibility.json against every underlying report and its SHA-256. Both original research commands regenerate the availability registry as well. The later availability screen is explicitly separate from unchanged strict study gates; positive historical results do not become validated performance.

Audit detail — reproduction & protocol

Reproduction and audit

Original frozen archive engine/strategies/visualizer-history.json.gz and report src/data/strategy-visualizer.json reproduce with npm run research:strategies. The separate engine/strategies/reference-history.json.gz and pinned reference-server.py.txt include reference identity, source hash, fixed rules/protocol and code fingerprint; src/data/reference-strategies.json records the results and archive SHA-256. npm run research:reference-strategies reproduces this report offline. Explicit -- --fetch replaces the public exchange archive; it is never an installed schedule.

npm run test:strategies verifies the older engine parity, original exact report reproduction, conservative execution/funding cases, current freshness/compatibility/invalidation and reference causal-prefix invariance. scripts/verify-reference-parity.py independently prepares rolling indicators with the Python standard library and evaluates only the reviewed pure detector AST from the pinned source, never its server/import/startup code. Browser QA uses actual exchange candles for real screenshots. Any deterministic qualifying fixture is explicitly labeled test input, not a live setup or current performance claim.

Research tooling, not trading advice — see the terms and privacy policy. Questions or corrections: [email protected].