Basics
mode: spot
timeframe: 1h
interface version: 3
Settings
stoploss: -0.1
has minimal roi
startup candle count: 30
Indicators
EMA
talib
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 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 | # Generated strategy from RDP visual builder # PRAGMA pylint: disable=missing-docstring, invalid-name, pointless-string-statement import pandas as pd import numpy as np from freqtrade.strategy import IStrategy, merge_informative_pair from pandas import DataFrame import talib.abstract as ta import freqtrade.vendor.qtpylib.indicators as qtpylib class GeneratedStrategy(IStrategy): """ Generated strategy class """ # Strategy interface version INTERFACE_VERSION = 3 # Minimal ROI designed for the strategy minimal_roi = { "60": 0.01, "30": 0.02, "0": 0.04 } # Optimal stoploss stoploss = -0.10 # Optimal timeframe for the strategy timeframe = '1h' # Используем 1h так как у нас есть данные для этого timeframe # Can this strategy go short? can_short: bool = False # These values can be overridden in the config use_exit_signal = True exit_profit_only = False ignore_roi_if_entry_signal = False # Number of candles the strategy requires before producing valid signals startup_candle_count: int = 30 def __init__(self, config: dict = None): """Инициализация стратегии с конфигурацией""" if config is None: config = {} super().__init__(config) def populate_indicators(self, dataframe: DataFrame, metadata: dict) -> DataFrame: """ Adds several different TA indicators to the given DataFrame """ dataframe['indicator_0x16a3000a0'] = ta.EMA(dataframe['close'], timeperiod=12) dataframe['indicator_0x16a301810'] = ta.EMA(dataframe['close'], timeperiod=26) dataframe['math_0x16a301a80'] = dataframe['indicator_0x16a3000a0'] - dataframe['indicator_0x16a301810'] return dataframe def populate_entry_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: """ Based on TA indicators, populates the entry signal for the given dataframe """ # Initialize entry columns dataframe['enter_long'] = 0 dataframe['enter_short'] = 0 dataframe.loc[(dataframe['math_0x16a301a80'] > 0), 'enter_long'] = 1 return dataframe def populate_exit_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: """ Based on TA indicators, populates the exit signal for the given dataframe """ # Initialize exit columns dataframe['exit_long'] = 0 dataframe['exit_short'] = 0 dataframe.loc[(dataframe['math_0x16a301a80'] < 0), 'exit_long'] = 1 return dataframe |
Strategy League — fixed backtest that feeds the ranking
Export report Freqtrade logsRun finished · took 116.0s
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+73.08%
final wallet1731 USDT
win rate71.6%
max drawdown-59.75%
market change+447.62%
vs market-374.54%
timeframe1h
profit factor1.01
expectancy ratio0.004
break-even fee0.1066%
sharpe2.951
sortino2.917
CAGR+11.6%
calmar1.281
avg MFE+2.12%
avg MAE-2.10%
avg profit/trade0.01%
avg duration5h 37m
best trade+4.11%
worst trade-10.18%
win/loss streak172 / 36
positive months31/61
consistent (3-mo)49.2%
worst 3-mo-56.69%
trades55092
revision1
likely annual return+11%
range (5th–95th)-3% … +29%
chance of profit89.0%
worst-5% outcome-6%
significance (p)0.1144
risk of ruin0.0%
- profit isn't statistically significant (p=0.11) — hard to tell apart from luck
- did not beat simply holding the market
- 89% of resampled runs stayed profitable
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 |
|---|---|---|---|---|---|---|---|---|---|
| Jan 2026 | bullish trending low vol | 2 | -0.13 | -0.67 | 0 | 2 | 0.0 | -26.95 | 9h 00m |
| Dec 2025 | bearish trending low vol | 755 | -25.06 | -0.33 | 448 | 307 | 59.3 | -27.52 | 6h 35m |
| Nov 2025 | bearish trending high vol | 851 | -6.22 | -0.07 | 562 | 289 | 66.0 | -19.57 | 5h 16m |
| Oct 2025 | bearish trending low vol | 743 | -10.87 | -0.15 | 497 | 246 | 66.9 | -13.92 | 6h 19m |
| Sep 2025 | bullish choppy low vol | 632 | -2.54 | -0.04 | 393 | 239 | 62.2 | -9.8 | 8h 04m |
| Aug 2025 | bullish choppy low vol | 741 | +0.30 | 0.00 | 526 | 215 | 71.0 | -8.19 | 6h 27m |
| Jul 2025 | bullish choppy low vol | 937 | +23.97 | 0.26 | 724 | 213 | 77.3 | -9.66 | 5h 56m |
| Jun 2025 | bearish choppy low vol | 708 | +1.93 | 0.03 | 463 | 245 | 65.4 | -12.74 | 6h 47m |
| May 2025 | bullish trending low vol | 928 | +16.57 | 0.18 | 681 | 247 | 73.4 | -18.43 | 5h 11m |
| Apr 2025 | bullish choppy low vol | 951 | +6.87 | 0.07 | 672 | 279 | 70.7 | -24.48 | 5h 48m |
| Mar 2025 | bearish trending high vol | 968 | +7.56 | 0.08 | 700 | 268 | 72.3 | -23.55 | 5h 23m |
| Feb 2025 | bearish trending low vol | 901 | -22.07 | -0.25 | 609 | 292 | 67.6 | -24.34 | 4h 43m |
| Jan 2025 | bearish choppy low vol | 944 | +9.60 | 0.10 | 681 | 263 | 72.1 | -16.02 | 5h 41m |
| Dec 2024 | bullish trending low vol | 1122 | +4.86 | 0.04 | 817 | 305 | 72.8 | -18.8 | 4h 27m |
| Nov 2024 | bullish trending low vol | 1339 | +52.96 | 0.40 | 1107 | 232 | 82.7 | -46.22 | 4h 18m |
| Oct 2024 | bullish choppy low vol | 728 | -2.11 | -0.03 | 490 | 238 | 67.3 | -46.15 | 7h 48m |
| Sep 2024 | bearish choppy low vol | 784 | +9.77 | 0.12 | 531 | 253 | 67.7 | -52.4 | 7h 26m |
| Aug 2024 | bearish choppy high vol | 787 | +5.40 | 0.07 | 553 | 234 | 70.3 | -52.52 | 6h 19m |
| Jul 2024 | bearish trending low vol | 759 | +11.29 | 0.15 | 562 | 197 | 74.0 | -56.01 | 7h 08m |
| Jun 2024 | bearish choppy low vol | 625 | -19.42 | -0.31 | 362 | 263 | 57.9 | -57.3 | 7h 33m |
| May 2024 | bullish choppy high vol | 818 | +1.98 | 0.02 | 540 | 278 | 66.0 | -48.73 | 6h 45m |
| Apr 2024 | bearish choppy high vol | 759 | -20.09 | -0.26 | 496 | 263 | 65.3 | -47.48 | 6h 00m |
| Mar 2024 | bullish trending high vol | 1109 | -15.57 | -0.14 | 815 | 294 | 73.5 | -40.08 | 5h 29m |
| Feb 2024 | bullish trending low vol | 866 | +11.33 | 0.13 | 639 | 227 | 73.8 | -37.08 | 7h 07m |
| Jan 2024 | bearish choppy high vol | 895 | -16.38 | -0.18 | 597 | 298 | 66.7 | -37.74 | 6h 02m |
| Dec 2023 | bullish trending low vol | 1160 | +1.92 | 0.02 | 865 | 295 | 74.6 | -30.37 | 5h 37m |
| Nov 2023 | bullish trending low vol | 991 | -5.77 | -0.06 | 724 | 267 | 73.1 | -30.22 | 5h 54m |
| Oct 2023 | bullish trending low vol | 753 | +17.32 | 0.23 | 519 | 234 | 68.9 | -37.59 | 7h 44m |
| Sep 2023 | bearish choppy low vol | 644 | +3.26 | 0.05 | 376 | 268 | 58.4 | -36.6 | 8h 38m |
| Aug 2023 | bearish choppy low vol | 616 | -18.41 | -0.30 | 308 | 308 | 50.0 | -35.29 | 8h 21m |
| Jul 2023 | bullish trending low vol | 864 | -2.52 | -0.03 | 551 | 313 | 63.8 | -28.44 | 7h 01m |
| Jun 2023 | bullish trending low vol | 776 | +6.99 | 0.09 | 538 | 238 | 69.3 | -34.98 | 6h 44m |
| May 2023 | bearish choppy low vol | 534 | -6.74 | -0.13 | 293 | 241 | 54.9 | -30.21 | 9h 45m |
| Apr 2023 | bullish trending low vol | 704 | -11.81 | -0.17 | 452 | 252 | 64.2 | -26.3 | 7h 48m |
| Mar 2023 | bullish trending high vol | 852 | +12.56 | 0.15 | 595 | 257 | 69.8 | -32.87 | 5h 28m |
| Feb 2023 | bullish trending low vol | 750 | +4.07 | 0.05 | 516 | 234 | 68.8 | -28.81 | 6h 09m |
| Jan 2023 | bullish trending low vol | 1042 | +53.88 | 0.52 | 820 | 222 | 78.7 | -54.32 | 6h 12m |
| Dec 2022 | bearish trending low vol | 551 | -19.66 | -0.36 | 255 | 296 | 46.3 | -54.79 | 9h 10m |
| Nov 2022 | bearish trending high vol | 772 | -6.14 | -0.08 | 540 | 232 | 69.9 | -51.82 | 6h 06m |
| Oct 2022 | bullish choppy low vol | 702 | +3.49 | 0.05 | 455 | 247 | 64.8 | -47.88 | 7h 31m |
| Sep 2022 | bearish choppy high vol | 889 | -10.23 | -0.12 | 621 | 268 | 69.9 | -44.36 | 5h 48m |
| Aug 2022 | bullish choppy high vol | 766 | -12.76 | -0.17 | 522 | 244 | 68.1 | -38.11 | 6h 09m |
| Jul 2022 | bearish trending high vol | 1191 | +44.08 | 0.37 | 940 | 251 | 78.9 | -55.8 | 4h 31m |
| Jun 2022 | bearish trending high vol | 912 | -23.91 | -0.26 | 637 | 275 | 69.8 | -59.75 | 4h 11m |
| May 2022 | bearish trending high vol | 941 | -3.18 | -0.03 | 711 | 230 | 75.6 | -50.48 | 4h 15m |
| Apr 2022 | bearish choppy high vol | 652 | -29.60 | -0.45 | 383 | 269 | 58.7 | -40.03 | 6h 06m |
| Mar 2022 | bullish choppy high vol | 953 | +7.10 | 0.07 | 693 | 260 | 72.7 | -39.42 | 5h 53m |
| Feb 2022 | bearish trending high vol | 858 | +10.34 | 0.12 | 664 | 194 | 77.4 | -35.49 | 4h 48m |
| Jan 2022 | bearish trending high vol | 817 | -11.14 | -0.14 | 591 | 226 | 72.3 | -38.01 | 5h 26m |
| Dec 2021 | bearish trending high vol | 828 | -16.31 | -0.20 | 577 | 251 | 69.7 | -30.03 | 5h 47m |
| Nov 2021 | bullish trending high vol | 906 | -19.34 | -0.21 | 655 | 251 | 72.3 | -24.03 | 5h 24m |
| Oct 2021 | bullish trending high vol | 1031 | -0.99 | -0.01 | 759 | 272 | 73.6 | -11.5 | 5h 47m |
| Sep 2021 | bearish trending high vol | 994 | -8.30 | -0.08 | 743 | 251 | 74.7 | -12.01 | 4h 36m |
| Aug 2021 | bullish trending high vol | 1221 | +19.70 | 0.16 | 953 | 268 | 78.1 | -7.91 | 4h 38m |
| Jul 2021 | bearish trending high vol | 1000 | +19.45 | 0.19 | 775 | 225 | 77.5 | -18.36 | 4h 46m |
| Jun 2021 | bearish trending high vol | 922 | -7.64 | -0.08 | 694 | 228 | 75.3 | -20.68 | 4h 17m |
| May 2021 | bearish trending high vol | 1584 | +3.35 | 0.02 | 1240 | 344 | 78.3 | -36.43 | 2h 59m |
| Apr 2021 | bearish choppy high vol | 1523 | +12.49 | 0.08 | 1222 | 301 | 80.2 | -23.16 | 3h 42m |
| Mar 2021 | bullish choppy high vol | 1259 | +24.29 | 0.19 | 995 | 264 | 79.0 | -26.89 | 4h 33m |
| Feb 2021 | bullish trending high vol | 1575 | -1.36 | -0.01 | 1264 | 311 | 80.3 | -27.2 | 3h 18m |
| Jan 2021 | bullish trending high vol | 1907 | +20.66 | 0.11 | 1531 | 376 | 80.3 | -24.42 | 3h 05m |
Yearly breakdown
| Year | Trades | Profit % | Avg % | Win | Loss | Win % | DD % | Avg dur |
|---|---|---|---|---|---|---|---|---|
| 2026 | 2 | -0.13 | -0.67 | 0 | 2 | 0.0 | -26.95 | 9h 00m |
| 2025 | 10059 | +0.04 | -0.00 | 6956 | 3103 | 69.2 | -27.52 | 5h 55m |
| 2024 | 10591 | +24.02 | 0.02 | 7509 | 3082 | 70.9 | -57.3 | 6h 09m |
| 2023 | 9686 | +54.75 | 0.06 | 6557 | 3129 | 67.7 | -54.32 | 6h 53m |
| 2022 | 10004 | -51.61 | -0.05 | 7012 | 2992 | 70.1 | -59.75 | 5h 37m |
| 2021 | 14750 | +46.00 | 0.03 | 11408 | 3342 | 77.3 | -36.43 | 4h 11m |
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 patterns · 2 thing(s) worth reviewing before trusting the numbers
| Line | Pattern | Detail | |
|---|---|---|---|
| 48 | review | startup_candles_too_small | startup_candle_count is 30, but EMA(timeperiod=26) needing 3x warmup needs at least 78 candles -- so the first 48+ candles of every backtest use an indicator that hasn't warmed up. Recursive indicators (EMA/RSI/ADX/ATR) want several times their period, not exactly it |
| 76 | review | short_without_can_short | writes enter_short, exit_short but can_short isn't True, so freqtrade never opens a short (it also requires futures/margin mode). Worse, freqtrade only takes a long when `not any([exit_long, enter_short])`, so every row you mark enter_short SUPPRESSES that candle's long entry and opens nothing in its place. |
ran by Ron · took s
Lookahead analysis
freqtrade lookahead-analysis: detects strategies peeking at future candles.