Basics
mode: spot
timeframe: 1h
interface version: 3
Settings
stoploss: -0.1
has minimal roi
startup candle count: 20
Concepts
breakout
15 related strategies (⧉ identical code, ≈ similar name)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | from __future__ import annotations import pandas as pd try: from freqtrade.strategy import IStrategy except ImportError: class IStrategy: # type: ignore[no-redef] pass class BreakoutStrategy(IStrategy): INTERFACE_VERSION = 3 can_short = False timeframe = "1h" startup_candle_count = 20 minimal_roi = {"0": 100.0} stoploss = -0.10 use_exit_signal = True def populate_indicators(self, dataframe: pd.DataFrame, metadata: dict) -> pd.DataFrame: dataframe["previous_high"] = dataframe["high"].rolling(5, min_periods=5).max().shift() dataframe["previous_low"] = dataframe["low"].rolling(3, min_periods=3).min().shift() dataframe["volume_sma20"] = dataframe["volume"].rolling(20, min_periods=1).mean() true_range = pd.concat([ dataframe["high"] - dataframe["low"], (dataframe["high"] - dataframe["close"].shift()).abs(), (dataframe["low"] - dataframe["close"].shift()).abs(), ], axis=1).max(axis=1) dataframe["atr"] = true_range.rolling(14, min_periods=1).mean() dataframe["atr_percent"] = dataframe["atr"] / dataframe["close"] * 100 return dataframe def populate_entry_trend(self, dataframe: pd.DataFrame, metadata: dict) -> pd.DataFrame: dataframe.loc[(dataframe["close"] > dataframe["previous_high"]) & (dataframe["volume"] >= dataframe["volume_sma20"]) & (dataframe["atr_percent"] < 3.5), "enter_long"] = 1 return dataframe def populate_exit_trend(self, dataframe: pd.DataFrame, metadata: dict) -> pd.DataFrame: dataframe.loc[dataframe["close"] < dataframe["previous_low"], "exit_long"] = 1 return dataframe |
Strategy League — fixed backtest that feeds the ranking
Export report Freqtrade logsRun finished · took 51.2s
pairs 33 pairs
timerange 20210101-20260101
mode spot
timeframe 1h
stake 100 USDT
wallet 1000 USDT
max open trades 10
fee exchange lowest tier
total profit-90.07%
final wallet99 USDT
win rate33.2%
max drawdown-95.71%
market change+447.62%
vs market-537.69%
timeframe1h
profit factor0.93
expectancy ratio-0.048
break-even fee0.0463%
sharpe-1.837
sortino-5.389
CAGR-37.0%
calmar-0.984
avg MFE+4.04%
avg MAE-2.56%
avg profit/trade-0.11%
avg duration10h 23m
best trade+120.89%
worst trade-10.18%
win/loss streak15 / 37
positive months9/31
consistent (3-mo)20.7%
worst 3-mo-58.62%
trades8400
revision1
likely annual return-60%
range (5th–95th)-71% … -43%
chance of profit0.0%
worst-5% outcome-73%
significance (p)0.9775
risk of ruin0.0%
- profit isn't statistically significant (p=0.98) — hard to tell apart from luck
- only 0% of resampled runs were profitable
- profitable in only 21% of rolling 3-month windows
- did not beat simply holding the market
- very deep drawdown (-96%)
Resampling the trade sequence 2,000× shows the spread of results this edge could plausibly produce — separating a dependable strategy from one that got lucky once.
Loading charts…
Monthly breakdown
| Month | Regime | Trades | Profit % | Avg % | Win | Loss | Win % | DD % | Avg dur |
|---|---|---|---|---|---|---|---|---|---|
| Jul 2023 | bullish trending low vol | 48 | -3.59 | -0.75 | 13 | 35 | 27.1 | -95.71 | 9h 46m |
| Jun 2023 | bullish trending low vol | 42 | +1.08 | 0.26 | 16 | 26 | 38.1 | -95.09 | 13h 21m |
| May 2023 | bearish choppy low vol | 63 | -2.51 | -0.40 | 17 | 46 | 27.0 | -94.68 | 8h 34m |
| Apr 2023 | bullish trending low vol | 59 | -4.19 | -0.71 | 18 | 41 | 30.5 | -93.61 | 10h 10m |
| Mar 2023 | bullish trending high vol | 74 | -2.72 | -0.37 | 24 | 50 | 32.4 | -91.75 | 10h 19m |
| Feb 2023 | bullish trending low vol | 103 | -3.72 | -0.36 | 35 | 68 | 34.0 | -90.67 | 9h 39m |
| Jan 2023 | bullish trending low vol | 112 | -2.63 | -0.23 | 33 | 79 | 29.5 | -89.54 | 10h 14m |
| Dec 2022 | bearish trending low vol | 132 | -6.47 | -0.49 | 26 | 106 | 19.7 | -88.0 | 10h 44m |
| Nov 2022 | bearish trending high vol | 208 | -25.75 | -1.24 | 49 | 159 | 23.6 | -85.04 | 8h 49m |
| Oct 2022 | bullish choppy low vol | 248 | -7.11 | -0.29 | 84 | 164 | 33.9 | -74.87 | 11h 00m |
| Sep 2022 | bearish choppy high vol | 316 | -18.63 | -0.59 | 89 | 227 | 28.2 | -70.85 | 10h 21m |
| Aug 2022 | bullish choppy high vol | 339 | -19.25 | -0.57 | 94 | 245 | 27.7 | -63.85 | 9h 55m |
| Jul 2022 | bearish trending high vol | 370 | +2.54 | 0.07 | 129 | 241 | 34.9 | -59.56 | 10h 31m |
| Jun 2022 | bearish trending high vol | 299 | -15.78 | -0.53 | 80 | 219 | 26.8 | -58.35 | 9h 48m |
| May 2022 | bearish trending high vol | 327 | -30.80 | -0.94 | 105 | 222 | 32.1 | -50.87 | 8h 12m |
| Apr 2022 | bearish choppy high vol | 313 | -12.04 | -0.39 | 92 | 221 | 29.4 | -35.5 | 9h 55m |
| Mar 2022 | bullish choppy high vol | 389 | +2.06 | 0.05 | 137 | 252 | 35.2 | -36.22 | 11h 26m |
| Feb 2022 | bearish trending high vol | 291 | +12.28 | 0.42 | 111 | 180 | 38.1 | -36.49 | 11h 33m |
| Jan 2022 | bearish trending high vol | 363 | -18.33 | -0.50 | 112 | 251 | 30.9 | -37.41 | 9h 20m |
| Dec 2021 | bearish trending high vol | 382 | -12.21 | -0.32 | 125 | 257 | 32.7 | -30.69 | 9h 46m |
| Nov 2021 | bullish trending high vol | 391 | -9.86 | -0.25 | 130 | 261 | 33.2 | -24.27 | 10h 29m |
| Oct 2021 | bullish trending high vol | 399 | -8.64 | -0.22 | 132 | 267 | 33.1 | -19.1 | 11h 22m |
| Sep 2021 | bearish trending high vol | 349 | -5.42 | -0.16 | 120 | 229 | 34.4 | -15.58 | 10h 22m |
| Aug 2021 | bullish trending high vol | 383 | +17.72 | 0.46 | 159 | 224 | 41.5 | -23.06 | 10h 52m |
| Jul 2021 | bearish trending high vol | 405 | -12.48 | -0.31 | 132 | 273 | 32.6 | -22.54 | 8h 59m |
| Jun 2021 | bearish trending high vol | 291 | -9.13 | -0.31 | 90 | 201 | 30.9 | -19.26 | 9h 52m |
| May 2021 | bearish trending high vol | 281 | -13.08 | -0.47 | 102 | 179 | 36.3 | -12.23 | 9h 26m |
| Apr 2021 | bearish choppy high vol | 351 | +34.85 | 0.99 | 157 | 194 | 44.7 | -3.21 | 11h 59m |
| Mar 2021 | bullish choppy high vol | 418 | +14.39 | 0.34 | 149 | 269 | 35.6 | -9.29 | 11h 02m |
| Feb 2021 | bullish trending high vol | 306 | +49.75 | 1.62 | 111 | 195 | 36.3 | -8.94 | 11h 56m |
| Jan 2021 | bullish trending high vol | 348 | +19.57 | 0.56 | 117 | 231 | 33.6 | -14.01 | 11h 21m |
Yearly breakdown
| Year | Trades | Profit % | Avg % | Win | Loss | Win % | DD % | Avg dur |
|---|---|---|---|---|---|---|---|---|
| 2023 | 501 | -18.28 | -0.36 | 156 | 345 | 31.1 | -95.71 | 10h 07m |
| 2022 | 3595 | -137.28 | -0.38 | 1108 | 2487 | 30.8 | -88.0 | 10h 08m |
| 2021 | 4304 | +65.46 | 0.15 | 1524 | 2780 | 35.4 | -30.69 | 10h 37m |
Trade charts — best 2 and worst 2 performing pairs (full OHLC candles are expensive to render for every pair)
Backtests — over a market period
Backtest this strategy over a chosen crypto-cycle period. These don't affect the League ranking, and need that period's candle data downloaded.
Log in or sign up to run backtests.
| Period | Range | Total % | Win % | Max DD | Trades | |
|---|---|---|---|---|---|---|
| 2020 · DeFi Summer & Pre-Halving Rally | 20200101-20210101 | not run | ||||
| 2021 · Institutional Bull Market | 20210101-20220101 | not run | ||||
| 2022 · Post-Bull Crash & Macro Tightening | 20220101-20230101 | not run | ||||
| 2023–2024 · Recovery & ETF Anticipation | 20230101-20250101 | not run | ||||
| 2025–2026 · Current Cycle | 20250101-20260101 | not run | ||||
Walk forward
Out-of-sample backtest on recent data · 33 pairs · 20260101-20260701.
Backtest trust check
no lookahead-bias patterns detected
ran by Ron · took s
Lookahead analysis
freqtrade lookahead-analysis: detects strategies peeking at future candles.