Edge or Not

Research · method

How we test crypto trading signals

Almost every popular trading idea looks convincing on a chart drawn in hindsight. We test them the other way around: rules first, then data, a control for luck, a second period, costs included - and the result is published whatever it says. This page is the standard every test on the site follows.

The seven rules

  1. Pre-registration. Before any data is loaded we write down the claim, the exact entry and exit, the data, the controls, the pass mark and the known weaknesses. The code is committed before the run. The order is visible in the commit history of our version control. Any change to the rules happens only as a dated addendum written before the run, never after seeing the result.
  2. Primary-source data. Exchange APIs and public archives (prices, funding, open interest, order books), not a third-party summary. Every number on a page comes from a result file, a database or a live API response, never from memory.
  3. A control for luck. The signal must beat what chance produces on the same data: random entries on the same coins and dates, the opposite side, a related condition (for example funding alone, when we test funding plus open interest), or shuffled labels.
  4. A second period. The result has to hold on a period the idea was not designed on, and for some tests on forward data collected after the rules were fixed.
  5. Costs included. Fees and slippage are deducted from every trade (0.15% round trip in our funding, open interest and listings tests, 0.20% in the spot-based altcoin season and Bull Market Support Band tests; each page states its figure), and funding paid or received during the hold is added.
  6. A written verdict rule. See the next section.
  7. Published as is. "No edge" and "undecided" are results. We say what we could not check.

How a verdict is decided

VerdictWhat it takes
EdgeThe average result per trade is above zero after costs, the t-statistic is above 2, and the result beats the control (p below 0.05) on the first period and on the second period separately.
ConditionalIt passes on the first period or on the whole sample but not on the second.
UndecidedToo few trades or events to judge (each test states its minimum in advance - usually 30 trades per period, 8 episodes for a bitcoin cycle test, 200 events for the liquidation test), or a forward test is still running.
No edgeAnything else: enough data and the result is not distinguishable from chance, or it is negative.

The p-value comes from resampling: we draw the same number of trades from the control group at least 10,000 times (100,000 in the Uptober test) and count how often a random draw does at least as well as the signal. The t-statistic and p-value are explained in the glossary. A high win rate alone never decides anything: several signals we tested win most of their trades and still average about zero, because a few trades lose far more than the typical win.

What we have tested

TestData and sampleControlVerdict
Liquidation clusters as magnetsBTC, ETH, 105 events in the first 30 days; forward test runningMirror level on the other sideUndecided
Pumps always dump1,215 pumps on Binance futures, April-October 2026A level at the same distance on the other side; shuffled sidesNo edge
UptoberBitcoin monthly returns 2013-2026, 13 OctobersShuffled monthsNo edge
Rainbow chartBitcoin 2016-2026, bands fitted only on data known at the timeBuy and hold; random strategies with the same number of tradesNo edge
Altcoin season82 month-ends 2019-2026, 8 readingsEvery month, against bitcoinNo edge
Extreme funding522 Binance coins, 1.8 million payments, 2024-2026Same position at every paymentNo edge
Funding plus rising open interest522 coins; first run on 20 coins was undecidedFunding aloneNo edge
New listings348 Binance futures listings 2024-2026Older coins on the same datesNo edge
Bull Market Support Band17 touches, bitcoin 2018-2026Random days in the same bull contextNo edge

All results side by side: crypto trading strategies, tested. What is active right now: signals today.

What our method cannot do

Data and freshness

Live pages use public data from Binance, Bybit, OKX, Gate, Hyperliquid and BingX. Liquidation heatmaps are a model: no exchange publishes where individual positions would be liquidated, so levels are estimated from open interest, price and leverage assumptions. Order book heatmaps, funding, open interest and liquidations are exchange data. Our data and charts are free to use with a link under CC BY 4.0.

Corrections log

If we find an error on a published page we fix it and add a line here with the date. No corrections so far. Spotted something wrong? Write to contact@edgeornot.com.

FAQ

What does "no edge" mean on Edge or Not?

That on the data we tested and after costs, the signal did not do better than chance by the pass mark we wrote down before the run. It does not prove the idea can never work.

What is pre-registration in a backtest?

Writing down the exact rules, the data, the controls and the pass criterion before looking at any result. It prevents choosing the version of an idea that happened to work on the past data.

Why do you use a control group?

Because most price moves partly reverse or trend by chance. A signal is only meaningful if it beats what random entries, the opposite side or a related condition produce on the same data.

Why a second period?

A result that holds only on the data used to look at the idea may be luck or overfitting. The signal must pass on a period it was not designed on, and for some tests also on forward data collected after the rules were fixed.

How do you handle mistakes?

Errors found after publication are fixed on the page and noted with the date in the corrections log. The rules of a test never change after the data is loaded except by a dated addendum written before the run.

Education and measurement of past data. Not investment advice. See the risk disclaimer.