diff --git a/engine/example/comparison_2h_6h.py b/engine/example/comparison_2h_6h.py new file mode 100644 index 0000000..4efe263 --- /dev/null +++ b/engine/example/comparison_2h_6h.py @@ -0,0 +1,1053 @@ +""" +2h/6h 策略全维度对比回测 — 9策略 × 4币种 × 2时间级别 × 4数据量 + +8个网络知名策略 + 牛熊自适应策略(RegimeDetector3投票) +在 2h 和 6h 两个新时间级别上的表现对比。 + +用法: + source .venv/bin/activate && python example/comparison_2h_6h.py +""" + +import asyncio +import json +import statistics +import sys +import time +from datetime import datetime, timedelta, timezone +from pathlib import Path +from typing import Optional, Type + +_project_root = Path(__file__).resolve().parent.parent.parent +if str(_project_root) not in sys.path: + sys.path.insert(0, str(_project_root)) + +from engine.common.base import BaseStrategy, Signal, StrategyConfig +from engine.common.models import Kline +from engine.common.config import config +from engine.backtest.models import BacktestConfig, BacktestResult +from engine.data import DataService +from engine.indicators.incremental import EmaInc, AtrInc, RsiInc, BbInc +from engine.example.long_short import LongShortEngine + +# ── 全局常量 ── +SYMBOLS = ["BTCUSDT", "ETHUSDT", "BNBUSDT", "SOLUSDT"] +TIMEFRAMES = ["2h", "6h"] +INITIAL = 10_000.0 +WARMUP = 150 +MAX_CONCURRENCY = 6 + +NOW = datetime.now(timezone.utc) +PERIODS = { + "全量": (None, None), + "近两年": (NOW - timedelta(days=730), NOW), + "近一年": (NOW - timedelta(days=365), NOW), + "近半年": (NOW - timedelta(days=182), NOW), +} + +MIN_BARS_FOR_PERIOD = { + "全量": 500, + "近两年": 200, + "近一年": 100, + "近半年": 50, +} + + +# ════════════════════════════════════════════════════════ +# 策略 1:海龟交易 (Turtle Trading) +# ════════════════════════════════════════════════════════ + +class TurtleConfig(StrategyConfig): + entry_period: int = 20 + exit_period: int = 10 + atr_period: int = 20 + atr_stop: float = 2.0 + + +class TurtleStrategy(BaseStrategy): + strategy_type = "趋势跟踪" + strategy_desc = "Donchian 20/10通道突破 + 2N ATR止损,多空双向" + + def __init__(self, c: TurtleConfig): + super().__init__(c) + self.cfg = c + self._highs: list[float] = [] + self._lows: list[float] = [] + self._closes: list[float] = [] + self._atr = AtrInc(c.atr_period) + self._side: str = "" + self._entry_price: float = 0.0 + self._highest_since: float = 0.0 + self._lowest_since: float = float("inf") + + async def on_kline(self, k: Kline) -> Optional[Signal]: + self._highs.append(k.high) + self._lows.append(k.low) + self._closes.append(k.close) + self._atr.update(k.high, k.low, k.close) + n = len(self._closes) + min_bars = max(self.cfg.entry_period, self.cfg.atr_period) + 5 + if n < min_bars: + return None + ca = self._atr[-1] + if ca == 0: + return None + d_high = max(self._highs[-(self.cfg.entry_period + 1):-1]) + d_low = min(self._lows[-(self.cfg.entry_period + 1):-1]) + d_exit_high = max(self._highs[-(self.cfg.exit_period + 1):-1]) + d_exit_low = min(self._lows[-(self.cfg.exit_period + 1):-1]) + + if self._side == "long": + self._highest_since = max(self._highest_since, k.high) + stop = self._entry_price - self.cfg.atr_stop * ca + trail = self._highest_since - self.cfg.atr_stop * ca * 0.5 + if k.close < d_exit_low or k.close < max(stop, trail): + self._side = "" + return Signal(symbol=self.cfg.symbol, side="SELL", reason="海龟退出", timestamp=k.open_time, confidence=0.25) + elif self._side == "short": + self._lowest_since = min(self._lowest_since, k.low) + stop = self._entry_price + self.cfg.atr_stop * ca + trail = self._lowest_since + self.cfg.atr_stop * ca * 0.5 + if k.close > d_exit_high or k.close > min(stop, trail): + self._side = "" + return Signal(symbol=self.cfg.symbol, side="BUY", reason="海龟退出", timestamp=k.open_time, confidence=0.25) + else: + margin = 0.002 + if k.close > d_high * (1 + margin): + self._side = "long" + self._entry_price = k.close + self._highest_since = k.close + return Signal(symbol=self.cfg.symbol, side="BUY", reason="突破20日高", timestamp=k.open_time, confidence=0.25) + elif k.close < d_low * (1 - margin): + self._side = "short" + self._entry_price = k.close + self._lowest_since = k.close + return Signal(symbol=self.cfg.symbol, side="SELL", reason="跌破20日低", timestamp=k.open_time, confidence=0.25) + return None + + +# ════════════════════════════════════════════════════════ +# 策略 2:超级趋势 (SuperTrend) +# ════════════════════════════════════════════════════════ + +class SuperTrendConfig(StrategyConfig): + atr_period: int = 10 + multiplier: float = 3.0 + + +class SuperTrendStrategy(BaseStrategy): + strategy_type = "趋势跟踪" + strategy_desc = "ATR(10)×3倍动态跟踪止损带,趋势翻转即反转" + + def __init__(self, c: SuperTrendConfig): + super().__init__(c) + self.cfg = c + self._atr = AtrInc(c.atr_period) + self._highs: list[float] = [] + self._lows: list[float] = [] + self._closes: list[float] = [] + self._trend: int = 0 + self._final_upper: float = 0.0 + self._final_lower: float = 0.0 + + async def on_kline(self, k: Kline) -> Optional[Signal]: + self._highs.append(k.high) + self._lows.append(k.low) + self._closes.append(k.close) + self._atr.update(k.high, k.low, k.close) + n = len(self._closes) + if n < self.cfg.atr_period + 5: + return None + ca = self._atr[-1] + if ca == 0: + return None + hl2 = (k.high + k.low) / 2.0 + upper = hl2 + self.cfg.multiplier * ca + lower = hl2 - self.cfg.multiplier * ca + prev_upper = self._final_upper + prev_lower = self._final_lower + prev_trend = self._trend + + if k.close > prev_upper and prev_upper > 0: + self._trend = 1 + elif k.close < prev_lower and prev_lower > 0: + self._trend = -1 + + if self._trend == 1: + self._final_lower = max(lower, prev_lower) if prev_lower > 0 else lower + self._final_upper = float("inf") + elif self._trend == -1: + self._final_upper = min(upper, prev_upper) if prev_upper > 0 else upper + self._final_lower = float("-inf") + else: + self._final_upper = upper + self._final_lower = lower + + if prev_trend == self._trend: + return None + if self._trend == 1: + return Signal(symbol=self.cfg.symbol, side="BUY", reason="SuperTrend转多", timestamp=k.open_time, confidence=0.25) + elif self._trend == -1: + return Signal(symbol=self.cfg.symbol, side="SELL", reason="SuperTrend转空", timestamp=k.open_time, confidence=0.25) + return None + + +# ════════════════════════════════════════════════════════ +# 策略 3:MACD 金叉死叉 +# ════════════════════════════════════════════════════════ + +class MacdCrossConfig(StrategyConfig): + fast: int = 12 + slow: int = 26 + signal: int = 9 + atr_period: int = 14 + atr_stop: float = 2.0 + + +class MacdCrossStrategy(BaseStrategy): + strategy_type = "动量" + strategy_desc = "MACD(12,26,9)零轴上金叉做多/零轴下死叉做空+ATR止损" + + def __init__(self, c: MacdCrossConfig): + super().__init__(c) + self.cfg = c + self._ema_fast = EmaInc(c.fast) + self._ema_slow = EmaInc(c.slow) + self._atr = AtrInc(c.atr_period) + self._macd_vals: list[float] = [] + self._signal_vals: list[float] = [] + self._side: str = "" + self._entry_price: float = 0.0 + self._bars_held: int = 0 + + async def on_kline(self, k: Kline) -> Optional[Signal]: + fe = self._ema_fast.update(k.close) + se = self._ema_slow.update(k.close) + self._atr.update(k.high, k.low, k.close) + n = len(self._ema_fast) + min_bars = max(self.cfg.slow, self.cfg.signal) + 10 + if n < min_bars: + return None + macd = fe - se + self._macd_vals.append(macd) + if len(self._macd_vals) < self.cfg.signal + 2: + self._signal_vals.append(0.0) + return None + if len(self._signal_vals) < self.cfg.signal: + self._signal_vals.append(0.0) + if len(self._signal_vals) == self.cfg.signal: + self._signal_vals[-1] = sum(self._macd_vals[-self.cfg.signal:]) / self.cfg.signal + return None + k_sig = 2.0 / (self.cfg.signal + 1) + sig_val = macd * k_sig + self._signal_vals[-1] * (1 - k_sig) + self._signal_vals.append(sig_val) + if len(self._signal_vals) < 3: + return None + cur_m, cur_s = self._macd_vals[-1], self._signal_vals[-1] + prev_m, prev_s = self._macd_vals[-2], self._signal_vals[-2] + ca = self._atr[-1] + if ca == 0: + return None + golden = prev_m <= prev_s and cur_m > cur_s + death = prev_m >= prev_s and cur_m < cur_s + + if self._side == "long": + self._bars_held += 1 + stop = self._entry_price - self.cfg.atr_stop * ca + if k.close < stop or (death and self._bars_held > 3): + self._side = ""; self._bars_held = 0 + return Signal(symbol=self.cfg.symbol, side="SELL", reason="MACD退出", timestamp=k.open_time, confidence=0.25) + elif self._side == "short": + self._bars_held += 1 + stop = self._entry_price + self.cfg.atr_stop * ca + if k.close > stop or (golden and self._bars_held > 3): + self._side = ""; self._bars_held = 0 + return Signal(symbol=self.cfg.symbol, side="BUY", reason="MACD退出", timestamp=k.open_time, confidence=0.25) + else: + if golden and cur_m > 0: + self._side = "long"; self._entry_price = k.close; self._bars_held = 0 + return Signal(symbol=self.cfg.symbol, side="BUY", reason="MACD零轴上金叉", timestamp=k.open_time, confidence=0.25) + elif death and cur_m < 0: + self._side = "short"; self._entry_price = k.close; self._bars_held = 0 + return Signal(symbol=self.cfg.symbol, side="SELL", reason="MACD零轴下死叉", timestamp=k.open_time, confidence=0.25) + return None + + +# ════════════════════════════════════════════════════════ +# 策略 4:布林收缩爆发 (Bollinger Squeeze) +# ════════════════════════════════════════════════════════ + +class BBSqueezeConfig(StrategyConfig): + bb_period: int = 20 + bb_std: float = 2.0 + kc_period: int = 20 + kc_mult: float = 1.5 + squeeze_lookback: int = 30 + atr_stop: float = 2.0 + + +class BBSqueezeStrategy(BaseStrategy): + strategy_type = "波动率突破" + strategy_desc = "BB收缩至KC内部后扩张爆发,顺势入场 + ATR止损" + + def __init__(self, c: BBSqueezeConfig): + super().__init__(c) + self.cfg = c + self._bb = BbInc(c.bb_period, c.bb_std) + self._ema = EmaInc(c.kc_period) + self._atr_kc = AtrInc(c.kc_period) + self._atr_stop = AtrInc(14) + self._closes: list[float] = [] + self._side: str = "" + self._entry_price: float = 0.0 + self._bb_widths: list[float] = [] + self._kc_widths: list[float] = [] + self._was_squeezed: bool = False + self._squeeze_bars: int = 0 + + async def on_kline(self, k: Kline) -> Optional[Signal]: + self._closes.append(k.close) + bb_u, bb_m, bb_l = self._bb.update(k.close) + typical = (k.high + k.low + k.close) / 3.0 + kc_mid = self._ema.update(typical) + self._atr_kc.update(k.high, k.low, k.close) + self._atr_stop.update(k.high, k.low, k.close) + n = len(self._closes) + min_bars = max(self.cfg.bb_period, self.cfg.kc_period, self.cfg.squeeze_lookback) + 5 + if n < min_bars: + return None + atr_kc = self._atr_kc[-1] + ca = self._atr_stop[-1] + if atr_kc == 0 or ca == 0 or bb_u == 0: + return None + kc_u = kc_mid + self.cfg.kc_mult * atr_kc + kc_l = kc_mid - self.cfg.kc_mult * atr_kc + bb_width = bb_u - bb_l + kc_width = kc_u - kc_l + self._bb_widths.append(bb_width) + self._kc_widths.append(kc_width) + is_squeezed = bb_u < kc_u and bb_l > kc_l + lookback = min(self.cfg.squeeze_lookback, len(self._bb_widths)) + recent_bb_w = self._bb_widths[-lookback:] + min_bb_w = min(recent_bb_w) + width_squeeze = bb_width < min_bb_w * 1.2 + was_squeezed = self._was_squeezed + fired = False + if is_squeezed: + self._was_squeezed = True + self._squeeze_bars += 1 + elif self._was_squeezed: + self._was_squeezed = False + self._squeeze_bars = 0 + fired = True + ema5 = sum(self._closes[-5:]) / 5.0 if n >= 5 else k.close + up_momentum = k.close > bb_m and k.close > ema5 + down_momentum = k.close < bb_m and k.close < ema5 + + if self._side == "long": + stop = self._entry_price - self.cfg.atr_stop * ca + if k.close < stop or (down_momentum and not is_squeezed): + self._side = "" + return Signal(symbol=self.cfg.symbol, side="SELL", reason="BB退出", timestamp=k.open_time, confidence=0.25) + elif self._side == "short": + stop = self._entry_price + self.cfg.atr_stop * ca + if k.close > stop or (up_momentum and not is_squeezed): + self._side = "" + return Signal(symbol=self.cfg.symbol, side="BUY", reason="BB退出", timestamp=k.open_time, confidence=0.25) + else: + if was_squeezed and fired and width_squeeze: + if up_momentum: + self._side = "long"; self._entry_price = k.close + return Signal(symbol=self.cfg.symbol, side="BUY", reason="BB收缩爆发做多", timestamp=k.open_time, confidence=0.25) + elif down_momentum: + self._side = "short"; self._entry_price = k.close + return Signal(symbol=self.cfg.symbol, side="SELL", reason="BB收缩爆发做空", timestamp=k.open_time, confidence=0.25) + return None + + +# ════════════════════════════════════════════════════════ +# 策略 5:三均线排列 (Triple EMA) +# ════════════════════════════════════════════════════════ + +class TripleEmaConfig(StrategyConfig): + fast: int = 10 + mid: int = 30 + slow: int = 60 + atr_period: int = 14 + atr_stop: float = 2.0 + + +class TripleEmaStrategy(BaseStrategy): + strategy_type = "趋势跟踪" + strategy_desc = "EMA(10,30,60)多头/空头排列,快线金叉入场+ATR追踪止损" + + def __init__(self, c: TripleEmaConfig): + super().__init__(c) + self.cfg = c + self._ema_fast = EmaInc(c.fast) + self._ema_mid = EmaInc(c.mid) + self._ema_slow = EmaInc(c.slow) + self._atr = AtrInc(c.atr_period) + self._side: str = "" + self._entry_price: float = 0.0 + self._highest_since: float = 0.0 + self._lowest_since: float = float("inf") + + async def on_kline(self, k: Kline) -> Optional[Signal]: + self._ema_fast.update(k.close) + self._ema_mid.update(k.close) + self._ema_slow.update(k.close) + self._atr.update(k.high, k.low, k.close) + n = len(self._ema_slow) + if n < self.cfg.slow + 10: + return None + ef, em, es = self._ema_fast[-1], self._ema_mid[-1], self._ema_slow[-1] + pf, pm = self._ema_fast[-2], self._ema_mid[-2] + ca = self._atr[-1] + if ef == 0 or em == 0 or es == 0 or ca == 0: + return None + bull_align = ef > em > es + bear_align = ef < em < es + fast_cross_mid_up = pf <= pm and ef > em + fast_cross_mid_down = pf >= pm and ef < em + + if self._side == "long": + self._highest_since = max(self._highest_since, k.high) + trail = self._highest_since - self.cfg.atr_stop * ca + if fast_cross_mid_down or k.close < trail: + self._side = "" + return Signal(symbol=self.cfg.symbol, side="SELL", reason="三均线退出", timestamp=k.open_time, confidence=0.25) + elif self._side == "short": + self._lowest_since = min(self._lowest_since, k.low) + trail = self._lowest_since + self.cfg.atr_stop * ca + if fast_cross_mid_up or k.close > trail: + self._side = "" + return Signal(symbol=self.cfg.symbol, side="BUY", reason="三均线退出", timestamp=k.open_time, confidence=0.25) + else: + if fast_cross_mid_up and bull_align: + self._side = "long"; self._entry_price = k.close; self._highest_since = k.close + return Signal(symbol=self.cfg.symbol, side="BUY", reason="三线多头排列", timestamp=k.open_time, confidence=0.25) + elif fast_cross_mid_down and bear_align: + self._side = "short"; self._entry_price = k.close; self._lowest_since = k.close + return Signal(symbol=self.cfg.symbol, side="SELL", reason="三线空头排列", timestamp=k.open_time, confidence=0.25) + return None + + +# ════════════════════════════════════════════════════════ +# 策略 6:RSI均值回归 (RSI Mean Reversion) +# ════════════════════════════════════════════════════════ + +class MeanRevConfig(StrategyConfig): + rsi_period: int = 14 + rsi_oversold: float = 25.0 + rsi_overbought: float = 75.0 + bb_period: int = 20 + bb_std: float = 2.0 + atr_stop: float = 1.5 + require_bb_touch: bool = True + + +class MeanRevStrategy(BaseStrategy): + strategy_type = "均值回归" + strategy_desc = "RSI(14)超卖25/超买75 + 布林带触碰确认 → 逆向回归" + + def __init__(self, c: MeanRevConfig): + super().__init__(c) + self.cfg = c + self._rsi = RsiInc(c.rsi_period) + self._bb = BbInc(c.bb_period, c.bb_std) + self._atr = AtrInc(14) + self._side: str = "" + self._entry_price: float = 0.0 + + async def on_kline(self, k: Kline) -> Optional[Signal]: + r = self._rsi.update(k.close) + up, mid, lo = self._bb.update(k.close) + atr_v = self._atr.update(k.high, k.low, k.close) + if r == 0 or up == 0 or atr_v == 0: + return None + below_bb = k.close < lo if self.cfg.require_bb_touch else True + above_bb = k.close > up if self.cfg.require_bb_touch else True + + if self._side == "long": + stop = self._entry_price - self.cfg.atr_stop * atr_v + take = self._entry_price + self.cfg.atr_stop * atr_v * 1.5 + if k.close <= stop or k.close >= take or r > 55: + self._side = "" + reason = "止损" if k.close <= stop else ("止盈" if k.close >= take else "RSI回归中轨") + return Signal(symbol=self.cfg.symbol, side="SELL", reason=reason, timestamp=k.open_time) + elif self._side == "short": + stop = self._entry_price + self.cfg.atr_stop * atr_v + take = self._entry_price - self.cfg.atr_stop * atr_v * 1.5 + if k.close >= stop or k.close <= take or r < 45: + self._side = "" + reason = "止损" if k.close >= stop else ("止盈" if k.close <= take else "RSI回归中轨") + return Signal(symbol=self.cfg.symbol, side="BUY", reason=reason, timestamp=k.open_time) + else: + if r < self.cfg.rsi_oversold and below_bb: + self._side = "long"; self._entry_price = k.close + return Signal(symbol=self.cfg.symbol, side="BUY", reason=f"RSI超卖{r:.0f}", timestamp=k.open_time) + elif r > self.cfg.rsi_overbought and above_bb: + self._side = "short"; self._entry_price = k.close + return Signal(symbol=self.cfg.symbol, side="SELL", reason=f"RSI超买{r:.0f}", timestamp=k.open_time) + return None + + +# ════════════════════════════════════════════════════════ +# 策略 7:ATR波动率突破 (Volatility Breakout) +# ════════════════════════════════════════════════════════ + +class VolBreakConfig(StrategyConfig): + atr_period: int = 14 + squeeze_period: int = 20 + squeeze_ratio: float = 0.7 + atr_stop: float = 2.0 + + +class VolBreakStrategy(BaseStrategy): + strategy_type = "波动率突破" + strategy_desc = "ATR(14)收缩至极低后扩张突破 + EMA(10/30)方向确认" + + def __init__(self, c: VolBreakConfig): + super().__init__(c) + self.cfg = c + self._atr = AtrInc(c.atr_period) + self._ema_fast = EmaInc(10) + self._ema_slow = EmaInc(30) + self._closes: list[float] = [] + self._highs: list[float] = [] + self._lows: list[float] = [] + self._side: str = "" + self._entry_price: float = 0.0 + self._was_squeezed = False + + async def on_kline(self, k: Kline) -> Optional[Signal]: + self._closes.append(k.close) + self._highs.append(k.high) + self._lows.append(k.low) + self._atr.update(k.high, k.low, k.close) + self._ema_fast.update(k.close) + self._ema_slow.update(k.close) + n = len(self._closes) + if n < self.cfg.atr_period + self.cfg.squeeze_period: + return None + atr_now = self._atr[-1] + atr_prev = self._atr[-2] if n >= 2 else 0 + ca = atr_now + if ca == 0: + return None + atr_window = [self._atr[i] for i in range(max(0, n - self.cfg.squeeze_period), n) if self._atr[i] > 0] + if not atr_window: + return None + min_atr = min(atr_window) + is_squeezed = atr_now < min_atr * (1 + (1 - self.cfg.squeeze_ratio)) + atr_expanding = atr_now > atr_prev * 1.05 if atr_prev > 0 else False + cf, cs = self._ema_fast[-1], self._ema_slow[-1] + trend_up = cf > cs + + if self._side == "long": + self._was_squeezed = False + stop = self._entry_price - self.cfg.atr_stop * ca + if k.close < stop or (cf < cs and not is_squeezed): + self._side = "" + return Signal(symbol=self.cfg.symbol, side="SELL", reason="ATR退出", timestamp=k.open_time) + elif self._side == "short": + self._was_squeezed = False + stop = self._entry_price + self.cfg.atr_stop * ca + if k.close > stop or (cf > cs and not is_squeezed): + self._side = "" + return Signal(symbol=self.cfg.symbol, side="BUY", reason="ATR退出", timestamp=k.open_time) + else: + if is_squeezed: + self._was_squeezed = True + elif self._was_squeezed and atr_expanding: + self._was_squeezed = False + if trend_up: + self._side = "long"; self._entry_price = k.close + return Signal(symbol=self.cfg.symbol, side="BUY", reason="ATR扩张突破做多", timestamp=k.open_time) + else: + self._side = "short"; self._entry_price = k.close + return Signal(symbol=self.cfg.symbol, side="SELL", reason="ATR扩张突破做空", timestamp=k.open_time) + return None + + +# ════════════════════════════════════════════════════════ +# 策略 8:EMA双均线多空 (EMA Crossover) +# ════════════════════════════════════════════════════════ + +class EmaCrossConfig(StrategyConfig): + fast: int = 10 + slow: int = 50 + atr_stop: float = 2.5 + + +class EmaCrossStrategy(BaseStrategy): + strategy_type = "趋势跟踪" + strategy_desc = "EMA(10,50)金叉做多死叉做空 + ATR追踪止损,始终在场" + + def __init__(self, c: EmaCrossConfig): + super().__init__(c) + self.cfg = c + self._ema_fast = EmaInc(c.fast) + self._ema_slow = EmaInc(c.slow) + self._atr = AtrInc(14) + self._closes: list[float] = [] + self._highs: list[float] = [] + self._lows: list[float] = [] + self._highest: float = 0.0 + self._lowest: float = float('inf') + self._position_side: str = "" + + async def on_kline(self, k: Kline) -> Optional[Signal]: + self._closes.append(k.close) + self._highs.append(k.high) + self._lows.append(k.low) + self._ema_fast.update(k.close) + self._ema_slow.update(k.close) + self._atr.update(k.high, k.low, k.close) + n = len(self._closes) + if n < self.cfg.slow + 5: + return None + cur_f, cur_s = self._ema_fast[-1], self._ema_slow[-1] + cur_atr = self._atr[-1] + prev_f, prev_s = self._ema_fast[-2], self._ema_slow[-2] + if cur_f == 0 or cur_s == 0 or cur_atr == 0: + return None + golden = prev_f <= prev_s and cur_f > cur_s + death = prev_f >= prev_s and cur_f < cur_s + + if self._position_side == "long": + self._highest = max(self._highest, k.high) + stop = self._highest - self.cfg.atr_stop * cur_atr + if death: + self._position_side = "short" + return Signal(symbol=self.cfg.symbol, side="SELL", reason="EMA死叉→做空", timestamp=k.open_time) + if k.close < stop: + self._position_side = "" + return Signal(symbol=self.cfg.symbol, side="SELL", reason="ATR止损→空仓", timestamp=k.open_time) + elif self._position_side == "short": + self._lowest = min(self._lowest, k.low) + stop = self._lowest + self.cfg.atr_stop * cur_atr + if golden: + self._position_side = "long" + return Signal(symbol=self.cfg.symbol, side="BUY", reason="EMA金叉→做多", timestamp=k.open_time) + if k.close > stop: + self._position_side = "" + return Signal(symbol=self.cfg.symbol, side="BUY", reason="ATR止损→空仓", timestamp=k.open_time) + else: + if golden: + self._position_side = "long"; self._highest = k.close + return Signal(symbol=self.cfg.symbol, side="BUY", reason="金叉→做多", timestamp=k.open_time) + elif death: + self._position_side = "short"; self._lowest = k.close + return Signal(symbol=self.cfg.symbol, side="SELL", reason="死叉→做空", timestamp=k.open_time) + return None + + +# ════════════════════════════════════════════════════════ +# 策略 9:牛熊自适应 (Regime Adaptive) — 3法投票 +# EMA200斜率 + 价格vs EMA200 + ATH回撤 → 牛市只多/熊市只空/震荡空仓 +# ════════════════════════════════════════════════════════ + +class RegimeDetector3: + """牛熊判定器,内部维护增量 EMA(200),避免每次从头重算""" + + def __init__(self): + self._ath = 0.0 + self._e200 = EmaInc(200) + + def update(self, price: float): + if price > self._ath: + self._ath = price + self._e200.update(price) + + def _ema200_slope(self, idx: int) -> str: + if idx < 220: return "unknown" + e200 = self._e200 + if e200[idx - 20] == 0: return "unknown" + slope = (e200[idx] - e200[idx - 20]) / e200[idx - 20] + if slope > 0.002: return "bull" + if slope < -0.002: return "bear" + return "sideways" + + def _price_vs_ema200(self, price: float, idx: int) -> str: + if idx < 210: return "unknown" + e = self._e200[idx] + if e == 0: return "unknown" + return "bull" if price > e else "bear" + + def _ath_drawdown(self, price: float) -> str: + if self._ath == 0: return "unknown" + dd = (price - self._ath) / self._ath + if dd > -0.15: return "bull" + if dd < -0.35: return "bear" + return "sideways" + + def detect(self, price: float, idx: int) -> str: + r1 = self._ema200_slope(idx) + r2 = self._price_vs_ema200(price, idx) + r3 = self._ath_drawdown(price) + b = sum(1 for r in [r1, r2, r3] if r == "bull") + br = sum(1 for r in [r1, r2, r3] if r == "bear") + if b >= 2: return "bull" + if br >= 2: return "bear" + return "sideways" + + +class RegimeEmaConfig(StrategyConfig): + fast: int = 10 + slow: int = 50 + atr_stop: float = 2.5 + + +class RegimeEmaStrategy(BaseStrategy): + """按市场状态自适应做多/做空 — 全部指标增量计算,O(1) per bar""" + strategy_type = "牛熊自适应" + strategy_desc = "EMA200斜率+价格vsEMA200+ATH回撤3选2投票,牛市只多/熊市只空" + + def __init__(self, c: RegimeEmaConfig): + super().__init__(c) + self.cfg = c + self._c: list[float] = []; self._h: list[float] = []; self._l: list[float] = [] + self._detector = RegimeDetector3() + self._ema_fast = EmaInc(c.fast) + self._ema_slow = EmaInc(c.slow) + self._atr = AtrInc(14) + self._side: str = ""; self._hp: float = 0.0; self._lp: float = float('inf') + + async def on_kline(self, k: Kline) -> Optional[Signal]: + self._c.append(k.close); self._h.append(k.high); self._l.append(k.low) + self._detector.update(k.close) + self._ema_fast.update(k.close) + self._ema_slow.update(k.close) + self._atr.update(k.high, k.low, k.close) + n = len(self._c) + if n < 220: return None + regime = self._detector.detect(k.close, n - 1) + cf, cs = self._ema_fast[-1], self._ema_slow[-1] + ca = self._atr[-1] + pf, ps = self._ema_fast[-2], self._ema_slow[-2] + if cf == 0 or cs == 0 or ca == 0: return None + golden = pf <= ps and cf > cs; death = pf >= ps and cf < cs + + if self._side == "long": + self._hp = max(self._hp, k.high); stop = self._hp - self.cfg.atr_stop * ca + if death or k.close < stop or regime == "bear": + self._side = "" + reason = "死叉" if death else ("ATR止损" if k.close < stop else "转熊") + return Signal(symbol=self.cfg.symbol, side="SELL", reason=reason, timestamp=k.open_time) + elif self._side == "short": + self._lp = min(self._lp, k.low); stop = self._lp + self.cfg.atr_stop * ca + if golden or k.close > stop or regime == "bull": + self._side = "" + reason = "金叉" if golden else ("ATR止损" if k.close > stop else "转牛") + return Signal(symbol=self.cfg.symbol, side="BUY", reason=reason, timestamp=k.open_time) + else: + if regime == "bull" and golden: + self._side = "long"; self._hp = k.close + return Signal(symbol=self.cfg.symbol, side="BUY", reason=f"牛市金叉", timestamp=k.open_time) + elif regime == "bear" and death: + self._side = "short"; self._lp = k.close + return Signal(symbol=self.cfg.symbol, side="SELL", reason=f"熊市死叉", timestamp=k.open_time) + return None + + +# ════════════════════════════════════════════════════════ +# 策略注册表 +# ════════════════════════════════════════════════════════ + +STRATEGY_REGISTRY = { + "1.海龟交易": { + "config_cls": TurtleConfig, + "strategy_cls": TurtleStrategy, + "make_config": lambda s: TurtleConfig(symbol=s, entry_period=20, exit_period=10, atr_period=20, atr_stop=2.0), + }, + "2.超级趋势": { + "config_cls": SuperTrendConfig, + "strategy_cls": SuperTrendStrategy, + "make_config": lambda s: SuperTrendConfig(symbol=s, atr_period=10, multiplier=3.0), + }, + "3.MACD金叉死叉": { + "config_cls": MacdCrossConfig, + "strategy_cls": MacdCrossStrategy, + "make_config": lambda s: MacdCrossConfig(symbol=s, fast=12, slow=26, signal=9, atr_period=14, atr_stop=2.0), + }, + "4.布林收缩爆发": { + "config_cls": BBSqueezeConfig, + "strategy_cls": BBSqueezeStrategy, + "make_config": lambda s: BBSqueezeConfig(symbol=s, bb_period=20, bb_std=2.0, kc_period=20, kc_mult=1.5, squeeze_lookback=30, atr_stop=2.0), + }, + "5.三均线排列": { + "config_cls": TripleEmaConfig, + "strategy_cls": TripleEmaStrategy, + "make_config": lambda s: TripleEmaConfig(symbol=s, fast=10, mid=30, slow=60, atr_period=14, atr_stop=2.0), + }, + "6.RSI均值回归": { + "config_cls": MeanRevConfig, + "strategy_cls": MeanRevStrategy, + "make_config": lambda s: MeanRevConfig(symbol=s, rsi_period=14, rsi_oversold=25, rsi_overbought=75, bb_period=20, bb_std=2.0, atr_stop=1.5), + }, + "7.ATR波动率突破": { + "config_cls": VolBreakConfig, + "strategy_cls": VolBreakStrategy, + "make_config": lambda s: VolBreakConfig(symbol=s, atr_period=14, squeeze_period=20, squeeze_ratio=0.7, atr_stop=2.0), + }, + "8.EMA双均线多空": { + "config_cls": EmaCrossConfig, + "strategy_cls": EmaCrossStrategy, + "make_config": lambda s: EmaCrossConfig(symbol=s, fast=10, slow=50, atr_stop=2.5), + }, + "9.牛熊自适应": { + "config_cls": RegimeEmaConfig, + "strategy_cls": RegimeEmaStrategy, + "make_config": lambda s: RegimeEmaConfig(symbol=s, fast=10, slow=50, atr_stop=2.5), + }, +} + +STRATEGY_PARAMS_STR = { + "1.海龟交易": "entry=20/exit=10/ATR(20)x2.0", + "2.超级趋势": "ATR(10)x3.0", + "3.MACD金叉死叉": "MACD(12,26,9)/ATR(14)x2.0", + "4.布林收缩爆发": "BB(20,2.0)/KC(20,1.5)/squeeze=30", + "5.三均线排列": "EMA(10,30,60)/ATR(14)x2.0", + "6.RSI均值回归": "RSI(14)25/75+BB(20,2.0)/ATR(14)x1.5", + "7.ATR波动率突破": "ATR(14)/squeeze=20x0.7/EMA(10,30)", + "8.EMA双均线多空": "EMA(10,50)/ATR(14)x2.5", + "9.牛熊自适应": "EMA200投票(斜率+价格+ATH)牛多熊空", +} + + +# ════════════════════════════════════════════════════════ +# 执行 +# ════════════════════════════════════════════════════════ + +async def run_one(entry, symbol, interval, period_label, start, end): + make_config = entry["make_config"] + strategy_cls = entry["strategy_cls"] + sc = make_config(symbol) + bt = BacktestConfig( + symbol=symbol, interval=interval, + start_time=start, end_time=end, + initial_capital=INITIAL, warmup_bars=WARMUP, + ) + engine = LongShortEngine(bt, db_config=config.db) + t0 = time.time() + try: + r = await engine.run(strategy_cls, sc) + elapsed = time.time() - t0 + return r, elapsed, None + except Exception as ex: + elapsed = time.time() - t0 + return None, elapsed, str(ex) + + +def safe(val, default=0): + return default if val is None else val + + +async def main(): + ds = DataService(config.db) + await ds.connect() + + print("正在获取数据范围...") + date_ranges: dict[tuple[str, str], tuple] = {} + for symbol in SYMBOLS: + for tf in TIMEFRAMES: + try: + s, e = await ds.fetch_symbol_date_range(symbol, tf) + bar_ms = {"2h": 7_200_000, "6h": 21_600_000} + estimated_bars = int((e - s).total_seconds() * 1000 / bar_ms[tf]) + date_ranges[(symbol, tf)] = (s, e, estimated_bars) + print(f" {symbol} {tf:<4}: {s.date()} ~ {e.date()} (约{estimated_bars:,}根)") + except Exception as ex: + print(f" {symbol} {tf:<4}: 获取失败 — {ex}") + + await ds.close() + + sem = asyncio.Semaphore(MAX_CONCURRENCY) + tasks_info: list[dict] = [] + + for strat_name, entry in STRATEGY_REGISTRY.items(): + for symbol in SYMBOLS: + for tf in TIMEFRAMES: + key = (symbol, tf) + if key not in date_ranges: + continue + fs, fe, est_bars = date_ranges[key] + + for period_label, (period_start, period_end) in PERIODS.items(): + actual_start = period_start or fs + actual_end = period_end or fe + if actual_start >= actual_end: + continue + + min_bars = MIN_BARS_FOR_PERIOD.get(period_label, 50) + actual_bars = est_bars + if period_label != "全量": + actual_bars = int((actual_end - actual_start).total_seconds() * 1000 / { + "2h": 7_200_000, "6h": 21_600_000 + }[tf]) + + if actual_bars < min_bars: + continue + + tasks_info.append({ + "strat_name": strat_name, + "entry": entry, + "symbol": symbol, + "tf": tf, + "period_label": period_label, + "start": actual_start, + "end": actual_end, + }) + + total = len(tasks_info) + print(f"\n共 {total} 组回测任务 (9策略×4币种×2时间×4数据量 - 跳过数据不足)") + + results: list[dict] = [] + completed = 0 + errors = 0 + + async def run_one_safe(info): + nonlocal completed, errors + async with sem: + r, elapsed, err = await run_one( + info["entry"], info["symbol"], info["tf"], + info["period_label"], info["start"], info["end"], + ) + completed += 1 + if err: + errors += 1 + status = f"✗ {err[:40]}" + elif r is None: + errors += 1 + status = "✗ 无结果" + else: + m = r.metrics + status = f"✓ {m.annual_return_pct:+.1f}%/yr" + print(f" [{completed}/{total}] {info['strat_name']} {info['symbol']} {info['tf']} {info['period_label']} ({elapsed:.1f}s) {status}", flush=True) + + row = { + "策略名": info["strat_name"], + "币种": info["symbol"], + "时间级别": info["tf"], + "数据量": info["period_label"], + "策略类型": info["entry"]["strategy_cls"].strategy_type if r else "", + "策略参数": STRATEGY_PARAMS_STR.get(info["strat_name"], ""), + "策略描述": info["entry"]["strategy_cls"].strategy_desc if r else "", + "日期范围": f"{info['start'].date()}~{info['end'].date()}", + } + + if r is not None: + m = r.metrics + row.update({ + "初始资金": INITIAL, + "最终权益": round(m.final_equity, 2), + "总收益%": round(m.total_return_pct, 2), + "年化收益%": round(m.annual_return_pct, 2), + "夏普比率": round(m.sharpe_ratio, 2), + "最大回撤%": round(m.max_drawdown_pct, 2), + "胜率%": round(m.win_rate * 100, 2), + "盈亏比": round(m.profit_factor, 2), + "交易次数": m.total_trades, + "平均盈亏": round(m.avg_trade_pnl, 2), + "最佳盈亏": round(m.best_trade_pnl, 2), + "最差盈亏": round(m.worst_trade_pnl, 2), + "卡尔玛比率": round(m.calmar_ratio, 2), + "耗时s": round(elapsed, 1), + }) + else: + row.update({ + "初始资金": INITIAL, + "最终权益": 0, + "总收益%": 0, + "年化收益%": 0, + "夏普比率": 0, + "最大回撤%": 0, + "胜率%": 0, + "盈亏比": 0, + "交易次数": 0, + "平均盈亏": 0, + "最佳盈亏": 0, + "最差盈亏": 0, + "卡尔玛比率": 0, + "耗时s": round(elapsed, 1), + "错误": err or "未知错误", + }) + + results.append(row) + return row + + t_total = time.time() + await asyncio.gather(*[run_one_safe(info) for info in tasks_info]) + total_elapsed = time.time() - t_total + + print(f"\n全部完成!成功 {total - errors}/{total},错误 {errors},总耗时 {total_elapsed:.0f}s") + + # ── 打印完整表格 ── + print() + print("═" * 195) + print(" 2h / 6h 全维度策略对比回测结果(9策略 × 4币种 × 2时间 × 4数据量)") + print("═" * 195) + print() + + for strat_name in STRATEGY_REGISTRY: + strat_results = [r for r in results if r["策略名"] == strat_name] + if not strat_results: + continue + first = strat_results[0] + print(f"■ {strat_name} | 类型: {first['策略类型']} | {first['策略描述']}") + print(f" 参数: {first['策略参数']}") + print(f" {'币种':<10} {'时间':<5} {'数据量':<6} {'总收益%':>8} {'年化%':>8} {'夏普':>7} {'回撤%':>7} {'胜率%':>7} {'盈亏比':>7} {'交易':>6} {'日期范围':<24}") + print(" " + "─" * 185) + + strat_results.sort(key=lambda x: (SYMBOLS.index(x["币种"]), TIMEFRAMES.index(x["时间级别"]), list(PERIODS.keys()).index(x["数据量"]))) + + for r in strat_results: + print(f" {r['币种']:<10} {r['时间级别']:<5} {r['数据量']:<6} {r['总收益%']:>7.1f}% {r['年化收益%']:>7.1f}% {r['夏普比率']:>7.2f} {r['最大回撤%']:>7.1f}% {r['胜率%']:>6.1f}% {r['盈亏比']:>7.2f} {r['交易次数']:>6} {r['日期范围']:<24}") + print() + + # ── 终极汇总 ── + print("═" * 195) + print(" ■ 终极汇总:每组(时间级别+数据量)下各币种最佳策略(按年化收益)") + print("═" * 195) + print() + + for tf in TIMEFRAMES: + for period_label in PERIODS: + subset = [r for r in results if r["时间级别"] == tf and r["数据量"] == period_label and r.get("总收益%", 0) != 0] + if not subset: + continue + subset.sort(key=lambda x: x.get("年化收益%", -9999), reverse=True) + + print(f" ▲ {tf} | {period_label}") + print(f" {'排名':<5} {'策略名':<22} {'币种':<10} {'总收益%':>8} {'年化%':>8} {'夏普':>7} {'回撤%':>7} {'胜率%':>7} {'盈亏比':>7} {'交易':>6}") + print(" " + "─" * 130) + for i, r in enumerate(subset[:5]): + marker = ["🥇", "🥈", "🥉", " 4", " 5"][i] + print(f" {marker:<5} {r['策略名']:<22} {r['币种']:<10} {r['总收益%']:>7.1f}% {r['年化收益%']:>7.1f}% {r['夏普比率']:>7.2f} {r['最大回撤%']:>7.1f}% {r['胜率%']:>6.1f}% {r['盈亏比']:>7.2f} {r['交易次数']:>6}") + print() + + # ── 保存 JSON ── + output_file = _project_root / "engine" / "example" / "comparison_2h_6h_result.json" + with open(output_file, "w", encoding="utf-8") as f: + json.dump({ + "config": { + "symbols": SYMBOLS, + "timeframes": TIMEFRAMES, + "periods": list(PERIODS.keys()), + "initial_capital": INITIAL, + "warmup_bars": WARMUP, + "total_tasks": total, + "total_errors": errors, + "elapsed_seconds": total_elapsed, + "run_time": datetime.now(timezone.utc).isoformat(), + }, + "results": results, + }, f, ensure_ascii=False, indent=2, default=str) + print(f" 详细结果已保存至: {output_file}") + print() + print("═" * 195) + + +if __name__ == "__main__": + asyncio.run(main()) diff --git a/engine/example/comparison_2h_6h_report.md b/engine/example/comparison_2h_6h_report.md new file mode 100644 index 0000000..97f97f4 --- /dev/null +++ b/engine/example/comparison_2h_6h_report.md @@ -0,0 +1,804 @@ +# 2h / 6h 策略全维度对比回测报告 + +> **回测日期**:2026-06-13 11:36:37 UTC +> **总耗时**:28.7 秒 +> **测试维度**:9 策略 × 4 币种 × 2 时间级别 × 4 数据量 = 288 次回测 +> **初始资金**:$10,000 | **预热 Bar**:150 +> **错误数**:0 | **手续费**:0.1% | **滑点**:0.05% | **引擎**:LongShortEngine(多空双向) + +--- + +## 一、策略概览 + +| # | 策略名称 | 类型 | 参数 | 描述 | +|---|----------|------|------|------| +| 1 | **海龟交易** | 趋势跟踪 | `entry=20/exit=10/ATR(20)x2.0` | Donchian 20/10通道突破 + 2N ATR止损,多空双向 | +| 2 | **超级趋势** | 趋势跟踪 | `ATR(10)x3.0` | ATR(10)×3倍动态跟踪止损带,趋势翻转即反转 | +| 3 | **MACD金叉死叉** | 动量 | `MACD(12,26,9)/ATR(14)x2.0` | MACD(12,26,9)零轴上金叉做多/零轴下死叉做空+ATR止损 | +| 4 | **布林收缩爆发** | 波动率突破 | `BB(20,2.0)/KC(20,1.5)/squeeze=30` | BB收缩至KC内部后扩张爆发,顺势入场 + ATR止损 | +| 5 | **三均线排列** | 趋势跟踪 | `EMA(10,30,60)/ATR(14)x2.0` | EMA(10,30,60)多头/空头排列,快线金叉入场+ATR追踪止损 | +| 6 | **RSI均值回归** | 均值回归 | `RSI(14)25/75+BB(20,2.0)/ATR(14)x1.5` | RSI(14)超卖25/超买75 + 布林带触碰确认 → 逆向回归 | +| 7 | **ATR波动率突破** | 波动率突破 | `ATR(14)/squeeze=20x0.7/EMA(10,30)` | ATR(14)收缩至极低后扩张突破 + EMA(10/30)方向确认 | +| 8 | **EMA双均线多空** | 趋势跟踪 | `EMA(10,50)/ATR(14)x2.5` | EMA(10,50)金叉做多死叉做空 + ATR追踪止损,始终在场 | +| 9 | **牛熊自适应** | 牛熊自适应 | `EMA200投票(斜率+价格+ATH)牛多熊空` | EMA200斜率+价格vsEMA200+ATH回撤3选2投票,牛市只多/熊市只空 | + +--- + +## 二、全量数据 TOP 20(按夏普比率排名) + +| 排名 | 策略 | 币种 | TF | 总收益% | 年化% | 夏普 | 回撤% | 胜率% | 盈亏比 | 交易数 | 卡尔玛 | +|------|------|------|----|---------|-------|------|-------|-------|--------|--------|--------| +| 🥇 | 超级趋势 | SOLUSDT | 6h | +620.1% | +41.1% | **1.40** | -37.0% | 39.5% | 2.21 | 86 | 1.11 | +| 🥈 | ATR波动率突破 | SOLUSDT | 2h | +11666.5% | +127.5% | **1.39** | -59.8% | 37.6% | 1.37 | 202 | 2.13 | +| 🥉 | ATR波动率突破 | SOLUSDT | 6h | +4450.9% | +94.7% | **1.22** | -84.4% | 23.7% | 1.25 | 59 | 1.12 | +| 4 | 牛熊自适应 | BNBUSDT | 6h | +3592.9% | +52.9% | **1.22** | -44.5% | 37.5% | 1.99 | 128 | 1.19 | +| 5 | ATR波动率突破 | BTCUSDT | 2h | +4550.8% | +54.8% | **1.13** | -52.6% | 31.4% | 1.43 | 334 | 1.04 | +| 6 | ATR波动率突破 | ETHUSDT | 6h | +5102.3% | +57.3% | **1.04** | -47.6% | 36.2% | 2.17 | 94 | 1.21 | +| 7 | 超级趋势 | BNBUSDT | 2h | +512.5% | +23.6% | **0.94** | -37.0% | 40.3% | 1.55 | 392 | 0.64 | +| 8 | 三均线排列 | BTCUSDT | 6h | +86.1% | +7.4% | **0.93** | -13.3% | 37.8% | 1.82 | 148 | 0.56 | +| 9 | ATR波动率突破 | BTCUSDT | 6h | +1509.3% | +37.5% | **0.92** | -55.8% | 31.9% | 1.42 | 94 | 0.67 | +| 10 | ATR波动率突破 | ETHUSDT | 2h | +1771.2% | +39.6% | **0.85** | -59.9% | 31.7% | 1.30 | 338 | 0.66 | +| 11 | 超级趋势 | BTCUSDT | 6h | +113.3% | +9.1% | **0.83** | -16.2% | 36.6% | 1.65 | 134 | 0.56 | +| 12 | ATR波动率突破 | BNBUSDT | 2h | +2258.5% | +44.6% | **0.83** | -72.5% | 29.5% | 1.22 | 302 | 0.62 | +| 13 | EMA双均线多空 | BTCUSDT | 6h | +1148.0% | +33.6% | **0.82** | -57.2% | 41.2% | 1.54 | 240 | 0.59 | +| 14 | MACD金叉死叉 | ETHUSDT | 6h | +108.3% | +8.8% | **0.81** | -15.3% | 38.0% | 1.43 | 305 | 0.57 | +| 15 | 牛熊自适应 | ETHUSDT | 6h | +748.9% | +27.8% | **0.80** | -73.0% | 34.1% | 1.27 | 132 | 0.38 | +| 16 | 三均线排列 | BNBUSDT | 6h | +93.9% | +8.1% | **0.77** | -21.1% | 40.8% | 1.83 | 147 | 0.38 | +| 17 | 牛熊自适应 | BNBUSDT | 2h | +845.9% | +30.0% | **0.77** | -68.2% | 35.1% | 1.25 | 382 | 0.44 | +| 18 | MACD金叉死叉 | SOLUSDT | 6h | +84.6% | +11.3% | **0.73** | -27.7% | 42.4% | 1.34 | 217 | 0.41 | +| 19 | 超级趋势 | BNBUSDT | 6h | +288.2% | +17.3% | **0.72** | -35.9% | 40.4% | 2.03 | 146 | 0.48 | +| 20 | 三均线排列 | ETHUSDT | 6h | +81.9% | +7.1% | **0.72** | -18.5% | 35.1% | 1.67 | 154 | 0.38 | + +--- + +## 三、各策略全量数据详细表现(2h vs 6h × 4 币种) + +### 1.海龟交易 +> **类型**:趋势跟踪 | **参数**:`entry=20/exit=10/ATR(20)x2.0` +> Donchian 20/10通道突破 + 2N ATR止损,多空双向 + +| 币种 | TF | 总收益% | 年化% | 夏普 | 回撤% | 胜率% | 盈亏比 | 交易数 | 卡尔玛 | +|------|----|---------|-------|------|-------|-------|--------|--------|--------| +| BNBUSDT | 2h | -64.4% | -11.4% | **-1.09** | -67.5% | 31.0% | 0.86 | 1644 | -0.17 | +| BNBUSDT | 6h | +96.1% | +8.2% | **0.64** | -34.1% | 35.0% | 1.30 | 605 | 0.24 | +| BTCUSDT | 2h | -71.9% | -13.5% | **-1.71** | -72.0% | 29.8% | 0.74 | 1622 | -0.19 | +| BTCUSDT | 6h | +9.6% | +1.1% | **0.17** | -19.1% | 35.1% | 1.13 | 579 | 0.06 | +| ETHUSDT | 2h | -64.2% | -11.0% | **-1.18** | -64.8% | 31.2% | 0.85 | 1684 | -0.17 | +| ETHUSDT | 6h | +16.4% | +1.8% | **0.22** | -28.6% | 37.2% | 1.13 | 596 | 0.06 | +| SOLUSDT | 2h | -60.5% | -14.8% | **-1.13** | -60.9% | 32.6% | 0.86 | 1241 | -0.24 | +| SOLUSDT | 6h | -23.3% | -4.5% | **-0.30** | -41.1% | 36.2% | 0.92 | 437 | -0.11 | + +> 🏆 **海龟交易 最优**:BNBUSDT 6h,夏普 **0.64**,总收益 **+96.1%**,年化 **+8.2%**,交易 605 次 + +### 2.超级趋势 +> **类型**:趋势跟踪 | **参数**:`ATR(10)x3.0` +> ATR(10)×3倍动态跟踪止损带,趋势翻转即反转 + +| 币种 | TF | 总收益% | 年化% | 夏普 | 回撤% | 胜率% | 盈亏比 | 交易数 | 卡尔玛 | +|------|----|---------|-------|------|-------|-------|--------|--------|--------| +| BNBUSDT | 2h | +512.5% | +23.6% | **0.94** | -37.0% | 40.3% | 1.55 | 392 | 0.64 | +| BNBUSDT | 6h | +288.2% | +17.3% | **0.72** | -35.9% | 40.4% | 2.03 | 146 | 0.48 | +| BTCUSDT | 2h | -36.4% | -5.0% | **-0.39** | -48.0% | 32.2% | 0.86 | 401 | -0.10 | +| BTCUSDT | 6h | +113.3% | +9.1% | **0.83** | -16.2% | 36.6% | 1.65 | 134 | 0.56 | +| ETHUSDT | 2h | -13.3% | -1.6% | **-0.04** | -48.1% | 34.1% | 0.99 | 407 | -0.03 | +| ETHUSDT | 6h | +5.9% | +0.7% | **0.12** | -42.7% | 44.2% | 1.06 | 129 | 0.02 | +| SOLUSDT | 2h | -47.1% | -10.4% | **-0.52** | -56.6% | 35.8% | 0.76 | 285 | -0.18 | +| SOLUSDT | 6h | +620.1% | +41.1% | **1.40** | -37.0% | 39.5% | 2.21 | 86 | 1.11 | + +> 🏆 **超级趋势 最优**:SOLUSDT 6h,夏普 **1.40**,总收益 **+620.1%**,年化 **+41.1%**,交易 86 次 + +### 3.MACD金叉死叉 +> **类型**:动量 | **参数**:`MACD(12,26,9)/ATR(14)x2.0` +> MACD(12,26,9)零轴上金叉做多/零轴下死叉做空+ATR止损 + +| 币种 | TF | 总收益% | 年化% | 夏普 | 回撤% | 胜率% | 盈亏比 | 交易数 | 卡尔玛 | +|------|----|---------|-------|------|-------|-------|--------|--------|--------| +| BNBUSDT | 2h | +97.6% | +8.3% | **0.55** | -37.8% | 37.7% | 1.22 | 917 | 0.22 | +| BNBUSDT | 6h | +43.0% | +4.3% | **0.37** | -18.3% | 38.5% | 1.26 | 288 | 0.23 | +| BTCUSDT | 2h | +7.9% | +0.9% | **0.14** | -19.2% | 36.5% | 1.12 | 873 | 0.04 | +| BTCUSDT | 6h | +6.0% | +0.7% | **0.12** | -28.8% | 37.0% | 1.08 | 316 | 0.02 | +| ETHUSDT | 2h | +103.5% | +8.4% | **0.67** | -26.8% | 37.2% | 1.26 | 867 | 0.31 | +| ETHUSDT | 6h | +108.3% | +8.8% | **0.81** | -15.3% | 38.0% | 1.43 | 305 | 0.57 | +| SOLUSDT | 2h | +49.3% | +7.2% | **0.51** | -25.0% | 38.2% | 1.19 | 617 | 0.29 | +| SOLUSDT | 6h | +84.6% | +11.3% | **0.73** | -27.7% | 42.4% | 1.34 | 217 | 0.41 | + +> 🏆 **MACD金叉死叉 最优**:ETHUSDT 6h,夏普 **0.81**,总收益 **+108.3%**,年化 **+8.8%**,交易 305 次 + +### 4.布林收缩爆发 +> **类型**:波动率突破 | **参数**:`BB(20,2.0)/KC(20,1.5)/squeeze=30` +> BB收缩至KC内部后扩张爆发,顺势入场 + ATR止损 + +| 币种 | TF | 总收益% | 年化% | 夏普 | 回撤% | 胜率% | 盈亏比 | 交易数 | 卡尔玛 | +|------|----|---------|-------|------|-------|-------|--------|--------|--------| +| BNBUSDT | 2h | +25.7% | +2.7% | **0.30** | -18.6% | 35.9% | 1.38 | 159 | 0.15 | +| BNBUSDT | 6h | +51.4% | +5.0% | **0.54** | -22.1% | 39.1% | 1.80 | 69 | 0.23 | +| BTCUSDT | 2h | -7.4% | -0.9% | **-0.19** | -19.0% | 30.8% | 0.90 | 117 | -0.05 | +| BTCUSDT | 6h | -6.8% | -0.8% | **-0.15** | -18.1% | 32.3% | 0.87 | 62 | -0.04 | +| ETHUSDT | 2h | +20.9% | +2.2% | **0.38** | -13.4% | 42.3% | 1.42 | 137 | 0.16 | +| ETHUSDT | 6h | +8.4% | +0.9% | **0.19** | -18.4% | 35.7% | 1.23 | 56 | 0.05 | +| SOLUSDT | 2h | -12.4% | -2.2% | **-0.23** | -27.2% | 29.1% | 0.87 | 134 | -0.08 | +| SOLUSDT | 6h | -5.5% | -1.0% | **-0.09** | -18.2% | 26.2% | 0.89 | 42 | -0.05 | + +> 🏆 **布林收缩爆发 最优**:BNBUSDT 6h,夏普 **0.54**,总收益 **+51.4%**,年化 **+5.0%**,交易 69 次 + +### 5.三均线排列 +> **类型**:趋势跟踪 | **参数**:`EMA(10,30,60)/ATR(14)x2.0` +> EMA(10,30,60)多头/空头排列,快线金叉入场+ATR追踪止损 + +| 币种 | TF | 总收益% | 年化% | 夏普 | 回撤% | 胜率% | 盈亏比 | 交易数 | 卡尔玛 | +|------|----|---------|-------|------|-------|-------|--------|--------|--------| +| BNBUSDT | 2h | +32.9% | +3.4% | **0.34** | -30.2% | 32.4% | 1.23 | 432 | 0.11 | +| BNBUSDT | 6h | +93.9% | +8.1% | **0.77** | -21.1% | 40.8% | 1.83 | 147 | 0.38 | +| BTCUSDT | 2h | +14.0% | +1.5% | **0.26** | -26.5% | 33.5% | 1.21 | 412 | 0.06 | +| BTCUSDT | 6h | +86.1% | +7.4% | **0.93** | -13.3% | 37.8% | 1.82 | 148 | 0.56 | +| ETHUSDT | 2h | -24.3% | -3.1% | **-0.40** | -37.5% | 28.5% | 0.90 | 418 | -0.08 | +| ETHUSDT | 6h | +81.9% | +7.1% | **0.72** | -18.5% | 35.1% | 1.67 | 154 | 0.38 | +| SOLUSDT | 2h | +34.4% | +5.2% | **0.54** | -15.0% | 38.9% | 1.29 | 270 | 0.35 | +| SOLUSDT | 6h | +19.2% | +3.1% | **0.34** | -11.8% | 38.4% | 1.32 | 86 | 0.26 | + +> 🏆 **三均线排列 最优**:BTCUSDT 6h,夏普 **0.93**,总收益 **+86.1%**,年化 **+7.4%**,交易 148 次 + +### 6.RSI均值回归 +> **类型**:均值回归 | **参数**:`RSI(14)25/75+BB(20,2.0)/ATR(14)x1.5` +> RSI(14)超卖25/超买75 + 布林带触碰确认 → 逆向回归 + +| 币种 | TF | 总收益% | 年化% | 夏普 | 回撤% | 胜率% | 盈亏比 | 交易数 | 卡尔玛 | +|------|----|---------|-------|------|-------|-------|--------|--------|--------| +| BNBUSDT | 2h | -96.5% | -32.5% | **-0.73** | -97.3% | 43.5% | 0.45 | 411 | -0.33 | +| BNBUSDT | 6h | -80.3% | -17.4% | **-0.08** | -96.2% | 42.3% | 0.95 | 168 | -0.18 | +| BTCUSDT | 2h | -98.5% | -38.2% | **-1.35** | -98.8% | 35.8% | 0.52 | 480 | -0.39 | +| BTCUSDT | 6h | -85.8% | -20.1% | **-0.52** | -89.8% | 38.1% | 0.77 | 194 | -0.22 | +| ETHUSDT | 2h | -99.7% | -47.9% | **-1.33** | -99.8% | 38.6% | 0.62 | 497 | -0.48 | +| ETHUSDT | 6h | -98.1% | -36.6% | **-0.87** | -99.0% | 32.7% | 0.65 | 199 | -0.37 | +| SOLUSDT | 2h | -89.9% | -32.6% | **-0.65** | -93.0% | 40.4% | 0.82 | 250 | -0.35 | +| SOLUSDT | 6h | -95.6% | -42.0% | **-0.61** | -97.0% | 38.4% | 0.60 | 99 | -0.43 | + +> 🏆 **RSI均值回归 最优**:BNBUSDT 6h,夏普 **-0.08**,总收益 **-80.3%**,年化 **-17.4%**,交易 168 次 + +### 7.ATR波动率突破 +> **类型**:波动率突破 | **参数**:`ATR(14)/squeeze=20x0.7/EMA(10,30)` +> ATR(14)收缩至极低后扩张突破 + EMA(10/30)方向确认 + +| 币种 | TF | 总收益% | 年化% | 夏普 | 回撤% | 胜率% | 盈亏比 | 交易数 | 卡尔玛 | +|------|----|---------|-------|------|-------|-------|--------|--------|--------| +| BNBUSDT | 2h | +2258.5% | +44.6% | **0.83** | -72.5% | 29.5% | 1.22 | 302 | 0.62 | +| BNBUSDT | 6h | +676.2% | +27.3% | **0.67** | -87.8% | 26.2% | 1.34 | 107 | 0.31 | +| BTCUSDT | 2h | +4550.8% | +54.8% | **1.13** | -52.6% | 31.4% | 1.43 | 334 | 1.04 | +| BTCUSDT | 6h | +1509.3% | +37.5% | **0.92** | -55.8% | 31.9% | 1.42 | 94 | 0.67 | +| ETHUSDT | 2h | +1771.2% | +39.6% | **0.85** | -59.9% | 31.7% | 1.30 | 338 | 0.66 | +| ETHUSDT | 6h | +5102.3% | +57.3% | **1.04** | -47.6% | 36.2% | 2.17 | 94 | 1.21 | +| SOLUSDT | 2h | +11666.5% | +127.5% | **1.39** | -59.8% | 37.6% | 1.37 | 202 | 2.13 | +| SOLUSDT | 6h | +4450.9% | +94.7% | **1.22** | -84.4% | 23.7% | 1.25 | 59 | 1.12 | + +> 🏆 **ATR波动率突破 最优**:SOLUSDT 2h,夏普 **1.39**,总收益 **+11666.5%**,年化 **+127.5%**,交易 202 次 + +### 8.EMA双均线多空 +> **类型**:趋势跟踪 | **参数**:`EMA(10,50)/ATR(14)x2.5` +> EMA(10,50)金叉做多死叉做空 + ATR追踪止损,始终在场 + +| 币种 | TF | 总收益% | 年化% | 夏普 | 回撤% | 胜率% | 盈亏比 | 交易数 | 卡尔玛 | +|------|----|---------|-------|------|-------|-------|--------|--------|--------| +| BNBUSDT | 2h | +35.9% | +3.6% | **0.39** | -94.0% | 37.2% | 1.07 | 753 | 0.04 | +| BNBUSDT | 6h | -278.8% | +0.0% | **-1.64** | -318.9% | 0.0% | 0.00 | 1 | 0.00 | +| BTCUSDT | 2h | -99.3% | -43.4% | **-0.48** | -99.4% | 32.8% | 0.67 | 711 | -0.44 | +| BTCUSDT | 6h | +1148.0% | +33.6% | **0.82** | -57.2% | 41.2% | 1.54 | 240 | 0.59 | +| ETHUSDT | 2h | -99.8% | -52.1% | **-0.60** | -99.9% | 33.0% | 0.57 | 794 | -0.52 | +| ETHUSDT | 6h | -114.3% | +0.0% | **-1.11** | -110.5% | 20.0% | 0.22 | 10 | 0.00 | +| SOLUSDT | 2h | -120.9% | +0.0% | **-1.06** | -113.0% | 32.1% | 0.74 | 84 | 0.00 | +| SOLUSDT | 6h | -141.6% | +0.0% | **-1.28** | -153.2% | 29.2% | 0.44 | 24 | 0.00 | + +> 🏆 **EMA双均线多空 最优**:BTCUSDT 6h,夏普 **0.82**,总收益 **+1148.0%**,年化 **+33.6%**,交易 240 次 + +### 9.牛熊自适应 +> **类型**:牛熊自适应 | **参数**:`EMA200投票(斜率+价格+ATH)牛多熊空` +> EMA200斜率+价格vsEMA200+ATH回撤3选2投票,牛市只多/熊市只空 + +| 币种 | TF | 总收益% | 年化% | 夏普 | 回撤% | 胜率% | 盈亏比 | 交易数 | 卡尔玛 | +|------|----|---------|-------|------|-------|-------|--------|--------|--------| +| BNBUSDT | 2h | +845.9% | +30.0% | **0.77** | -68.2% | 35.1% | 1.25 | 382 | 0.44 | +| BNBUSDT | 6h | +3592.9% | +52.9% | **1.22** | -44.5% | 37.5% | 1.99 | 128 | 1.19 | +| BTCUSDT | 2h | +89.9% | +7.6% | **0.40** | -66.9% | 33.6% | 1.18 | 375 | 0.11 | +| BTCUSDT | 6h | +317.6% | +17.8% | **0.67** | -43.3% | 35.2% | 1.37 | 122 | 0.41 | +| ETHUSDT | 2h | -20.9% | -2.6% | **0.10** | -80.0% | 30.0% | 1.04 | 400 | -0.03 | +| ETHUSDT | 6h | +748.9% | +27.8% | **0.80** | -73.0% | 34.1% | 1.27 | 132 | 0.38 | +| SOLUSDT | 2h | -62.5% | -15.5% | **-0.21** | -86.1% | 32.5% | 0.92 | 271 | -0.18 | +| SOLUSDT | 6h | +219.6% | +22.5% | **0.68** | -74.0% | 34.6% | 1.43 | 78 | 0.30 | + +> 🏆 **牛熊自适应 最优**:BNBUSDT 6h,夏普 **1.22**,总收益 **+3592.9%**,年化 **+52.9%**,交易 128 次 + +--- + +## 四、各币种全量数据 — 策略横向对比 + +### BNBUSDT + +| 排名 | 策略 | TF | 总收益% | 年化% | 夏普 | 回撤% | 胜率% | 盈亏比 | 交易数 | 卡尔玛 | +|------|------|----|---------|-------|------|-------|-------|--------|--------|--------| +| 🥇 | 牛熊自适应 | 6h | +3592.9% | +52.9% | **1.22** | -44.5% | 37.5% | 1.99 | 128 | 1.19 | +| 🥈 | 超级趋势 | 2h | +512.5% | +23.6% | **0.94** | -37.0% | 40.3% | 1.55 | 392 | 0.64 | +| 🥉 | ATR波动率突破 | 2h | +2258.5% | +44.6% | **0.83** | -72.5% | 29.5% | 1.22 | 302 | 0.62 | +| 4 | 三均线排列 | 6h | +93.9% | +8.1% | **0.77** | -21.1% | 40.8% | 1.83 | 147 | 0.38 | +| 5 | 牛熊自适应 | 2h | +845.9% | +30.0% | **0.77** | -68.2% | 35.1% | 1.25 | 382 | 0.44 | +| 6 | 超级趋势 | 6h | +288.2% | +17.3% | **0.72** | -35.9% | 40.4% | 2.03 | 146 | 0.48 | +| 7 | ATR波动率突破 | 6h | +676.2% | +27.3% | **0.67** | -87.8% | 26.2% | 1.34 | 107 | 0.31 | +| 8 | 海龟交易 | 6h | +96.1% | +8.2% | **0.64** | -34.1% | 35.0% | 1.30 | 605 | 0.24 | +| 9 | MACD金叉死叉 | 2h | +97.6% | +8.3% | **0.55** | -37.8% | 37.7% | 1.22 | 917 | 0.22 | +| 10 | 布林收缩爆发 | 6h | +51.4% | +5.0% | **0.54** | -22.1% | 39.1% | 1.80 | 69 | 0.23 | +| 11 | EMA双均线多空 | 2h | +35.9% | +3.6% | **0.39** | -94.0% | 37.2% | 1.07 | 753 | 0.04 | +| 12 | MACD金叉死叉 | 6h | +43.0% | +4.3% | **0.37** | -18.3% | 38.5% | 1.26 | 288 | 0.23 | +| 13 | 三均线排列 | 2h | +32.9% | +3.4% | **0.34** | -30.2% | 32.4% | 1.23 | 432 | 0.11 | +| 14 | 布林收缩爆发 | 2h | +25.7% | +2.7% | **0.30** | -18.6% | 35.9% | 1.38 | 159 | 0.15 | +| 15 | RSI均值回归 | 6h | -80.3% | -17.4% | **-0.08** | -96.2% | 42.3% | 0.95 | 168 | -0.18 | +| 16 | RSI均值回归 | 2h | -96.5% | -32.5% | **-0.73** | -97.3% | 43.5% | 0.45 | 411 | -0.33 | +| 17 | 海龟交易 | 2h | -64.4% | -11.4% | **-1.09** | -67.5% | 31.0% | 0.86 | 1644 | -0.17 | +| 18 | EMA双均线多空 | 6h | -278.8% | +0.0% | **-1.64** | -318.9% | 0.0% | 0.00 | 1 | 0.00 | + +> 🏆 **BNBUSDT 最优**:牛熊自适应 6h,夏普 **1.22**,总收益 **+3592.9%** + +### BTCUSDT + +| 排名 | 策略 | TF | 总收益% | 年化% | 夏普 | 回撤% | 胜率% | 盈亏比 | 交易数 | 卡尔玛 | +|------|------|----|---------|-------|------|-------|-------|--------|--------|--------| +| 🥇 | ATR波动率突破 | 2h | +4550.8% | +54.8% | **1.13** | -52.6% | 31.4% | 1.43 | 334 | 1.04 | +| 🥈 | 三均线排列 | 6h | +86.1% | +7.4% | **0.93** | -13.3% | 37.8% | 1.82 | 148 | 0.56 | +| 🥉 | ATR波动率突破 | 6h | +1509.3% | +37.5% | **0.92** | -55.8% | 31.9% | 1.42 | 94 | 0.67 | +| 4 | 超级趋势 | 6h | +113.3% | +9.1% | **0.83** | -16.2% | 36.6% | 1.65 | 134 | 0.56 | +| 5 | EMA双均线多空 | 6h | +1148.0% | +33.6% | **0.82** | -57.2% | 41.2% | 1.54 | 240 | 0.59 | +| 6 | 牛熊自适应 | 6h | +317.6% | +17.8% | **0.67** | -43.3% | 35.2% | 1.37 | 122 | 0.41 | +| 7 | 牛熊自适应 | 2h | +89.9% | +7.6% | **0.40** | -66.9% | 33.6% | 1.18 | 375 | 0.11 | +| 8 | 三均线排列 | 2h | +14.0% | +1.5% | **0.26** | -26.5% | 33.5% | 1.21 | 412 | 0.06 | +| 9 | 海龟交易 | 6h | +9.6% | +1.1% | **0.17** | -19.1% | 35.1% | 1.13 | 579 | 0.06 | +| 10 | MACD金叉死叉 | 2h | +7.9% | +0.9% | **0.14** | -19.2% | 36.5% | 1.12 | 873 | 0.04 | +| 11 | MACD金叉死叉 | 6h | +6.0% | +0.7% | **0.12** | -28.8% | 37.0% | 1.08 | 316 | 0.02 | +| 12 | 布林收缩爆发 | 6h | -6.8% | -0.8% | **-0.15** | -18.1% | 32.3% | 0.87 | 62 | -0.04 | +| 13 | 布林收缩爆发 | 2h | -7.4% | -0.9% | **-0.19** | -19.0% | 30.8% | 0.90 | 117 | -0.05 | +| 14 | 超级趋势 | 2h | -36.4% | -5.0% | **-0.39** | -48.0% | 32.2% | 0.86 | 401 | -0.10 | +| 15 | EMA双均线多空 | 2h | -99.3% | -43.4% | **-0.48** | -99.4% | 32.8% | 0.67 | 711 | -0.44 | +| 16 | RSI均值回归 | 6h | -85.8% | -20.1% | **-0.52** | -89.8% | 38.1% | 0.77 | 194 | -0.22 | +| 17 | RSI均值回归 | 2h | -98.5% | -38.2% | **-1.35** | -98.8% | 35.8% | 0.52 | 480 | -0.39 | +| 18 | 海龟交易 | 2h | -71.9% | -13.5% | **-1.71** | -72.0% | 29.8% | 0.74 | 1622 | -0.19 | + +> 🏆 **BTCUSDT 最优**:ATR波动率突破 2h,夏普 **1.13**,总收益 **+4550.8%** + +### ETHUSDT + +| 排名 | 策略 | TF | 总收益% | 年化% | 夏普 | 回撤% | 胜率% | 盈亏比 | 交易数 | 卡尔玛 | +|------|------|----|---------|-------|------|-------|-------|--------|--------|--------| +| 🥇 | ATR波动率突破 | 6h | +5102.3% | +57.3% | **1.04** | -47.6% | 36.2% | 2.17 | 94 | 1.21 | +| 🥈 | ATR波动率突破 | 2h | +1771.2% | +39.6% | **0.85** | -59.9% | 31.7% | 1.30 | 338 | 0.66 | +| 🥉 | MACD金叉死叉 | 6h | +108.3% | +8.8% | **0.81** | -15.3% | 38.0% | 1.43 | 305 | 0.57 | +| 4 | 牛熊自适应 | 6h | +748.9% | +27.8% | **0.80** | -73.0% | 34.1% | 1.27 | 132 | 0.38 | +| 5 | 三均线排列 | 6h | +81.9% | +7.1% | **0.72** | -18.5% | 35.1% | 1.67 | 154 | 0.38 | +| 6 | MACD金叉死叉 | 2h | +103.5% | +8.4% | **0.67** | -26.8% | 37.2% | 1.26 | 867 | 0.31 | +| 7 | 布林收缩爆发 | 2h | +20.9% | +2.2% | **0.38** | -13.4% | 42.3% | 1.42 | 137 | 0.16 | +| 8 | 海龟交易 | 6h | +16.4% | +1.8% | **0.22** | -28.6% | 37.2% | 1.13 | 596 | 0.06 | +| 9 | 布林收缩爆发 | 6h | +8.4% | +0.9% | **0.19** | -18.4% | 35.7% | 1.23 | 56 | 0.05 | +| 10 | 超级趋势 | 6h | +5.9% | +0.7% | **0.12** | -42.7% | 44.2% | 1.06 | 129 | 0.02 | +| 11 | 牛熊自适应 | 2h | -20.9% | -2.6% | **0.10** | -80.0% | 30.0% | 1.04 | 400 | -0.03 | +| 12 | 超级趋势 | 2h | -13.3% | -1.6% | **-0.04** | -48.1% | 34.1% | 0.99 | 407 | -0.03 | +| 13 | 三均线排列 | 2h | -24.3% | -3.1% | **-0.40** | -37.5% | 28.5% | 0.90 | 418 | -0.08 | +| 14 | EMA双均线多空 | 2h | -99.8% | -52.1% | **-0.60** | -99.9% | 33.0% | 0.57 | 794 | -0.52 | +| 15 | RSI均值回归 | 6h | -98.1% | -36.6% | **-0.87** | -99.0% | 32.7% | 0.65 | 199 | -0.37 | +| 16 | EMA双均线多空 | 6h | -114.3% | +0.0% | **-1.11** | -110.5% | 20.0% | 0.22 | 10 | 0.00 | +| 17 | 海龟交易 | 2h | -64.2% | -11.0% | **-1.18** | -64.8% | 31.2% | 0.85 | 1684 | -0.17 | +| 18 | RSI均值回归 | 2h | -99.7% | -47.9% | **-1.33** | -99.8% | 38.6% | 0.62 | 497 | -0.48 | + +> 🏆 **ETHUSDT 最优**:ATR波动率突破 6h,夏普 **1.04**,总收益 **+5102.3%** + +### SOLUSDT + +| 排名 | 策略 | TF | 总收益% | 年化% | 夏普 | 回撤% | 胜率% | 盈亏比 | 交易数 | 卡尔玛 | +|------|------|----|---------|-------|------|-------|-------|--------|--------|--------| +| 🥇 | 超级趋势 | 6h | +620.1% | +41.1% | **1.40** | -37.0% | 39.5% | 2.21 | 86 | 1.11 | +| 🥈 | ATR波动率突破 | 2h | +11666.5% | +127.5% | **1.39** | -59.8% | 37.6% | 1.37 | 202 | 2.13 | +| 🥉 | ATR波动率突破 | 6h | +4450.9% | +94.7% | **1.22** | -84.4% | 23.7% | 1.25 | 59 | 1.12 | +| 4 | MACD金叉死叉 | 6h | +84.6% | +11.3% | **0.73** | -27.7% | 42.4% | 1.34 | 217 | 0.41 | +| 5 | 牛熊自适应 | 6h | +219.6% | +22.5% | **0.68** | -74.0% | 34.6% | 1.43 | 78 | 0.30 | +| 6 | 三均线排列 | 2h | +34.4% | +5.2% | **0.54** | -15.0% | 38.9% | 1.29 | 270 | 0.35 | +| 7 | MACD金叉死叉 | 2h | +49.3% | +7.2% | **0.51** | -25.0% | 38.2% | 1.19 | 617 | 0.29 | +| 8 | 三均线排列 | 6h | +19.2% | +3.1% | **0.34** | -11.8% | 38.4% | 1.32 | 86 | 0.26 | +| 9 | 布林收缩爆发 | 6h | -5.5% | -1.0% | **-0.09** | -18.2% | 26.2% | 0.89 | 42 | -0.05 | +| 10 | 牛熊自适应 | 2h | -62.5% | -15.5% | **-0.21** | -86.1% | 32.5% | 0.92 | 271 | -0.18 | +| 11 | 布林收缩爆发 | 2h | -12.4% | -2.2% | **-0.23** | -27.2% | 29.1% | 0.87 | 134 | -0.08 | +| 12 | 海龟交易 | 6h | -23.3% | -4.5% | **-0.30** | -41.1% | 36.2% | 0.92 | 437 | -0.11 | +| 13 | 超级趋势 | 2h | -47.1% | -10.4% | **-0.52** | -56.6% | 35.8% | 0.76 | 285 | -0.18 | +| 14 | RSI均值回归 | 6h | -95.6% | -42.0% | **-0.61** | -97.0% | 38.4% | 0.60 | 99 | -0.43 | +| 15 | RSI均值回归 | 2h | -89.9% | -32.6% | **-0.65** | -93.0% | 40.4% | 0.82 | 250 | -0.35 | +| 16 | EMA双均线多空 | 2h | -120.9% | +0.0% | **-1.06** | -113.0% | 32.1% | 0.74 | 84 | 0.00 | +| 17 | 海龟交易 | 2h | -60.5% | -14.8% | **-1.13** | -60.9% | 32.6% | 0.86 | 1241 | -0.24 | +| 18 | EMA双均线多空 | 6h | -141.6% | +0.0% | **-1.28** | -153.2% | 29.2% | 0.44 | 24 | 0.00 | + +> 🏆 **SOLUSDT 最优**:超级趋势 6h,夏普 **1.40**,总收益 **+620.1%** + +--- + +## 五、2h vs 6h — 周期对比分析 + +### BNBUSDT + +#### 📅 全量 + +| 策略 | 2h 夏普 | 2h 收益% | 6h 夏普 | 6h 收益% | 更优周期 | +|------|---------|----------|---------|----------|----------| +| 海龟交易 | -1.09 | -64.4% | +0.64 | +96.1% | 6h ✅ | +| 超级趋势 | +0.94 | +512.5% | +0.72 | +288.2% | 2h ✅ | +| MACD金叉死叉 | +0.55 | +97.6% | +0.37 | +43.0% | 2h ✅ | +| 布林收缩爆发 | +0.30 | +25.7% | +0.54 | +51.4% | 6h ✅ | +| 三均线排列 | +0.34 | +32.9% | +0.77 | +93.9% | 6h ✅ | +| RSI均值回归 | -0.73 | -96.5% | -0.08 | -80.3% | 6h ✅ | +| ATR波动率突破 | +0.83 | +2258.5% | +0.67 | +676.2% | 2h ✅ | +| EMA双均线多空 | +0.39 | +35.9% | -1.64 | -278.8% | 2h ✅ | +| 牛熊自适应 | +0.77 | +845.9% | +1.22 | +3592.9% | 6h ✅ | + +> 全量:6h 胜 5/9,2h 胜 4/9 + +#### 📅 近两年 + +| 策略 | 2h 夏普 | 2h 收益% | 6h 夏普 | 6h 收益% | 更优周期 | +|------|---------|----------|---------|----------|----------| +| 海龟交易 | -1.61 | -19.0% | -1.04 | -11.8% | 6h ✅ | +| 超级趋势 | -0.26 | -5.5% | -0.15 | -3.3% | 6h ✅ | +| MACD金叉死叉 | -0.66 | -9.9% | -0.29 | -4.8% | 6h ✅ | +| 布林收缩爆发 | -0.21 | -2.1% | +0.54 | +5.2% | 6h ✅ | +| 三均线排列 | -1.54 | -12.6% | +0.30 | +2.7% | 6h ✅ | +| RSI均值回归 | -0.17 | -11.3% | -0.45 | -24.6% | 2h ✅ | +| ATR波动率突破 | -0.02 | -13.1% | +0.09 | -5.5% | 6h ✅ | +| EMA双均线多空 | -0.37 | -32.7% | +0.35 | +9.7% | 6h ✅ | +| 牛熊自适应 | +0.26 | +6.2% | +0.26 | +6.6% | 2h ✅ | + +> 近两年:6h 胜 7/9,2h 胜 2/9 + +#### 📅 近一年 + +| 策略 | 2h 夏普 | 2h 收益% | 6h 夏普 | 6h 收益% | 更优周期 | +|------|---------|----------|---------|----------|----------| +| 海龟交易 | -0.67 | -4.7% | -0.88 | -5.4% | 2h ✅ | +| 超级趋势 | -0.37 | -3.4% | -0.91 | -6.9% | 2h ✅ | +| MACD金叉死叉 | +0.98 | +7.1% | -0.52 | -4.0% | 2h ✅ | +| 布林收缩爆发 | -1.04 | -6.0% | -0.77 | -1.7% | 6h ✅ | +| 三均线排列 | -1.78 | -7.1% | +1.13 | +6.3% | 6h ✅ | +| RSI均值回归 | +0.70 | +13.6% | +0.56 | +13.3% | 2h ✅ | +| ATR波动率突破 | +1.21 | +44.0% | +0.76 | +24.5% | 2h ✅ | +| EMA双均线多空 | -0.98 | -31.9% | +0.16 | -5.6% | 6h ✅ | +| 牛熊自适应 | -0.30 | -5.8% | +0.88 | +20.0% | 6h ✅ | + +> 近一年:6h 胜 4/9,2h 胜 5/9 + +#### 📅 近半年 + +| 策略 | 2h 夏普 | 2h 收益% | 6h 夏普 | 6h 收益% | 更优周期 | +|------|---------|----------|---------|----------|----------| +| 海龟交易 | +0.13 | +0.1% | -1.75 | -4.5% | 2h ✅ | +| 超级趋势 | -0.41 | -1.4% | +1.84 | +6.6% | 6h ✅ | +| MACD金叉死叉 | +0.34 | +0.6% | -0.05 | -0.3% | 2h ✅ | +| 布林收缩爆发 | +0.46 | +1.2% | -2.50 | -8.9% | 2h ✅ | +| 三均线排列 | -1.09 | -1.5% | +0.61 | +1.1% | 6h ✅ | +| RSI均值回归 | +0.08 | -0.3% | -1.11 | -12.9% | 2h ✅ | +| ATR波动率突破 | +2.05 | +30.5% | +2.08 | +62.9% | 6h ✅ | +| EMA双均线多空 | +0.78 | +7.6% | -0.74 | -7.0% | 2h ✅ | +| 牛熊自适应 | -1.95 | -5.8% | -1.48 | -5.3% | 6h ✅ | + +> 近半年:6h 胜 4/9,2h 胜 5/9 + +### BTCUSDT + +#### 📅 全量 + +| 策略 | 2h 夏普 | 2h 收益% | 6h 夏普 | 6h 收益% | 更优周期 | +|------|---------|----------|---------|----------|----------| +| 海龟交易 | -1.71 | -71.9% | +0.17 | +9.6% | 6h ✅ | +| 超级趋势 | -0.39 | -36.4% | +0.83 | +113.3% | 6h ✅ | +| MACD金叉死叉 | +0.14 | +7.9% | +0.12 | +6.0% | 2h ✅ | +| 布林收缩爆发 | -0.19 | -7.4% | -0.15 | -6.8% | 6h ✅ | +| 三均线排列 | +0.26 | +14.0% | +0.93 | +86.1% | 6h ✅ | +| RSI均值回归 | -1.35 | -98.5% | -0.52 | -85.8% | 6h ✅ | +| ATR波动率突破 | +1.13 | +4550.8% | +0.92 | +1509.3% | 2h ✅ | +| EMA双均线多空 | -0.48 | -99.3% | +0.82 | +1148.0% | 6h ✅ | +| 牛熊自适应 | +0.40 | +89.9% | +0.67 | +317.6% | 6h ✅ | + +> 全量:6h 胜 7/9,2h 胜 2/9 + +#### 📅 近两年 + +| 策略 | 2h 夏普 | 2h 收益% | 6h 夏普 | 6h 收益% | 更优周期 | +|------|---------|----------|---------|----------|----------| +| 海龟交易 | -3.39 | -30.2% | -0.58 | -7.1% | 6h ✅ | +| 超级趋势 | -0.89 | -13.3% | -0.60 | -9.1% | 6h ✅ | +| MACD金叉死叉 | -0.22 | -3.3% | -0.09 | -1.8% | 6h ✅ | +| 布林收缩爆发 | -0.80 | -4.0% | -0.01 | -0.1% | 6h ✅ | +| 三均线排列 | -0.93 | -6.8% | +0.35 | +3.1% | 6h ✅ | +| RSI均值回归 | -0.66 | -28.2% | -0.58 | -23.5% | 6h ✅ | +| ATR波动率突破 | +0.49 | +24.6% | +0.18 | +0.7% | 2h ✅ | +| EMA双均线多空 | -1.54 | -68.9% | +1.27 | +116.6% | 6h ✅ | +| 牛熊自适应 | +0.75 | +31.0% | +0.26 | +6.3% | 2h ✅ | + +> 近两年:6h 胜 7/9,2h 胜 2/9 + +#### 📅 近一年 + +| 策略 | 2h 夏普 | 2h 收益% | 6h 夏普 | 6h 收益% | 更优周期 | +|------|---------|----------|---------|----------|----------| +| 海龟交易 | -3.58 | -14.3% | -0.28 | -1.5% | 6h ✅ | +| 超级趋势 | -1.89 | -11.6% | -0.96 | -5.4% | 6h ✅ | +| MACD金叉死叉 | -0.47 | -3.2% | +0.42 | +2.6% | 6h ✅ | +| 布林收缩爆发 | +0.12 | +0.2% | -0.19 | -0.6% | 2h ✅ | +| 三均线排列 | +0.07 | +0.2% | -0.68 | -2.1% | 2h ✅ | +| RSI均值回归 | -0.45 | -10.6% | -0.29 | -7.8% | 6h ✅ | +| ATR波动率突破 | +1.47 | +54.0% | +0.04 | -3.2% | 2h ✅ | +| EMA双均线多空 | -2.55 | -54.7% | -0.24 | -10.4% | 6h ✅ | +| 牛熊自适应 | +0.30 | +3.7% | -1.09 | -14.4% | 2h ✅ | + +> 近一年:6h 胜 5/9,2h 胜 4/9 + +#### 📅 近半年 + +| 策略 | 2h 夏普 | 2h 收益% | 6h 夏普 | 6h 收益% | 更优周期 | +|------|---------|----------|---------|----------|----------| +| 海龟交易 | -4.83 | -10.7% | -1.66 | -5.4% | 6h ✅ | +| 超级趋势 | -0.25 | -1.3% | +1.07 | +3.8% | 6h ✅ | +| MACD金叉死叉 | +1.07 | +3.8% | +0.48 | +1.6% | 2h ✅ | +| 布林收缩爆发 | -1.02 | -0.7% | -0.60 | -0.8% | 6h ✅ | +| 三均线排列 | +1.07 | +1.9% | -2.56 | -2.7% | 2h ✅ | +| RSI均值回归 | -0.12 | -2.8% | -1.34 | -16.2% | 2h ✅ | +| ATR波动率突破 | +2.05 | +42.5% | +2.68 | +39.4% | 6h ✅ | +| EMA双均线多空 | -2.97 | -32.3% | -0.75 | -10.4% | 6h ✅ | +| 牛熊自适应 | +0.04 | -0.3% | -1.14 | -4.7% | 2h ✅ | + +> 近半年:6h 胜 5/9,2h 胜 4/9 + +### ETHUSDT + +#### 📅 全量 + +| 策略 | 2h 夏普 | 2h 收益% | 6h 夏普 | 6h 收益% | 更优周期 | +|------|---------|----------|---------|----------|----------| +| 海龟交易 | -1.18 | -64.2% | +0.22 | +16.4% | 6h ✅ | +| 超级趋势 | -0.04 | -13.3% | +0.12 | +5.9% | 6h ✅ | +| MACD金叉死叉 | +0.67 | +103.5% | +0.81 | +108.3% | 6h ✅ | +| 布林收缩爆发 | +0.38 | +20.9% | +0.19 | +8.4% | 2h ✅ | +| 三均线排列 | -0.40 | -24.3% | +0.72 | +81.9% | 6h ✅ | +| RSI均值回归 | -1.33 | -99.7% | -0.87 | -98.1% | 6h ✅ | +| ATR波动率突破 | +0.85 | +1771.2% | +1.04 | +5102.3% | 6h ✅ | +| EMA双均线多空 | -0.60 | -99.8% | -1.11 | -114.3% | 2h ✅ | +| 牛熊自适应 | +0.10 | -20.9% | +0.80 | +748.9% | 6h ✅ | + +> 全量:6h 胜 7/9,2h 胜 2/9 + +#### 📅 近两年 + +| 策略 | 2h 夏普 | 2h 收益% | 6h 夏普 | 6h 收益% | 更优周期 | +|------|---------|----------|---------|----------|----------| +| 海龟交易 | -1.67 | -22.6% | +0.51 | +7.3% | 6h ✅ | +| 超级趋势 | +0.10 | +0.8% | +0.50 | +10.5% | 6h ✅ | +| MACD金叉死叉 | -0.11 | -2.7% | +0.40 | +6.6% | 6h ✅ | +| 布林收缩爆发 | +0.95 | +10.0% | -0.59 | -3.5% | 2h ✅ | +| 三均线排列 | -1.67 | -19.1% | +0.37 | +4.9% | 6h ✅ | +| RSI均值回归 | -1.18 | -55.3% | -0.09 | -15.0% | 6h ✅ | +| ATR波动率突破 | +0.40 | +16.6% | +0.96 | +97.6% | 6h ✅ | +| EMA双均线多空 | -1.24 | -80.9% | -0.26 | -42.3% | 6h ✅ | +| 牛熊自适应 | -1.54 | -58.9% | -0.67 | -32.8% | 6h ✅ | + +> 近两年:6h 胜 8/9,2h 胜 1/9 + +#### 📅 近一年 + +| 策略 | 2h 夏普 | 2h 收益% | 6h 夏普 | 6h 收益% | 更优周期 | +|------|---------|----------|---------|----------|----------| +| 海龟交易 | -1.96 | -12.9% | -0.68 | -4.6% | 6h ✅ | +| 超级趋势 | +0.92 | +10.0% | -0.61 | -4.5% | 2h ✅ | +| MACD金叉死叉 | +1.08 | +9.6% | -0.44 | -5.0% | 2h ✅ | +| 布林收缩爆发 | +1.27 | +7.5% | -0.35 | -1.1% | 2h ✅ | +| 三均线排列 | -0.85 | -5.7% | -0.09 | -0.7% | 6h ✅ | +| RSI均值回归 | -0.21 | -10.1% | +0.16 | -0.1% | 6h ✅ | +| ATR波动率突破 | +1.65 | +87.6% | +0.60 | +16.2% | 2h ✅ | +| EMA双均线多空 | -2.07 | -72.4% | -0.40 | -33.3% | 6h ✅ | +| 牛熊自适应 | -1.65 | -32.1% | -1.45 | -26.0% | 6h ✅ | + +> 近一年:6h 胜 5/9,2h 胜 4/9 + +#### 📅 近半年 + +| 策略 | 2h 夏普 | 2h 收益% | 6h 夏普 | 6h 收益% | 更优周期 | +|------|---------|----------|---------|----------|----------| +| 海龟交易 | -1.94 | -5.6% | -2.05 | -5.6% | 2h ✅ | +| 超级趋势 | -1.19 | -5.5% | -1.03 | -3.6% | 6h ✅ | +| MACD金叉死叉 | +0.90 | +3.8% | +0.06 | +0.0% | 2h ✅ | +| 布林收缩爆发 | +1.27 | +4.3% | -2.43 | -3.1% | 2h ✅ | +| 三均线排列 | +0.48 | +1.2% | -3.93 | -5.0% | 2h ✅ | +| RSI均值回归 | +1.10 | +14.3% | -0.51 | -12.3% | 2h ✅ | +| ATR波动率突破 | +1.35 | +26.6% | +1.53 | +26.7% | 6h ✅ | +| EMA双均线多空 | -1.10 | -26.5% | -0.77 | -16.6% | 6h ✅ | +| 牛熊自适应 | +0.35 | +2.7% | -4.13 | -23.3% | 2h ✅ | + +> 近半年:6h 胜 3/9,2h 胜 6/9 + +### SOLUSDT + +#### 📅 全量 + +| 策略 | 2h 夏普 | 2h 收益% | 6h 夏普 | 6h 收益% | 更优周期 | +|------|---------|----------|---------|----------|----------| +| 海龟交易 | -1.13 | -60.5% | -0.30 | -23.3% | 6h ✅ | +| 超级趋势 | -0.52 | -47.1% | +1.40 | +620.1% | 6h ✅ | +| MACD金叉死叉 | +0.51 | +49.3% | +0.73 | +84.6% | 6h ✅ | +| 布林收缩爆发 | -0.23 | -12.4% | -0.09 | -5.5% | 6h ✅ | +| 三均线排列 | +0.54 | +34.4% | +0.34 | +19.2% | 2h ✅ | +| RSI均值回归 | -0.65 | -89.9% | -0.61 | -95.6% | 6h ✅ | +| ATR波动率突破 | +1.39 | +11666.5% | +1.22 | +4450.9% | 2h ✅ | +| EMA双均线多空 | -1.06 | -120.9% | -1.28 | -141.6% | 2h ✅ | +| 牛熊自适应 | -0.21 | -62.5% | +0.68 | +219.6% | 6h ✅ | + +> 全量:6h 胜 6/9,2h 胜 3/9 + +#### 📅 近两年 + +| 策略 | 2h 夏普 | 2h 收益% | 6h 夏普 | 6h 收益% | 更优周期 | +|------|---------|----------|---------|----------|----------| +| 海龟交易 | -2.40 | -34.5% | +0.41 | +7.2% | 6h ✅ | +| 超级趋势 | -0.11 | -4.4% | +0.10 | +0.8% | 6h ✅ | +| MACD金叉死叉 | +0.05 | -0.2% | -0.52 | -11.6% | 2h ✅ | +| 布林收缩爆发 | -0.11 | -1.0% | -1.01 | -7.2% | 2h ✅ | +| 三均线排列 | -0.14 | -2.5% | -0.38 | -5.0% | 2h ✅ | +| RSI均值回归 | -0.94 | -51.3% | -1.04 | -53.9% | 2h ✅ | +| ATR波动率突破 | -0.03 | -29.0% | -0.43 | -58.8% | 2h ✅ | +| EMA双均线多空 | -1.30 | -88.3% | +0.16 | -19.8% | 6h ✅ | +| 牛熊自适应 | -0.04 | -12.3% | +0.49 | +21.4% | 6h ✅ | + +> 近两年:6h 胜 4/9,2h 胜 5/9 + +#### 📅 近一年 + +| 策略 | 2h 夏普 | 2h 收益% | 6h 夏普 | 6h 收益% | 更优周期 | +|------|---------|----------|---------|----------|----------| +| 海龟交易 | -2.78 | -19.3% | -0.77 | -4.9% | 6h ✅ | +| 超级趋势 | +0.43 | +4.7% | +1.03 | +9.9% | 6h ✅ | +| MACD金叉死叉 | -0.20 | -2.6% | -0.47 | -4.0% | 2h ✅ | +| 布林收缩爆发 | +0.32 | +1.1% | -1.37 | -5.4% | 2h ✅ | +| 三均线排列 | -1.57 | -9.0% | -0.35 | -2.3% | 6h ✅ | +| RSI均值回归 | -1.96 | -45.0% | -0.18 | -16.4% | 6h ✅ | +| ATR波动率突破 | +0.68 | +23.6% | -0.64 | -42.8% | 2h ✅ | +| EMA双均线多空 | -2.70 | -81.6% | -1.08 | -53.8% | 6h ✅ | +| 牛熊自适应 | +0.19 | +1.3% | -0.47 | -15.6% | 2h ✅ | + +> 近一年:6h 胜 5/9,2h 胜 4/9 + +#### 📅 近半年 + +| 策略 | 2h 夏普 | 2h 收益% | 6h 夏普 | 6h 收益% | 更优周期 | +|------|---------|----------|---------|----------|----------| +| 海龟交易 | -2.14 | -7.3% | -0.80 | -2.5% | 6h ✅ | +| 超级趋势 | -1.33 | -6.4% | +1.03 | +4.5% | 6h ✅ | +| MACD金叉死叉 | -0.29 | -1.8% | +0.54 | +2.2% | 6h ✅ | +| 布林收缩爆发 | +1.35 | +2.4% | -2.14 | -1.1% | 2h ✅ | +| 三均线排列 | -2.30 | -5.5% | -3.51 | -6.2% | 2h ✅ | +| RSI均值回归 | -1.58 | -24.9% | -1.53 | -24.3% | 6h ✅ | +| ATR波动率突破 | +1.22 | +22.0% | +2.49 | +40.4% | 6h ✅ | +| EMA双均线多空 | -2.08 | -40.2% | -2.61 | -47.9% | 2h ✅ | +| 牛熊自适应 | +1.64 | +18.0% | -2.97 | -20.6% | 2h ✅ | + +> 近半年:6h 胜 5/9,2h 胜 4/9 + +--- + +## 六、策略时效性分析 — 全量 vs 近期夏普衰减 + +> ⚠️ 衰减 = 近一年夏普比全量低 0.5 以上 | ✅ 稳定 = 差值在 ±0.5 | 📈 改善 = 近一年更高 + +### 海龟交易 + +| 币种 | TF | 全量夏普 | 近两年 | 近一年 | 近半年 | 趋势 | +|------|----|----------|--------|--------|--------|------| +| BNBUSDT | 2h | -1.09 | -1.61 | -0.67 | +0.13 | ✅ 稳定 | +| BNBUSDT | 6h | +0.64 | -1.04 | -0.88 | -1.75 | ⚠️ 衰减 | +| BTCUSDT | 2h | -1.71 | -3.39 | -3.58 | -4.83 | ⚠️ 衰减 | +| BTCUSDT | 6h | +0.17 | -0.58 | -0.28 | -1.66 | ✅ 稳定 | +| ETHUSDT | 2h | -1.18 | -1.67 | -1.96 | -1.94 | ⚠️ 衰减 | +| ETHUSDT | 6h | +0.22 | +0.51 | -0.68 | -2.05 | ⚠️ 衰减 | +| SOLUSDT | 2h | -1.13 | -2.40 | -2.78 | -2.14 | ⚠️ 衰减 | +| SOLUSDT | 6h | -0.30 | +0.41 | -0.77 | -0.80 | ✅ 稳定 | + +### 超级趋势 + +| 币种 | TF | 全量夏普 | 近两年 | 近一年 | 近半年 | 趋势 | +|------|----|----------|--------|--------|--------|------| +| BNBUSDT | 2h | +0.94 | -0.26 | -0.37 | -0.41 | ⚠️ 衰减 | +| BNBUSDT | 6h | +0.72 | -0.15 | -0.91 | +1.84 | ⚠️ 衰减 | +| BTCUSDT | 2h | -0.39 | -0.89 | -1.89 | -0.25 | ⚠️ 衰减 | +| BTCUSDT | 6h | +0.83 | -0.60 | -0.96 | +1.07 | ⚠️ 衰减 | +| ETHUSDT | 2h | -0.04 | +0.10 | +0.92 | -1.19 | 📈 改善 | +| ETHUSDT | 6h | +0.12 | +0.50 | -0.61 | -1.03 | ⚠️ 衰减 | +| SOLUSDT | 2h | -0.52 | -0.11 | +0.43 | -1.33 | 📈 改善 | +| SOLUSDT | 6h | +1.40 | +0.10 | +1.03 | +1.03 | ✅ 稳定 | + +### MACD金叉死叉 + +| 币种 | TF | 全量夏普 | 近两年 | 近一年 | 近半年 | 趋势 | +|------|----|----------|--------|--------|--------|------| +| BNBUSDT | 2h | +0.55 | -0.66 | +0.98 | +0.34 | ✅ 稳定 | +| BNBUSDT | 6h | +0.37 | -0.29 | -0.52 | -0.05 | ⚠️ 衰减 | +| BTCUSDT | 2h | +0.14 | -0.22 | -0.47 | +1.07 | ⚠️ 衰减 | +| BTCUSDT | 6h | +0.12 | -0.09 | +0.42 | +0.48 | ✅ 稳定 | +| ETHUSDT | 2h | +0.67 | -0.11 | +1.08 | +0.90 | ✅ 稳定 | +| ETHUSDT | 6h | +0.81 | +0.40 | -0.44 | +0.06 | ⚠️ 衰减 | +| SOLUSDT | 2h | +0.51 | +0.05 | -0.20 | -0.29 | ⚠️ 衰减 | +| SOLUSDT | 6h | +0.73 | -0.52 | -0.47 | +0.54 | ⚠️ 衰减 | + +### 布林收缩爆发 + +| 币种 | TF | 全量夏普 | 近两年 | 近一年 | 近半年 | 趋势 | +|------|----|----------|--------|--------|--------|------| +| BNBUSDT | 2h | +0.30 | -0.21 | -1.04 | +0.46 | ⚠️ 衰减 | +| BNBUSDT | 6h | +0.54 | +0.54 | -0.77 | -2.50 | ⚠️ 衰减 | +| BTCUSDT | 2h | -0.19 | -0.80 | +0.12 | -1.02 | ✅ 稳定 | +| BTCUSDT | 6h | -0.15 | -0.01 | -0.19 | -0.60 | ✅ 稳定 | +| ETHUSDT | 2h | +0.38 | +0.95 | +1.27 | +1.27 | 📈 改善 | +| ETHUSDT | 6h | +0.19 | -0.59 | -0.35 | -2.43 | ⚠️ 衰减 | +| SOLUSDT | 2h | -0.23 | -0.11 | +0.32 | +1.35 | 📈 改善 | +| SOLUSDT | 6h | -0.09 | -1.01 | -1.37 | -2.14 | ⚠️ 衰减 | + +### 三均线排列 + +| 币种 | TF | 全量夏普 | 近两年 | 近一年 | 近半年 | 趋势 | +|------|----|----------|--------|--------|--------|------| +| BNBUSDT | 2h | +0.34 | -1.54 | -1.78 | -1.09 | ⚠️ 衰减 | +| BNBUSDT | 6h | +0.77 | +0.30 | +1.13 | +0.61 | ✅ 稳定 | +| BTCUSDT | 2h | +0.26 | -0.93 | +0.07 | +1.07 | ✅ 稳定 | +| BTCUSDT | 6h | +0.93 | +0.35 | -0.68 | -2.56 | ⚠️ 衰减 | +| ETHUSDT | 2h | -0.40 | -1.67 | -0.85 | +0.48 | ✅ 稳定 | +| ETHUSDT | 6h | +0.72 | +0.37 | -0.09 | -3.93 | ⚠️ 衰减 | +| SOLUSDT | 2h | +0.54 | -0.14 | -1.57 | -2.30 | ⚠️ 衰减 | +| SOLUSDT | 6h | +0.34 | -0.38 | -0.35 | -3.51 | ⚠️ 衰减 | + +### RSI均值回归 + +| 币种 | TF | 全量夏普 | 近两年 | 近一年 | 近半年 | 趋势 | +|------|----|----------|--------|--------|--------|------| +| BNBUSDT | 2h | -0.73 | -0.17 | +0.70 | +0.08 | 📈 改善 | +| BNBUSDT | 6h | -0.08 | -0.45 | +0.56 | -1.11 | 📈 改善 | +| BTCUSDT | 2h | -1.35 | -0.66 | -0.45 | -0.12 | 📈 改善 | +| BTCUSDT | 6h | -0.52 | -0.58 | -0.29 | -1.34 | ✅ 稳定 | +| ETHUSDT | 2h | -1.33 | -1.18 | -0.21 | +1.10 | 📈 改善 | +| ETHUSDT | 6h | -0.87 | -0.09 | +0.16 | -0.51 | 📈 改善 | +| SOLUSDT | 2h | -0.65 | -0.94 | -1.96 | -1.58 | ⚠️ 衰减 | +| SOLUSDT | 6h | -0.61 | -1.04 | -0.18 | -1.53 | ✅ 稳定 | + +### ATR波动率突破 + +| 币种 | TF | 全量夏普 | 近两年 | 近一年 | 近半年 | 趋势 | +|------|----|----------|--------|--------|--------|------| +| BNBUSDT | 2h | +0.83 | -0.02 | +1.21 | +2.05 | ✅ 稳定 | +| BNBUSDT | 6h | +0.67 | +0.09 | +0.76 | +2.08 | ✅ 稳定 | +| BTCUSDT | 2h | +1.13 | +0.49 | +1.47 | +2.05 | ✅ 稳定 | +| BTCUSDT | 6h | +0.92 | +0.18 | +0.04 | +2.68 | ⚠️ 衰减 | +| ETHUSDT | 2h | +0.85 | +0.40 | +1.65 | +1.35 | 📈 改善 | +| ETHUSDT | 6h | +1.04 | +0.96 | +0.60 | +1.53 | ✅ 稳定 | +| SOLUSDT | 2h | +1.39 | -0.03 | +0.68 | +1.22 | ⚠️ 衰减 | +| SOLUSDT | 6h | +1.22 | -0.43 | -0.64 | +2.49 | ⚠️ 衰减 | + +### EMA双均线多空 + +| 币种 | TF | 全量夏普 | 近两年 | 近一年 | 近半年 | 趋势 | +|------|----|----------|--------|--------|--------|------| +| BNBUSDT | 2h | +0.39 | -0.37 | -0.98 | +0.78 | ⚠️ 衰减 | +| BNBUSDT | 6h | -1.64 | +0.35 | +0.16 | -0.74 | 📈 改善 | +| BTCUSDT | 2h | -0.48 | -1.54 | -2.55 | -2.97 | ⚠️ 衰减 | +| BTCUSDT | 6h | +0.82 | +1.27 | -0.24 | -0.75 | ⚠️ 衰减 | +| ETHUSDT | 2h | -0.60 | -1.24 | -2.07 | -1.10 | ⚠️ 衰减 | +| ETHUSDT | 6h | -1.11 | -0.26 | -0.40 | -0.77 | 📈 改善 | +| SOLUSDT | 2h | -1.06 | -1.30 | -2.70 | -2.08 | ⚠️ 衰减 | +| SOLUSDT | 6h | -1.28 | +0.16 | -1.08 | -2.61 | ✅ 稳定 | + +### 牛熊自适应 + +| 币种 | TF | 全量夏普 | 近两年 | 近一年 | 近半年 | 趋势 | +|------|----|----------|--------|--------|--------|------| +| BNBUSDT | 2h | +0.77 | +0.26 | -0.30 | -1.95 | ⚠️ 衰减 | +| BNBUSDT | 6h | +1.22 | +0.26 | +0.88 | -1.48 | ✅ 稳定 | +| BTCUSDT | 2h | +0.40 | +0.75 | +0.30 | +0.04 | ✅ 稳定 | +| BTCUSDT | 6h | +0.67 | +0.26 | -1.09 | -1.14 | ⚠️ 衰减 | +| ETHUSDT | 2h | +0.10 | -1.54 | -1.65 | +0.35 | ⚠️ 衰减 | +| ETHUSDT | 6h | +0.80 | -0.67 | -1.45 | -4.13 | ⚠️ 衰减 | +| SOLUSDT | 2h | -0.21 | -0.04 | +0.19 | +1.64 | ✅ 稳定 | +| SOLUSDT | 6h | +0.68 | +0.49 | -0.47 | -2.97 | ⚠️ 衰减 | + +--- + +## 七、全量数据 综合评分 TOP 20 + +> 综合评分 = 夏普比率×0.4 + 年化收益归一化×0.3 + 卡尔玛归一化×0.2 - 回撤归一化×0.1 + +| 排名 | 策略 | 币种 | TF | 总收益% | 年化% | 夏普 | 回撤% | 胜率% | 盈亏比 | 综合评分 | +|------|------|------|----|---------|-------|------|-------|-------|--------|----------| +| 🥇 | ATR波动率突破 | SOLUSDT | 2h | +11666.5% | +127.5% | **1.39** | -59.8% | 37.6% | 1.37 | **1.037** | +| 🥈 | ATR波动率突破 | SOLUSDT | 6h | +4450.9% | +94.7% | **1.22** | -84.4% | 23.7% | 1.25 | **0.789** | +| 🥉 | 超级趋势 | SOLUSDT | 6h | +620.1% | +41.1% | **1.40** | -37.0% | 39.5% | 2.21 | **0.749** | +| 4 | 牛熊自适应 | BNBUSDT | 6h | +3592.9% | +52.9% | **1.22** | -44.5% | 37.5% | 1.99 | **0.710** | +| 5 | ATR波动率突破 | BTCUSDT | 2h | +4550.8% | +54.8% | **1.13** | -52.6% | 31.4% | 1.43 | **0.662** | +| 6 | ATR波动率突破 | ETHUSDT | 6h | +5102.3% | +57.3% | **1.04** | -47.6% | 36.2% | 2.17 | **0.650** | +| 7 | ATR波动率突破 | BTCUSDT | 6h | +1509.3% | +37.5% | **0.92** | -55.8% | 31.9% | 1.42 | **0.502** | +| 8 | 超级趋势 | BNBUSDT | 2h | +512.5% | +23.6% | **0.94** | -37.0% | 40.3% | 1.55 | **0.480** | +| 9 | ATR波动率突破 | ETHUSDT | 2h | +1771.2% | +39.6% | **0.85** | -59.9% | 31.7% | 1.30 | **0.476** | +| 10 | ATR波动率突破 | BNBUSDT | 2h | +2258.5% | +44.6% | **0.83** | -72.5% | 29.5% | 1.22 | **0.472** | +| 11 | EMA双均线多空 | BTCUSDT | 6h | +1148.0% | +33.6% | **0.82** | -57.2% | 41.2% | 1.54 | **0.444** | +| 12 | 三均线排列 | BTCUSDT | 6h | +86.1% | +7.4% | **0.93** | -13.3% | 37.8% | 1.82 | **0.438** | +| 13 | 超级趋势 | BTCUSDT | 6h | +113.3% | +9.1% | **0.83** | -16.2% | 36.6% | 1.65 | **0.401** | +| 14 | 牛熊自适应 | BNBUSDT | 2h | +845.9% | +30.0% | **0.77** | -68.2% | 35.1% | 1.25 | **0.399** | +| 15 | 牛熊自适应 | ETHUSDT | 6h | +748.9% | +27.8% | **0.80** | -73.0% | 34.1% | 1.27 | **0.398** | +| 16 | MACD金叉死叉 | ETHUSDT | 6h | +108.3% | +8.8% | **0.81** | -15.3% | 38.0% | 1.43 | **0.393** | +| 17 | 超级趋势 | BNBUSDT | 6h | +288.2% | +17.3% | **0.72** | -35.9% | 40.4% | 2.03 | **0.363** | +| 18 | 三均线排列 | BNBUSDT | 6h | +93.9% | +8.1% | **0.77** | -21.1% | 40.8% | 1.83 | **0.356** | +| 19 | MACD金叉死叉 | SOLUSDT | 6h | +84.6% | +11.3% | **0.73** | -27.7% | 42.4% | 1.34 | **0.348** | +| 20 | 牛熊自适应 | BTCUSDT | 6h | +317.6% | +17.8% | **0.67** | -43.3% | 35.2% | 1.37 | **0.335** | + +--- + +## 八、关键发现 + +### 🔑 周期选择:6h 显著优于 2h + +在全量数据中,**25/36(69%)** 的策略-币种组合在 6h 上夏普比率更高。 + +**原因分析**:2h 交易频率过高,手续费侵蚀严重。以海龟交易 BTC 为例: +- 2h 全量:1,622 笔交易 → 终值仅 $2,807(亏损 71.9%),夏普 -1.71 +- 6h 全量:579 笔交易 → 终值 $10,963(盈利 9.6%),夏普 +0.17 +- 差异:2h 比 6h 多产生 1,043 笔交易,多付 2 倍以上手续费 +- 手续费成本 = 0.1% × 2(开平)= 0.2% / 笔 × 1,622 笔 ≈ 324% 本金摩擦成本 + +### 🏆 综合最优策略 + +**ATR波动率突破** — SOLUSDT 2h +- 总收益:**+11666.5%** +- 年化收益:**+127.5%** +- 夏普比率:**1.39** +- 最大回撤:-59.8% +- 盈亏比:1.37 +- 交易次数:202 + +### 📊 各币种最优策略(全量,按夏普) + +| 币种 | 最优策略 | TF | 总收益% | 年化% | 夏普 | 回撤% | 交易数 | +|------|----------|----|---------|-------|------|-------|--------| +| BNBUSDT | **牛熊自适应** | 6h | +3592.9% | +52.9% | **1.22** | -44.5% | 128 | +| BTCUSDT | **ATR波动率突破** | 2h | +4550.8% | +54.8% | **1.13** | -52.6% | 334 | +| ETHUSDT | **ATR波动率突破** | 6h | +5102.3% | +57.3% | **1.04** | -47.6% | 94 | +| SOLUSDT | **超级趋势** | 6h | +620.1% | +41.1% | **1.40** | -37.0% | 86 | + +### 💡 ATR 策略对比 + +| 维度 | 超级趋势(纯ATR跟踪) | ATR波动率突破(squeeze-expand) | +|------|----------------------|-------------------------------| +| 最优夏普 | 1.40 (SOLUSDT 6h) | 1.39 (SOLUSDT 2h) | +| 最优总收益 | +620.1% | +11666.5% | +| 参数 | ATR(10)×3.0 | ATR(14) squeeze=20×0.7 + EMA(10,30) | +| 特点 | 简单、始终在场 | 需要 squeeze 检测,非始终在场 | +| 适用场景 | 强趋势市场(BNB SOL 全量表现突出)| 波动率周期明显的市场(SOL ETH 极佳)| + +**结论**:ATR波动率突破在高波动币种(SOL)上能产生天文数字级收益(+11,667%),但回撤也极大(-59.8%~-84.4%)。超级趋势更稳定,在 BNB 上夏普 0.94,回撤仅 -37%,适合稳健配置。 + +### ⚡ 高频策略亏损分析 + +在 2h 周期上,交易次数 > 500 的组合: +- 亏损组合:6 个(平均交易 1282 次) +- 盈利组合:5 个(平均交易 805 次) + +高交易频率 ≠ 高收益。2h 上 MACD金叉死叉是全量 2h 中唯一普遍不亏的策略(BTC 2h 全量 +7.9%),因为它有 zero-line 方向过滤和 3 bar 最小持仓限制。 + +### 📈 策略类型平均表现(全量,4币种×2TF 平均) + +| 类型 | 策略 | 平均夏普 | 平均收益% | 平均回撤% | +|------|------|----------|-----------|-----------| +| 趋势跟踪 | 海龟交易 | -0.55 | -20.3% | -48.5% | +| 趋势跟踪 | 超级趋势 | +0.38 | +180.4% | -40.2% | +| 动量 | MACD金叉死叉 | +0.49 | +62.5% | -24.9% | +| 波动率突破 | 布林收缩爆发 | +0.09 | +9.3% | -19.4% | +| 趋势跟踪 | 三均线排列 | +0.44 | +42.3% | -21.7% | +| 均值回归 | RSI均值回归 | -0.77 | -93.1% | -96.4% | +| 波动率突破 | ATR波动率突破 | +1.01 | +3998.2% | -65.0% | +| 趋势跟踪 | EMA双均线多空 | -0.62 | +41.1% | -130.8% | +| 牛熊自适应 | 牛熊自适应 | +0.55 | +716.4% | -67.0% | + +--- + +*报告由 `comparison_2h_6h_result.json` 自动生成于 2026-06-13 11:36:37 UTC。回测引擎:LongShortEngine,初始本金 $10,000,单边手续费 0.1%,滑点 0.05%。* + +*所有收益均为回测模拟结果,不构成投资建议。历史表现不代表未来收益。* \ No newline at end of file diff --git a/engine/example/comparison_2h_6h_result.json b/engine/example/comparison_2h_6h_result.json new file mode 100644 index 0000000..984eb45 --- /dev/null +++ b/engine/example/comparison_2h_6h_result.json @@ -0,0 +1,6940 @@ +{ + "config": { + "symbols": [ + "BTCUSDT", + "ETHUSDT", + "BNBUSDT", + "SOLUSDT" + ], + "timeframes": [ + "2h", + "6h" + ], + "periods": [ + "全量", + "近两年", + "近一年", + "近半年" + ], + "initial_capital": 10000.0, + "warmup_bars": 150, + "total_tasks": 288, + "total_errors": 0, + "elapsed_seconds": 28.711908102035522, + "run_time": "2026-06-13T11:36:37.508375+00:00" + }, + "results": [ + { + "策略名": "1.海龟交易", + "币种": "BTCUSDT", + "时间级别": "2h", + "数据量": "近半年", + "策略类型": "趋势跟踪", + "策略参数": "entry=20/exit=10/ATR(20)x2.0", + "策略描述": "Donchian 20/10通道突破 + 2N ATR止损,多空双向", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 8929.37, + "总收益%": -10.71, + "年化收益%": -21.92, + "夏普比率": -4.83, + "最大回撤%": -11.1, + "胜率%": 25.84, + "盈亏比": 0.42, + "交易次数": 89, + "平均盈亏": -9.66, + "最佳盈亏": 65.5, + "最差盈亏": -84.69, + "卡尔玛比率": -1.97, + "耗时s": 0.1 + }, + { + "策略名": "1.海龟交易", + "币种": "BTCUSDT", + "时间级别": "6h", + "数据量": "近两年", + "策略类型": "趋势跟踪", + "策略参数": "entry=20/exit=10/ATR(20)x2.0", + "策略描述": "Donchian 20/10通道突破 + 2N ATR止损,多空双向", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9286.85, + "总收益%": -7.13, + "年化收益%": -3.84, + "夏普比率": -0.58, + "最大回撤%": -9.58, + "胜率%": 32.61, + "盈亏比": 0.88, + "交易次数": 138, + "平均盈亏": -2.78, + "最佳盈亏": 282.29, + "最差盈亏": -208.2, + "卡尔玛比率": -0.4, + "耗时s": 0.4 + }, + { + "策略名": "1.海龟交易", + "币种": "BTCUSDT", + "时间级别": "2h", + "数据量": "近一年", + "策略类型": "趋势跟踪", + "策略参数": "entry=20/exit=10/ATR(20)x2.0", + "策略描述": "Donchian 20/10通道突破 + 2N ATR止损,多空双向", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 8570.94, + "总收益%": -14.29, + "年化收益%": -14.85, + "夏普比率": -3.58, + "最大回撤%": -14.5, + "胜率%": 28.49, + "盈亏比": 0.57, + "交易次数": 179, + "平均盈亏": -5.63, + "最佳盈亏": 90.94, + "最差盈亏": -81.29, + "卡尔玛比率": -1.02, + "耗时s": 0.4 + }, + { + "策略名": "1.海龟交易", + "币种": "BTCUSDT", + "时间级别": "2h", + "数据量": "近两年", + "策略类型": "趋势跟踪", + "策略参数": "entry=20/exit=10/ATR(20)x2.0", + "策略描述": "Donchian 20/10通道突破 + 2N ATR止损,多空双向", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 6978.69, + "总收益%": -30.21, + "年化收益%": -16.77, + "夏普比率": -3.39, + "最大回撤%": -30.44, + "胜率%": 29.63, + "盈亏比": 0.57, + "交易次数": 378, + "平均盈亏": -5.88, + "最佳盈亏": 176.23, + "最差盈亏": -109.64, + "卡尔玛比率": -0.55, + "耗时s": 0.5 + }, + { + "策略名": "1.海龟交易", + "币种": "BTCUSDT", + "时间级别": "6h", + "数据量": "全量", + "策略类型": "趋势跟踪", + "策略参数": "entry=20/exit=10/ATR(20)x2.0", + "策略描述": "Donchian 20/10通道突破 + 2N ATR止损,多空双向", + "日期范围": "2017-08-17~2026-06-11", + "初始资金": 10000.0, + "最终权益": 10962.51, + "总收益%": 9.63, + "年化收益%": 1.06, + "夏普比率": 0.17, + "最大回撤%": -19.1, + "胜率%": 35.06, + "盈亏比": 1.13, + "交易次数": 579, + "平均盈亏": 4.59, + "最佳盈亏": 737.67, + "最差盈亏": -339.47, + "卡尔玛比率": 0.06, + "耗时s": 0.5 + }, + { + "策略名": "1.海龟交易", + "币种": "BTCUSDT", + "时间级别": "2h", + "数据量": "全量", + "策略类型": "趋势跟踪", + "策略参数": "entry=20/exit=10/ATR(20)x2.0", + "策略描述": "Donchian 20/10通道突破 + 2N ATR止损,多空双向", + "日期范围": "2017-08-17~2026-06-11", + "初始资金": 10000.0, + "最终权益": 2806.79, + "总收益%": -71.93, + "年化收益%": -13.46, + "夏普比率": -1.71, + "最大回撤%": -71.96, + "胜率%": 29.84, + "盈亏比": 0.74, + "交易次数": 1622, + "平均盈亏": -3.1, + "最佳盈亏": 280.43, + "最差盈亏": -423.41, + "卡尔玛比率": -0.19, + "耗时s": 0.8 + }, + { + "策略名": "1.海龟交易", + "币种": "BTCUSDT", + "时间级别": "6h", + "数据量": "近一年", + "策略类型": "趋势跟踪", + "策略参数": "entry=20/exit=10/ATR(20)x2.0", + "策略描述": "Donchian 20/10通道突破 + 2N ATR止损,多空双向", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9850.05, + "总收益%": -1.5, + "年化收益%": -1.68, + "夏普比率": -0.28, + "最大回撤%": -5.16, + "胜率%": 31.25, + "盈亏比": 1.01, + "交易次数": 64, + "平均盈亏": 0.12, + "最佳盈亏": 223.21, + "最差盈亏": -62.84, + "卡尔玛比率": -0.33, + "耗时s": 0.7 + }, + { + "策略名": "1.海龟交易", + "币种": "BTCUSDT", + "时间级别": "6h", + "数据量": "近半年", + "策略类型": "趋势跟踪", + "策略参数": "entry=20/exit=10/ATR(20)x2.0", + "策略描述": "Donchian 20/10通道突破 + 2N ATR止损,多空双向", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9461.0, + "总收益%": -5.39, + "年化收益%": -13.27, + "夏普比率": -1.66, + "最大回撤%": -7.2, + "胜率%": 17.86, + "盈亏比": 0.46, + "交易次数": 28, + "平均盈亏": -16.8, + "最佳盈亏": 230.59, + "最差盈亏": -147.35, + "卡尔玛比率": -1.84, + "耗时s": 0.5 + }, + { + "策略名": "1.海龟交易", + "币种": "ETHUSDT", + "时间级别": "2h", + "数据量": "近半年", + "策略类型": "趋势跟踪", + "策略参数": "entry=20/exit=10/ATR(20)x2.0", + "策略描述": "Donchian 20/10通道突破 + 2N ATR止损,多空双向", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9442.8, + "总收益%": -5.57, + "年化收益%": -11.77, + "夏普比率": -1.94, + "最大回撤%": -7.65, + "胜率%": 25.32, + "盈亏比": 0.73, + "交易次数": 79, + "平均盈亏": -4.61, + "最佳盈亏": 134.99, + "最差盈亏": -107.24, + "卡尔玛比率": -1.54, + "耗时s": 0.2 + }, + { + "策略名": "1.海龟交易", + "币种": "ETHUSDT", + "时间级别": "2h", + "数据量": "近一年", + "策略类型": "趋势跟踪", + "策略参数": "entry=20/exit=10/ATR(20)x2.0", + "策略描述": "Donchian 20/10通道突破 + 2N ATR止损,多空双向", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 8712.71, + "总收益%": -12.87, + "年化收益%": -13.38, + "夏普比率": -1.96, + "最大回撤%": -18.16, + "胜率%": 30.05, + "盈亏比": 0.74, + "交易次数": 183, + "平均盈亏": -4.65, + "最佳盈亏": 196.23, + "最差盈亏": -125.6, + "卡尔玛比率": -0.74, + "耗时s": 0.8 + }, + { + "策略名": "1.海龟交易", + "币种": "ETHUSDT", + "时间级别": "2h", + "数据量": "近两年", + "策略类型": "趋势跟踪", + "策略参数": "entry=20/exit=10/ATR(20)x2.0", + "策略描述": "Donchian 20/10通道突破 + 2N ATR止损,多空双向", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 7738.4, + "总收益%": -22.62, + "年化收益%": -12.27, + "夏普比率": -1.67, + "最大回撤%": -23.63, + "胜率%": 29.49, + "盈亏比": 0.78, + "交易次数": 373, + "平均盈亏": -3.84, + "最佳盈亏": 347.2, + "最差盈亏": -154.0, + "卡尔玛比率": -0.52, + "耗时s": 0.9 + }, + { + "策略名": "1.海龟交易", + "币种": "ETHUSDT", + "时间级别": "6h", + "数据量": "全量", + "策略类型": "趋势跟踪", + "策略参数": "entry=20/exit=10/ATR(20)x2.0", + "策略描述": "Donchian 20/10通道突破 + 2N ATR止损,多空双向", + "日期范围": "2017-08-17~2026-06-11", + "初始资金": 10000.0, + "最终权益": 11644.89, + "总收益%": 16.45, + "年化收益%": 1.76, + "夏普比率": 0.22, + "最大回撤%": -28.61, + "胜率%": 37.25, + "盈亏比": 1.13, + "交易次数": 596, + "平均盈亏": 5.79, + "最佳盈亏": 860.24, + "最差盈亏": -447.92, + "卡尔玛比率": 0.06, + "耗时s": 0.5 + }, + { + "策略名": "1.海龟交易", + "币种": "ETHUSDT", + "时间级别": "6h", + "数据量": "近两年", + "策略类型": "趋势跟踪", + "策略参数": "entry=20/exit=10/ATR(20)x2.0", + "策略描述": "Donchian 20/10通道突破 + 2N ATR止损,多空双向", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 10728.78, + "总收益%": 7.29, + "年化收益%": 3.79, + "夏普比率": 0.51, + "最大回撤%": -9.96, + "胜率%": 32.0, + "盈亏比": 1.26, + "交易次数": 125, + "平均盈亏": 8.54, + "最佳盈亏": 605.3, + "最差盈亏": -213.32, + "卡尔玛比率": 0.38, + "耗时s": 0.5 + }, + { + "策略名": "1.海龟交易", + "币种": "ETHUSDT", + "时间级别": "2h", + "数据量": "全量", + "策略类型": "趋势跟踪", + "策略参数": "entry=20/exit=10/ATR(20)x2.0", + "策略描述": "Donchian 20/10通道突破 + 2N ATR止损,多空双向", + "日期范围": "2017-08-17~2026-06-11", + "初始资金": 10000.0, + "最终权益": 3582.11, + "总收益%": -64.18, + "年化收益%": -11.03, + "夏普比率": -1.18, + "最大回撤%": -64.77, + "胜率%": 31.18, + "盈亏比": 0.85, + "交易次数": 1684, + "平均盈亏": -2.27, + "最佳盈亏": 346.43, + "最差盈亏": -534.18, + "卡尔玛比率": -0.17, + "耗时s": 1.3 + }, + { + "策略名": "1.海龟交易", + "币种": "ETHUSDT", + "时间级别": "6h", + "数据量": "近一年", + "策略类型": "趋势跟踪", + "策略参数": "entry=20/exit=10/ATR(20)x2.0", + "策略描述": "Donchian 20/10通道突破 + 2N ATR止损,多空双向", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9536.16, + "总收益%": -4.64, + "年化收益%": -5.19, + "夏普比率": -0.68, + "最大回撤%": -9.96, + "胜率%": 27.87, + "盈亏比": 0.85, + "交易次数": 61, + "平均盈亏": -5.07, + "最佳盈亏": 272.87, + "最差盈亏": -189.61, + "卡尔玛比率": -0.52, + "耗时s": 0.7 + }, + { + "策略名": "1.海龟交易", + "币种": "ETHUSDT", + "时间级别": "6h", + "数据量": "近半年", + "策略类型": "趋势跟踪", + "策略参数": "entry=20/exit=10/ATR(20)x2.0", + "策略描述": "Donchian 20/10通道突破 + 2N ATR止损,多空双向", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9439.98, + "总收益%": -5.6, + "年化收益%": -13.77, + "夏普比率": -2.05, + "最大回撤%": -8.54, + "胜率%": 14.81, + "盈亏比": 0.52, + "交易次数": 27, + "平均盈亏": -18.25, + "最佳盈亏": 270.12, + "最差盈亏": -187.69, + "卡尔玛比率": -1.61, + "耗时s": 0.5 + }, + { + "策略名": "1.海龟交易", + "币种": "BNBUSDT", + "时间级别": "2h", + "数据量": "近一年", + "策略类型": "趋势跟踪", + "策略参数": "entry=20/exit=10/ATR(20)x2.0", + "策略描述": "Donchian 20/10通道突破 + 2N ATR止损,多空双向", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9526.18, + "总收益%": -4.74, + "年化收益%": -4.94, + "夏普比率": -0.67, + "最大回撤%": -10.71, + "胜率%": 32.96, + "盈亏比": 0.99, + "交易次数": 179, + "平均盈亏": -0.21, + "最佳盈亏": 281.33, + "最差盈亏": -107.33, + "卡尔玛比率": -0.46, + "耗时s": 0.6 + }, + { + "策略名": "1.海龟交易", + "币种": "BNBUSDT", + "时间级别": "2h", + "数据量": "近两年", + "策略类型": "趋势跟踪", + "策略参数": "entry=20/exit=10/ATR(20)x2.0", + "策略描述": "Donchian 20/10通道突破 + 2N ATR止损,多空双向", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 8102.02, + "总收益%": -18.98, + "年化收益%": -10.19, + "夏普比率": -1.61, + "最大回撤%": -20.79, + "胜率%": 31.88, + "盈亏比": 0.79, + "交易次数": 367, + "平均盈亏": -3.01, + "最佳盈亏": 254.78, + "最差盈亏": -113.59, + "卡尔玛比率": -0.49, + "耗时s": 0.6 + }, + { + "策略名": "1.海龟交易", + "币种": "BNBUSDT", + "时间级别": "2h", + "数据量": "近半年", + "策略类型": "趋势跟踪", + "策略参数": "entry=20/exit=10/ATR(20)x2.0", + "策略描述": "Donchian 20/10通道突破 + 2N ATR止损,多空双向", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 10009.27, + "总收益%": 0.09, + "年化收益%": 0.2, + "夏普比率": 0.13, + "最大回撤%": -5.98, + "胜率%": 35.0, + "盈亏比": 1.18, + "交易次数": 80, + "平均盈亏": 2.65, + "最佳盈亏": 295.59, + "最差盈亏": -85.09, + "卡尔玛比率": 0.03, + "耗时s": 0.4 + }, + { + "策略名": "1.海龟交易", + "币种": "BNBUSDT", + "时间级别": "2h", + "数据量": "全量", + "策略类型": "趋势跟踪", + "策略参数": "entry=20/exit=10/ATR(20)x2.0", + "策略描述": "Donchian 20/10通道突破 + 2N ATR止损,多空双向", + "日期范围": "2017-11-06~2026-06-11", + "初始资金": 10000.0, + "最终权益": 3559.34, + "总收益%": -64.41, + "年化收益%": -11.36, + "夏普比率": -1.09, + "最大回撤%": -67.47, + "胜率%": 30.96, + "盈亏比": 0.86, + "交易次数": 1644, + "平均盈亏": -2.37, + "最佳盈亏": 654.96, + "最差盈亏": -325.73, + "卡尔玛比率": -0.17, + "耗时s": 1.1 + }, + { + "策略名": "1.海龟交易", + "币种": "BNBUSDT", + "时间级别": "6h", + "数据量": "全量", + "策略类型": "趋势跟踪", + "策略参数": "entry=20/exit=10/ATR(20)x2.0", + "策略描述": "Donchian 20/10通道突破 + 2N ATR止损,多空双向", + "日期范围": "2017-11-06~2026-06-11", + "初始资金": 10000.0, + "最终权益": 19609.37, + "总收益%": 96.09, + "年化收益%": 8.25, + "夏普比率": 0.64, + "最大回撤%": -34.11, + "胜率%": 35.04, + "盈亏比": 1.3, + "交易次数": 605, + "平均盈亏": 21.17, + "最佳盈亏": 3521.51, + "最差盈亏": -994.83, + "卡尔玛比率": 0.24, + "耗时s": 0.7 + }, + { + "策略名": "1.海龟交易", + "币种": "BNBUSDT", + "时间级别": "6h", + "数据量": "近两年", + "策略类型": "趋势跟踪", + "策略参数": "entry=20/exit=10/ATR(20)x2.0", + "策略描述": "Donchian 20/10通道突破 + 2N ATR止损,多空双向", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 8824.75, + "总收益%": -11.75, + "年化收益%": -6.4, + "夏普比率": -1.04, + "最大回撤%": -17.13, + "胜率%": 26.28, + "盈亏比": 0.76, + "交易次数": 137, + "平均盈亏": -6.16, + "最佳盈亏": 323.43, + "最差盈亏": -157.57, + "卡尔玛比率": -0.37, + "耗时s": 0.6 + }, + { + "策略名": "1.海龟交易", + "币种": "BNBUSDT", + "时间级别": "6h", + "数据量": "近一年", + "策略类型": "趋势跟踪", + "策略参数": "entry=20/exit=10/ATR(20)x2.0", + "策略描述": "Donchian 20/10通道突破 + 2N ATR止损,多空双向", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9463.98, + "总收益%": -5.36, + "年化收益%": -6.0, + "夏普比率": -0.88, + "最大回撤%": -9.67, + "胜率%": 28.79, + "盈亏比": 0.79, + "交易次数": 66, + "平均盈亏": -5.66, + "最佳盈亏": 329.93, + "最差盈亏": -168.98, + "卡尔玛比率": -0.62, + "耗时s": 0.6 + }, + { + "策略名": "1.海龟交易", + "币种": "BNBUSDT", + "时间级别": "6h", + "数据量": "近半年", + "策略类型": "趋势跟踪", + "策略参数": "entry=20/exit=10/ATR(20)x2.0", + "策略描述": "Donchian 20/10通道突破 + 2N ATR止损,多空双向", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9545.6, + "总收益%": -4.54, + "年化收益%": -11.27, + "夏普比率": -1.75, + "最大回撤%": -6.92, + "胜率%": 15.38, + "盈亏比": 0.49, + "交易次数": 26, + "平均盈亏": -15.04, + "最佳盈亏": 199.38, + "最差盈亏": -126.43, + "卡尔玛比率": -1.63, + "耗时s": 0.5 + }, + { + "策略名": "1.海龟交易", + "币种": "SOLUSDT", + "时间级别": "2h", + "数据量": "近一年", + "策略类型": "趋势跟踪", + "策略参数": "entry=20/exit=10/ATR(20)x2.0", + "策略描述": "Donchian 20/10通道突破 + 2N ATR止损,多空双向", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 8072.71, + "总收益%": -19.27, + "年化收益%": -20.01, + "夏普比率": -2.78, + "最大回撤%": -20.18, + "胜率%": 31.37, + "盈亏比": 0.66, + "交易次数": 204, + "平均盈亏": -7.19, + "最佳盈亏": 182.18, + "最差盈亏": -106.55, + "卡尔玛比率": -0.99, + "耗时s": 0.2 + }, + { + "策略名": "1.海龟交易", + "币种": "SOLUSDT", + "时间级别": "2h", + "数据量": "近两年", + "策略类型": "趋势跟踪", + "策略参数": "entry=20/exit=10/ATR(20)x2.0", + "策略描述": "Donchian 20/10通道突破 + 2N ATR止损,多空双向", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 6545.18, + "总收益%": -34.55, + "年化收益%": -19.45, + "夏普比率": -2.4, + "最大回撤%": -34.61, + "胜率%": 30.84, + "盈亏比": 0.68, + "交易次数": 428, + "平均盈亏": -6.02, + "最佳盈亏": 195.62, + "最差盈亏": -163.63, + "卡尔玛比率": -0.56, + "耗时s": 0.4 + }, + { + "策略名": "1.海龟交易", + "币种": "SOLUSDT", + "时间级别": "2h", + "数据量": "近半年", + "策略类型": "趋势跟踪", + "策略参数": "entry=20/exit=10/ATR(20)x2.0", + "策略描述": "Donchian 20/10通道突破 + 2N ATR止损,多空双向", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9271.77, + "总收益%": -7.28, + "年化收益%": -15.23, + "夏普比率": -2.14, + "最大回撤%": -8.03, + "胜率%": 32.18, + "盈亏比": 0.72, + "交易次数": 87, + "平均盈亏": -5.93, + "最佳盈亏": 139.06, + "最差盈亏": -109.02, + "卡尔玛比率": -1.9, + "耗时s": 0.6 + }, + { + "策略名": "1.海龟交易", + "币种": "SOLUSDT", + "时间级别": "6h", + "数据量": "近两年", + "策略类型": "趋势跟踪", + "策略参数": "entry=20/exit=10/ATR(20)x2.0", + "策略描述": "Donchian 20/10通道突破 + 2N ATR止损,多空双向", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 10720.18, + "总收益%": 7.2, + "年化收益%": 3.75, + "夏普比率": 0.41, + "最大回撤%": -9.44, + "胜率%": 37.69, + "盈亏比": 1.21, + "交易次数": 130, + "平均盈亏": 8.26, + "最佳盈亏": 799.9, + "最差盈亏": -413.27, + "卡尔玛比率": 0.4, + "耗时s": 0.6 + }, + { + "策略名": "1.海龟交易", + "币种": "SOLUSDT", + "时间级别": "2h", + "数据量": "全量", + "策略类型": "趋势跟踪", + "策略参数": "entry=20/exit=10/ATR(20)x2.0", + "策略描述": "Donchian 20/10通道突破 + 2N ATR止损,多空双向", + "日期范围": "2020-08-11~2026-06-11", + "初始资金": 10000.0, + "最终权益": 3945.2, + "总收益%": -60.55, + "年化收益%": -14.81, + "夏普比率": -1.13, + "最大回撤%": -60.88, + "胜率%": 32.63, + "盈亏比": 0.86, + "交易次数": 1241, + "平均盈亏": -3.15, + "最佳盈亏": 700.51, + "最差盈亏": -381.81, + "卡尔玛比率": -0.24, + "耗时s": 1.1 + }, + { + "策略名": "1.海龟交易", + "币种": "SOLUSDT", + "时间级别": "6h", + "数据量": "全量", + "策略类型": "趋势跟踪", + "策略参数": "entry=20/exit=10/ATR(20)x2.0", + "策略描述": "Donchian 20/10通道突破 + 2N ATR止损,多空双向", + "日期范围": "2020-08-11~2026-06-11", + "初始资金": 10000.0, + "最终权益": 7673.5, + "总收益%": -23.26, + "年化收益%": -4.52, + "夏普比率": -0.3, + "最大回撤%": -41.07, + "胜率%": 36.16, + "盈亏比": 0.92, + "交易次数": 437, + "平均盈亏": -3.31, + "最佳盈亏": 745.84, + "最差盈亏": -397.79, + "卡尔玛比率": -0.11, + "耗时s": 0.6 + }, + { + "策略名": "1.海龟交易", + "币种": "SOLUSDT", + "时间级别": "6h", + "数据量": "近一年", + "策略类型": "趋势跟踪", + "策略参数": "entry=20/exit=10/ATR(20)x2.0", + "策略描述": "Donchian 20/10通道突破 + 2N ATR止损,多空双向", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9511.04, + "总收益%": -4.89, + "年化收益%": -5.47, + "夏普比率": -0.77, + "最大回撤%": -9.4, + "胜率%": 30.16, + "盈亏比": 0.86, + "交易次数": 63, + "平均盈亏": -5.3, + "最佳盈亏": 285.08, + "最差盈亏": -214.28, + "卡尔玛比率": -0.58, + "耗时s": 0.5 + }, + { + "策略名": "1.海龟交易", + "币种": "SOLUSDT", + "时间级别": "6h", + "数据量": "近半年", + "策略类型": "趋势跟踪", + "策略参数": "entry=20/exit=10/ATR(20)x2.0", + "策略描述": "Donchian 20/10通道突破 + 2N ATR止损,多空双向", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9753.27, + "总收益%": -2.47, + "年化收益%": -6.22, + "夏普比率": -0.8, + "最大回撤%": -6.2, + "胜率%": 26.92, + "盈亏比": 0.79, + "交易次数": 26, + "平均盈亏": -7.03, + "最佳盈亏": 289.52, + "最差盈亏": -104.14, + "卡尔玛比率": -1.0, + "耗时s": 0.4 + }, + { + "策略名": "2.超级趋势", + "币种": "BTCUSDT", + "时间级别": "2h", + "数据量": "近一年", + "策略类型": "趋势跟踪", + "策略参数": "ATR(10)x3.0", + "策略描述": "ATR(10)×3倍动态跟踪止损带,趋势翻转即反转", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 8844.12, + "总收益%": -11.56, + "年化收益%": -12.02, + "夏普比率": -1.89, + "最大回撤%": -14.4, + "胜率%": 32.0, + "盈亏比": 0.45, + "交易次数": 50, + "平均盈亏": -20.78, + "最佳盈亏": 115.53, + "最差盈亏": -123.36, + "卡尔玛比率": -0.83, + "耗时s": 0.3 + }, + { + "策略名": "2.超级趋势", + "币种": "BTCUSDT", + "时间级别": "2h", + "数据量": "近半年", + "策略类型": "趋势跟踪", + "策略参数": "ATR(10)x3.0", + "策略描述": "ATR(10)×3倍动态跟踪止损带,趋势翻转即反转", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9867.57, + "总收益%": -1.32, + "年化收益%": -2.87, + "夏普比率": -0.25, + "最大回撤%": -4.0, + "胜率%": 42.86, + "盈亏比": 0.88, + "交易次数": 21, + "平均盈亏": -3.81, + "最佳盈亏": 86.61, + "最差盈亏": -137.63, + "卡尔玛比率": -0.72, + "耗时s": 0.3 + }, + { + "策略名": "2.超级趋势", + "币种": "BTCUSDT", + "时间级别": "2h", + "数据量": "近两年", + "策略类型": "趋势跟踪", + "策略参数": "ATR(10)x3.0", + "策略描述": "ATR(10)×3倍动态跟踪止损带,趋势翻转即反转", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 8668.02, + "总收益%": -13.32, + "年化收益%": -7.04, + "夏普比率": -0.89, + "最大回撤%": -20.1, + "胜率%": 33.67, + "盈亏比": 0.72, + "交易次数": 98, + "平均盈亏": -11.32, + "最佳盈亏": 404.88, + "最差盈亏": -173.11, + "卡尔玛比率": -0.35, + "耗时s": 0.4 + }, + { + "策略名": "2.超级趋势", + "币种": "BTCUSDT", + "时间级别": "6h", + "数据量": "全量", + "策略类型": "趋势跟踪", + "策略参数": "ATR(10)x3.0", + "策略描述": "ATR(10)×3倍动态跟踪止损带,趋势翻转即反转", + "日期范围": "2017-08-17~2026-06-11", + "初始资金": 10000.0, + "最终权益": 21333.14, + "总收益%": 113.33, + "年化收益%": 9.08, + "夏普比率": 0.83, + "最大回撤%": -16.24, + "胜率%": 36.57, + "盈亏比": 1.65, + "交易次数": 134, + "平均盈亏": 88.88, + "最佳盈亏": 3013.51, + "最差盈亏": -901.74, + "卡尔玛比率": 0.56, + "耗时s": 0.7 + }, + { + "策略名": "2.超级趋势", + "币种": "BTCUSDT", + "时间级别": "2h", + "数据量": "全量", + "策略类型": "趋势跟踪", + "策略参数": "ATR(10)x3.0", + "策略描述": "ATR(10)×3倍动态跟踪止损带,趋势翻转即反转", + "日期范围": "2017-08-17~2026-06-11", + "初始资金": 10000.0, + "最终权益": 6357.13, + "总收益%": -36.43, + "年化收益%": -5.02, + "夏普比率": -0.39, + "最大回撤%": -47.95, + "胜率%": 32.17, + "盈亏比": 0.86, + "交易次数": 401, + "平均盈亏": -6.97, + "最佳盈亏": 924.85, + "最差盈亏": -453.46, + "卡尔玛比率": -0.1, + "耗时s": 0.8 + }, + { + "策略名": "2.超级趋势", + "币种": "BTCUSDT", + "时间级别": "6h", + "数据量": "近两年", + "策略类型": "趋势跟踪", + "策略参数": "ATR(10)x3.0", + "策略描述": "ATR(10)×3倍动态跟踪止损带,趋势翻转即反转", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9093.32, + "总收益%": -9.07, + "年化收益%": -4.9, + "夏普比率": -0.6, + "最大回撤%": -16.3, + "胜率%": 31.25, + "盈亏比": 0.65, + "交易次数": 32, + "平均盈亏": -25.32, + "最佳盈亏": 563.19, + "最差盈亏": -401.68, + "卡尔玛比率": -0.3, + "耗时s": 0.6 + }, + { + "策略名": "2.超级趋势", + "币种": "BTCUSDT", + "时间级别": "6h", + "数据量": "近一年", + "策略类型": "趋势跟踪", + "策略参数": "ATR(10)x3.0", + "策略描述": "ATR(10)×3倍动态跟踪止损带,趋势翻转即反转", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9459.13, + "总收益%": -5.41, + "年化收益%": -6.05, + "夏普比率": -0.96, + "最大回撤%": -8.17, + "胜率%": 28.57, + "盈亏比": 0.34, + "交易次数": 14, + "平均盈亏": -36.19, + "最佳盈亏": 212.55, + "最差盈亏": -207.34, + "卡尔玛比率": -0.74, + "耗时s": 0.6 + }, + { + "策略名": "2.超级趋势", + "币种": "BTCUSDT", + "时间级别": "6h", + "数据量": "近半年", + "策略类型": "趋势跟踪", + "策略参数": "ATR(10)x3.0", + "策略描述": "ATR(10)×3倍动态跟踪止损带,趋势翻转即反转", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 10375.41, + "总收益%": 3.75, + "年化收益%": 9.94, + "夏普比率": 1.07, + "最大回撤%": -6.44, + "胜率%": 42.86, + "盈亏比": 1.86, + "交易次数": 7, + "平均盈亏": 60.26, + "最佳盈亏": 467.76, + "最差盈亏": -153.52, + "卡尔玛比率": 1.54, + "耗时s": 0.6 + }, + { + "策略名": "2.超级趋势", + "币种": "ETHUSDT", + "时间级别": "2h", + "数据量": "近半年", + "策略类型": "趋势跟踪", + "策略参数": "ATR(10)x3.0", + "策略描述": "ATR(10)×3倍动态跟踪止损带,趋势翻转即反转", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9455.11, + "总收益%": -5.45, + "年化收益%": -11.52, + "夏普比率": -1.19, + "最大回撤%": -7.58, + "胜率%": 31.82, + "盈亏比": 0.5, + "交易次数": 22, + "平均盈亏": -22.32, + "最佳盈亏": 208.35, + "最差盈亏": -214.91, + "卡尔玛比率": -1.52, + "耗时s": 0.3 + }, + { + "策略名": "2.超级趋势", + "币种": "ETHUSDT", + "时间级别": "2h", + "数据量": "近两年", + "策略类型": "趋势跟踪", + "策略参数": "ATR(10)x3.0", + "策略描述": "ATR(10)×3倍动态跟踪止损带,趋势翻转即反转", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 10084.87, + "总收益%": 0.85, + "年化收益%": 0.43, + "夏普比率": 0.1, + "最大回撤%": -19.33, + "胜率%": 33.33, + "盈亏比": 1.06, + "交易次数": 93, + "平均盈亏": 3.47, + "最佳盈亏": 1070.24, + "最差盈亏": -229.22, + "卡尔玛比率": 0.02, + "耗时s": 0.4 + }, + { + "策略名": "2.超级趋势", + "币种": "ETHUSDT", + "时间级别": "2h", + "数据量": "近一年", + "策略类型": "趋势跟踪", + "策略参数": "ATR(10)x3.0", + "策略描述": "ATR(10)×3倍动态跟踪止损带,趋势翻转即反转", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 10996.14, + "总收益%": 9.96, + "年化收益%": 10.41, + "夏普比率": 0.92, + "最大回撤%": -7.72, + "胜率%": 38.64, + "盈亏比": 1.53, + "交易次数": 44, + "平均盈亏": 25.32, + "最佳盈亏": 691.25, + "最差盈亏": -214.08, + "卡尔玛比率": 1.35, + "耗时s": 0.4 + }, + { + "策略名": "2.超级趋势", + "币种": "ETHUSDT", + "时间级别": "6h", + "数据量": "近两年", + "策略类型": "趋势跟踪", + "策略参数": "ATR(10)x3.0", + "策略描述": "ATR(10)×3倍动态跟踪止损带,趋势翻转即反转", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 11049.58, + "总收益%": 10.5, + "年化收益%": 5.42, + "夏普比率": 0.5, + "最大回撤%": -10.32, + "胜率%": 55.17, + "盈亏比": 1.55, + "交易次数": 29, + "平均盈亏": 39.54, + "最佳盈亏": 726.32, + "最差盈亏": -479.11, + "卡尔玛比率": 0.53, + "耗时s": 0.4 + }, + { + "策略名": "2.超级趋势", + "币种": "ETHUSDT", + "时间级别": "6h", + "数据量": "全量", + "策略类型": "趋势跟踪", + "策略参数": "ATR(10)x3.0", + "策略描述": "ATR(10)×3倍动态跟踪止损带,趋势翻转即反转", + "日期范围": "2017-08-17~2026-06-11", + "初始资金": 10000.0, + "最终权益": 10590.32, + "总收益%": 5.9, + "年化收益%": 0.66, + "夏普比率": 0.12, + "最大回撤%": -42.74, + "胜率%": 44.19, + "盈亏比": 1.06, + "交易次数": 129, + "平均盈亏": 6.83, + "最佳盈亏": 1294.5, + "最差盈亏": -815.65, + "卡尔玛比率": 0.02, + "耗时s": 0.7 + }, + { + "策略名": "2.超级趋势", + "币种": "ETHUSDT", + "时间级别": "2h", + "数据量": "全量", + "策略类型": "趋势跟踪", + "策略参数": "ATR(10)x3.0", + "策略描述": "ATR(10)×3倍动态跟踪止损带,趋势翻转即反转", + "日期范围": "2017-08-17~2026-06-11", + "初始资金": 10000.0, + "最终权益": 8672.18, + "总收益%": -13.28, + "年化收益%": -1.61, + "夏普比率": -0.04, + "最大回撤%": -48.09, + "胜率%": 34.15, + "盈亏比": 0.99, + "交易次数": 407, + "平均盈亏": -0.75, + "最佳盈亏": 1481.08, + "最差盈亏": -535.31, + "卡尔玛比率": -0.03, + "耗时s": 1.2 + }, + { + "策略名": "2.超级趋势", + "币种": "ETHUSDT", + "时间级别": "6h", + "数据量": "近一年", + "策略类型": "趋势跟踪", + "策略参数": "ATR(10)x3.0", + "策略描述": "ATR(10)×3倍动态跟踪止损带,趋势翻转即反转", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9547.79, + "总收益%": -4.52, + "年化收益%": -5.06, + "夏普比率": -0.61, + "最大回撤%": -8.0, + "胜率%": 45.45, + "盈亏比": 0.51, + "交易次数": 11, + "平均盈亏": -38.67, + "最佳盈亏": 180.69, + "最差盈亏": -200.28, + "卡尔玛比率": -0.63, + "耗时s": 0.5 + }, + { + "策略名": "2.超级趋势", + "币种": "ETHUSDT", + "时间级别": "6h", + "数据量": "近半年", + "策略类型": "趋势跟踪", + "策略参数": "ATR(10)x3.0", + "策略描述": "ATR(10)×3倍动态跟踪止损带,趋势翻转即反转", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9643.06, + "总收益%": -3.57, + "年化收益%": -8.92, + "夏普比率": -1.03, + "最大回撤%": -6.26, + "胜率%": 20.0, + "盈亏比": 0.35, + "交易次数": 5, + "平均盈亏": -68.95, + "最佳盈亏": 182.49, + "最差盈亏": -202.27, + "卡尔玛比率": -1.42, + "耗时s": 0.5 + }, + { + "策略名": "2.超级趋势", + "币种": "BNBUSDT", + "时间级别": "2h", + "数据量": "近两年", + "策略类型": "趋势跟踪", + "策略参数": "ATR(10)x3.0", + "策略描述": "ATR(10)×3倍动态跟踪止损带,趋势翻转即反转", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9450.2, + "总收益%": -5.5, + "年化收益%": -2.85, + "夏普比率": -0.26, + "最大回撤%": -13.97, + "胜率%": 39.39, + "盈亏比": 0.93, + "交易次数": 99, + "平均盈亏": -3.08, + "最佳盈亏": 515.66, + "最差盈亏": -222.12, + "卡尔玛比率": -0.2, + "耗时s": 0.6 + }, + { + "策略名": "2.超级趋势", + "币种": "BNBUSDT", + "时间级别": "2h", + "数据量": "近一年", + "策略类型": "趋势跟踪", + "策略参数": "ATR(10)x3.0", + "策略描述": "ATR(10)×3倍动态跟踪止损带,趋势翻转即反转", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9663.89, + "总收益%": -3.36, + "年化收益%": -3.5, + "夏普比率": -0.37, + "最大回撤%": -13.75, + "胜率%": 38.0, + "盈亏比": 0.91, + "交易次数": 50, + "平均盈亏": -4.23, + "最佳盈亏": 527.32, + "最差盈亏": -227.15, + "卡尔玛比率": -0.25, + "耗时s": 0.4 + }, + { + "策略名": "2.超级趋势", + "币种": "BNBUSDT", + "时间级别": "2h", + "数据量": "近半年", + "策略类型": "趋势跟踪", + "策略参数": "ATR(10)x3.0", + "策略描述": "ATR(10)×3倍动态跟踪止损带,趋势翻转即反转", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9856.5, + "总收益%": -1.44, + "年化收益%": -3.11, + "夏普比率": -0.41, + "最大回撤%": -5.0, + "胜率%": 34.78, + "盈亏比": 0.88, + "交易次数": 23, + "平均盈亏": -3.78, + "最佳盈亏": 182.55, + "最差盈亏": -98.61, + "卡尔玛比率": -0.62, + "耗时s": 0.4 + }, + { + "策略名": "2.超级趋势", + "币种": "BNBUSDT", + "时间级别": "2h", + "数据量": "全量", + "策略类型": "趋势跟踪", + "策略参数": "ATR(10)x3.0", + "策略描述": "ATR(10)×3倍动态跟踪止损带,趋势翻转即反转", + "日期范围": "2017-11-06~2026-06-11", + "初始资金": 10000.0, + "最终权益": 61253.43, + "总收益%": 512.53, + "年化收益%": 23.56, + "夏普比率": 0.94, + "最大回撤%": -37.02, + "胜率%": 40.31, + "盈亏比": 1.55, + "交易次数": 392, + "平均盈亏": 142.56, + "最佳盈亏": 29895.73, + "最差盈亏": -1998.67, + "卡尔玛比率": 0.64, + "耗时s": 1.1 + }, + { + "策略名": "2.超级趋势", + "币种": "BNBUSDT", + "时间级别": "6h", + "数据量": "全量", + "策略类型": "趋势跟踪", + "策略参数": "ATR(10)x3.0", + "策略描述": "ATR(10)×3倍动态跟踪止损带,趋势翻转即反转", + "日期范围": "2017-11-06~2026-06-11", + "初始资金": 10000.0, + "最终权益": 38822.06, + "总收益%": 288.22, + "年化收益%": 17.31, + "夏普比率": 0.72, + "最大回撤%": -35.86, + "胜率%": 40.41, + "盈亏比": 2.03, + "交易次数": 146, + "平均盈亏": 203.66, + "最佳盈亏": 12078.54, + "最差盈亏": -1838.33, + "卡尔玛比率": 0.48, + "耗时s": 0.7 + }, + { + "策略名": "2.超级趋势", + "币种": "BNBUSDT", + "时间级别": "6h", + "数据量": "近两年", + "策略类型": "趋势跟踪", + "策略参数": "ATR(10)x3.0", + "策略描述": "ATR(10)×3倍动态跟踪止损带,趋势翻转即反转", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9668.56, + "总收益%": -3.31, + "年化收益%": -1.77, + "夏普比率": -0.15, + "最大回撤%": -17.84, + "胜率%": 35.48, + "盈亏比": 0.9, + "交易次数": 31, + "平均盈亏": -7.59, + "最佳盈亏": 622.39, + "最差盈亏": -485.82, + "卡尔玛比率": -0.1, + "耗时s": 0.6 + }, + { + "策略名": "2.超级趋势", + "币种": "BNBUSDT", + "时间级别": "6h", + "数据量": "近一年", + "策略类型": "趋势跟踪", + "策略参数": "ATR(10)x3.0", + "策略描述": "ATR(10)×3倍动态跟踪止损带,趋势翻转即反转", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9309.02, + "总收益%": -6.91, + "年化收益%": -7.73, + "夏普比率": -0.91, + "最大回撤%": -13.81, + "胜率%": 38.46, + "盈亏比": 0.32, + "交易次数": 13, + "平均盈亏": -50.76, + "最佳盈亏": 186.57, + "最差盈亏": -440.81, + "卡尔玛比率": -0.56, + "耗时s": 0.5 + }, + { + "策略名": "2.超级趋势", + "币种": "BNBUSDT", + "时间级别": "6h", + "数据量": "近半年", + "策略类型": "趋势跟踪", + "策略参数": "ATR(10)x3.0", + "策略描述": "ATR(10)×3倍动态跟踪止损带,趋势翻转即反转", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 10657.35, + "总收益%": 6.57, + "年化收益%": 17.78, + "夏普比率": 1.84, + "最大回撤%": -4.45, + "胜率%": 42.86, + "盈亏比": 2.75, + "交易次数": 7, + "平均盈亏": 99.98, + "最佳盈亏": 686.04, + "最差盈亏": -145.9, + "卡尔玛比率": 3.99, + "耗时s": 0.5 + }, + { + "策略名": "2.超级趋势", + "币种": "SOLUSDT", + "时间级别": "2h", + "数据量": "近半年", + "策略类型": "趋势跟踪", + "策略参数": "ATR(10)x3.0", + "策略描述": "ATR(10)×3倍动态跟踪止损带,趋势翻转即反转", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9357.38, + "总收益%": -6.43, + "年化收益%": -13.51, + "夏普比率": -1.33, + "最大回撤%": -9.07, + "胜率%": 30.43, + "盈亏比": 0.55, + "交易次数": 23, + "平均盈亏": -25.52, + "最佳盈亏": 244.44, + "最差盈亏": -260.79, + "卡尔玛比率": -1.49, + "耗时s": 0.3 + }, + { + "策略名": "2.超级趋势", + "币种": "SOLUSDT", + "时间级别": "2h", + "数据量": "近两年", + "策略类型": "趋势跟踪", + "策略参数": "ATR(10)x3.0", + "策略描述": "ATR(10)×3倍动态跟踪止损带,趋势翻转即反转", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9557.26, + "总收益%": -4.43, + "年化收益%": -2.28, + "夏普比率": -0.11, + "最大回撤%": -20.71, + "胜率%": 33.96, + "盈亏比": 0.97, + "交易次数": 106, + "平均盈亏": -1.9, + "最佳盈亏": 641.08, + "最差盈亏": -386.0, + "卡尔玛比率": -0.11, + "耗时s": 0.3 + }, + { + "策略名": "2.超级趋势", + "币种": "SOLUSDT", + "时间级别": "2h", + "数据量": "近一年", + "策略类型": "趋势跟踪", + "策略参数": "ATR(10)x3.0", + "策略描述": "ATR(10)×3倍动态跟踪止损带,趋势翻转即反转", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 10473.42, + "总收益%": 4.73, + "年化收益%": 4.94, + "夏普比率": 0.43, + "最大回撤%": -8.4, + "胜率%": 34.62, + "盈亏比": 1.21, + "交易次数": 52, + "平均盈亏": 11.51, + "最佳盈亏": 702.53, + "最差盈亏": -227.56, + "卡尔玛比率": 0.59, + "耗时s": 0.3 + }, + { + "策略名": "2.超级趋势", + "币种": "SOLUSDT", + "时间级别": "2h", + "数据量": "全量", + "策略类型": "趋势跟踪", + "策略参数": "ATR(10)x3.0", + "策略描述": "ATR(10)×3倍动态跟踪止损带,趋势翻转即反转", + "日期范围": "2020-08-11~2026-06-11", + "初始资金": 10000.0, + "最终权益": 5291.32, + "总收益%": -47.09, + "年化收益%": -10.39, + "夏普比率": -0.52, + "最大回撤%": -56.62, + "胜率%": 35.79, + "盈亏比": 0.76, + "交易次数": 285, + "平均盈亏": -14.88, + "最佳盈亏": 835.55, + "最差盈亏": -670.73, + "卡尔玛比率": -0.18, + "耗时s": 1.0 + }, + { + "策略名": "2.超级趋势", + "币种": "SOLUSDT", + "时间级别": "6h", + "数据量": "近两年", + "策略类型": "趋势跟踪", + "策略参数": "ATR(10)x3.0", + "策略描述": "ATR(10)×3倍动态跟踪止损带,趋势翻转即反转", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 10080.05, + "总收益%": 0.8, + "年化收益%": 0.42, + "夏普比率": 0.1, + "最大回撤%": -15.65, + "胜率%": 37.5, + "盈亏比": 1.05, + "交易次数": 24, + "平均盈亏": 6.01, + "最佳盈亏": 922.71, + "最差盈亏": -541.12, + "卡尔玛比率": 0.03, + "耗时s": 0.5 + }, + { + "策略名": "2.超级趋势", + "币种": "SOLUSDT", + "时间级别": "6h", + "数据量": "全量", + "策略类型": "趋势跟踪", + "策略参数": "ATR(10)x3.0", + "策略描述": "ATR(10)×3倍动态跟踪止损带,趋势翻转即反转", + "日期范围": "2020-08-11~2026-06-11", + "初始资金": 10000.0, + "最终权益": 72008.87, + "总收益%": 620.09, + "年化收益%": 41.12, + "夏普比率": 1.4, + "最大回撤%": -37.0, + "胜率%": 39.53, + "盈亏比": 2.21, + "交易次数": 86, + "平均盈亏": 734.03, + "最佳盈亏": 20600.04, + "最差盈亏": -3865.62, + "卡尔玛比率": 1.11, + "耗时s": 0.6 + }, + { + "策略名": "2.超级趋势", + "币种": "SOLUSDT", + "时间级别": "6h", + "数据量": "近半年", + "策略类型": "趋势跟踪", + "策略参数": "ATR(10)x3.0", + "策略描述": "ATR(10)×3倍动态跟踪止损带,趋势翻转即反转", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 10449.1, + "总收益%": 4.49, + "年化收益%": 11.95, + "夏普比率": 1.03, + "最大回撤%": -8.96, + "胜率%": 28.57, + "盈亏比": 1.77, + "交易次数": 7, + "平均盈亏": 72.96, + "最佳盈亏": 744.75, + "最差盈亏": -272.47, + "卡尔玛比率": 1.33, + "耗时s": 0.4 + }, + { + "策略名": "2.超级趋势", + "币种": "SOLUSDT", + "时间级别": "6h", + "数据量": "近一年", + "策略类型": "趋势跟踪", + "策略参数": "ATR(10)x3.0", + "策略描述": "ATR(10)×3倍动态跟踪止损带,趋势翻转即反转", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 10989.67, + "总收益%": 9.9, + "年化收益%": 11.18, + "夏普比率": 1.03, + "最大回撤%": -8.72, + "胜率%": 36.36, + "盈亏比": 1.99, + "交易次数": 11, + "平均盈亏": 96.77, + "最佳盈亏": 783.28, + "最差盈亏": -364.8, + "卡尔玛比率": 1.28, + "耗时s": 0.4 + }, + { + "策略名": "3.MACD金叉死叉", + "币种": "BTCUSDT", + "时间级别": "2h", + "数据量": "近半年", + "策略类型": "动量", + "策略参数": "MACD(12,26,9)/ATR(14)x2.0", + "策略描述": "MACD(12,26,9)零轴上金叉做多/零轴下死叉做空+ATR止损", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 10378.97, + "总收益%": 3.79, + "年化收益%": 8.46, + "夏普比率": 1.07, + "最大回撤%": -3.11, + "胜率%": 48.78, + "盈亏比": 1.72, + "交易次数": 41, + "平均盈亏": 11.82, + "最佳盈亏": 276.42, + "最差盈亏": -92.13, + "卡尔玛比率": 2.72, + "耗时s": 0.3 + }, + { + "策略名": "3.MACD金叉死叉", + "币种": "BTCUSDT", + "时间级别": "2h", + "数据量": "近一年", + "策略类型": "动量", + "策略参数": "MACD(12,26,9)/ATR(14)x2.0", + "策略描述": "MACD(12,26,9)零轴上金叉做多/零轴下死叉做空+ATR止损", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9682.61, + "总收益%": -3.17, + "年化收益%": -3.31, + "夏普比率": -0.47, + "最大回撤%": -7.16, + "胜率%": 40.43, + "盈亏比": 0.95, + "交易次数": 94, + "平均盈亏": -0.96, + "最佳盈亏": 257.88, + "最差盈亏": -116.17, + "卡尔玛比率": -0.46, + "耗时s": 0.4 + }, + { + "策略名": "3.MACD金叉死叉", + "币种": "BTCUSDT", + "时间级别": "2h", + "数据量": "近两年", + "策略类型": "动量", + "策略参数": "MACD(12,26,9)/ATR(14)x2.0", + "策略描述": "MACD(12,26,9)零轴上金叉做多/零轴下死叉做空+ATR止损", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9666.27, + "总收益%": -3.34, + "年化收益%": -1.72, + "夏普比率": -0.22, + "最大回撤%": -11.6, + "胜率%": 39.8, + "盈亏比": 1.04, + "交易次数": 196, + "平均盈亏": 0.76, + "最佳盈亏": 257.44, + "最差盈亏": -116.95, + "卡尔玛比率": -0.15, + "耗时s": 0.5 + }, + { + "策略名": "3.MACD金叉死叉", + "币种": "BTCUSDT", + "时间级别": "6h", + "数据量": "近两年", + "策略类型": "动量", + "策略参数": "MACD(12,26,9)/ATR(14)x2.0", + "策略描述": "MACD(12,26,9)零轴上金叉做多/零轴下死叉做空+ATR止损", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9818.44, + "总收益%": -1.82, + "年化收益%": -0.96, + "夏普比率": -0.09, + "最大回撤%": -11.5, + "胜率%": 39.73, + "盈亏比": 1.0, + "交易次数": 73, + "平均盈亏": -0.03, + "最佳盈亏": 317.32, + "最差盈亏": -281.59, + "卡尔玛比率": -0.08, + "耗时s": 0.5 + }, + { + "策略名": "3.MACD金叉死叉", + "币种": "BTCUSDT", + "时间级别": "6h", + "数据量": "全量", + "策略类型": "动量", + "策略参数": "MACD(12,26,9)/ATR(14)x2.0", + "策略描述": "MACD(12,26,9)零轴上金叉做多/零轴下死叉做空+ATR止损", + "日期范围": "2017-08-17~2026-06-11", + "初始资金": 10000.0, + "最终权益": 10596.94, + "总收益%": 5.97, + "年化收益%": 0.67, + "夏普比率": 0.12, + "最大回撤%": -28.77, + "胜率%": 37.03, + "盈亏比": 1.08, + "交易次数": 316, + "平均盈亏": 4.77, + "最佳盈亏": 906.5, + "最差盈亏": -414.86, + "卡尔玛比率": 0.02, + "耗时s": 0.8 + }, + { + "策略名": "3.MACD金叉死叉", + "币种": "BTCUSDT", + "时间级别": "2h", + "数据量": "全量", + "策略类型": "动量", + "策略参数": "MACD(12,26,9)/ATR(14)x2.0", + "策略描述": "MACD(12,26,9)零轴上金叉做多/零轴下死叉做空+ATR止损", + "日期范围": "2017-08-17~2026-06-11", + "初始资金": 10000.0, + "最终权益": 10786.47, + "总收益%": 7.86, + "年化收益%": 0.87, + "夏普比率": 0.14, + "最大回撤%": -19.25, + "胜率%": 36.54, + "盈亏比": 1.12, + "交易次数": 873, + "平均盈亏": 3.56, + "最佳盈亏": 626.04, + "最差盈亏": -468.71, + "卡尔玛比率": 0.04, + "耗时s": 1.1 + }, + { + "策略名": "3.MACD金叉死叉", + "币种": "BTCUSDT", + "时间级别": "6h", + "数据量": "近半年", + "策略类型": "动量", + "策略参数": "MACD(12,26,9)/ATR(14)x2.0", + "策略描述": "MACD(12,26,9)零轴上金叉做多/零轴下死叉做空+ATR止损", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 10163.53, + "总收益%": 1.64, + "年化收益%": 4.26, + "夏普比率": 0.48, + "最大回撤%": -7.58, + "胜率%": 35.29, + "盈亏比": 1.34, + "交易次数": 17, + "平均盈亏": 12.11, + "最佳盈亏": 328.47, + "最差盈亏": -170.41, + "卡尔玛比率": 0.56, + "耗时s": 0.5 + }, + { + "策略名": "3.MACD金叉死叉", + "币种": "BTCUSDT", + "时间级别": "6h", + "数据量": "近一年", + "策略类型": "动量", + "策略参数": "MACD(12,26,9)/ATR(14)x2.0", + "策略描述": "MACD(12,26,9)零轴上金叉做多/零轴下死叉做空+ATR止损", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 10262.97, + "总收益%": 2.63, + "年化收益%": 2.96, + "夏普比率": 0.42, + "最大回撤%": -7.58, + "胜率%": 37.84, + "盈亏比": 1.31, + "交易次数": 37, + "平均盈亏": 9.62, + "最佳盈亏": 331.68, + "最差盈亏": -172.08, + "卡尔玛比率": 0.39, + "耗时s": 0.6 + }, + { + "策略名": "3.MACD金叉死叉", + "币种": "ETHUSDT", + "时间级别": "2h", + "数据量": "近一年", + "策略类型": "动量", + "策略参数": "MACD(12,26,9)/ATR(14)x2.0", + "策略描述": "MACD(12,26,9)零轴上金叉做多/零轴下死叉做空+ATR止损", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 10959.37, + "总收益%": 9.59, + "年化收益%": 10.02, + "夏普比率": 1.08, + "最大回撤%": -9.91, + "胜率%": 41.24, + "盈亏比": 1.36, + "交易次数": 97, + "平均盈亏": 12.6, + "最佳盈亏": 417.3, + "最差盈亏": -184.07, + "卡尔玛比率": 1.01, + "耗时s": 0.2 + }, + { + "策略名": "3.MACD金叉死叉", + "币种": "ETHUSDT", + "时间级别": "2h", + "数据量": "近两年", + "策略类型": "动量", + "策略参数": "MACD(12,26,9)/ATR(14)x2.0", + "策略描述": "MACD(12,26,9)零轴上金叉做多/零轴下死叉做空+ATR止损", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9730.42, + "总收益%": -2.7, + "年化收益%": -1.39, + "夏普比率": -0.11, + "最大回撤%": -18.52, + "胜率%": 34.85, + "盈亏比": 1.03, + "交易次数": 198, + "平均盈亏": 1.03, + "最佳盈亏": 484.02, + "最差盈亏": -164.44, + "卡尔玛比率": -0.07, + "耗时s": 0.7 + }, + { + "策略名": "3.MACD金叉死叉", + "币种": "ETHUSDT", + "时间级别": "2h", + "数据量": "近半年", + "策略类型": "动量", + "策略参数": "MACD(12,26,9)/ATR(14)x2.0", + "策略描述": "MACD(12,26,9)零轴上金叉做多/零轴下死叉做空+ATR止损", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 10378.15, + "总收益%": 3.78, + "年化收益%": 8.45, + "夏普比率": 0.9, + "最大回撤%": -8.84, + "胜率%": 40.0, + "盈亏比": 1.35, + "交易次数": 45, + "平均盈亏": 10.94, + "最佳盈亏": 395.17, + "最差盈亏": -161.78, + "卡尔玛比率": 0.96, + "耗时s": 0.4 + }, + { + "策略名": "3.MACD金叉死叉", + "币种": "ETHUSDT", + "时间级别": "6h", + "数据量": "近两年", + "策略类型": "动量", + "策略参数": "MACD(12,26,9)/ATR(14)x2.0", + "策略描述": "MACD(12,26,9)零轴上金叉做多/零轴下死叉做空+ATR止损", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 10664.31, + "总收益%": 6.64, + "年化收益%": 3.46, + "夏普比率": 0.4, + "最大回撤%": -11.88, + "胜率%": 29.58, + "盈亏比": 1.24, + "交易次数": 71, + "平均盈亏": 11.95, + "最佳盈亏": 738.52, + "最差盈亏": -229.01, + "卡尔玛比率": 0.29, + "耗时s": 0.7 + }, + { + "策略名": "3.MACD金叉死叉", + "币种": "ETHUSDT", + "时间级别": "6h", + "数据量": "全量", + "策略类型": "动量", + "策略参数": "MACD(12,26,9)/ATR(14)x2.0", + "策略描述": "MACD(12,26,9)零轴上金叉做多/零轴下死叉做空+ATR止损", + "日期范围": "2017-08-17~2026-06-11", + "初始资金": 10000.0, + "最终权益": 20827.32, + "总收益%": 108.27, + "年化收益%": 8.78, + "夏普比率": 0.81, + "最大回撤%": -15.27, + "胜率%": 38.03, + "盈亏比": 1.43, + "交易次数": 305, + "平均盈亏": 39.77, + "最佳盈亏": 1991.32, + "最差盈亏": -913.93, + "卡尔玛比率": 0.57, + "耗时s": 0.7 + }, + { + "策略名": "3.MACD金叉死叉", + "币种": "ETHUSDT", + "时间级别": "2h", + "数据量": "全量", + "策略类型": "动量", + "策略参数": "MACD(12,26,9)/ATR(14)x2.0", + "策略描述": "MACD(12,26,9)零轴上金叉做多/零轴下死叉做空+ATR止损", + "日期范围": "2017-08-17~2026-06-11", + "初始资金": 10000.0, + "最终权益": 20348.94, + "总收益%": 103.49, + "年化收益%": 8.42, + "夏普比率": 0.67, + "最大回撤%": -26.82, + "胜率%": 37.25, + "盈亏比": 1.26, + "交易次数": 867, + "平均盈亏": 16.48, + "最佳盈亏": 1950.28, + "最差盈亏": -548.09, + "卡尔玛比率": 0.31, + "耗时s": 1.3 + }, + { + "策略名": "3.MACD金叉死叉", + "币种": "ETHUSDT", + "时间级别": "6h", + "数据量": "近一年", + "策略类型": "动量", + "策略参数": "MACD(12,26,9)/ATR(14)x2.0", + "策略描述": "MACD(12,26,9)零轴上金叉做多/零轴下死叉做空+ATR止损", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9504.04, + "总收益%": -4.96, + "年化收益%": -5.55, + "夏普比率": -0.44, + "最大回撤%": -10.97, + "胜率%": 31.43, + "盈亏比": 0.79, + "交易次数": 35, + "平均盈亏": -11.7, + "最佳盈亏": 461.88, + "最差盈亏": -459.0, + "卡尔玛比率": -0.51, + "耗时s": 0.7 + }, + { + "策略名": "3.MACD金叉死叉", + "币种": "ETHUSDT", + "时间级别": "6h", + "数据量": "近半年", + "策略类型": "动量", + "策略参数": "MACD(12,26,9)/ATR(14)x2.0", + "策略描述": "MACD(12,26,9)零轴上金叉做多/零轴下死叉做空+ATR止损", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 10003.62, + "总收益%": 0.04, + "年化收益%": 0.09, + "夏普比率": 0.06, + "最大回撤%": -9.46, + "胜率%": 31.58, + "盈亏比": 1.05, + "交易次数": 19, + "平均盈亏": 2.69, + "最佳盈亏": 486.16, + "最差盈亏": -214.82, + "卡尔玛比率": 0.01, + "耗时s": 0.5 + }, + { + "策略名": "3.MACD金叉死叉", + "币种": "BNBUSDT", + "时间级别": "2h", + "数据量": "近一年", + "策略类型": "动量", + "策略参数": "MACD(12,26,9)/ATR(14)x2.0", + "策略描述": "MACD(12,26,9)零轴上金叉做多/零轴下死叉做空+ATR止损", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 10711.18, + "总收益%": 7.11, + "年化收益%": 7.43, + "夏普比率": 0.98, + "最大回撤%": -5.78, + "胜率%": 38.78, + "盈亏比": 1.48, + "交易次数": 98, + "平均盈亏": 9.94, + "最佳盈亏": 408.47, + "最差盈亏": -89.45, + "卡尔玛比率": 1.28, + "耗时s": 0.3 + }, + { + "策略名": "3.MACD金叉死叉", + "币种": "BNBUSDT", + "时间级别": "2h", + "数据量": "近半年", + "策略类型": "动量", + "策略参数": "MACD(12,26,9)/ATR(14)x2.0", + "策略描述": "MACD(12,26,9)零轴上金叉做多/零轴下死叉做空+ATR止损", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 10061.25, + "总收益%": 0.61, + "年化收益%": 1.34, + "夏普比率": 0.34, + "最大回撤%": -5.78, + "胜率%": 37.5, + "盈亏比": 1.21, + "交易次数": 48, + "平均盈亏": 3.88, + "最佳盈亏": 383.69, + "最差盈亏": -84.02, + "卡尔玛比率": 0.23, + "耗时s": 0.5 + }, + { + "策略名": "3.MACD金叉死叉", + "币种": "BNBUSDT", + "时间级别": "2h", + "数据量": "近两年", + "策略类型": "动量", + "策略参数": "MACD(12,26,9)/ATR(14)x2.0", + "策略描述": "MACD(12,26,9)零轴上金叉做多/零轴下死叉做空+ATR止损", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9013.28, + "总收益%": -9.87, + "年化收益%": -5.16, + "夏普比率": -0.66, + "最大回撤%": -20.72, + "胜率%": 36.79, + "盈亏比": 0.89, + "交易次数": 212, + "平均盈亏": -2.39, + "最佳盈亏": 343.72, + "最差盈亏": -156.45, + "卡尔玛比率": -0.25, + "耗时s": 0.5 + }, + { + "策略名": "3.MACD金叉死叉", + "币种": "BNBUSDT", + "时间级别": "6h", + "数据量": "全量", + "策略类型": "动量", + "策略参数": "MACD(12,26,9)/ATR(14)x2.0", + "策略描述": "MACD(12,26,9)零轴上金叉做多/零轴下死叉做空+ATR止损", + "日期范围": "2017-11-06~2026-06-11", + "初始资金": 10000.0, + "最终权益": 14303.46, + "总收益%": 43.03, + "年化收益%": 4.3, + "夏普比率": 0.37, + "最大回撤%": -18.31, + "胜率%": 38.54, + "盈亏比": 1.26, + "交易次数": 288, + "平均盈亏": 18.25, + "最佳盈亏": 1716.68, + "最差盈亏": -859.38, + "卡尔玛比率": 0.23, + "耗时s": 0.5 + }, + { + "策略名": "3.MACD金叉死叉", + "币种": "BNBUSDT", + "时间级别": "6h", + "数据量": "近两年", + "策略类型": "动量", + "策略参数": "MACD(12,26,9)/ATR(14)x2.0", + "策略描述": "MACD(12,26,9)零轴上金叉做多/零轴下死叉做空+ATR止损", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9523.86, + "总收益%": -4.76, + "年化收益%": -2.55, + "夏普比率": -0.29, + "最大回撤%": -12.58, + "胜率%": 31.08, + "盈亏比": 0.9, + "交易次数": 74, + "平均盈亏": -3.94, + "最佳盈亏": 315.2, + "最差盈亏": -202.09, + "卡尔玛比率": -0.2, + "耗时s": 0.5 + }, + { + "策略名": "3.MACD金叉死叉", + "币种": "BNBUSDT", + "时间级别": "2h", + "数据量": "全量", + "策略类型": "动量", + "策略参数": "MACD(12,26,9)/ATR(14)x2.0", + "策略描述": "MACD(12,26,9)零轴上金叉做多/零轴下死叉做空+ATR止损", + "日期范围": "2017-11-06~2026-06-11", + "初始资金": 10000.0, + "最终权益": 19764.28, + "总收益%": 97.64, + "年化收益%": 8.28, + "夏普比率": 0.55, + "最大回撤%": -37.83, + "胜率%": 37.73, + "盈亏比": 1.22, + "交易次数": 917, + "平均盈亏": 15.93, + "最佳盈亏": 4221.86, + "最差盈亏": -1247.54, + "卡尔玛比率": 0.22, + "耗时s": 1.1 + }, + { + "策略名": "3.MACD金叉死叉", + "币种": "BNBUSDT", + "时间级别": "6h", + "数据量": "近一年", + "策略类型": "动量", + "策略参数": "MACD(12,26,9)/ATR(14)x2.0", + "策略描述": "MACD(12,26,9)零轴上金叉做多/零轴下死叉做空+ATR止损", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9596.72, + "总收益%": -4.03, + "年化收益%": -4.52, + "夏普比率": -0.52, + "最大回撤%": -7.76, + "胜率%": 36.36, + "盈亏比": 0.8, + "交易次数": 33, + "平均盈亏": -9.7, + "最佳盈亏": 294.85, + "最差盈亏": -203.64, + "卡尔玛比率": -0.58, + "耗时s": 0.6 + }, + { + "策略名": "3.MACD金叉死叉", + "币种": "BNBUSDT", + "时间级别": "6h", + "数据量": "近半年", + "策略类型": "动量", + "策略参数": "MACD(12,26,9)/ATR(14)x2.0", + "策略描述": "MACD(12,26,9)零轴上金叉做多/零轴下死叉做空+ATR止损", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9971.19, + "总收益%": -0.29, + "年化收益%": -0.74, + "夏普比率": -0.05, + "最大回撤%": -5.41, + "胜率%": 40.0, + "盈亏比": 1.02, + "交易次数": 15, + "平均盈亏": 0.62, + "最佳盈亏": 267.52, + "最差盈亏": -101.79, + "卡尔玛比率": -0.14, + "耗时s": 0.4 + }, + { + "策略名": "3.MACD金叉死叉", + "币种": "SOLUSDT", + "时间级别": "2h", + "数据量": "近半年", + "策略类型": "动量", + "策略参数": "MACD(12,26,9)/ATR(14)x2.0", + "策略描述": "MACD(12,26,9)零轴上金叉做多/零轴下死叉做空+ATR止损", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9822.04, + "总收益%": -1.78, + "年化收益%": -3.85, + "夏普比率": -0.29, + "最大回撤%": -7.57, + "胜率%": 37.5, + "盈亏比": 0.96, + "交易次数": 48, + "平均盈亏": -1.18, + "最佳盈亏": 441.98, + "最差盈亏": -161.53, + "卡尔玛比率": -0.51, + "耗时s": 0.2 + }, + { + "策略名": "3.MACD金叉死叉", + "币种": "SOLUSDT", + "时间级别": "2h", + "数据量": "近两年", + "策略类型": "动量", + "策略参数": "MACD(12,26,9)/ATR(14)x2.0", + "策略描述": "MACD(12,26,9)零轴上金叉做多/零轴下死叉做空+ATR止损", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9976.68, + "总收益%": -0.23, + "年化收益%": -0.12, + "夏普比率": 0.05, + "最大回撤%": -11.99, + "胜率%": 35.24, + "盈亏比": 1.07, + "交易次数": 210, + "平均盈亏": 2.43, + "最佳盈亏": 448.94, + "最差盈亏": -197.25, + "卡尔玛比率": -0.01, + "耗时s": 0.7 + }, + { + "策略名": "3.MACD金叉死叉", + "币种": "SOLUSDT", + "时间级别": "2h", + "数据量": "近一年", + "策略类型": "动量", + "策略参数": "MACD(12,26,9)/ATR(14)x2.0", + "策略描述": "MACD(12,26,9)零轴上金叉做多/零轴下死叉做空+ATR止损", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9739.94, + "总收益%": -2.6, + "年化收益%": -2.71, + "夏普比率": -0.2, + "最大回撤%": -11.99, + "胜率%": 34.29, + "盈亏比": 1.0, + "交易次数": 105, + "平均盈亏": 0.05, + "最佳盈亏": 438.29, + "最差盈亏": -175.8, + "卡尔玛比率": -0.23, + "耗时s": 0.7 + }, + { + "策略名": "3.MACD金叉死叉", + "币种": "SOLUSDT", + "时间级别": "6h", + "数据量": "近两年", + "策略类型": "动量", + "策略参数": "MACD(12,26,9)/ATR(14)x2.0", + "策略描述": "MACD(12,26,9)零轴上金叉做多/零轴下死叉做空+ATR止损", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 8841.02, + "总收益%": -11.59, + "年化收益%": -6.31, + "夏普比率": -0.52, + "最大回撤%": -22.12, + "胜率%": 32.0, + "盈亏比": 0.8, + "交易次数": 75, + "平均盈亏": -13.07, + "最佳盈亏": 428.04, + "最差盈亏": -318.24, + "卡尔玛比率": -0.29, + "耗时s": 0.5 + }, + { + "策略名": "3.MACD金叉死叉", + "币种": "SOLUSDT", + "时间级别": "6h", + "数据量": "全量", + "策略类型": "动量", + "策略参数": "MACD(12,26,9)/ATR(14)x2.0", + "策略描述": "MACD(12,26,9)零轴上金叉做多/零轴下死叉做空+ATR止损", + "日期范围": "2020-08-11~2026-06-11", + "初始资金": 10000.0, + "最终权益": 18462.72, + "总收益%": 84.63, + "年化收益%": 11.29, + "夏普比率": 0.73, + "最大回撤%": -27.66, + "胜率%": 42.4, + "盈亏比": 1.34, + "交易次数": 217, + "平均盈亏": 43.24, + "最佳盈亏": 2359.97, + "最差盈亏": -688.31, + "卡尔玛比率": 0.41, + "耗时s": 0.5 + }, + { + "策略名": "3.MACD金叉死叉", + "币种": "SOLUSDT", + "时间级别": "2h", + "数据量": "全量", + "策略类型": "动量", + "策略参数": "MACD(12,26,9)/ATR(14)x2.0", + "策略描述": "MACD(12,26,9)零轴上金叉做多/零轴下死叉做空+ATR止损", + "日期范围": "2020-08-11~2026-06-11", + "初始资金": 10000.0, + "最终权益": 14934.11, + "总收益%": 49.34, + "年化收益%": 7.16, + "夏普比率": 0.51, + "最大回撤%": -25.04, + "胜率%": 38.25, + "盈亏比": 1.19, + "交易次数": 617, + "平均盈亏": 11.28, + "最佳盈亏": 1321.11, + "最差盈亏": -408.02, + "卡尔玛比率": 0.29, + "耗时s": 0.9 + }, + { + "策略名": "3.MACD金叉死叉", + "币种": "SOLUSDT", + "时间级别": "6h", + "数据量": "近一年", + "策略类型": "动量", + "策略参数": "MACD(12,26,9)/ATR(14)x2.0", + "策略描述": "MACD(12,26,9)零轴上金叉做多/零轴下死叉做空+ATR止损", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9600.51, + "总收益%": -3.99, + "年化收益%": -4.48, + "夏普比率": -0.47, + "最大回撤%": -10.86, + "胜率%": 30.3, + "盈亏比": 0.85, + "交易次数": 33, + "平均盈亏": -9.72, + "最佳盈亏": 453.09, + "最差盈亏": -210.93, + "卡尔玛比率": -0.41, + "耗时s": 0.5 + }, + { + "策略名": "3.MACD金叉死叉", + "币种": "SOLUSDT", + "时间级别": "6h", + "数据量": "近半年", + "策略类型": "动量", + "策略参数": "MACD(12,26,9)/ATR(14)x2.0", + "策略描述": "MACD(12,26,9)零轴上金叉做多/零轴下死叉做空+ATR止损", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 10223.24, + "总收益%": 2.23, + "年化收益%": 5.84, + "夏普比率": 0.54, + "最大回撤%": -9.72, + "胜率%": 40.0, + "盈亏比": 1.32, + "交易次数": 15, + "平均盈亏": 17.39, + "最佳盈亏": 482.48, + "最差盈亏": -224.61, + "卡尔玛比率": 0.6, + "耗时s": 0.3 + }, + { + "策略名": "4.布林收缩爆发", + "币种": "BTCUSDT", + "时间级别": "2h", + "数据量": "近半年", + "策略类型": "波动率突破", + "策略参数": "BB(20,2.0)/KC(20,1.5)/squeeze=30", + "策略描述": "BB收缩至KC内部后扩张爆发,顺势入场 + ATR止损", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9934.18, + "总收益%": -0.66, + "年化收益%": -1.43, + "夏普比率": -1.02, + "最大回撤%": -1.41, + "胜率%": 40.0, + "盈亏比": 0.23, + "交易次数": 5, + "平均盈亏": -10.67, + "最佳盈亏": 13.27, + "最差盈亏": -41.13, + "卡尔玛比率": -1.02, + "耗时s": 0.3 + }, + { + "策略名": "4.布林收缩爆发", + "币种": "BTCUSDT", + "时间级别": "2h", + "数据量": "近一年", + "策略类型": "波动率突破", + "策略参数": "BB(20,2.0)/KC(20,1.5)/squeeze=30", + "策略描述": "BB收缩至KC内部后扩张爆发,顺势入场 + ATR止损", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 10020.38, + "总收益%": 0.2, + "年化收益%": 0.21, + "夏普比率": 0.12, + "最大回撤%": -1.43, + "胜率%": 50.0, + "盈亏比": 1.33, + "交易次数": 12, + "平均盈亏": 4.21, + "最佳盈亏": 90.63, + "最差盈亏": -41.49, + "卡尔玛比率": 0.15, + "耗时s": 0.4 + }, + { + "策略名": "4.布林收缩爆发", + "币种": "BTCUSDT", + "时间级别": "2h", + "数据量": "近两年", + "策略类型": "波动率突破", + "策略参数": "BB(20,2.0)/KC(20,1.5)/squeeze=30", + "策略描述": "BB收缩至KC内部后扩张爆发,顺势入场 + ATR止损", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9599.99, + "总收益%": -4.0, + "年化收益%": -2.06, + "夏普比率": -0.8, + "最大回撤%": -6.11, + "胜率%": 31.25, + "盈亏比": 0.59, + "交易次数": 32, + "平均盈亏": -10.09, + "最佳盈亏": 106.47, + "最差盈亏": -115.82, + "卡尔玛比率": -0.34, + "耗时s": 0.4 + }, + { + "策略名": "4.布林收缩爆发", + "币种": "BTCUSDT", + "时间级别": "6h", + "数据量": "全量", + "策略类型": "波动率突破", + "策略参数": "BB(20,2.0)/KC(20,1.5)/squeeze=30", + "策略描述": "BB收缩至KC内部后扩张爆发,顺势入场 + ATR止损", + "日期范围": "2017-08-17~2026-06-11", + "初始资金": 10000.0, + "最终权益": 9322.38, + "总收益%": -6.78, + "年化收益%": -0.8, + "夏普比率": -0.15, + "最大回撤%": -18.07, + "胜率%": 32.26, + "盈亏比": 0.87, + "交易次数": 62, + "平均盈亏": -8.4, + "最佳盈亏": 646.13, + "最差盈亏": -501.74, + "卡尔玛比率": -0.04, + "耗时s": 0.5 + }, + { + "策略名": "4.布林收缩爆发", + "币种": "BTCUSDT", + "时间级别": "6h", + "数据量": "近两年", + "策略类型": "波动率突破", + "策略参数": "BB(20,2.0)/KC(20,1.5)/squeeze=30", + "策略描述": "BB收缩至KC内部后扩张爆发,顺势入场 + ATR止损", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9986.77, + "总收益%": -0.13, + "年化收益%": -0.07, + "夏普比率": -0.01, + "最大回撤%": -2.75, + "胜率%": 45.45, + "盈亏比": 1.05, + "交易次数": 11, + "平均盈亏": 1.31, + "最佳盈亏": 148.42, + "最差盈亏": -66.7, + "卡尔玛比率": -0.03, + "耗时s": 0.5 + }, + { + "策略名": "4.布林收缩爆发", + "币种": "BTCUSDT", + "时间级别": "2h", + "数据量": "全量", + "策略类型": "波动率突破", + "策略参数": "BB(20,2.0)/KC(20,1.5)/squeeze=30", + "策略描述": "BB收缩至KC内部后扩张爆发,顺势入场 + ATR止损", + "日期范围": "2017-08-17~2026-06-11", + "初始资金": 10000.0, + "最终权益": 9260.37, + "总收益%": -7.4, + "年化收益%": -0.87, + "夏普比率": -0.19, + "最大回撤%": -19.04, + "胜率%": 30.77, + "盈亏比": 0.9, + "交易次数": 117, + "平均盈亏": -3.82, + "最佳盈亏": 729.8, + "最差盈亏": -228.83, + "卡尔玛比率": -0.05, + "耗时s": 1.1 + }, + { + "策略名": "4.布林收缩爆发", + "币种": "BTCUSDT", + "时间级别": "6h", + "数据量": "近一年", + "策略类型": "波动率突破", + "策略参数": "BB(20,2.0)/KC(20,1.5)/squeeze=30", + "策略描述": "BB收缩至KC内部后扩张爆发,顺势入场 + ATR止损", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9943.26, + "总收益%": -0.57, + "年化收益%": -0.64, + "夏普比率": -0.19, + "最大回撤%": -2.48, + "胜率%": 50.0, + "盈亏比": 0.68, + "交易次数": 6, + "平均盈亏": -6.96, + "最佳盈亏": 42.87, + "最差盈亏": -60.59, + "卡尔玛比率": -0.26, + "耗时s": 0.6 + }, + { + "策略名": "4.布林收缩爆发", + "币种": "BTCUSDT", + "时间级别": "6h", + "数据量": "近半年", + "策略类型": "波动率突破", + "策略参数": "BB(20,2.0)/KC(20,1.5)/squeeze=30", + "策略描述": "BB收缩至KC内部后扩张爆发,顺势入场 + ATR止损", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9917.86, + "总收益%": -0.82, + "年化收益%": -2.1, + "夏普比率": -0.6, + "最大回撤%": -2.48, + "胜率%": 33.33, + "盈亏比": 0.06, + "交易次数": 3, + "平均盈亏": -24.89, + "最佳盈亏": 4.66, + "最差盈亏": -60.44, + "卡尔玛比率": -0.85, + "耗时s": 0.6 + }, + { + "策略名": "4.布林收缩爆发", + "币种": "ETHUSDT", + "时间级别": "2h", + "数据量": "近一年", + "策略类型": "波动率突破", + "策略参数": "BB(20,2.0)/KC(20,1.5)/squeeze=30", + "策略描述": "BB收缩至KC内部后扩张爆发,顺势入场 + ATR止损", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 10748.98, + "总收益%": 7.49, + "年化收益%": 7.82, + "夏普比率": 1.27, + "最大回撤%": -3.21, + "胜率%": 62.5, + "盈亏比": 4.59, + "交易次数": 8, + "平均盈亏": 96.2, + "最佳盈亏": 322.68, + "最差盈亏": -116.59, + "卡尔玛比率": 2.43, + "耗时s": 0.6 + }, + { + "策略名": "4.布林收缩爆发", + "币种": "ETHUSDT", + "时间级别": "2h", + "数据量": "近两年", + "策略类型": "波动率突破", + "策略参数": "BB(20,2.0)/KC(20,1.5)/squeeze=30", + "策略描述": "BB收缩至KC内部后扩张爆发,顺势入场 + ATR止损", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 10999.77, + "总收益%": 10.0, + "年化收益%": 4.98, + "夏普比率": 0.95, + "最大回撤%": -3.21, + "胜率%": 56.0, + "盈亏比": 2.34, + "交易次数": 25, + "平均盈亏": 42.56, + "最佳盈亏": 330.21, + "最差盈亏": -140.42, + "卡尔玛比率": 1.55, + "耗时s": 0.7 + }, + { + "策略名": "4.布林收缩爆发", + "币种": "ETHUSDT", + "时间级别": "2h", + "数据量": "近半年", + "策略类型": "波动率突破", + "策略参数": "BB(20,2.0)/KC(20,1.5)/squeeze=30", + "策略描述": "BB收缩至KC内部后扩张爆发,顺势入场 + ATR止损", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 10428.57, + "总收益%": 4.29, + "年化收益%": 9.6, + "夏普比率": 1.27, + "最大回撤%": -3.21, + "胜率%": 75.0, + "盈亏比": 10.05, + "交易次数": 4, + "平均盈亏": 109.68, + "最佳盈亏": 241.26, + "最差盈亏": -48.5, + "卡尔玛比率": 2.99, + "耗时s": 0.4 + }, + { + "策略名": "4.布林收缩爆发", + "币种": "ETHUSDT", + "时间级别": "6h", + "数据量": "近两年", + "策略类型": "波动率突破", + "策略参数": "BB(20,2.0)/KC(20,1.5)/squeeze=30", + "策略描述": "BB收缩至KC内部后扩张爆发,顺势入场 + ATR止损", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9650.97, + "总收益%": -3.49, + "年化收益%": -1.86, + "夏普比率": -0.59, + "最大回撤%": -4.57, + "胜率%": 20.0, + "盈亏比": 0.43, + "交易次数": 10, + "平均盈亏": -32.43, + "最佳盈亏": 240.64, + "最差盈亏": -118.98, + "卡尔玛比率": -0.41, + "耗时s": 0.4 + }, + { + "策略名": "4.布林收缩爆发", + "币种": "ETHUSDT", + "时间级别": "2h", + "数据量": "全量", + "策略类型": "波动率突破", + "策略参数": "BB(20,2.0)/KC(20,1.5)/squeeze=30", + "策略描述": "BB收缩至KC内部后扩张爆发,顺势入场 + ATR止损", + "日期范围": "2017-08-17~2026-06-11", + "初始资金": 10000.0, + "最终权益": 12090.18, + "总收益%": 20.9, + "年化收益%": 2.18, + "夏普比率": 0.38, + "最大回撤%": -13.41, + "胜率%": 42.34, + "盈亏比": 1.42, + "交易次数": 137, + "平均盈亏": 18.0, + "最佳盈亏": 781.58, + "最差盈亏": -219.47, + "卡尔玛比率": 0.16, + "耗时s": 1.4 + }, + { + "策略名": "4.布林收缩爆发", + "币种": "ETHUSDT", + "时间级别": "6h", + "数据量": "全量", + "策略类型": "波动率突破", + "策略参数": "BB(20,2.0)/KC(20,1.5)/squeeze=30", + "策略描述": "BB收缩至KC内部后扩张爆发,顺势入场 + ATR止损", + "日期范围": "2017-08-17~2026-06-11", + "初始资金": 10000.0, + "最终权益": 10836.06, + "总收益%": 8.36, + "年化收益%": 0.93, + "夏普比率": 0.19, + "最大回撤%": -18.39, + "胜率%": 35.71, + "盈亏比": 1.23, + "交易次数": 56, + "平均盈亏": 17.77, + "最佳盈亏": 1130.27, + "最差盈亏": -368.52, + "卡尔玛比率": 0.05, + "耗时s": 0.8 + }, + { + "策略名": "4.布林收缩爆发", + "币种": "ETHUSDT", + "时间级别": "6h", + "数据量": "近一年", + "策略类型": "波动率突破", + "策略参数": "BB(20,2.0)/KC(20,1.5)/squeeze=30", + "策略描述": "BB收缩至KC内部后扩张爆发,顺势入场 + ATR止损", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9885.75, + "总收益%": -1.14, + "年化收益%": -1.28, + "夏普比率": -0.35, + "最大回撤%": -4.57, + "胜率%": 16.67, + "盈亏比": 0.71, + "交易次数": 6, + "平均盈亏": -16.51, + "最佳盈亏": 246.5, + "最差盈亏": -121.88, + "卡尔玛比率": -0.28, + "耗时s": 0.6 + }, + { + "策略名": "4.布林收缩爆发", + "币种": "ETHUSDT", + "时间级别": "6h", + "数据量": "近半年", + "策略类型": "波动率突破", + "策略参数": "BB(20,2.0)/KC(20,1.5)/squeeze=30", + "策略描述": "BB收缩至KC内部后扩张爆发,顺势入场 + ATR止损", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9692.47, + "总收益%": -3.08, + "年化收益%": -7.71, + "夏普比率": -2.43, + "最大回撤%": -4.1, + "胜率%": 0.0, + "盈亏比": 0.0, + "交易次数": 3, + "平均盈亏": -100.04, + "最佳盈亏": -82.99, + "最差盈亏": -119.49, + "卡尔玛比率": -1.88, + "耗时s": 0.6 + }, + { + "策略名": "4.布林收缩爆发", + "币种": "BNBUSDT", + "时间级别": "2h", + "数据量": "近半年", + "策略类型": "波动率突破", + "策略参数": "BB(20,2.0)/KC(20,1.5)/squeeze=30", + "策略描述": "BB收缩至KC内部后扩张爆发,顺势入场 + ATR止损", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 10123.89, + "总收益%": 1.24, + "年化收益%": 2.73, + "夏普比率": 0.46, + "最大回撤%": -2.59, + "胜率%": 40.0, + "盈亏比": 1.58, + "交易次数": 10, + "平均盈亏": 14.91, + "最佳盈亏": 326.45, + "最差盈亏": -65.73, + "卡尔玛比率": 1.05, + "耗时s": 0.2 + }, + { + "策略名": "4.布林收缩爆发", + "币种": "BNBUSDT", + "时间级别": "2h", + "数据量": "近一年", + "策略类型": "波动率突破", + "策略参数": "BB(20,2.0)/KC(20,1.5)/squeeze=30", + "策略描述": "BB收缩至KC内部后扩张爆发,顺势入场 + ATR止损", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9399.74, + "总收益%": -6.0, + "年化收益%": -6.25, + "夏普比率": -1.04, + "最大回撤%": -8.48, + "胜率%": 27.78, + "盈亏比": 0.43, + "交易次数": 18, + "平均盈亏": -30.82, + "最佳盈亏": 303.1, + "最差盈亏": -467.52, + "卡尔玛比率": -0.74, + "耗时s": 0.4 + }, + { + "策略名": "4.布林收缩爆发", + "币种": "BNBUSDT", + "时间级别": "2h", + "数据量": "近两年", + "策略类型": "波动率突破", + "策略参数": "BB(20,2.0)/KC(20,1.5)/squeeze=30", + "策略描述": "BB收缩至KC内部后扩张爆发,顺势入场 + ATR止损", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9794.03, + "总收益%": -2.06, + "年化收益%": -1.06, + "夏普比率": -0.21, + "最大回撤%": -8.02, + "胜率%": 36.73, + "盈亏比": 0.94, + "交易次数": 49, + "平均盈亏": -1.71, + "最佳盈亏": 315.82, + "最差盈亏": -103.58, + "卡尔玛比率": -0.13, + "耗时s": 0.9 + }, + { + "策略名": "4.布林收缩爆发", + "币种": "BNBUSDT", + "时间级别": "6h", + "数据量": "近两年", + "策略类型": "波动率突破", + "策略参数": "BB(20,2.0)/KC(20,1.5)/squeeze=30", + "策略描述": "BB收缩至KC内部后扩张爆发,顺势入场 + ATR止损", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 10520.0, + "总收益%": 5.2, + "年化收益%": 2.72, + "夏普比率": 0.54, + "最大回撤%": -7.33, + "胜率%": 40.0, + "盈亏比": 2.01, + "交易次数": 15, + "平均盈亏": 37.55, + "最佳盈亏": 787.13, + "最差盈亏": -116.31, + "卡尔玛比率": 0.37, + "耗时s": 0.4 + }, + { + "策略名": "4.布林收缩爆发", + "币种": "BNBUSDT", + "时间级别": "6h", + "数据量": "全量", + "策略类型": "波动率突破", + "策略参数": "BB(20,2.0)/KC(20,1.5)/squeeze=30", + "策略描述": "BB收缩至KC内部后扩张爆发,顺势入场 + ATR止损", + "日期范围": "2017-11-06~2026-06-11", + "初始资金": 10000.0, + "最终权益": 15142.93, + "总收益%": 51.43, + "年化收益%": 5.0, + "夏普比率": 0.54, + "最大回撤%": -22.05, + "胜率%": 39.13, + "盈亏比": 1.8, + "交易次数": 69, + "平均盈亏": 78.04, + "最佳盈亏": 6245.47, + "最差盈亏": -905.54, + "卡尔玛比率": 0.23, + "耗时s": 0.8 + }, + { + "策略名": "4.布林收缩爆发", + "币种": "BNBUSDT", + "时间级别": "2h", + "数据量": "全量", + "策略类型": "波动率突破", + "策略参数": "BB(20,2.0)/KC(20,1.5)/squeeze=30", + "策略描述": "BB收缩至KC内部后扩张爆发,顺势入场 + ATR止损", + "日期范围": "2017-11-06~2026-06-11", + "初始资金": 10000.0, + "最终权益": 12565.63, + "总收益%": 25.66, + "年化收益%": 2.7, + "夏普比率": 0.3, + "最大回撤%": -18.61, + "胜率%": 35.85, + "盈亏比": 1.38, + "交易次数": 159, + "平均盈亏": 19.43, + "最佳盈亏": 2858.29, + "最差盈亏": -315.59, + "卡尔玛比率": 0.15, + "耗时s": 1.4 + }, + { + "策略名": "4.布林收缩爆发", + "币种": "BNBUSDT", + "时间级别": "6h", + "数据量": "近一年", + "策略类型": "波动率突破", + "策略参数": "BB(20,2.0)/KC(20,1.5)/squeeze=30", + "策略描述": "BB收缩至KC内部后扩张爆发,顺势入场 + ATR止损", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9826.59, + "总收益%": -1.73, + "年化收益%": -1.95, + "夏普比率": -0.77, + "最大回撤%": -3.43, + "胜率%": 28.57, + "盈亏比": 0.42, + "交易次数": 7, + "平均盈亏": -22.28, + "最佳盈亏": 111.03, + "最差盈亏": -85.54, + "卡尔玛比率": -0.57, + "耗时s": 0.6 + }, + { + "策略名": "4.布林收缩爆发", + "币种": "BNBUSDT", + "时间级别": "6h", + "数据量": "近半年", + "策略类型": "波动率突破", + "策略参数": "BB(20,2.0)/KC(20,1.5)/squeeze=30", + "策略描述": "BB收缩至KC内部后扩张爆发,顺势入场 + ATR止损", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9113.72, + "总收益%": -8.86, + "年化收益%": -21.22, + "夏普比率": -2.5, + "最大回撤%": -9.88, + "胜率%": 33.33, + "盈亏比": 0.05, + "交易次数": 6, + "平均盈亏": -145.09, + "最佳盈亏": 44.8, + "最差盈亏": -765.69, + "卡尔玛比率": -2.15, + "耗时s": 0.6 + }, + { + "策略名": "4.布林收缩爆发", + "币种": "SOLUSDT", + "时间级别": "2h", + "数据量": "近半年", + "策略类型": "波动率突破", + "策略参数": "BB(20,2.0)/KC(20,1.5)/squeeze=30", + "策略描述": "BB收缩至KC内部后扩张爆发,顺势入场 + ATR止损", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 10243.3, + "总收益%": 2.43, + "年化收益%": 5.39, + "夏普比率": 1.35, + "最大回撤%": -1.29, + "胜率%": 28.57, + "盈亏比": 3.45, + "交易次数": 7, + "平均盈亏": 37.3, + "最佳盈亏": 211.56, + "最差盈亏": -47.73, + "卡尔玛比率": 4.17, + "耗时s": 0.4 + }, + { + "策略名": "4.布林收缩爆发", + "币种": "SOLUSDT", + "时间级别": "2h", + "数据量": "近两年", + "策略类型": "波动率突破", + "策略参数": "BB(20,2.0)/KC(20,1.5)/squeeze=30", + "策略描述": "BB收缩至KC内部后扩张爆发,顺势入场 + ATR止损", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9899.79, + "总收益%": -1.0, + "年化收益%": -0.51, + "夏普比率": -0.11, + "最大回撤%": -9.08, + "胜率%": 25.0, + "盈亏比": 0.98, + "交易次数": 32, + "平均盈亏": -0.68, + "最佳盈亏": 268.28, + "最差盈亏": -109.44, + "卡尔玛比率": -0.06, + "耗时s": 0.9 + }, + { + "策略名": "4.布林收缩爆发", + "币种": "SOLUSDT", + "时间级别": "2h", + "数据量": "近一年", + "策略类型": "波动率突破", + "策略参数": "BB(20,2.0)/KC(20,1.5)/squeeze=30", + "策略描述": "BB收缩至KC内部后扩张爆发,顺势入场 + ATR止损", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 10109.18, + "总收益%": 1.09, + "年化收益%": 1.14, + "夏普比率": 0.32, + "最大回撤%": -3.87, + "胜率%": 26.67, + "盈亏比": 1.33, + "交易次数": 15, + "平均盈亏": 9.75, + "最佳盈亏": 208.79, + "最差盈亏": -87.82, + "卡尔玛比率": 0.29, + "耗时s": 0.4 + }, + { + "策略名": "4.布林收缩爆发", + "币种": "SOLUSDT", + "时间级别": "6h", + "数据量": "全量", + "策略类型": "波动率突破", + "策略参数": "BB(20,2.0)/KC(20,1.5)/squeeze=30", + "策略描述": "BB收缩至KC内部后扩张爆发,顺势入场 + ATR止损", + "日期范围": "2020-08-11~2026-06-11", + "初始资金": 10000.0, + "最终权益": 9455.07, + "总收益%": -5.45, + "年化收益%": -0.97, + "夏普比率": -0.09, + "最大回撤%": -18.25, + "胜率%": 26.19, + "盈亏比": 0.89, + "交易次数": 42, + "平均盈亏": -10.56, + "最佳盈亏": 1908.42, + "最差盈亏": -546.74, + "卡尔玛比率": -0.05, + "耗时s": 0.6 + }, + { + "策略名": "4.布林收缩爆发", + "币种": "SOLUSDT", + "时间级别": "2h", + "数据量": "全量", + "策略类型": "波动率突破", + "策略参数": "BB(20,2.0)/KC(20,1.5)/squeeze=30", + "策略描述": "BB收缩至KC内部后扩张爆发,顺势入场 + ATR止损", + "日期范围": "2020-08-11~2026-06-11", + "初始资金": 10000.0, + "最终权益": 8763.15, + "总收益%": -12.37, + "年化收益%": -2.25, + "夏普比率": -0.23, + "最大回撤%": -27.24, + "胜率%": 29.1, + "盈亏比": 0.87, + "交易次数": 134, + "平均盈亏": -6.81, + "最佳盈亏": 696.29, + "最差盈亏": -283.42, + "卡尔玛比率": -0.08, + "耗时s": 1.1 + }, + { + "策略名": "4.布林收缩爆发", + "币种": "SOLUSDT", + "时间级别": "6h", + "数据量": "近两年", + "策略类型": "波动率突破", + "策略参数": "BB(20,2.0)/KC(20,1.5)/squeeze=30", + "策略描述": "BB收缩至KC内部后扩张爆发,顺势入场 + ATR止损", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9280.6, + "总收益%": -7.19, + "年化收益%": -3.87, + "夏普比率": -1.01, + "最大回撤%": -8.86, + "胜率%": 16.67, + "盈亏比": 0.27, + "交易次数": 12, + "平均盈亏": -57.51, + "最佳盈亏": 152.64, + "最差盈亏": -184.79, + "卡尔玛比率": -0.44, + "耗时s": 0.6 + }, + { + "策略名": "4.布林收缩爆发", + "币种": "SOLUSDT", + "时间级别": "6h", + "数据量": "近半年", + "策略类型": "波动率突破", + "策略参数": "BB(20,2.0)/KC(20,1.5)/squeeze=30", + "策略描述": "BB收缩至KC内部后扩张爆发,顺势入场 + ATR止损", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9892.69, + "总收益%": -1.07, + "年化收益%": -2.74, + "夏普比率": -2.14, + "最大回撤%": -1.07, + "胜率%": 0.0, + "盈亏比": 0.0, + "交易次数": 1, + "平均盈亏": -104.81, + "最佳盈亏": -104.81, + "最差盈亏": -104.81, + "卡尔玛比率": -2.55, + "耗时s": 0.2 + }, + { + "策略名": "5.三均线排列", + "币种": "BTCUSDT", + "时间级别": "2h", + "数据量": "近一年", + "策略类型": "趋势跟踪", + "策略参数": "EMA(10,30,60)/ATR(14)x2.0", + "策略描述": "EMA(10,30,60)多头/空头排列,快线金叉入场+ATR追踪止损", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 10019.86, + "总收益%": 0.2, + "年化收益%": 0.21, + "夏普比率": 0.07, + "最大回撤%": -4.98, + "胜率%": 34.55, + "盈亏比": 1.15, + "交易次数": 55, + "平均盈亏": 2.84, + "最佳盈亏": 207.2, + "最差盈亏": -116.51, + "卡尔玛比率": 0.04, + "耗时s": 0.3 + }, + { + "策略名": "5.三均线排列", + "币种": "BTCUSDT", + "时间级别": "2h", + "数据量": "近两年", + "策略类型": "趋势跟踪", + "策略参数": "EMA(10,30,60)/ATR(14)x2.0", + "策略描述": "EMA(10,30,60)多头/空头排列,快线金叉入场+ATR追踪止损", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9324.07, + "总收益%": -6.76, + "年化收益%": -3.51, + "夏普比率": -0.93, + "最大回撤%": -10.9, + "胜率%": 32.29, + "盈亏比": 0.78, + "交易次数": 96, + "平均盈亏": -4.7, + "最佳盈亏": 192.81, + "最差盈亏": -110.83, + "卡尔玛比率": -0.32, + "耗时s": 0.4 + }, + { + "策略名": "4.布林收缩爆发", + "币种": "SOLUSDT", + "时间级别": "6h", + "数据量": "近一年", + "策略类型": "波动率突破", + "策略参数": "BB(20,2.0)/KC(20,1.5)/squeeze=30", + "策略描述": "BB收缩至KC内部后扩张爆发,顺势入场 + ATR止损", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9463.25, + "总收益%": -5.37, + "年化收益%": -6.01, + "夏普比率": -1.37, + "最大回撤%": -8.01, + "胜率%": 14.29, + "盈亏比": 0.23, + "交易次数": 7, + "平均盈亏": -74.21, + "最佳盈亏": 155.65, + "最差盈亏": -188.43, + "卡尔玛比率": -0.75, + "耗时s": 0.4 + }, + { + "策略名": "5.三均线排列", + "币种": "BTCUSDT", + "时间级别": "2h", + "数据量": "近半年", + "策略类型": "趋势跟踪", + "策略参数": "EMA(10,30,60)/ATR(14)x2.0", + "策略描述": "EMA(10,30,60)多头/空头排列,快线金叉入场+ATR追踪止损", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 10194.75, + "总收益%": 1.95, + "年化收益%": 4.3, + "夏普比率": 1.07, + "最大回撤%": -2.11, + "胜率%": 35.71, + "盈亏比": 1.62, + "交易次数": 28, + "平均盈亏": 9.45, + "最佳盈亏": 210.82, + "最差盈亏": -55.21, + "卡尔玛比率": 2.04, + "耗时s": 0.4 + }, + { + "策略名": "5.三均线排列", + "币种": "BTCUSDT", + "时间级别": "6h", + "数据量": "近两年", + "策略类型": "趋势跟踪", + "策略参数": "EMA(10,30,60)/ATR(14)x2.0", + "策略描述": "EMA(10,30,60)多头/空头排列,快线金叉入场+ATR追踪止损", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 10309.01, + "总收益%": 3.09, + "年化收益%": 1.62, + "夏普比率": 0.35, + "最大回撤%": -4.96, + "胜率%": 32.35, + "盈亏比": 1.28, + "交易次数": 34, + "平均盈亏": 11.67, + "最佳盈亏": 422.26, + "最差盈亏": -189.67, + "卡尔玛比率": 0.33, + "耗时s": 0.2 + }, + { + "策略名": "5.三均线排列", + "币种": "BTCUSDT", + "时间级别": "6h", + "数据量": "近一年", + "策略类型": "趋势跟踪", + "策略参数": "EMA(10,30,60)/ATR(14)x2.0", + "策略描述": "EMA(10,30,60)多头/空头排列,快线金叉入场+ATR追踪止损", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9789.98, + "总收益%": -2.1, + "年化收益%": -2.36, + "夏普比率": -0.68, + "最大回撤%": -4.96, + "胜率%": 18.75, + "盈亏比": 0.76, + "交易次数": 16, + "平均盈亏": -10.63, + "最佳盈亏": 399.59, + "最差盈亏": -116.14, + "卡尔玛比率": -0.48, + "耗时s": 0.5 + }, + { + "策略名": "5.三均线排列", + "币种": "BTCUSDT", + "时间级别": "6h", + "数据量": "近半年", + "策略类型": "趋势跟踪", + "策略参数": "EMA(10,30,60)/ATR(14)x2.0", + "策略描述": "EMA(10,30,60)多头/空头排列,快线金叉入场+ATR追踪止损", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9732.71, + "总收益%": -2.67, + "年化收益%": -6.73, + "夏普比率": -2.56, + "最大回撤%": -3.38, + "胜率%": 16.67, + "盈亏比": 0.14, + "交易次数": 6, + "平均盈亏": -42.08, + "最佳盈亏": 40.18, + "最差盈亏": -115.46, + "卡尔玛比率": -1.99, + "耗时s": 0.6 + }, + { + "策略名": "5.三均线排列", + "币种": "BTCUSDT", + "时间级别": "2h", + "数据量": "全量", + "策略类型": "趋势跟踪", + "策略参数": "EMA(10,30,60)/ATR(14)x2.0", + "策略描述": "EMA(10,30,60)多头/空头排列,快线金叉入场+ATR追踪止损", + "日期范围": "2017-08-17~2026-06-11", + "初始资金": 10000.0, + "最终权益": 11400.55, + "总收益%": 14.01, + "年化收益%": 1.5, + "夏普比率": 0.26, + "最大回撤%": -26.46, + "胜率%": 33.5, + "盈亏比": 1.21, + "交易次数": 412, + "平均盈亏": 6.56, + "最佳盈亏": 1306.34, + "最差盈亏": -245.77, + "卡尔玛比率": 0.06, + "耗时s": 1.0 + }, + { + "策略名": "5.三均线排列", + "币种": "BTCUSDT", + "时间级别": "6h", + "数据量": "全量", + "策略类型": "趋势跟踪", + "策略参数": "EMA(10,30,60)/ATR(14)x2.0", + "策略描述": "EMA(10,30,60)多头/空头排列,快线金叉入场+ATR追踪止损", + "日期范围": "2017-08-17~2026-06-11", + "初始资金": 10000.0, + "最终权益": 18613.03, + "总收益%": 86.13, + "年化收益%": 7.39, + "夏普比率": 0.93, + "最大回撤%": -13.3, + "胜率%": 37.84, + "盈亏比": 1.82, + "交易次数": 148, + "平均盈亏": 62.41, + "最佳盈亏": 2268.65, + "最差盈亏": -439.08, + "卡尔玛比率": 0.56, + "耗时s": 0.9 + }, + { + "策略名": "5.三均线排列", + "币种": "ETHUSDT", + "时间级别": "2h", + "数据量": "全量", + "策略类型": "趋势跟踪", + "策略参数": "EMA(10,30,60)/ATR(14)x2.0", + "策略描述": "EMA(10,30,60)多头/空头排列,快线金叉入场+ATR追踪止损", + "日期范围": "2017-08-17~2026-06-11", + "初始资金": 10000.0, + "最终权益": 7572.42, + "总收益%": -24.28, + "年化收益%": -3.11, + "夏普比率": -0.4, + "最大回撤%": -37.45, + "胜率%": 28.47, + "盈亏比": 0.9, + "交易次数": 418, + "平均盈亏": -3.32, + "最佳盈亏": 707.81, + "最差盈亏": -235.53, + "卡尔玛比率": -0.08, + "耗时s": 1.1 + }, + { + "策略名": "5.三均线排列", + "币种": "ETHUSDT", + "时间级别": "2h", + "数据量": "近一年", + "策略类型": "趋势跟踪", + "策略参数": "EMA(10,30,60)/ATR(14)x2.0", + "策略描述": "EMA(10,30,60)多头/空头排列,快线金叉入场+ATR追踪止损", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9434.53, + "总收益%": -5.65, + "年化收益%": -5.89, + "夏普比率": -0.85, + "最大回撤%": -11.28, + "胜率%": 31.37, + "盈亏比": 0.74, + "交易次数": 51, + "平均盈亏": -8.65, + "最佳盈亏": 338.74, + "最差盈亏": -160.01, + "卡尔玛比率": -0.52, + "耗时s": 0.7 + }, + { + "策略名": "5.三均线排列", + "币种": "ETHUSDT", + "时间级别": "2h", + "数据量": "近两年", + "策略类型": "趋势跟踪", + "策略参数": "EMA(10,30,60)/ATR(14)x2.0", + "策略描述": "EMA(10,30,60)多头/空头排列,快线金叉入场+ATR追踪止损", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 8088.91, + "总收益%": -19.11, + "年化收益%": -10.26, + "夏普比率": -1.67, + "最大回撤%": -24.87, + "胜率%": 26.61, + "盈亏比": 0.52, + "交易次数": 109, + "平均盈亏": -15.3, + "最佳盈亏": 290.42, + "最差盈亏": -146.69, + "卡尔玛比率": -0.41, + "耗时s": 1.0 + }, + { + "策略名": "5.三均线排列", + "币种": "ETHUSDT", + "时间级别": "2h", + "数据量": "近半年", + "策略类型": "趋势跟踪", + "策略参数": "EMA(10,30,60)/ATR(14)x2.0", + "策略描述": "EMA(10,30,60)多头/空头排列,快线金叉入场+ATR追踪止损", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 10117.53, + "总收益%": 1.18, + "年化收益%": 2.59, + "夏普比率": 0.48, + "最大回撤%": -3.62, + "胜率%": 34.78, + "盈亏比": 1.37, + "交易次数": 23, + "平均盈亏": 7.78, + "最佳盈亏": 277.16, + "最差盈亏": -132.91, + "卡尔玛比率": 0.71, + "耗时s": 0.6 + }, + { + "策略名": "5.三均线排列", + "币种": "ETHUSDT", + "时间级别": "6h", + "数据量": "近两年", + "策略类型": "趋势跟踪", + "策略参数": "EMA(10,30,60)/ATR(14)x2.0", + "策略描述": "EMA(10,30,60)多头/空头排列,快线金叉入场+ATR追踪止损", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 10487.35, + "总收益%": 4.87, + "年化收益%": 2.55, + "夏普比率": 0.37, + "最大回撤%": -8.59, + "胜率%": 29.73, + "盈亏比": 1.27, + "交易次数": 37, + "平均盈亏": 15.75, + "最佳盈亏": 955.76, + "最差盈亏": -183.11, + "卡尔玛比率": 0.3, + "耗时s": 0.6 + }, + { + "策略名": "5.三均线排列", + "币种": "ETHUSDT", + "时间级别": "6h", + "数据量": "全量", + "策略类型": "趋势跟踪", + "策略参数": "EMA(10,30,60)/ATR(14)x2.0", + "策略描述": "EMA(10,30,60)多头/空头排列,快线金叉入场+ATR追踪止损", + "日期范围": "2017-08-17~2026-06-11", + "初始资金": 10000.0, + "最终权益": 18190.43, + "总收益%": 81.9, + "年化收益%": 7.1, + "夏普比率": 0.72, + "最大回撤%": -18.5, + "胜率%": 35.06, + "盈亏比": 1.67, + "交易次数": 154, + "平均盈亏": 57.2, + "最佳盈亏": 2546.02, + "最差盈亏": -422.17, + "卡尔玛比率": 0.38, + "耗时s": 0.7 + }, + { + "策略名": "5.三均线排列", + "币种": "ETHUSDT", + "时间级别": "6h", + "数据量": "近半年", + "策略类型": "趋势跟踪", + "策略参数": "EMA(10,30,60)/ATR(14)x2.0", + "策略描述": "EMA(10,30,60)多头/空头排列,快线金叉入场+ATR追踪止损", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9504.79, + "总收益%": -4.95, + "年化收益%": -12.24, + "夏普比率": -3.93, + "最大回撤%": -4.95, + "胜率%": 14.29, + "盈亏比": 0.01, + "交易次数": 7, + "平均盈亏": -68.31, + "最佳盈亏": 5.84, + "最差盈亏": -158.88, + "卡尔玛比率": -2.47, + "耗时s": 0.3 + }, + { + "策略名": "5.三均线排列", + "币种": "ETHUSDT", + "时间级别": "6h", + "数据量": "近一年", + "策略类型": "趋势跟踪", + "策略参数": "EMA(10,30,60)/ATR(14)x2.0", + "策略描述": "EMA(10,30,60)多头/空头排列,快线金叉入场+ATR追踪止损", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9931.23, + "总收益%": -0.69, + "年化收益%": -0.77, + "夏普比率": -0.09, + "最大回撤%": -8.59, + "胜率%": 25.0, + "盈亏比": 0.97, + "交易次数": 16, + "平均盈亏": -1.72, + "最佳盈亏": 508.03, + "最差盈亏": -173.4, + "卡尔玛比率": -0.09, + "耗时s": 0.4 + }, + { + "策略名": "5.三均线排列", + "币种": "BNBUSDT", + "时间级别": "2h", + "数据量": "近半年", + "策略类型": "趋势跟踪", + "策略参数": "EMA(10,30,60)/ATR(14)x2.0", + "策略描述": "EMA(10,30,60)多头/空头排列,快线金叉入场+ATR追踪止损", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9851.99, + "总收益%": -1.48, + "年化收益%": -3.21, + "夏普比率": -1.09, + "最大回撤%": -2.84, + "胜率%": 42.11, + "盈亏比": 0.72, + "交易次数": 19, + "平均盈亏": -5.3, + "最佳盈亏": 77.36, + "最差盈亏": -62.87, + "卡尔玛比率": -1.13, + "耗时s": 0.2 + }, + { + "策略名": "5.三均线排列", + "币种": "BNBUSDT", + "时间级别": "2h", + "数据量": "近一年", + "策略类型": "趋势跟踪", + "策略参数": "EMA(10,30,60)/ATR(14)x2.0", + "策略描述": "EMA(10,30,60)多头/空头排列,快线金叉入场+ATR追踪止损", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9290.57, + "总收益%": -7.09, + "年化收益%": -7.39, + "夏普比率": -1.78, + "最大回撤%": -10.04, + "胜率%": 26.09, + "盈亏比": 0.57, + "交易次数": 46, + "平均盈亏": -12.99, + "最佳盈亏": 171.26, + "最差盈亏": -158.1, + "卡尔玛比率": -0.74, + "耗时s": 0.2 + }, + { + "策略名": "5.三均线排列", + "币种": "BNBUSDT", + "时间级别": "2h", + "数据量": "近两年", + "策略类型": "趋势跟踪", + "策略参数": "EMA(10,30,60)/ATR(14)x2.0", + "策略描述": "EMA(10,30,60)多头/空头排列,快线金叉入场+ATR追踪止损", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 8740.08, + "总收益%": -12.6, + "年化收益%": -6.64, + "夏普比率": -1.54, + "最大回撤%": -13.03, + "胜率%": 30.1, + "盈亏比": 0.62, + "交易次数": 103, + "平均盈亏": -9.86, + "最佳盈亏": 167.43, + "最差盈亏": -151.56, + "卡尔玛比率": -0.51, + "耗时s": 0.4 + }, + { + "策略名": "5.三均线排列", + "币种": "BNBUSDT", + "时间级别": "2h", + "数据量": "全量", + "策略类型": "趋势跟踪", + "策略参数": "EMA(10,30,60)/ATR(14)x2.0", + "策略描述": "EMA(10,30,60)多头/空头排列,快线金叉入场+ATR追踪止损", + "日期范围": "2017-11-06~2026-06-11", + "初始资金": 10000.0, + "最终权益": 13292.29, + "总收益%": 32.92, + "年化收益%": 3.38, + "夏普比率": 0.34, + "最大回撤%": -30.2, + "胜率%": 32.41, + "盈亏比": 1.23, + "交易次数": 432, + "平均盈亏": 11.3, + "最佳盈亏": 4713.07, + "最差盈亏": -437.34, + "卡尔玛比率": 0.11, + "耗时s": 0.8 + }, + { + "策略名": "5.三均线排列", + "币种": "BNBUSDT", + "时间级别": "6h", + "数据量": "近两年", + "策略类型": "趋势跟踪", + "策略参数": "EMA(10,30,60)/ATR(14)x2.0", + "策略描述": "EMA(10,30,60)多头/空头排列,快线金叉入场+ATR追踪止损", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 10267.33, + "总收益%": 2.67, + "年化收益%": 1.41, + "夏普比率": 0.3, + "最大回撤%": -5.48, + "胜率%": 35.48, + "盈亏比": 1.28, + "交易次数": 31, + "平均盈亏": 11.11, + "最佳盈亏": 606.16, + "最差盈亏": -262.1, + "卡尔玛比率": 0.26, + "耗时s": 0.5 + }, + { + "策略名": "5.三均线排列", + "币种": "BNBUSDT", + "时间级别": "6h", + "数据量": "近半年", + "策略类型": "趋势跟踪", + "策略参数": "EMA(10,30,60)/ATR(14)x2.0", + "策略描述": "EMA(10,30,60)多头/空头排列,快线金叉入场+ATR追踪止损", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 10107.58, + "总收益%": 1.08, + "年化收益%": 2.79, + "夏普比率": 0.61, + "最大回撤%": -2.78, + "胜率%": 42.86, + "盈亏比": 1.57, + "交易次数": 7, + "平均盈亏": 17.92, + "最佳盈亏": 268.22, + "最差盈亏": -98.89, + "卡尔玛比率": 1.0, + "耗时s": 0.6 + }, + { + "策略名": "5.三均线排列", + "币种": "BNBUSDT", + "时间级别": "6h", + "数据量": "近一年", + "策略类型": "趋势跟踪", + "策略参数": "EMA(10,30,60)/ATR(14)x2.0", + "策略描述": "EMA(10,30,60)多头/空头排列,快线金叉入场+ATR追踪止损", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 10630.62, + "总收益%": 6.31, + "年化收益%": 7.11, + "夏普比率": 1.13, + "最大回撤%": -4.28, + "胜率%": 53.33, + "盈亏比": 2.13, + "交易次数": 15, + "平均盈亏": 44.67, + "最佳盈亏": 627.6, + "最差盈亏": -271.37, + "卡尔玛比率": 1.66, + "耗时s": 0.6 + }, + { + "策略名": "5.三均线排列", + "币种": "BNBUSDT", + "时间级别": "6h", + "数据量": "全量", + "策略类型": "趋势跟踪", + "策略参数": "EMA(10,30,60)/ATR(14)x2.0", + "策略描述": "EMA(10,30,60)多头/空头排列,快线金叉入场+ATR追踪止损", + "日期范围": "2017-11-06~2026-06-11", + "初始资金": 10000.0, + "最终权益": 19390.04, + "总收益%": 93.9, + "年化收益%": 8.11, + "夏普比率": 0.77, + "最大回撤%": -21.08, + "胜率%": 40.82, + "盈亏比": 1.83, + "交易次数": 147, + "平均盈亏": 67.86, + "最佳盈亏": 2312.04, + "最差盈亏": -637.55, + "卡尔玛比率": 0.38, + "耗时s": 0.7 + }, + { + "策略名": "5.三均线排列", + "币种": "SOLUSDT", + "时间级别": "2h", + "数据量": "近两年", + "策略类型": "趋势跟踪", + "策略参数": "EMA(10,30,60)/ATR(14)x2.0", + "策略描述": "EMA(10,30,60)多头/空头排列,快线金叉入场+ATR追踪止损", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9746.17, + "总收益%": -2.54, + "年化收益%": -1.3, + "夏普比率": -0.14, + "最大回撤%": -14.96, + "胜率%": 36.84, + "盈亏比": 1.0, + "交易次数": 95, + "平均盈亏": -0.1, + "最佳盈亏": 350.23, + "最差盈亏": -193.31, + "卡尔玛比率": -0.09, + "耗时s": 0.5 + }, + { + "策略名": "5.三均线排列", + "币种": "SOLUSDT", + "时间级别": "2h", + "数据量": "全量", + "策略类型": "趋势跟踪", + "策略参数": "EMA(10,30,60)/ATR(14)x2.0", + "策略描述": "EMA(10,30,60)多头/空头排列,快线金叉入场+ATR追踪止损", + "日期范围": "2020-08-11~2026-06-11", + "初始资金": 10000.0, + "最终权益": 13441.96, + "总收益%": 34.42, + "年化收益%": 5.23, + "夏普比率": 0.54, + "最大回撤%": -14.96, + "胜率%": 38.89, + "盈亏比": 1.29, + "交易次数": 270, + "平均盈亏": 15.99, + "最佳盈亏": 1470.07, + "最差盈亏": -318.05, + "卡尔玛比率": 0.35, + "耗时s": 0.9 + }, + { + "策略名": "5.三均线排列", + "币种": "SOLUSDT", + "时间级别": "2h", + "数据量": "近一年", + "策略类型": "趋势跟踪", + "策略参数": "EMA(10,30,60)/ATR(14)x2.0", + "策略描述": "EMA(10,30,60)多头/空头排列,快线金叉入场+ATR追踪止损", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9099.77, + "总收益%": -9.0, + "年化收益%": -9.37, + "夏普比率": -1.57, + "最大回撤%": -14.96, + "胜率%": 32.0, + "盈亏比": 0.57, + "交易次数": 50, + "平均盈亏": -15.59, + "最佳盈亏": 200.6, + "最差盈亏": -180.49, + "卡尔玛比率": -0.63, + "耗时s": 0.6 + }, + { + "策略名": "5.三均线排列", + "币种": "SOLUSDT", + "时间级别": "2h", + "数据量": "近半年", + "策略类型": "趋势跟踪", + "策略参数": "EMA(10,30,60)/ATR(14)x2.0", + "策略描述": "EMA(10,30,60)多头/空头排列,快线金叉入场+ATR追踪止损", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9452.09, + "总收益%": -5.48, + "年化收益%": -11.58, + "夏普比率": -2.3, + "最大回撤%": -6.45, + "胜率%": 25.0, + "盈亏比": 0.45, + "交易次数": 28, + "平均盈亏": -17.14, + "最佳盈亏": 145.49, + "最差盈亏": -86.31, + "卡尔玛比率": -1.8, + "耗时s": 0.5 + }, + { + "策略名": "5.三均线排列", + "币种": "SOLUSDT", + "时间级别": "6h", + "数据量": "近两年", + "策略类型": "趋势跟踪", + "策略参数": "EMA(10,30,60)/ATR(14)x2.0", + "策略描述": "EMA(10,30,60)多头/空头排列,快线金叉入场+ATR追踪止损", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9502.26, + "总收益%": -4.98, + "年化收益%": -2.66, + "夏普比率": -0.38, + "最大回撤%": -9.84, + "胜率%": 25.81, + "盈亏比": 0.78, + "交易次数": 31, + "平均盈亏": -13.58, + "最佳盈亏": 376.07, + "最差盈亏": -242.48, + "卡尔玛比率": -0.27, + "耗时s": 0.5 + }, + { + "策略名": "5.三均线排列", + "币种": "SOLUSDT", + "时间级别": "6h", + "数据量": "全量", + "策略类型": "趋势跟踪", + "策略参数": "EMA(10,30,60)/ATR(14)x2.0", + "策略描述": "EMA(10,30,60)多头/空头排列,快线金叉入场+ATR追踪止损", + "日期范围": "2020-08-11~2026-06-11", + "初始资金": 10000.0, + "最终权益": 11919.26, + "总收益%": 19.19, + "年化收益%": 3.11, + "夏普比率": 0.34, + "最大回撤%": -11.75, + "胜率%": 38.37, + "盈亏比": 1.32, + "交易次数": 86, + "平均盈亏": 25.35, + "最佳盈亏": 872.5, + "最差盈亏": -366.04, + "卡尔玛比率": 0.26, + "耗时s": 0.6 + }, + { + "策略名": "5.三均线排列", + "币种": "SOLUSDT", + "时间级别": "6h", + "数据量": "近一年", + "策略类型": "趋势跟踪", + "策略参数": "EMA(10,30,60)/ATR(14)x2.0", + "策略描述": "EMA(10,30,60)多头/空头排列,快线金叉入场+ATR追踪止损", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9769.74, + "总收益%": -2.3, + "年化收益%": -2.58, + "夏普比率": -0.35, + "最大回撤%": -9.84, + "胜率%": 25.0, + "盈亏比": 0.79, + "交易次数": 16, + "平均盈亏": -11.83, + "最佳盈亏": 310.98, + "最差盈亏": -190.92, + "卡尔玛比率": -0.26, + "耗时s": 0.3 + }, + { + "策略名": "5.三均线排列", + "币种": "SOLUSDT", + "时间级别": "6h", + "数据量": "近半年", + "策略类型": "趋势跟踪", + "策略参数": "EMA(10,30,60)/ATR(14)x2.0", + "策略描述": "EMA(10,30,60)多头/空头排列,快线金叉入场+ATR追踪止损", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9374.99, + "总收益%": -6.25, + "年化收益%": -15.29, + "夏普比率": -3.51, + "最大回撤%": -7.21, + "胜率%": 14.29, + "盈亏比": 0.0, + "交易次数": 7, + "平均盈亏": -86.84, + "最佳盈亏": 1.37, + "最差盈亏": -183.21, + "卡尔玛比率": -2.12, + "耗时s": 0.3 + }, + { + "策略名": "6.RSI均值回归", + "币种": "BTCUSDT", + "时间级别": "2h", + "数据量": "近半年", + "策略类型": "均值回归", + "策略参数": "RSI(14)25/75+BB(20,2.0)/ATR(14)x1.5", + "策略描述": "RSI(14)超卖25/超买75 + 布林带触碰确认 → 逆向回归", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9716.65, + "总收益%": -2.83, + "年化收益%": -6.09, + "夏普比率": -0.12, + "最大回撤%": -16.99, + "胜率%": 50.0, + "盈亏比": 0.98, + "交易次数": 24, + "平均盈亏": -2.14, + "最佳盈亏": 1036.49, + "最差盈亏": -635.05, + "卡尔玛比率": -0.36, + "耗时s": 0.3 + }, + { + "策略名": "6.RSI均值回归", + "币种": "BTCUSDT", + "时间级别": "2h", + "数据量": "近一年", + "策略类型": "均值回归", + "策略参数": "RSI(14)25/75+BB(20,2.0)/ATR(14)x1.5", + "策略描述": "RSI(14)超卖25/超买75 + 布林带触碰确认 → 逆向回归", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 8936.69, + "总收益%": -10.63, + "年化收益%": -11.06, + "夏普比率": -0.45, + "最大回撤%": -22.06, + "胜率%": 47.92, + "盈亏比": 0.88, + "交易次数": 48, + "平均盈亏": -13.08, + "最佳盈亏": 953.29, + "最差盈亏": -584.07, + "卡尔玛比率": -0.5, + "耗时s": 0.3 + }, + { + "策略名": "6.RSI均值回归", + "币种": "BTCUSDT", + "时间级别": "2h", + "数据量": "近两年", + "策略类型": "均值回归", + "策略参数": "RSI(14)25/75+BB(20,2.0)/ATR(14)x1.5", + "策略描述": "RSI(14)超卖25/超买75 + 布林带触碰确认 → 逆向回归", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 7183.1, + "总收益%": -28.17, + "年化收益%": -15.54, + "夏普比率": -0.66, + "最大回撤%": -40.82, + "胜率%": 46.0, + "盈亏比": 0.82, + "交易次数": 100, + "平均盈亏": -20.19, + "最佳盈亏": 766.23, + "最差盈亏": -729.45, + "卡尔玛比率": -0.38, + "耗时s": 0.4 + }, + { + "策略名": "6.RSI均值回归", + "币种": "BTCUSDT", + "时间级别": "6h", + "数据量": "近两年", + "策略类型": "均值回归", + "策略参数": "RSI(14)25/75+BB(20,2.0)/ATR(14)x1.5", + "策略描述": "RSI(14)超卖25/超买75 + 布林带触碰确认 → 逆向回归", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 7647.59, + "总收益%": -23.52, + "年化收益%": -13.23, + "夏普比率": -0.58, + "最大回撤%": -24.6, + "胜率%": 39.39, + "盈亏比": 0.74, + "交易次数": 33, + "平均盈亏": -62.29, + "最佳盈亏": 948.35, + "最差盈亏": -1144.12, + "卡尔玛比率": -0.54, + "耗时s": 0.4 + }, + { + "策略名": "6.RSI均值回归", + "币种": "BTCUSDT", + "时间级别": "6h", + "数据量": "全量", + "策略类型": "均值回归", + "策略参数": "RSI(14)25/75+BB(20,2.0)/ATR(14)x1.5", + "策略描述": "RSI(14)超卖25/超买75 + 布林带触碰确认 → 逆向回归", + "日期范围": "2017-08-17~2026-06-11", + "初始资金": 10000.0, + "最终权益": 1420.67, + "总收益%": -85.79, + "年化收益%": -20.05, + "夏普比率": -0.52, + "最大回撤%": -89.79, + "胜率%": 38.14, + "盈亏比": 0.77, + "交易次数": 194, + "平均盈亏": -39.05, + "最佳盈亏": 2237.39, + "最差盈亏": -1784.91, + "卡尔玛比率": -0.22, + "耗时s": 0.8 + }, + { + "策略名": "6.RSI均值回归", + "币种": "BTCUSDT", + "时间级别": "2h", + "数据量": "全量", + "策略类型": "均值回归", + "策略参数": "RSI(14)25/75+BB(20,2.0)/ATR(14)x1.5", + "策略描述": "RSI(14)超卖25/超买75 + 布林带触碰确认 → 逆向回归", + "日期范围": "2017-08-17~2026-06-11", + "初始资金": 10000.0, + "最终权益": 146.36, + "总收益%": -98.54, + "年化收益%": -38.17, + "夏普比率": -1.35, + "最大回撤%": -98.84, + "胜率%": 35.83, + "盈亏比": 0.52, + "交易次数": 480, + "平均盈亏": -19.06, + "最佳盈亏": 1328.25, + "最差盈亏": -1605.37, + "卡尔玛比率": -0.39, + "耗时s": 1.0 + }, + { + "策略名": "6.RSI均值回归", + "币种": "BTCUSDT", + "时间级别": "6h", + "数据量": "近半年", + "策略类型": "均值回归", + "策略参数": "RSI(14)25/75+BB(20,2.0)/ATR(14)x1.5", + "策略描述": "RSI(14)超卖25/超买75 + 布林带触碰确认 → 逆向回归", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 8381.07, + "总收益%": -16.19, + "年化收益%": -36.49, + "夏普比率": -1.34, + "最大回撤%": -18.08, + "胜率%": 14.29, + "盈亏比": 0.4, + "交易次数": 7, + "平均盈亏": -221.83, + "最佳盈亏": 1031.67, + "最差盈亏": -1092.39, + "卡尔玛比率": -2.02, + "耗时s": 0.6 + }, + { + "策略名": "6.RSI均值回归", + "币种": "BTCUSDT", + "时间级别": "6h", + "数据量": "近一年", + "策略类型": "均值回归", + "策略参数": "RSI(14)25/75+BB(20,2.0)/ATR(14)x1.5", + "策略描述": "RSI(14)超卖25/超买75 + 布林带触碰确认 → 逆向回归", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9220.29, + "总收益%": -7.8, + "年化收益%": -8.71, + "夏普比率": -0.29, + "最大回撤%": -19.7, + "胜率%": 46.67, + "盈亏比": 0.85, + "交易次数": 15, + "平均盈亏": -41.6, + "最佳盈亏": 1134.97, + "最差盈亏": -1201.77, + "卡尔玛比率": -0.44, + "耗时s": 0.6 + }, + { + "策略名": "6.RSI均值回归", + "币种": "ETHUSDT", + "时间级别": "2h", + "数据量": "近两年", + "策略类型": "均值回归", + "策略参数": "RSI(14)25/75+BB(20,2.0)/ATR(14)x1.5", + "策略描述": "RSI(14)超卖25/超买75 + 布林带触碰确认 → 逆向回归", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 4469.76, + "总收益%": -55.3, + "年化收益%": -33.7, + "夏普比率": -1.18, + "最大回撤%": -69.04, + "胜率%": 40.87, + "盈亏比": 0.69, + "交易次数": 115, + "平均盈亏": -42.17, + "最佳盈亏": 778.8, + "最差盈亏": -1317.59, + "卡尔玛比率": -0.49, + "耗时s": 0.6 + }, + { + "策略名": "6.RSI均值回归", + "币种": "ETHUSDT", + "时间级别": "2h", + "数据量": "近一年", + "策略类型": "均值回归", + "策略参数": "RSI(14)25/75+BB(20,2.0)/ATR(14)x1.5", + "策略描述": "RSI(14)超卖25/超买75 + 布林带触碰确认 → 逆向回归", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 8992.67, + "总收益%": -10.07, + "年化收益%": -10.48, + "夏普比率": -0.21, + "最大回撤%": -34.87, + "胜率%": 43.4, + "盈亏比": 0.93, + "交易次数": 53, + "平均盈亏": -10.63, + "最佳盈亏": 811.67, + "最差盈亏": -830.13, + "卡尔玛比率": -0.3, + "耗时s": 0.3 + }, + { + "策略名": "6.RSI均值回归", + "币种": "ETHUSDT", + "时间级别": "2h", + "数据量": "近半年", + "策略类型": "均值回归", + "策略参数": "RSI(14)25/75+BB(20,2.0)/ATR(14)x1.5", + "策略描述": "RSI(14)超卖25/超买75 + 布林带触碰确认 → 逆向回归", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 11427.72, + "总收益%": 14.28, + "年化收益%": 33.85, + "夏普比率": 1.1, + "最大回撤%": -17.73, + "胜率%": 53.85, + "盈亏比": 1.55, + "交易次数": 26, + "平均盈亏": 65.42, + "最佳盈亏": 1031.45, + "最差盈亏": -579.93, + "卡尔玛比率": 1.91, + "耗时s": 0.4 + }, + { + "策略名": "6.RSI均值回归", + "币种": "ETHUSDT", + "时间级别": "6h", + "数据量": "近两年", + "策略类型": "均值回归", + "策略参数": "RSI(14)25/75+BB(20,2.0)/ATR(14)x1.5", + "策略描述": "RSI(14)超卖25/超买75 + 布林带触碰确认 → 逆向回归", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 8504.38, + "总收益%": -14.96, + "年化收益%": -8.21, + "夏普比率": -0.09, + "最大回撤%": -44.76, + "胜率%": 45.71, + "盈亏比": 0.9, + "交易次数": 35, + "平均盈亏": -33.43, + "最佳盈亏": 1425.79, + "最差盈亏": -1532.46, + "卡尔玛比率": -0.18, + "耗时s": 0.4 + }, + { + "策略名": "6.RSI均值回归", + "币种": "ETHUSDT", + "时间级别": "6h", + "数据量": "近半年", + "策略类型": "均值回归", + "策略参数": "RSI(14)25/75+BB(20,2.0)/ATR(14)x1.5", + "策略描述": "RSI(14)超卖25/超买75 + 布林带触碰确认 → 逆向回归", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 8767.75, + "总收益%": -12.32, + "年化收益%": -28.68, + "夏普比率": -0.51, + "最大回撤%": -17.78, + "胜率%": 42.86, + "盈亏比": 0.54, + "交易次数": 7, + "平均盈亏": -168.57, + "最佳盈亏": 574.64, + "最差盈亏": -856.4, + "卡尔玛比率": -1.61, + "耗时s": 0.5 + }, + { + "策略名": "6.RSI均值回归", + "币种": "ETHUSDT", + "时间级别": "2h", + "数据量": "全量", + "策略类型": "均值回归", + "策略参数": "RSI(14)25/75+BB(20,2.0)/ATR(14)x1.5", + "策略描述": "RSI(14)超卖25/超买75 + 布林带触碰确认 → 逆向回归", + "日期范围": "2017-08-17~2026-06-11", + "初始资金": 10000.0, + "最终权益": 32.53, + "总收益%": -99.67, + "年化收益%": -47.89, + "夏普比率": -1.33, + "最大回撤%": -99.82, + "胜率%": 38.63, + "盈亏比": 0.62, + "交易次数": 497, + "平均盈亏": -18.76, + "最佳盈亏": 1293.5, + "最差盈亏": -1780.59, + "卡尔玛比率": -0.48, + "耗时s": 1.3 + }, + { + "策略名": "6.RSI均值回归", + "币种": "ETHUSDT", + "时间级别": "6h", + "数据量": "近一年", + "策略类型": "均值回归", + "策略参数": "RSI(14)25/75+BB(20,2.0)/ATR(14)x1.5", + "策略描述": "RSI(14)超卖25/超买75 + 布林带触碰确认 → 逆向回归", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9994.44, + "总收益%": -0.06, + "年化收益%": -0.06, + "夏普比率": 0.16, + "最大回撤%": -20.15, + "胜率%": 52.94, + "盈亏比": 1.03, + "交易次数": 17, + "平均盈亏": 9.11, + "最佳盈亏": 1112.21, + "最差盈亏": -976.22, + "卡尔玛比率": -0.0, + "耗时s": 0.5 + }, + { + "策略名": "6.RSI均值回归", + "币种": "ETHUSDT", + "时间级别": "6h", + "数据量": "全量", + "策略类型": "均值回归", + "策略参数": "RSI(14)25/75+BB(20,2.0)/ATR(14)x1.5", + "策略描述": "RSI(14)超卖25/超买75 + 布林带触碰确认 → 逆向回归", + "日期范围": "2017-08-17~2026-06-11", + "初始资金": 10000.0, + "最终权益": 189.3, + "总收益%": -98.11, + "年化收益%": -36.56, + "夏普比率": -0.87, + "最大回撤%": -98.97, + "胜率%": 32.66, + "盈亏比": 0.65, + "交易次数": 199, + "平均盈亏": -46.94, + "最佳盈亏": 2694.19, + "最差盈亏": -1891.23, + "卡尔玛比率": -0.37, + "耗时s": 0.8 + }, + { + "策略名": "6.RSI均值回归", + "币种": "BNBUSDT", + "时间级别": "2h", + "数据量": "近半年", + "策略类型": "均值回归", + "策略参数": "RSI(14)25/75+BB(20,2.0)/ATR(14)x1.5", + "策略描述": "RSI(14)超卖25/超买75 + 布林带触碰确认 → 逆向回归", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9968.98, + "总收益%": -0.31, + "年化收益%": -0.68, + "夏普比率": 0.08, + "最大回撤%": -11.14, + "胜率%": 60.87, + "盈亏比": 1.07, + "交易次数": 23, + "平均盈亏": 8.84, + "最佳盈亏": 704.51, + "最差盈亏": -562.07, + "卡尔玛比率": -0.06, + "耗时s": 0.2 + }, + { + "策略名": "6.RSI均值回归", + "币种": "BNBUSDT", + "时间级别": "2h", + "数据量": "近一年", + "策略类型": "均值回归", + "策略参数": "RSI(14)25/75+BB(20,2.0)/ATR(14)x1.5", + "策略描述": "RSI(14)超卖25/超买75 + 布林带触碰确认 → 逆向回归", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 11359.86, + "总收益%": 13.6, + "年化收益%": 14.22, + "夏普比率": 0.7, + "最大回撤%": -12.73, + "胜率%": 55.32, + "盈亏比": 1.33, + "交易次数": 47, + "平均盈亏": 39.63, + "最佳盈亏": 1036.27, + "最差盈亏": -640.49, + "卡尔玛比率": 1.12, + "耗时s": 0.3 + }, + { + "策略名": "6.RSI均值回归", + "币种": "BNBUSDT", + "时间级别": "2h", + "数据量": "近两年", + "策略类型": "均值回归", + "策略参数": "RSI(14)25/75+BB(20,2.0)/ATR(14)x1.5", + "策略描述": "RSI(14)超卖25/超买75 + 布林带触碰确认 → 逆向回归", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 8870.1, + "总收益%": -11.3, + "年化收益%": -5.94, + "夏普比率": -0.17, + "最大回撤%": -31.61, + "胜率%": 49.48, + "盈亏比": 0.97, + "交易次数": 97, + "平均盈亏": -3.26, + "最佳盈亏": 809.15, + "最差盈亏": -1149.81, + "卡尔玛比率": -0.19, + "耗时s": 0.8 + }, + { + "策略名": "6.RSI均值回归", + "币种": "BNBUSDT", + "时间级别": "6h", + "数据量": "近两年", + "策略类型": "均值回归", + "策略参数": "RSI(14)25/75+BB(20,2.0)/ATR(14)x1.5", + "策略描述": "RSI(14)超卖25/超买75 + 布林带触碰确认 → 逆向回归", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 7538.15, + "总收益%": -24.62, + "年化收益%": -13.89, + "夏普比率": -0.45, + "最大回撤%": -30.41, + "胜率%": 46.88, + "盈亏比": 0.76, + "交易次数": 32, + "平均盈亏": -68.66, + "最佳盈亏": 1000.27, + "最差盈亏": -2838.05, + "卡尔玛比率": -0.46, + "耗时s": 0.5 + }, + { + "策略名": "6.RSI均值回归", + "币种": "BNBUSDT", + "时间级别": "6h", + "数据量": "全量", + "策略类型": "均值回归", + "策略参数": "RSI(14)25/75+BB(20,2.0)/ATR(14)x1.5", + "策略描述": "RSI(14)超卖25/超买75 + 布林带触碰确认 → 逆向回归", + "日期范围": "2017-11-06~2026-06-11", + "初始资金": 10000.0, + "最终权益": 1969.57, + "总收益%": -80.3, + "年化收益%": -17.41, + "夏普比率": -0.08, + "最大回撤%": -96.25, + "胜率%": 42.26, + "盈亏比": 0.95, + "交易次数": 168, + "平均盈亏": -33.1, + "最佳盈亏": 8139.87, + "最差盈亏": -15865.05, + "卡尔玛比率": -0.18, + "耗时s": 0.5 + }, + { + "策略名": "6.RSI均值回归", + "币种": "BNBUSDT", + "时间级别": "2h", + "数据量": "全量", + "策略类型": "均值回归", + "策略参数": "RSI(14)25/75+BB(20,2.0)/ATR(14)x1.5", + "策略描述": "RSI(14)超卖25/超买75 + 布林带触碰确认 → 逆向回归", + "日期范围": "2017-11-06~2026-06-11", + "初始资金": 10000.0, + "最终权益": 345.18, + "总收益%": -96.55, + "年化收益%": -32.5, + "夏普比率": -0.73, + "最大回撤%": -97.34, + "胜率%": 43.55, + "盈亏比": 0.45, + "交易次数": 411, + "平均盈亏": -22.52, + "最佳盈亏": 588.58, + "最差盈亏": -1670.71, + "卡尔玛比率": -0.33, + "耗时s": 1.3 + }, + { + "策略名": "6.RSI均值回归", + "币种": "BNBUSDT", + "时间级别": "6h", + "数据量": "近一年", + "策略类型": "均值回归", + "策略参数": "RSI(14)25/75+BB(20,2.0)/ATR(14)x1.5", + "策略描述": "RSI(14)超卖25/超买75 + 布林带触碰确认 → 逆向回归", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 11335.17, + "总收益%": 13.35, + "年化收益%": 15.11, + "夏普比率": 0.56, + "最大回撤%": -30.86, + "胜率%": 68.75, + "盈亏比": 1.37, + "交易次数": 16, + "平均盈亏": 95.43, + "最佳盈亏": 1219.16, + "最差盈亏": -1798.5, + "卡尔玛比率": 0.49, + "耗时s": 0.7 + }, + { + "策略名": "6.RSI均值回归", + "币种": "BNBUSDT", + "时间级别": "6h", + "数据量": "近半年", + "策略类型": "均值回归", + "策略参数": "RSI(14)25/75+BB(20,2.0)/ATR(14)x1.5", + "策略描述": "RSI(14)超卖25/超买75 + 布林带触碰确认 → 逆向回归", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 8710.05, + "总收益%": -12.9, + "年化收益%": -29.88, + "夏普比率": -1.11, + "最大回撤%": -17.67, + "胜率%": 40.0, + "盈亏比": 0.32, + "交易次数": 5, + "平均盈亏": -248.39, + "最佳盈亏": 324.33, + "最差盈亏": -1296.45, + "卡尔玛比率": -1.69, + "耗时s": 0.5 + }, + { + "策略名": "6.RSI均值回归", + "币种": "SOLUSDT", + "时间级别": "2h", + "数据量": "近半年", + "策略类型": "均值回归", + "策略参数": "RSI(14)25/75+BB(20,2.0)/ATR(14)x1.5", + "策略描述": "RSI(14)超卖25/超买75 + 布林带触碰确认 → 逆向回归", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 7504.58, + "总收益%": -24.95, + "年化收益%": -46.59, + "夏普比率": -1.58, + "最大回撤%": -36.07, + "胜率%": 31.82, + "盈亏比": 0.45, + "交易次数": 22, + "平均盈亏": -105.22, + "最佳盈亏": 395.53, + "最差盈亏": -765.6, + "卡尔玛比率": -1.29, + "耗时s": 0.3 + }, + { + "策略名": "6.RSI均值回归", + "币种": "SOLUSDT", + "时间级别": "2h", + "数据量": "近两年", + "策略类型": "均值回归", + "策略参数": "RSI(14)25/75+BB(20,2.0)/ATR(14)x1.5", + "策略描述": "RSI(14)超卖25/超买75 + 布林带触碰确认 → 逆向回归", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 4872.66, + "总收益%": -51.27, + "年化收益%": -30.72, + "夏普比率": -0.94, + "最大回撤%": -63.86, + "胜率%": 39.77, + "盈亏比": 0.75, + "交易次数": 88, + "平均盈亏": -50.25, + "最佳盈亏": 1566.14, + "最差盈亏": -1084.56, + "卡尔玛比率": -0.48, + "耗时s": 0.7 + }, + { + "策略名": "6.RSI均值回归", + "币种": "SOLUSDT", + "时间级别": "2h", + "数据量": "近一年", + "策略类型": "均值回归", + "策略参数": "RSI(14)25/75+BB(20,2.0)/ATR(14)x1.5", + "策略描述": "RSI(14)超卖25/超买75 + 布林带触碰确认 → 逆向回归", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 5497.22, + "总收益%": -45.03, + "年化收益%": -46.41, + "夏普比率": -1.96, + "最大回撤%": -53.2, + "胜率%": 32.43, + "盈亏比": 0.4, + "交易次数": 37, + "平均盈亏": -114.48, + "最佳盈亏": 396.2, + "最差盈亏": -759.98, + "卡尔玛比率": -0.87, + "耗时s": 0.8 + }, + { + "策略名": "6.RSI均值回归", + "币种": "SOLUSDT", + "时间级别": "6h", + "数据量": "近两年", + "策略类型": "均值回归", + "策略参数": "RSI(14)25/75+BB(20,2.0)/ATR(14)x1.5", + "策略描述": "RSI(14)超卖25/超买75 + 布林带触碰确认 → 逆向回归", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 4610.49, + "总收益%": -53.9, + "年化收益%": -33.61, + "夏普比率": -1.04, + "最大回撤%": -56.68, + "胜率%": 32.26, + "盈亏比": 0.53, + "交易次数": 31, + "平均盈亏": -166.56, + "最佳盈亏": 1698.18, + "最差盈亏": -1960.21, + "卡尔玛比率": -0.59, + "耗时s": 0.6 + }, + { + "策略名": "6.RSI均值回归", + "币种": "SOLUSDT", + "时间级别": "6h", + "数据量": "全量", + "策略类型": "均值回归", + "策略参数": "RSI(14)25/75+BB(20,2.0)/ATR(14)x1.5", + "策略描述": "RSI(14)超卖25/超买75 + 布林带触碰确认 → 逆向回归", + "日期范围": "2020-08-11~2026-06-11", + "初始资金": 10000.0, + "最终权益": 440.08, + "总收益%": -95.6, + "年化收益%": -42.01, + "夏普比率": -0.61, + "最大回撤%": -97.03, + "胜率%": 38.38, + "盈亏比": 0.6, + "交易次数": 99, + "平均盈亏": -94.12, + "最佳盈亏": 2370.36, + "最差盈亏": -8848.64, + "卡尔玛比率": -0.43, + "耗时s": 0.6 + }, + { + "策略名": "6.RSI均值回归", + "币种": "SOLUSDT", + "时间级别": "2h", + "数据量": "全量", + "策略类型": "均值回归", + "策略参数": "RSI(14)25/75+BB(20,2.0)/ATR(14)x1.5", + "策略描述": "RSI(14)超卖25/超买75 + 布林带触碰确认 → 逆向回归", + "日期范围": "2020-08-11~2026-06-11", + "初始资金": 10000.0, + "最终权益": 1011.12, + "总收益%": -89.89, + "年化收益%": -32.63, + "夏普比率": -0.65, + "最大回撤%": -93.03, + "胜率%": 40.4, + "盈亏比": 0.82, + "交易次数": 250, + "平均盈亏": -31.19, + "最佳盈亏": 2978.83, + "最差盈亏": -2416.85, + "卡尔玛比率": -0.35, + "耗时s": 1.1 + }, + { + "策略名": "6.RSI均值回归", + "币种": "SOLUSDT", + "时间级别": "6h", + "数据量": "近半年", + "策略类型": "均值回归", + "策略参数": "RSI(14)25/75+BB(20,2.0)/ATR(14)x1.5", + "策略描述": "RSI(14)超卖25/超买75 + 布林带触碰确认 → 逆向回归", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 7570.0, + "总收益%": -24.3, + "年化收益%": -51.11, + "夏普比率": -1.53, + "最大回撤%": -24.94, + "胜率%": 28.57, + "盈亏比": 0.32, + "交易次数": 7, + "平均盈亏": -338.03, + "最佳盈亏": 592.81, + "最差盈亏": -1139.34, + "卡尔玛比率": -2.05, + "耗时s": 0.4 + }, + { + "策略名": "7.ATR波动率突破", + "币种": "BTCUSDT", + "时间级别": "2h", + "数据量": "近半年", + "策略类型": "波动率突破", + "策略参数": "ATR(14)/squeeze=20x0.7/EMA(10,30)", + "策略描述": "ATR(14)收缩至极低后扩张突破 + EMA(10/30)方向确认", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 14253.03, + "总收益%": 42.53, + "年化收益%": 116.88, + "夏普比率": 2.05, + "最大回撤%": -17.1, + "胜率%": 57.14, + "盈亏比": 3.64, + "交易次数": 14, + "平均盈亏": 317.86, + "最佳盈亏": 2000.65, + "最差盈亏": -546.69, + "卡尔玛比率": 6.84, + "耗时s": 0.2 + }, + { + "策略名": "6.RSI均值回归", + "币种": "SOLUSDT", + "时间级别": "6h", + "数据量": "近一年", + "策略类型": "均值回归", + "策略参数": "RSI(14)25/75+BB(20,2.0)/ATR(14)x1.5", + "策略描述": "RSI(14)超卖25/超买75 + 布林带触碰确认 → 逆向回归", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 8359.76, + "总收益%": -16.4, + "年化收益%": -18.23, + "夏普比率": -0.18, + "最大回撤%": -36.1, + "胜率%": 41.67, + "盈亏比": 0.77, + "交易次数": 12, + "平均盈亏": -126.36, + "最佳盈亏": 2859.35, + "最差盈亏": -2521.68, + "卡尔玛比率": -0.5, + "耗时s": 0.6 + }, + { + "策略名": "7.ATR波动率突破", + "币种": "BTCUSDT", + "时间级别": "2h", + "数据量": "近一年", + "策略类型": "波动率突破", + "策略参数": "ATR(14)/squeeze=20x0.7/EMA(10,30)", + "策略描述": "ATR(14)收缩至极低后扩张突破 + EMA(10/30)方向确认", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 15405.47, + "总收益%": 54.05, + "年化收益%": 56.92, + "夏普比率": 1.47, + "最大回撤%": -17.1, + "胜率%": 41.46, + "盈亏比": 2.53, + "交易次数": 41, + "平均盈亏": 143.06, + "最佳盈亏": 2162.41, + "最差盈亏": -590.9, + "卡尔玛比率": 3.33, + "耗时s": 0.4 + }, + { + "策略名": "7.ATR波动率突破", + "币种": "BTCUSDT", + "时间级别": "2h", + "数据量": "近两年", + "策略类型": "波动率突破", + "策略参数": "ATR(14)/squeeze=20x0.7/EMA(10,30)", + "策略描述": "ATR(14)收缩至极低后扩张突破 + EMA(10/30)方向确认", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 12464.23, + "总收益%": 24.64, + "年化收益%": 11.9, + "夏普比率": 0.49, + "最大回撤%": -52.62, + "胜率%": 31.11, + "盈亏比": 1.25, + "交易次数": 90, + "平均盈亏": 37.26, + "最佳盈亏": 3806.24, + "最差盈亏": -1369.52, + "卡尔玛比率": 0.23, + "耗时s": 0.4 + }, + { + "策略名": "7.ATR波动率突破", + "币种": "BTCUSDT", + "时间级别": "2h", + "数据量": "全量", + "策略类型": "波动率突破", + "策略参数": "ATR(14)/squeeze=20x0.7/EMA(10,30)", + "策略描述": "ATR(14)收缩至极低后扩张突破 + EMA(10/30)方向确认", + "日期范围": "2017-08-17~2026-06-11", + "初始资金": 10000.0, + "最终权益": 465082.46, + "总收益%": 4550.82, + "年化收益%": 54.8, + "夏普比率": 1.13, + "最大回撤%": -52.62, + "胜率%": 31.44, + "盈亏比": 1.43, + "交易次数": 334, + "平均盈亏": 1598.51, + "最佳盈亏": 141613.04, + "最差盈亏": -50953.52, + "卡尔玛比率": 1.04, + "耗时s": 1.1 + }, + { + "策略名": "7.ATR波动率突破", + "币种": "BTCUSDT", + "时间级别": "6h", + "数据量": "近一年", + "策略类型": "波动率突破", + "策略参数": "ATR(14)/squeeze=20x0.7/EMA(10,30)", + "策略描述": "ATR(14)收缩至极低后扩张突破 + EMA(10/30)方向确认", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9675.29, + "总收益%": -3.25, + "年化收益%": -3.64, + "夏普比率": 0.04, + "最大回撤%": -38.65, + "胜率%": 21.43, + "盈亏比": 0.98, + "交易次数": 14, + "平均盈亏": -4.93, + "最佳盈亏": 1650.56, + "最差盈亏": -505.6, + "卡尔玛比率": -0.09, + "耗时s": 0.5 + }, + { + "策略名": "7.ATR波动率突破", + "币种": "BTCUSDT", + "时间级别": "6h", + "数据量": "近半年", + "策略类型": "波动率突破", + "策略参数": "ATR(14)/squeeze=20x0.7/EMA(10,30)", + "策略描述": "ATR(14)收缩至极低后扩张突破 + EMA(10/30)方向确认", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 13936.03, + "总收益%": 39.36, + "年化收益%": 134.69, + "夏普比率": 2.68, + "最大回撤%": -11.58, + "胜率%": 75.0, + "盈亏比": 7.0, + "交易次数": 4, + "平均盈亏": 1037.68, + "最佳盈亏": 2377.43, + "最差盈亏": -692.0, + "卡尔玛比率": 11.63, + "耗时s": 0.5 + }, + { + "策略名": "7.ATR波动率突破", + "币种": "BTCUSDT", + "时间级别": "6h", + "数据量": "近两年", + "策略类型": "波动率突破", + "策略参数": "ATR(14)/squeeze=20x0.7/EMA(10,30)", + "策略描述": "ATR(14)收缩至极低后扩张突破 + EMA(10/30)方向确认", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 10074.37, + "总收益%": 0.74, + "年化收益%": 0.39, + "夏普比率": 0.18, + "最大回撤%": -47.74, + "胜率%": 22.22, + "盈亏比": 1.06, + "交易次数": 27, + "平均盈亏": 16.91, + "最佳盈亏": 3555.27, + "最差盈亏": -904.8, + "卡尔玛比率": 0.01, + "耗时s": 0.8 + }, + { + "策略名": "7.ATR波动率突破", + "币种": "BTCUSDT", + "时间级别": "6h", + "数据量": "全量", + "策略类型": "波动率突破", + "策略参数": "ATR(14)/squeeze=20x0.7/EMA(10,30)", + "策略描述": "ATR(14)收缩至极低后扩张突破 + EMA(10/30)方向确认", + "日期范围": "2017-08-17~2026-06-11", + "初始资金": 10000.0, + "最终权益": 160928.93, + "总收益%": 1509.29, + "年化收益%": 37.53, + "夏普比率": 0.92, + "最大回撤%": -55.77, + "胜率%": 31.91, + "盈亏比": 1.42, + "交易次数": 94, + "平均盈亏": 1707.65, + "最佳盈亏": 65800.49, + "最差盈亏": -24034.27, + "卡尔玛比率": 0.67, + "耗时s": 0.9 + }, + { + "策略名": "7.ATR波动率突破", + "币种": "ETHUSDT", + "时间级别": "2h", + "数据量": "近半年", + "策略类型": "波动率突破", + "策略参数": "ATR(14)/squeeze=20x0.7/EMA(10,30)", + "策略描述": "ATR(14)收缩至极低后扩张突破 + EMA(10/30)方向确认", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 12660.61, + "总收益%": 26.61, + "年化收益%": 67.42, + "夏普比率": 1.35, + "最大回撤%": -21.84, + "胜率%": 29.41, + "盈亏比": 1.87, + "交易次数": 17, + "平均盈亏": 167.72, + "最佳盈亏": 2685.48, + "最差盈亏": -507.73, + "卡尔玛比率": 3.09, + "耗时s": 0.8 + }, + { + "策略名": "7.ATR波动率突破", + "币种": "ETHUSDT", + "时间级别": "2h", + "数据量": "近一年", + "策略类型": "波动率突破", + "策略参数": "ATR(14)/squeeze=20x0.7/EMA(10,30)", + "策略描述": "ATR(14)收缩至极低后扩张突破 + EMA(10/30)方向确认", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 18757.71, + "总收益%": 87.58, + "年化收益%": 92.67, + "夏普比率": 1.65, + "最大回撤%": -24.67, + "胜率%": 37.14, + "盈亏比": 2.13, + "交易次数": 35, + "平均盈亏": 264.78, + "最佳盈亏": 3978.76, + "最差盈亏": -877.55, + "卡尔玛比率": 3.76, + "耗时s": 0.8 + }, + { + "策略名": "7.ATR波动率突破", + "币种": "ETHUSDT", + "时间级别": "2h", + "数据量": "近两年", + "策略类型": "波动率突破", + "策略参数": "ATR(14)/squeeze=20x0.7/EMA(10,30)", + "策略描述": "ATR(14)收缩至极低后扩张突破 + EMA(10/30)方向确认", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 11660.87, + "总收益%": 16.61, + "年化收益%": 8.16, + "夏普比率": 0.4, + "最大回撤%": -59.88, + "胜率%": 32.1, + "盈亏比": 1.15, + "交易次数": 81, + "平均盈亏": 29.35, + "最佳盈亏": 2473.43, + "最差盈亏": -646.09, + "卡尔玛比率": 0.14, + "耗时s": 0.8 + }, + { + "策略名": "7.ATR波动率突破", + "币种": "ETHUSDT", + "时间级别": "2h", + "数据量": "全量", + "策略类型": "波动率突破", + "策略参数": "ATR(14)/squeeze=20x0.7/EMA(10,30)", + "策略描述": "ATR(14)收缩至极低后扩张突破 + EMA(10/30)方向确认", + "日期范围": "2017-08-17~2026-06-11", + "初始资金": 10000.0, + "最终权益": 187119.27, + "总收益%": 1771.19, + "年化收益%": 39.56, + "夏普比率": 0.85, + "最大回撤%": -59.88, + "胜率%": 31.66, + "盈亏比": 1.3, + "交易次数": 338, + "平均盈亏": 615.17, + "最佳盈亏": 50223.08, + "最差盈亏": -14973.53, + "卡尔玛比率": 0.66, + "耗时s": 1.3 + }, + { + "策略名": "7.ATR波动率突破", + "币种": "ETHUSDT", + "时间级别": "6h", + "数据量": "近两年", + "策略类型": "波动率突破", + "策略参数": "ATR(14)/squeeze=20x0.7/EMA(10,30)", + "策略描述": "ATR(14)收缩至极低后扩张突破 + EMA(10/30)方向确认", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 19758.49, + "总收益%": 97.58, + "年化收益%": 43.37, + "夏普比率": 0.96, + "最大回撤%": -41.02, + "胜率%": 28.0, + "盈亏比": 2.08, + "交易次数": 25, + "平均盈亏": 411.7, + "最佳盈亏": 4560.75, + "最差盈亏": -931.36, + "卡尔玛比率": 1.06, + "耗时s": 0.8 + }, + { + "策略名": "7.ATR波动率突破", + "币种": "ETHUSDT", + "时间级别": "6h", + "数据量": "全量", + "策略类型": "波动率突破", + "策略参数": "ATR(14)/squeeze=20x0.7/EMA(10,30)", + "策略描述": "ATR(14)收缩至极低后扩张突破 + EMA(10/30)方向确认", + "日期范围": "2017-08-17~2026-06-11", + "初始资金": 10000.0, + "最终权益": 520232.32, + "总收益%": 5102.32, + "年化收益%": 57.34, + "夏普比率": 1.04, + "最大回撤%": -47.57, + "胜率%": 36.17, + "盈亏比": 2.17, + "交易次数": 94, + "平均盈亏": 5539.06, + "最佳盈亏": 118583.04, + "最差盈亏": -32426.66, + "卡尔玛比率": 1.21, + "耗时s": 0.9 + }, + { + "策略名": "7.ATR波动率突破", + "币种": "ETHUSDT", + "时间级别": "6h", + "数据量": "近一年", + "策略类型": "波动率突破", + "策略参数": "ATR(14)/squeeze=20x0.7/EMA(10,30)", + "策略描述": "ATR(14)收缩至极低后扩张突破 + EMA(10/30)方向确认", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 11615.79, + "总收益%": 16.16, + "年化收益%": 18.32, + "夏普比率": 0.6, + "最大回撤%": -32.72, + "胜率%": 30.0, + "盈亏比": 1.56, + "交易次数": 10, + "平均盈亏": 186.79, + "最佳盈亏": 2267.45, + "最差盈亏": -1244.09, + "卡尔玛比率": 0.56, + "耗时s": 0.3 + }, + { + "策略名": "7.ATR波动率突破", + "币种": "ETHUSDT", + "时间级别": "6h", + "数据量": "近半年", + "策略类型": "波动率突破", + "策略参数": "ATR(14)/squeeze=20x0.7/EMA(10,30)", + "策略描述": "ATR(14)收缩至极低后扩张突破 + EMA(10/30)方向确认", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 12672.33, + "总收益%": 26.72, + "年化收益%": 83.82, + "夏普比率": 1.53, + "最大回撤%": -18.93, + "胜率%": 40.0, + "盈亏比": 3.6, + "交易次数": 5, + "平均盈亏": 574.56, + "最佳盈亏": 2473.69, + "最差盈亏": -528.44, + "卡尔玛比率": 4.43, + "耗时s": 0.4 + }, + { + "策略名": "7.ATR波动率突破", + "币种": "BNBUSDT", + "时间级别": "2h", + "数据量": "近一年", + "策略类型": "波动率突破", + "策略参数": "ATR(14)/squeeze=20x0.7/EMA(10,30)", + "策略描述": "ATR(14)收缩至极低后扩张突破 + EMA(10/30)方向确认", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 14397.62, + "总收益%": 43.98, + "年化收益%": 46.23, + "夏普比率": 1.21, + "最大回撤%": -20.61, + "胜率%": 37.93, + "盈亏比": 1.94, + "交易次数": 29, + "平均盈亏": 163.51, + "最佳盈亏": 2999.11, + "最差盈亏": -673.57, + "卡尔玛比率": 2.24, + "耗时s": 0.3 + }, + { + "策略名": "7.ATR波动率突破", + "币种": "BNBUSDT", + "时间级别": "2h", + "数据量": "近半年", + "策略类型": "波动率突破", + "策略参数": "ATR(14)/squeeze=20x0.7/EMA(10,30)", + "策略描述": "ATR(14)收缩至极低后扩张突破 + EMA(10/30)方向确认", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 13051.99, + "总收益%": 30.52, + "年化收益%": 78.94, + "夏普比率": 2.05, + "最大回撤%": -13.6, + "胜率%": 46.15, + "盈亏比": 3.62, + "交易次数": 13, + "平均盈亏": 246.85, + "最佳盈亏": 2718.8, + "最差盈亏": -292.95, + "卡尔玛比率": 5.8, + "耗时s": 0.4 + }, + { + "策略名": "7.ATR波动率突破", + "币种": "BNBUSDT", + "时间级别": "2h", + "数据量": "近两年", + "策略类型": "波动率突破", + "策略参数": "ATR(14)/squeeze=20x0.7/EMA(10,30)", + "策略描述": "ATR(14)收缩至极低后扩张突破 + EMA(10/30)方向确认", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 8694.06, + "总收益%": -13.06, + "年化收益%": -6.89, + "夏普比率": -0.02, + "最大回撤%": -52.74, + "胜率%": 28.57, + "盈亏比": 0.91, + "交易次数": 70, + "平均盈亏": -10.98, + "最佳盈亏": 1811.02, + "最差盈亏": -410.06, + "卡尔玛比率": -0.13, + "耗时s": 0.5 + }, + { + "策略名": "7.ATR波动率突破", + "币种": "BNBUSDT", + "时间级别": "2h", + "数据量": "全量", + "策略类型": "波动率突破", + "策略参数": "ATR(14)/squeeze=20x0.7/EMA(10,30)", + "策略描述": "ATR(14)收缩至极低后扩张突破 + EMA(10/30)方向确认", + "日期范围": "2017-11-06~2026-06-11", + "初始资金": 10000.0, + "最终权益": 235852.27, + "总收益%": 2258.52, + "年化收益%": 44.63, + "夏普比率": 0.83, + "最大回撤%": -72.54, + "胜率%": 29.47, + "盈亏比": 1.22, + "交易次数": 302, + "平均盈亏": 908.72, + "最佳盈亏": 245187.38, + "最差盈亏": -62480.5, + "卡尔玛比率": 0.62, + "耗时s": 0.9 + }, + { + "策略名": "7.ATR波动率突破", + "币种": "BNBUSDT", + "时间级别": "6h", + "数据量": "近一年", + "策略类型": "波动率突破", + "策略参数": "ATR(14)/squeeze=20x0.7/EMA(10,30)", + "策略描述": "ATR(14)收缩至极低后扩张突破 + EMA(10/30)方向确认", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 12446.78, + "总收益%": 24.47, + "年化收益%": 27.87, + "夏普比率": 0.76, + "最大回撤%": -29.7, + "胜率%": 28.57, + "盈亏比": 1.69, + "交易次数": 7, + "平均盈亏": 363.38, + "最佳盈亏": 3329.55, + "最差盈亏": -2115.24, + "卡尔玛比率": 0.94, + "耗时s": 0.7 + }, + { + "策略名": "7.ATR波动率突破", + "币种": "BNBUSDT", + "时间级别": "6h", + "数据量": "近半年", + "策略类型": "波动率突破", + "策略参数": "ATR(14)/squeeze=20x0.7/EMA(10,30)", + "策略描述": "ATR(14)收缩至极低后扩张突破 + EMA(10/30)方向确认", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 16288.39, + "总收益%": 62.88, + "年化收益%": 250.44, + "夏普比率": 2.08, + "最大回撤%": -18.31, + "胜率%": 25.0, + "盈亏比": 4.45, + "交易次数": 4, + "平均盈亏": 1593.04, + "最佳盈亏": 8218.32, + "最差盈亏": -1176.64, + "卡尔玛比率": 13.68, + "耗时s": 0.6 + }, + { + "策略名": "7.ATR波动率突破", + "币种": "BNBUSDT", + "时间级别": "6h", + "数据量": "全量", + "策略类型": "波动率突破", + "策略参数": "ATR(14)/squeeze=20x0.7/EMA(10,30)", + "策略描述": "ATR(14)收缩至极低后扩张突破 + EMA(10/30)方向确认", + "日期范围": "2017-11-06~2026-06-11", + "初始资金": 10000.0, + "最终权益": 77625.39, + "总收益%": 676.25, + "年化收益%": 27.28, + "夏普比率": 0.67, + "最大回撤%": -87.75, + "胜率%": 26.17, + "盈亏比": 1.34, + "交易次数": 107, + "平均盈亏": 682.66, + "最佳盈亏": 94288.32, + "最差盈亏": -14345.38, + "卡尔玛比率": 0.31, + "耗时s": 0.8 + }, + { + "策略名": "7.ATR波动率突破", + "币种": "BNBUSDT", + "时间级别": "6h", + "数据量": "近两年", + "策略类型": "波动率突破", + "策略参数": "ATR(14)/squeeze=20x0.7/EMA(10,30)", + "策略描述": "ATR(14)收缩至极低后扩张突破 + EMA(10/30)方向确认", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9444.98, + "总收益%": -5.55, + "年化收益%": -2.98, + "夏普比率": 0.09, + "最大回撤%": -56.01, + "胜率%": 20.83, + "盈亏比": 0.94, + "交易次数": 24, + "平均盈亏": -14.94, + "最佳盈亏": 2196.23, + "最差盈亏": -741.45, + "卡尔玛比率": -0.05, + "耗时s": 0.7 + }, + { + "策略名": "7.ATR波动率突破", + "币种": "SOLUSDT", + "时间级别": "2h", + "数据量": "近两年", + "策略类型": "波动率突破", + "策略参数": "ATR(14)/squeeze=20x0.7/EMA(10,30)", + "策略描述": "ATR(14)收缩至极低后扩张突破 + EMA(10/30)方向确认", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 7099.04, + "总收益%": -29.01, + "年化收益%": -16.04, + "夏普比率": -0.03, + "最大回撤%": -59.81, + "胜率%": 36.0, + "盈亏比": 0.84, + "交易次数": 75, + "平均盈亏": -31.54, + "最佳盈亏": 1381.11, + "最差盈亏": -874.55, + "卡尔玛比率": -0.27, + "耗时s": 0.4 + }, + { + "策略名": "7.ATR波动率突破", + "币种": "SOLUSDT", + "时间级别": "2h", + "数据量": "近半年", + "策略类型": "波动率突破", + "策略参数": "ATR(14)/squeeze=20x0.7/EMA(10,30)", + "策略描述": "ATR(14)收缩至极低后扩张突破 + EMA(10/30)方向确认", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 12204.31, + "总收益%": 22.04, + "年化收益%": 54.52, + "夏普比率": 1.22, + "最大回撤%": -25.2, + "胜率%": 35.29, + "盈亏比": 1.69, + "交易次数": 17, + "平均盈亏": 139.28, + "最佳盈亏": 2374.34, + "最差盈亏": -719.69, + "卡尔玛比率": 2.16, + "耗时s": 0.6 + }, + { + "策略名": "7.ATR波动率突破", + "币种": "SOLUSDT", + "时间级别": "2h", + "数据量": "近一年", + "策略类型": "波动率突破", + "策略参数": "ATR(14)/squeeze=20x0.7/EMA(10,30)", + "策略描述": "ATR(14)收缩至极低后扩张突破 + EMA(10/30)方向确认", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 12365.41, + "总收益%": 23.65, + "年化收益%": 24.78, + "夏普比率": 0.68, + "最大回撤%": -34.09, + "胜率%": 35.29, + "盈亏比": 1.33, + "交易次数": 34, + "平均盈亏": 79.78, + "最佳盈亏": 2405.68, + "最差盈亏": -1087.59, + "卡尔玛比率": 0.73, + "耗时s": 0.6 + }, + { + "策略名": "7.ATR波动率突破", + "币种": "SOLUSDT", + "时间级别": "6h", + "数据量": "近两年", + "策略类型": "波动率突破", + "策略参数": "ATR(14)/squeeze=20x0.7/EMA(10,30)", + "策略描述": "ATR(14)收缩至极低后扩张突破 + EMA(10/30)方向确认", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 4118.32, + "总收益%": -58.82, + "年化收益%": -37.46, + "夏普比率": -0.43, + "最大回撤%": -81.88, + "胜率%": 16.67, + "盈亏比": 0.49, + "交易次数": 24, + "平均盈亏": -235.83, + "最佳盈亏": 3268.34, + "最差盈亏": -3634.03, + "卡尔玛比率": -0.46, + "耗时s": 0.7 + }, + { + "策略名": "7.ATR波动率突破", + "币种": "SOLUSDT", + "时间级别": "2h", + "数据量": "全量", + "策略类型": "波动率突破", + "策略参数": "ATR(14)/squeeze=20x0.7/EMA(10,30)", + "策略描述": "ATR(14)收缩至极低后扩张突破 + EMA(10/30)方向确认", + "日期范围": "2020-08-11~2026-06-11", + "初始资金": 10000.0, + "最终权益": 1176649.5, + "总收益%": 11666.5, + "年化收益%": 127.49, + "夏普比率": 1.39, + "最大回撤%": -59.81, + "胜率%": 37.62, + "盈亏比": 1.37, + "交易次数": 202, + "平均盈亏": 6540.85, + "最佳盈亏": 572304.95, + "最差盈亏": -144913.89, + "卡尔玛比率": 2.13, + "耗时s": 1.2 + }, + { + "策略名": "7.ATR波动率突破", + "币种": "SOLUSDT", + "时间级别": "6h", + "数据量": "全量", + "策略类型": "波动率突破", + "策略参数": "ATR(14)/squeeze=20x0.7/EMA(10,30)", + "策略描述": "ATR(14)收缩至极低后扩张突破 + EMA(10/30)方向确认", + "日期范围": "2020-08-11~2026-06-11", + "初始资金": 10000.0, + "最终权益": 455091.75, + "总收益%": 4450.92, + "年化收益%": 94.67, + "夏普比率": 1.22, + "最大回撤%": -84.44, + "胜率%": 23.73, + "盈亏比": 1.25, + "交易次数": 59, + "平均盈亏": 7882.99, + "最佳盈亏": 1255531.61, + "最差盈亏": -184898.73, + "卡尔玛比率": 1.12, + "耗时s": 0.7 + }, + { + "策略名": "7.ATR波动率突破", + "币种": "SOLUSDT", + "时间级别": "6h", + "数据量": "近半年", + "策略类型": "波动率突破", + "策略参数": "ATR(14)/squeeze=20x0.7/EMA(10,30)", + "策略描述": "ATR(14)收缩至极低后扩张突破 + EMA(10/30)方向确认", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 14039.95, + "总收益%": 40.4, + "年化收益%": 139.22, + "夏普比率": 2.49, + "最大回撤%": -13.51, + "胜率%": 50.0, + "盈亏比": 7.0, + "交易次数": 4, + "平均盈亏": 1090.57, + "最佳盈亏": 3189.27, + "最差盈亏": -701.15, + "卡尔玛比率": 10.31, + "耗时s": 0.3 + }, + { + "策略名": "7.ATR波动率突破", + "币种": "SOLUSDT", + "时间级别": "6h", + "数据量": "近一年", + "策略类型": "波动率突破", + "策略参数": "ATR(14)/squeeze=20x0.7/EMA(10,30)", + "策略描述": "ATR(14)收缩至极低后扩张突破 + EMA(10/30)方向确认", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 5723.04, + "总收益%": -42.77, + "年化收益%": -46.57, + "夏普比率": -0.64, + "最大回撤%": -61.82, + "胜率%": 23.08, + "盈亏比": 0.43, + "交易次数": 13, + "平均盈亏": -313.6, + "最佳盈亏": 1300.03, + "最差盈亏": -2540.9, + "卡尔玛比率": -0.75, + "耗时s": 0.6 + }, + { + "策略名": "8.EMA双均线多空", + "币种": "BTCUSDT", + "时间级别": "2h", + "数据量": "近半年", + "策略类型": "趋势跟踪", + "策略参数": "EMA(10,50)/ATR(14)x2.5", + "策略描述": "EMA(10,50)金叉做多死叉做空 + ATR追踪止损,始终在场", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 6772.52, + "总收益%": -32.27, + "年化收益%": -57.32, + "夏普比率": -2.97, + "最大回撤%": -34.19, + "胜率%": 33.33, + "盈亏比": 0.39, + "交易次数": 45, + "平均盈亏": -62.28, + "最佳盈亏": 309.63, + "最差盈亏": -592.29, + "卡尔玛比率": -1.68, + "耗时s": 0.3 + }, + { + "策略名": "8.EMA双均线多空", + "币种": "BTCUSDT", + "时间级别": "2h", + "数据量": "近一年", + "策略类型": "趋势跟踪", + "策略参数": "EMA(10,50)/ATR(14)x2.5", + "策略描述": "EMA(10,50)金叉做多死叉做空 + ATR追踪止损,始终在场", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 4532.23, + "总收益%": -54.68, + "年化收益%": -56.18, + "夏普比率": -2.55, + "最大回撤%": -58.62, + "胜率%": 31.91, + "盈亏比": 0.46, + "交易次数": 94, + "平均盈亏": -49.44, + "最佳盈亏": 921.77, + "最差盈亏": -558.42, + "卡尔玛比率": -0.96, + "耗时s": 0.3 + }, + { + "策略名": "8.EMA双均线多空", + "币种": "BTCUSDT", + "时间级别": "2h", + "数据量": "近两年", + "策略类型": "趋势跟踪", + "策略参数": "EMA(10,50)/ATR(14)x2.5", + "策略描述": "EMA(10,50)金叉做多死叉做空 + ATR追踪止损,始终在场", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 3111.48, + "总收益%": -68.89, + "年化收益%": -44.89, + "夏普比率": -1.54, + "最大回撤%": -73.01, + "胜率%": 32.45, + "盈亏比": 0.68, + "交易次数": 188, + "平均盈亏": -28.9, + "最佳盈亏": 2168.26, + "最差盈亏": -1557.17, + "卡尔玛比率": -0.61, + "耗时s": 0.4 + }, + { + "策略名": "8.EMA双均线多空", + "币种": "BTCUSDT", + "时间级别": "2h", + "数据量": "全量", + "策略类型": "趋势跟踪", + "策略参数": "EMA(10,50)/ATR(14)x2.5", + "策略描述": "EMA(10,50)金叉做多死叉做空 + ATR追踪止损,始终在场", + "日期范围": "2017-08-17~2026-06-11", + "初始资金": 10000.0, + "最终权益": 67.35, + "总收益%": -99.33, + "年化收益%": -43.39, + "夏普比率": -0.48, + "最大回撤%": -99.39, + "胜率%": 32.77, + "盈亏比": 0.67, + "交易次数": 711, + "平均盈亏": -12.39, + "最佳盈亏": 1886.86, + "最差盈亏": -4370.78, + "卡尔玛比率": -0.44, + "耗时s": 0.9 + }, + { + "策略名": "8.EMA双均线多空", + "币种": "BTCUSDT", + "时间级别": "6h", + "数据量": "近半年", + "策略类型": "趋势跟踪", + "策略参数": "EMA(10,50)/ATR(14)x2.5", + "策略描述": "EMA(10,50)金叉做多死叉做空 + ATR追踪止损,始终在场", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 8961.97, + "总收益%": -10.38, + "年化收益%": -24.55, + "夏普比率": -0.75, + "最大回撤%": -22.22, + "胜率%": 42.86, + "盈亏比": 0.33, + "交易次数": 7, + "平均盈亏": -136.21, + "最佳盈亏": 289.81, + "最差盈亏": -449.46, + "卡尔玛比率": -1.1, + "耗时s": 0.4 + }, + { + "策略名": "8.EMA双均线多空", + "币种": "BTCUSDT", + "时间级别": "6h", + "数据量": "近两年", + "策略类型": "趋势跟踪", + "策略参数": "EMA(10,50)/ATR(14)x2.5", + "策略描述": "EMA(10,50)金叉做多死叉做空 + ATR追踪止损,始终在场", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 21663.71, + "总收益%": 116.64, + "年化收益%": 50.52, + "夏普比率": 1.27, + "最大回撤%": -27.9, + "胜率%": 46.15, + "盈亏比": 1.84, + "交易次数": 52, + "平均盈亏": 248.85, + "最佳盈亏": 4976.93, + "最差盈亏": -1579.05, + "卡尔玛比率": 1.81, + "耗时s": 0.7 + }, + { + "策略名": "8.EMA双均线多空", + "币种": "BTCUSDT", + "时间级别": "6h", + "数据量": "全量", + "策略类型": "趋势跟踪", + "策略参数": "EMA(10,50)/ATR(14)x2.5", + "策略描述": "EMA(10,50)金叉做多死叉做空 + ATR追踪止损,始终在场", + "日期范围": "2017-08-17~2026-06-11", + "初始资金": 10000.0, + "最终权益": 124800.68, + "总收益%": 1148.01, + "年化收益%": 33.58, + "夏普比率": 0.82, + "最大回撤%": -57.19, + "胜率%": 41.25, + "盈亏比": 1.54, + "交易次数": 240, + "平均盈亏": 539.92, + "最佳盈亏": 28671.16, + "最差盈亏": -9690.33, + "卡尔玛比率": 0.59, + "耗时s": 0.7 + }, + { + "策略名": "8.EMA双均线多空", + "币种": "BTCUSDT", + "时间级别": "6h", + "数据量": "近一年", + "策略类型": "趋势跟踪", + "策略参数": "EMA(10,50)/ATR(14)x2.5", + "策略描述": "EMA(10,50)金叉做多死叉做空 + ATR追踪止损,始终在场", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 8963.44, + "总收益%": -10.37, + "年化收益%": -11.56, + "夏普比率": -0.24, + "最大回撤%": -27.9, + "胜率%": 40.0, + "盈亏比": 0.81, + "交易次数": 25, + "平均盈亏": -30.17, + "最佳盈亏": 701.77, + "最差盈亏": -653.34, + "卡尔玛比率": -0.41, + "耗时s": 0.6 + }, + { + "策略名": "8.EMA双均线多空", + "币种": "ETHUSDT", + "时间级别": "2h", + "数据量": "近一年", + "策略类型": "趋势跟踪", + "策略参数": "EMA(10,50)/ATR(14)x2.5", + "策略描述": "EMA(10,50)金叉做多死叉做空 + ATR追踪止损,始终在场", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 2758.79, + "总收益%": -72.41, + "年化收益%": -73.89, + "夏普比率": -2.07, + "最大回撤%": -72.72, + "胜率%": 33.33, + "盈亏比": 0.37, + "交易次数": 87, + "平均盈亏": -78.13, + "最佳盈亏": 753.26, + "最差盈亏": -4969.38, + "卡尔玛比率": -1.02, + "耗时s": 0.2 + }, + { + "策略名": "8.EMA双均线多空", + "币种": "ETHUSDT", + "时间级别": "2h", + "数据量": "近半年", + "策略类型": "趋势跟踪", + "策略参数": "EMA(10,50)/ATR(14)x2.5", + "策略描述": "EMA(10,50)金叉做多死叉做空 + ATR追踪止损,始终在场", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 7349.54, + "总收益%": -26.5, + "年化收益%": -48.97, + "夏普比率": -1.1, + "最大回撤%": -35.52, + "胜率%": 29.55, + "盈亏比": 0.62, + "交易次数": 44, + "平均盈亏": -49.5, + "最佳盈亏": 1283.95, + "最差盈亏": -526.36, + "卡尔玛比率": -1.38, + "耗时s": 0.3 + }, + { + "策略名": "8.EMA双均线多空", + "币种": "ETHUSDT", + "时间级别": "6h", + "数据量": "近两年", + "策略类型": "趋势跟踪", + "策略参数": "EMA(10,50)/ATR(14)x2.5", + "策略描述": "EMA(10,50)金叉做多死叉做空 + ATR追踪止损,始终在场", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 5773.23, + "总收益%": -42.27, + "年化收益%": -25.22, + "夏普比率": -0.26, + "最大回撤%": -68.93, + "胜率%": 40.35, + "盈亏比": 0.74, + "交易次数": 57, + "平均盈亏": -64.53, + "最佳盈亏": 1739.37, + "最差盈亏": -3470.92, + "卡尔玛比率": -0.37, + "耗时s": 0.3 + }, + { + "策略名": "8.EMA双均线多空", + "币种": "ETHUSDT", + "时间级别": "2h", + "数据量": "近两年", + "策略类型": "趋势跟踪", + "策略参数": "EMA(10,50)/ATR(14)x2.5", + "策略描述": "EMA(10,50)金叉做多死叉做空 + ATR追踪止损,始终在场", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 1908.64, + "总收益%": -80.91, + "年化收益%": -57.06, + "夏普比率": -1.24, + "最大回撤%": -84.94, + "胜率%": 32.82, + "盈亏比": 0.76, + "交易次数": 195, + "平均盈亏": -33.83, + "最佳盈亏": 2489.19, + "最差盈亏": -3438.0, + "卡尔玛比率": -0.67, + "耗时s": 0.5 + }, + { + "策略名": "8.EMA双均线多空", + "币种": "ETHUSDT", + "时间级别": "6h", + "数据量": "全量", + "策略类型": "趋势跟踪", + "策略参数": "EMA(10,50)/ATR(14)x2.5", + "策略描述": "EMA(10,50)金叉做多死叉做空 + ATR追踪止损,始终在场", + "日期范围": "2017-08-17~2026-06-11", + "初始资金": 10000.0, + "最终权益": -1432.81, + "总收益%": -114.33, + "年化收益%": 0.0, + "夏普比率": -1.11, + "最大回撤%": -110.51, + "胜率%": 20.0, + "盈亏比": 0.22, + "交易次数": 10, + "平均盈亏": -1129.99, + "最佳盈亏": 2834.82, + "最差盈亏": -10048.5, + "卡尔玛比率": 0.0, + "耗时s": 0.8 + }, + { + "策略名": "8.EMA双均线多空", + "币种": "ETHUSDT", + "时间级别": "2h", + "数据量": "全量", + "策略类型": "趋势跟踪", + "策略参数": "EMA(10,50)/ATR(14)x2.5", + "策略描述": "EMA(10,50)金叉做多死叉做空 + ATR追踪止损,始终在场", + "日期范围": "2017-08-17~2026-06-11", + "初始资金": 10000.0, + "最终权益": 15.37, + "总收益%": -99.85, + "年化收益%": -52.15, + "夏普比率": -0.6, + "最大回撤%": -99.86, + "胜率%": 33.0, + "盈亏比": 0.57, + "交易次数": 794, + "平均盈亏": -11.57, + "最佳盈亏": 1589.3, + "最差盈亏": -1748.8, + "卡尔玛比率": -0.52, + "耗时s": 1.3 + }, + { + "策略名": "8.EMA双均线多空", + "币种": "ETHUSDT", + "时间级别": "6h", + "数据量": "近一年", + "策略类型": "趋势跟踪", + "策略参数": "EMA(10,50)/ATR(14)x2.5", + "策略描述": "EMA(10,50)金叉做多死叉做空 + ATR追踪止损,始终在场", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 6667.19, + "总收益%": -33.33, + "年化收益%": -36.57, + "夏普比率": -0.4, + "最大回撤%": -56.29, + "胜率%": 40.74, + "盈亏比": 0.63, + "交易次数": 27, + "平均盈亏": -113.78, + "最佳盈亏": 1923.79, + "最差盈亏": -4008.38, + "卡尔玛比率": -0.65, + "耗时s": 0.6 + }, + { + "策略名": "8.EMA双均线多空", + "币种": "ETHUSDT", + "时间级别": "6h", + "数据量": "近半年", + "策略类型": "趋势跟踪", + "策略参数": "EMA(10,50)/ATR(14)x2.5", + "策略描述": "EMA(10,50)金叉做多死叉做空 + ATR追踪止损,始终在场", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 8339.55, + "总收益%": -16.6, + "年化收益%": -37.29, + "夏普比率": -0.77, + "最大回撤%": -37.02, + "胜率%": 16.67, + "盈亏比": 0.57, + "交易次数": 12, + "平均盈亏": -127.8, + "最佳盈亏": 1548.66, + "最差盈亏": -1240.42, + "卡尔玛比率": -1.01, + "耗时s": 0.5 + }, + { + "策略名": "8.EMA双均线多空", + "币种": "BNBUSDT", + "时间级别": "2h", + "数据量": "近两年", + "策略类型": "趋势跟踪", + "策略参数": "EMA(10,50)/ATR(14)x2.5", + "策略描述": "EMA(10,50)金叉做多死叉做空 + ATR追踪止损,始终在场", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 6730.88, + "总收益%": -32.69, + "年化收益%": -18.3, + "夏普比率": -0.37, + "最大回撤%": -54.47, + "胜率%": 39.68, + "盈亏比": 0.94, + "交易次数": 189, + "平均盈亏": -6.47, + "最佳盈亏": 1635.71, + "最差盈亏": -1122.75, + "卡尔玛比率": -0.34, + "耗时s": 0.7 + }, + { + "策略名": "8.EMA双均线多空", + "币种": "BNBUSDT", + "时间级别": "2h", + "数据量": "近半年", + "策略类型": "趋势跟踪", + "策略参数": "EMA(10,50)/ATR(14)x2.5", + "策略描述": "EMA(10,50)金叉做多死叉做空 + ATR追踪止损,始终在场", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 10755.63, + "总收益%": 7.56, + "年化收益%": 17.25, + "夏普比率": 0.78, + "最大回撤%": -18.23, + "胜率%": 48.72, + "盈亏比": 1.37, + "交易次数": 39, + "平均盈亏": 29.36, + "最佳盈亏": 1326.3, + "最差盈亏": -283.35, + "卡尔玛比率": 0.95, + "耗时s": 0.2 + }, + { + "策略名": "8.EMA双均线多空", + "币种": "BNBUSDT", + "时间级别": "2h", + "数据量": "近一年", + "策略类型": "趋势跟踪", + "策略参数": "EMA(10,50)/ATR(14)x2.5", + "策略描述": "EMA(10,50)金叉做多死叉做空 + ATR追踪止损,始终在场", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 6808.84, + "总收益%": -31.91, + "年化收益%": -33.02, + "夏普比率": -0.98, + "最大回撤%": -43.67, + "胜率%": 37.65, + "盈亏比": 0.71, + "交易次数": 85, + "平均盈亏": -28.6, + "最佳盈亏": 839.61, + "最差盈亏": -718.41, + "卡尔玛比率": -0.76, + "耗时s": 0.4 + }, + { + "策略名": "8.EMA双均线多空", + "币种": "BNBUSDT", + "时间级别": "6h", + "数据量": "近两年", + "策略类型": "趋势跟踪", + "策略参数": "EMA(10,50)/ATR(14)x2.5", + "策略描述": "EMA(10,50)金叉做多死叉做空 + ATR追踪止损,始终在场", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 10968.43, + "总收益%": 9.68, + "年化收益%": 5.01, + "夏普比率": 0.35, + "最大回撤%": -54.4, + "胜率%": 43.1, + "盈亏比": 1.14, + "交易次数": 58, + "平均盈亏": 31.43, + "最佳盈亏": 5381.3, + "最差盈亏": -2854.46, + "卡尔玛比率": 0.09, + "耗时s": 0.7 + }, + { + "策略名": "8.EMA双均线多空", + "币种": "BNBUSDT", + "时间级别": "2h", + "数据量": "全量", + "策略类型": "趋势跟踪", + "策略参数": "EMA(10,50)/ATR(14)x2.5", + "策略描述": "EMA(10,50)金叉做多死叉做空 + ATR追踪止损,始终在场", + "日期范围": "2017-11-06~2026-06-11", + "初始资金": 10000.0, + "最终权益": 13590.17, + "总收益%": 35.9, + "年化收益%": 3.65, + "夏普比率": 0.39, + "最大回撤%": -93.97, + "胜率%": 37.18, + "盈亏比": 1.07, + "交易次数": 753, + "平均盈亏": 64.87, + "最佳盈亏": 24094.16, + "最差盈亏": -29292.21, + "卡尔玛比率": 0.04, + "耗时s": 1.2 + }, + { + "策略名": "8.EMA双均线多空", + "币种": "BNBUSDT", + "时间级别": "6h", + "数据量": "全量", + "策略类型": "趋势跟踪", + "策略参数": "EMA(10,50)/ATR(14)x2.5", + "策略描述": "EMA(10,50)金叉做多死叉做空 + ATR追踪止损,始终在场", + "日期范围": "2017-11-06~2026-06-11", + "初始资金": 10000.0, + "最终权益": -17881.61, + "总收益%": -278.82, + "年化收益%": 0.0, + "夏普比率": -1.64, + "最大回撤%": -318.87, + "胜率%": 0.0, + "盈亏比": 0.0, + "交易次数": 1, + "平均盈亏": -27851.62, + "最佳盈亏": -27851.62, + "最差盈亏": -27851.62, + "卡尔玛比率": 0.0, + "耗时s": 0.8 + }, + { + "策略名": "8.EMA双均线多空", + "币种": "BNBUSDT", + "时间级别": "6h", + "数据量": "近一年", + "策略类型": "趋势跟踪", + "策略参数": "EMA(10,50)/ATR(14)x2.5", + "策略描述": "EMA(10,50)金叉做多死叉做空 + ATR追踪止损,始终在场", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9441.33, + "总收益%": -5.59, + "年化收益%": -6.25, + "夏普比率": 0.16, + "最大回撤%": -38.73, + "胜率%": 40.0, + "盈亏比": 0.94, + "交易次数": 25, + "平均盈亏": -10.36, + "最佳盈亏": 1100.59, + "最差盈亏": -1106.89, + "卡尔玛比率": -0.16, + "耗时s": 0.6 + }, + { + "策略名": "8.EMA双均线多空", + "币种": "BNBUSDT", + "时间级别": "6h", + "数据量": "近半年", + "策略类型": "趋势跟踪", + "策略参数": "EMA(10,50)/ATR(14)x2.5", + "策略描述": "EMA(10,50)金叉做多死叉做空 + ATR追踪止损,始终在场", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9305.26, + "总收益%": -6.95, + "年化收益%": -16.9, + "夏普比率": -0.74, + "最大回撤%": -17.17, + "胜率%": 42.86, + "盈亏比": 0.65, + "交易次数": 14, + "平均盈亏": -40.02, + "最佳盈亏": 308.87, + "最差盈亏": -509.49, + "卡尔玛比率": -0.98, + "耗时s": 0.6 + }, + { + "策略名": "8.EMA双均线多空", + "币种": "SOLUSDT", + "时间级别": "2h", + "数据量": "近一年", + "策略类型": "趋势跟踪", + "策略参数": "EMA(10,50)/ATR(14)x2.5", + "策略描述": "EMA(10,50)金叉做多死叉做空 + ATR追踪止损,始终在场", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 1842.98, + "总收益%": -81.57, + "年化收益%": -82.85, + "夏普比率": -2.7, + "最大回撤%": -82.88, + "胜率%": 20.39, + "盈亏比": 0.38, + "交易次数": 103, + "平均盈亏": -73.67, + "最佳盈亏": 746.18, + "最差盈亏": -1273.22, + "卡尔玛比率": -1.0, + "耗时s": 0.4 + }, + { + "策略名": "8.EMA双均线多空", + "币种": "SOLUSDT", + "时间级别": "2h", + "数据量": "近半年", + "策略类型": "趋势跟踪", + "策略参数": "EMA(10,50)/ATR(14)x2.5", + "策略描述": "EMA(10,50)金叉做多死叉做空 + ATR追踪止损,始终在场", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 5974.78, + "总收益%": -40.25, + "年化收益%": -67.54, + "夏普比率": -2.08, + "最大回撤%": -44.81, + "胜率%": 25.58, + "盈亏比": 0.52, + "交易次数": 43, + "平均盈亏": -82.21, + "最佳盈亏": 1276.07, + "最差盈亏": -1505.39, + "卡尔玛比率": -1.51, + "耗时s": 0.4 + }, + { + "策略名": "8.EMA双均线多空", + "币种": "SOLUSDT", + "时间级别": "6h", + "数据量": "近两年", + "策略类型": "趋势跟踪", + "策略参数": "EMA(10,50)/ATR(14)x2.5", + "策略描述": "EMA(10,50)金叉做多死叉做空 + ATR追踪止损,始终在场", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 8020.76, + "总收益%": -19.79, + "年化收益%": -11.01, + "夏普比率": 0.16, + "最大回撤%": -68.18, + "胜率%": 34.69, + "盈亏比": 0.95, + "交易次数": 49, + "平均盈亏": -24.23, + "最佳盈亏": 4443.08, + "最差盈亏": -4103.84, + "卡尔玛比率": -0.16, + "耗时s": 0.4 + }, + { + "策略名": "8.EMA双均线多空", + "币种": "SOLUSDT", + "时间级别": "2h", + "数据量": "近两年", + "策略类型": "趋势跟踪", + "策略参数": "EMA(10,50)/ATR(14)x2.5", + "策略描述": "EMA(10,50)金叉做多死叉做空 + ATR追踪止损,始终在场", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 1170.44, + "总收益%": -88.3, + "年化收益%": -66.55, + "夏普比率": -1.3, + "最大回撤%": -94.11, + "胜率%": 26.5, + "盈亏比": 0.8, + "交易次数": 200, + "平均盈亏": -36.03, + "最佳盈亏": 4116.79, + "最差盈亏": -2475.63, + "卡尔玛比率": -0.71, + "耗时s": 0.7 + }, + { + "策略名": "8.EMA双均线多空", + "币种": "SOLUSDT", + "时间级别": "6h", + "数据量": "全量", + "策略类型": "趋势跟踪", + "策略参数": "EMA(10,50)/ATR(14)x2.5", + "策略描述": "EMA(10,50)金叉做多死叉做空 + ATR追踪止损,始终在场", + "日期范围": "2020-08-11~2026-06-11", + "初始资金": 10000.0, + "最终权益": -4156.27, + "总收益%": -141.56, + "年化收益%": 0.0, + "夏普比率": -1.28, + "最大回撤%": -153.16, + "胜率%": 29.17, + "盈亏比": 0.44, + "交易次数": 24, + "平均盈亏": -581.23, + "最佳盈亏": 3513.22, + "最差盈亏": -10696.39, + "卡尔玛比率": 0.0, + "耗时s": 0.6 + }, + { + "策略名": "8.EMA双均线多空", + "币种": "SOLUSDT", + "时间级别": "2h", + "数据量": "全量", + "策略类型": "趋势跟踪", + "策略参数": "EMA(10,50)/ATR(14)x2.5", + "策略描述": "EMA(10,50)金叉做多死叉做空 + ATR追踪止损,始终在场", + "日期范围": "2020-08-11~2026-06-11", + "初始资金": 10000.0, + "最终权益": -2085.81, + "总收益%": -120.86, + "年化收益%": 0.0, + "夏普比率": -1.06, + "最大回撤%": -113.05, + "胜率%": 32.14, + "盈亏比": 0.74, + "交易次数": 84, + "平均盈亏": -130.57, + "最佳盈亏": 5458.49, + "最差盈亏": -7221.56, + "卡尔玛比率": 0.0, + "耗时s": 1.1 + }, + { + "策略名": "8.EMA双均线多空", + "币种": "SOLUSDT", + "时间级别": "6h", + "数据量": "近半年", + "策略类型": "趋势跟踪", + "策略参数": "EMA(10,50)/ATR(14)x2.5", + "策略描述": "EMA(10,50)金叉做多死叉做空 + ATR追踪止损,始终在场", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 5215.35, + "总收益%": -47.85, + "年化收益%": -81.24, + "夏普比率": -2.61, + "最大回撤%": -51.85, + "胜率%": 16.67, + "盈亏比": 0.08, + "交易次数": 12, + "平均盈亏": -392.76, + "最佳盈亏": 322.39, + "最差盈亏": -3447.59, + "卡尔玛比率": -1.57, + "耗时s": 0.3 + }, + { + "策略名": "8.EMA双均线多空", + "币种": "SOLUSDT", + "时间级别": "6h", + "数据量": "近一年", + "策略类型": "趋势跟踪", + "策略参数": "EMA(10,50)/ATR(14)x2.5", + "策略描述": "EMA(10,50)金叉做多死叉做空 + ATR追踪止损,始终在场", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 4619.53, + "总收益%": -53.8, + "年化收益%": -57.99, + "夏普比率": -1.08, + "最大回撤%": -60.33, + "胜率%": 24.0, + "盈亏比": 0.32, + "交易次数": 25, + "平均盈亏": -207.74, + "最佳盈亏": 643.7, + "最差盈亏": -2363.59, + "卡尔玛比率": -0.96, + "耗时s": 0.4 + }, + { + "策略名": "9.牛熊自适应", + "币种": "BTCUSDT", + "时间级别": "2h", + "数据量": "近一年", + "策略类型": "牛熊自适应", + "策略参数": "EMA200投票(斜率+价格+ATH)牛多熊空", + "策略描述": "EMA200斜率+价格vsEMA200+ATH回撤3选2投票,牛市只多/熊市只空", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 10369.2, + "总收益%": 3.69, + "年化收益%": 3.85, + "夏普比率": 0.3, + "最大回撤%": -16.96, + "胜率%": 39.02, + "盈亏比": 1.24, + "交易次数": 41, + "平均盈亏": 19.76, + "最佳盈亏": 962.33, + "最差盈亏": -461.01, + "卡尔玛比率": 0.23, + "耗时s": 0.2 + }, + { + "策略名": "9.牛熊自适应", + "币种": "BTCUSDT", + "时间级别": "2h", + "数据量": "近半年", + "策略类型": "牛熊自适应", + "策略参数": "EMA200投票(斜率+价格+ATH)牛多熊空", + "策略描述": "EMA200斜率+价格vsEMA200+ATH回撤3选2投票,牛市只多/熊市只空", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9966.9, + "总收益%": -0.33, + "年化收益%": -0.72, + "夏普比率": 0.04, + "最大回撤%": -13.22, + "胜率%": 44.44, + "盈亏比": 1.12, + "交易次数": 18, + "平均盈亏": 9.96, + "最佳盈亏": 404.85, + "最差盈亏": -473.99, + "卡尔玛比率": -0.05, + "耗时s": 0.4 + }, + { + "策略名": "9.牛熊自适应", + "币种": "BTCUSDT", + "时间级别": "2h", + "数据量": "近两年", + "策略类型": "牛熊自适应", + "策略参数": "EMA200投票(斜率+价格+ATH)牛多熊空", + "策略描述": "EMA200斜率+价格vsEMA200+ATH回撤3选2投票,牛市只多/熊市只空", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 13097.55, + "总收益%": 30.98, + "年化收益%": 14.77, + "夏普比率": 0.75, + "最大回撤%": -20.28, + "胜率%": 35.8, + "盈亏比": 1.45, + "交易次数": 81, + "平均盈亏": 50.6, + "最佳盈亏": 2713.1, + "最差盈亏": -619.18, + "卡尔玛比率": 0.73, + "耗时s": 0.4 + }, + { + "策略名": "9.牛熊自适应", + "币种": "BTCUSDT", + "时间级别": "6h", + "数据量": "近两年", + "策略类型": "牛熊自适应", + "策略参数": "EMA200投票(斜率+价格+ATH)牛多熊空", + "策略描述": "EMA200斜率+价格vsEMA200+ATH回撤3选2投票,牛市只多/熊市只空", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 10630.75, + "总收益%": 6.31, + "年化收益%": 3.29, + "夏普比率": 0.26, + "最大回撤%": -30.38, + "胜率%": 36.0, + "盈亏比": 1.16, + "交易次数": 25, + "平均盈亏": 37.42, + "最佳盈亏": 3305.8, + "最差盈亏": -884.1, + "卡尔玛比率": 0.11, + "耗时s": 0.7 + }, + { + "策略名": "9.牛熊自适应", + "币种": "BTCUSDT", + "时间级别": "6h", + "数据量": "全量", + "策略类型": "牛熊自适应", + "策略参数": "EMA200投票(斜率+价格+ATH)牛多熊空", + "策略描述": "EMA200斜率+价格vsEMA200+ATH回撤3选2投票,牛市只多/熊市只空", + "日期范围": "2017-08-17~2026-06-11", + "初始资金": 10000.0, + "最终权益": 41763.68, + "总收益%": 317.64, + "年化收益%": 17.82, + "夏普比率": 0.67, + "最大回撤%": -43.28, + "胜率%": 35.25, + "盈亏比": 1.37, + "交易次数": 122, + "平均盈亏": 294.79, + "最佳盈亏": 18181.95, + "最差盈亏": -5428.1, + "卡尔玛比率": 0.41, + "耗时s": 0.8 + }, + { + "策略名": "9.牛熊自适应", + "币种": "BTCUSDT", + "时间级别": "2h", + "数据量": "全量", + "策略类型": "牛熊自适应", + "策略参数": "EMA200投票(斜率+价格+ATH)牛多熊空", + "策略描述": "EMA200斜率+价格vsEMA200+ATH回撤3选2投票,牛市只多/熊市只空", + "日期范围": "2017-08-17~2026-06-11", + "初始资金": 10000.0, + "最终权益": 18990.04, + "总收益%": 89.9, + "年化收益%": 7.57, + "夏普比率": 0.4, + "最大回撤%": -66.89, + "胜率%": 33.6, + "盈亏比": 1.18, + "交易次数": 375, + "平均盈亏": 44.59, + "最佳盈亏": 6174.92, + "最差盈亏": -2045.41, + "卡尔玛比率": 0.11, + "耗时s": 1.1 + }, + { + "策略名": "9.牛熊自适应", + "币种": "BTCUSDT", + "时间级别": "6h", + "数据量": "近一年", + "策略类型": "牛熊自适应", + "策略参数": "EMA200投票(斜率+价格+ATH)牛多熊空", + "策略描述": "EMA200斜率+价格vsEMA200+ATH回撤3选2投票,牛市只多/熊市只空", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 8563.74, + "总收益%": -14.36, + "年化收益%": -15.98, + "夏普比率": -1.09, + "最大回撤%": -24.22, + "胜率%": 33.33, + "盈亏比": 0.44, + "交易次数": 12, + "平均盈亏": -110.12, + "最佳盈亏": 703.47, + "最差盈亏": -712.2, + "卡尔玛比率": -0.66, + "耗时s": 0.7 + }, + { + "策略名": "9.牛熊自适应", + "币种": "BTCUSDT", + "时间级别": "6h", + "数据量": "近半年", + "策略类型": "牛熊自适应", + "策略参数": "EMA200投票(斜率+价格+ATH)牛多熊空", + "策略描述": "EMA200斜率+价格vsEMA200+ATH回撤3选2投票,牛市只多/熊市只空", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9535.37, + "总收益%": -4.65, + "年化收益%": -11.51, + "夏普比率": -1.14, + "最大回撤%": -6.63, + "胜率%": 50.0, + "盈亏比": 0.02, + "交易次数": 2, + "平均盈亏": -222.55, + "最佳盈亏": 9.15, + "最差盈亏": -454.24, + "卡尔玛比率": -1.74, + "耗时s": 0.5 + }, + { + "策略名": "9.牛熊自适应", + "币种": "ETHUSDT", + "时间级别": "6h", + "数据量": "近两年", + "策略类型": "牛熊自适应", + "策略参数": "EMA200投票(斜率+价格+ATH)牛多熊空", + "策略描述": "EMA200斜率+价格vsEMA200+ATH回撤3选2投票,牛市只多/熊市只空", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 6716.08, + "总收益%": -32.84, + "年化收益%": -18.99, + "夏普比率": -0.67, + "最大回撤%": -36.24, + "胜率%": 24.14, + "盈亏比": 0.57, + "交易次数": 29, + "平均盈亏": -104.67, + "最佳盈亏": 1540.46, + "最差盈亏": -569.41, + "卡尔玛比率": -0.52, + "耗时s": 0.3 + }, + { + "策略名": "9.牛熊自适应", + "币种": "ETHUSDT", + "时间级别": "2h", + "数据量": "近半年", + "策略类型": "牛熊自适应", + "策略参数": "EMA200投票(斜率+价格+ATH)牛多熊空", + "策略描述": "EMA200斜率+价格vsEMA200+ATH回撤3选2投票,牛市只多/熊市只空", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 10269.65, + "总收益%": 2.7, + "年化收益%": 5.98, + "夏普比率": 0.35, + "最大回撤%": -15.23, + "胜率%": 35.0, + "盈亏比": 1.2, + "交易次数": 20, + "平均盈亏": 25.0, + "最佳盈亏": 1339.55, + "最差盈亏": -589.64, + "卡尔玛比率": 0.39, + "耗时s": 0.4 + }, + { + "策略名": "9.牛熊自适应", + "币种": "ETHUSDT", + "时间级别": "2h", + "数据量": "近两年", + "策略类型": "牛熊自适应", + "策略参数": "EMA200投票(斜率+价格+ATH)牛多熊空", + "策略描述": "EMA200斜率+价格vsEMA200+ATH回撤3选2投票,牛市只多/熊市只空", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 4114.5, + "总收益%": -58.85, + "年化收益%": -36.45, + "夏普比率": -1.54, + "最大回撤%": -60.52, + "胜率%": 22.22, + "盈亏比": 0.48, + "交易次数": 99, + "平均盈亏": -53.32, + "最佳盈亏": 1477.0, + "最差盈亏": -516.7, + "卡尔玛比率": -0.6, + "耗时s": 0.6 + }, + { + "策略名": "9.牛熊自适应", + "币种": "ETHUSDT", + "时间级别": "2h", + "数据量": "近一年", + "策略类型": "牛熊自适应", + "策略参数": "EMA200投票(斜率+价格+ATH)牛多熊空", + "策略描述": "EMA200斜率+价格vsEMA200+ATH回撤3选2投票,牛市只多/熊市只空", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 6791.63, + "总收益%": -32.08, + "年化收益%": -33.19, + "夏普比率": -1.65, + "最大回撤%": -37.92, + "胜率%": 27.66, + "盈亏比": 0.49, + "交易次数": 47, + "平均盈亏": -60.18, + "最佳盈亏": 894.24, + "最差盈亏": -479.39, + "卡尔玛比率": -0.88, + "耗时s": 0.6 + }, + { + "策略名": "9.牛熊自适应", + "币种": "ETHUSDT", + "时间级别": "6h", + "数据量": "全量", + "策略类型": "牛熊自适应", + "策略参数": "EMA200投票(斜率+价格+ATH)牛多熊空", + "策略描述": "EMA200斜率+价格vsEMA200+ATH回撤3选2投票,牛市只多/熊市只空", + "日期范围": "2017-08-17~2026-06-11", + "初始资金": 10000.0, + "最终权益": 84891.23, + "总收益%": 748.91, + "年化收益%": 27.8, + "夏普比率": 0.8, + "最大回撤%": -72.99, + "胜率%": 34.09, + "盈亏比": 1.27, + "交易次数": 132, + "平均盈亏": 667.58, + "最佳盈亏": 90736.26, + "最差盈亏": -25158.69, + "卡尔玛比率": 0.38, + "耗时s": 0.6 + }, + { + "策略名": "9.牛熊自适应", + "币种": "ETHUSDT", + "时间级别": "2h", + "数据量": "全量", + "策略类型": "牛熊自适应", + "策略参数": "EMA200投票(斜率+价格+ATH)牛多熊空", + "策略描述": "EMA200斜率+价格vsEMA200+ATH回撤3选2投票,牛市只多/熊市只空", + "日期范围": "2017-08-17~2026-06-11", + "初始资金": 10000.0, + "最终权益": 7904.53, + "总收益%": -20.95, + "年化收益%": -2.64, + "夏普比率": 0.1, + "最大回撤%": -79.96, + "胜率%": 30.0, + "盈亏比": 1.04, + "交易次数": 400, + "平均盈亏": 13.05, + "最佳盈亏": 10180.41, + "最差盈亏": -3541.56, + "卡尔玛比率": -0.03, + "耗时s": 1.4 + }, + { + "策略名": "9.牛熊自适应", + "币种": "ETHUSDT", + "时间级别": "6h", + "数据量": "近一年", + "策略类型": "牛熊自适应", + "策略参数": "EMA200投票(斜率+价格+ATH)牛多熊空", + "策略描述": "EMA200斜率+价格vsEMA200+ATH回撤3选2投票,牛市只多/熊市只空", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 7396.07, + "总收益%": -26.04, + "年化收益%": -28.73, + "夏普比率": -1.45, + "最大回撤%": -29.15, + "胜率%": 20.0, + "盈亏比": 0.19, + "交易次数": 15, + "平均盈亏": -164.46, + "最佳盈亏": 238.17, + "最差盈亏": -468.09, + "卡尔玛比率": -0.99, + "耗时s": 0.5 + }, + { + "策略名": "9.牛熊自适应", + "币种": "ETHUSDT", + "时间级别": "6h", + "数据量": "近半年", + "策略类型": "牛熊自适应", + "策略参数": "EMA200投票(斜率+价格+ATH)牛多熊空", + "策略描述": "EMA200斜率+价格vsEMA200+ATH回撤3选2投票,牛市只多/熊市只空", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 7669.72, + "总收益%": -23.3, + "年化收益%": -49.44, + "夏普比率": -4.13, + "最大回撤%": -25.75, + "胜率%": 0.0, + "盈亏比": 0.0, + "交易次数": 7, + "平均盈亏": -324.07, + "最佳盈亏": -109.28, + "最差盈亏": -485.41, + "卡尔玛比率": -1.92, + "耗时s": 0.5 + }, + { + "策略名": "9.牛熊自适应", + "币种": "BNBUSDT", + "时间级别": "2h", + "数据量": "近一年", + "策略类型": "牛熊自适应", + "策略参数": "EMA200投票(斜率+价格+ATH)牛多熊空", + "策略描述": "EMA200斜率+价格vsEMA200+ATH回撤3选2投票,牛市只多/熊市只空", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9422.25, + "总收益%": -5.78, + "年化收益%": -6.02, + "夏普比率": -0.3, + "最大回撤%": -18.37, + "胜率%": 35.71, + "盈亏比": 0.95, + "交易次数": 42, + "平均盈亏": -3.89, + "最佳盈亏": 793.71, + "最差盈亏": -260.32, + "卡尔玛比率": -0.33, + "耗时s": 0.6 + }, + { + "策略名": "9.牛熊自适应", + "币种": "BNBUSDT", + "时间级别": "2h", + "数据量": "近两年", + "策略类型": "牛熊自适应", + "策略参数": "EMA200投票(斜率+价格+ATH)牛多熊空", + "策略描述": "EMA200斜率+价格vsEMA200+ATH回撤3选2投票,牛市只多/熊市只空", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 10618.53, + "总收益%": 6.19, + "年化收益%": 3.11, + "夏普比率": 0.26, + "最大回撤%": -18.37, + "胜率%": 36.78, + "盈亏比": 1.19, + "交易次数": 87, + "平均盈亏": 18.39, + "最佳盈亏": 1283.03, + "最差盈亏": -730.95, + "卡尔玛比率": 0.17, + "耗时s": 0.6 + }, + { + "策略名": "9.牛熊自适应", + "币种": "BNBUSDT", + "时间级别": "2h", + "数据量": "近半年", + "策略类型": "牛熊自适应", + "策略参数": "EMA200投票(斜率+价格+ATH)牛多熊空", + "策略描述": "EMA200斜率+价格vsEMA200+ATH回撤3选2投票,牛市只多/熊市只空", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9421.32, + "总收益%": -5.79, + "年化收益%": -12.21, + "夏普比率": -1.95, + "最大回撤%": -8.42, + "胜率%": 40.0, + "盈亏比": 0.16, + "交易次数": 10, + "平均盈亏": -48.36, + "最佳盈亏": 57.33, + "最差盈亏": -192.31, + "卡尔玛比率": -1.45, + "耗时s": 0.3 + }, + { + "策略名": "9.牛熊自适应", + "币种": "BNBUSDT", + "时间级别": "6h", + "数据量": "近两年", + "策略类型": "牛熊自适应", + "策略参数": "EMA200投票(斜率+价格+ATH)牛多熊空", + "策略描述": "EMA200斜率+价格vsEMA200+ATH回撤3选2投票,牛市只多/熊市只空", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 10662.63, + "总收益%": 6.63, + "年化收益%": 3.45, + "夏普比率": 0.26, + "最大回撤%": -29.54, + "胜率%": 34.62, + "盈亏比": 1.25, + "交易次数": 26, + "平均盈亏": 35.8, + "最佳盈亏": 1710.0, + "最差盈亏": -602.21, + "卡尔玛比率": 0.12, + "耗时s": 0.3 + }, + { + "策略名": "9.牛熊自适应", + "币种": "BNBUSDT", + "时间级别": "6h", + "数据量": "近一年", + "策略类型": "牛熊自适应", + "策略参数": "EMA200投票(斜率+价格+ATH)牛多熊空", + "策略描述": "EMA200斜率+价格vsEMA200+ATH回撤3选2投票,牛市只多/熊市只空", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 12002.37, + "总收益%": 20.02, + "年化收益%": 22.75, + "夏普比率": 0.88, + "最大回撤%": -29.54, + "胜率%": 38.46, + "盈亏比": 1.86, + "交易次数": 13, + "平均盈亏": 166.39, + "最佳盈亏": 1924.86, + "最差盈亏": -677.87, + "卡尔玛比率": 0.77, + "耗时s": 0.6 + }, + { + "策略名": "9.牛熊自适应", + "币种": "BNBUSDT", + "时间级别": "2h", + "数据量": "全量", + "策略类型": "牛熊自适应", + "策略参数": "EMA200投票(斜率+价格+ATH)牛多熊空", + "策略描述": "EMA200斜率+价格vsEMA200+ATH回撤3选2投票,牛市只多/熊市只空", + "日期范围": "2017-11-06~2026-06-11", + "初始资金": 10000.0, + "最终权益": 94590.81, + "总收益%": 845.91, + "年化收益%": 30.0, + "夏普比率": 0.77, + "最大回撤%": -68.25, + "胜率%": 35.08, + "盈亏比": 1.25, + "交易次数": 382, + "平均盈亏": 308.28, + "最佳盈亏": 39276.84, + "最差盈亏": -34906.36, + "卡尔玛比率": 0.44, + "耗时s": 1.2 + }, + { + "策略名": "9.牛熊自适应", + "币种": "BNBUSDT", + "时间级别": "6h", + "数据量": "近半年", + "策略类型": "牛熊自适应", + "策略参数": "EMA200投票(斜率+价格+ATH)牛多熊空", + "策略描述": "EMA200斜率+价格vsEMA200+ATH回撤3选2投票,牛市只多/熊市只空", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 9473.47, + "总收益%": -5.27, + "年化收益%": -12.98, + "夏普比率": -1.48, + "最大回撤%": -6.39, + "胜率%": 0.0, + "盈亏比": 0.0, + "交易次数": 3, + "平均盈亏": -165.75, + "最佳盈亏": -97.12, + "最差盈亏": -286.05, + "卡尔玛比率": -2.03, + "耗时s": 0.6 + }, + { + "策略名": "9.牛熊自适应", + "币种": "BNBUSDT", + "时间级别": "6h", + "数据量": "全量", + "策略类型": "牛熊自适应", + "策略参数": "EMA200投票(斜率+价格+ATH)牛多熊空", + "策略描述": "EMA200斜率+价格vsEMA200+ATH回撤3选2投票,牛市只多/熊市只空", + "日期范围": "2017-11-06~2026-06-11", + "初始资金": 10000.0, + "最终权益": 369288.83, + "总收益%": 3592.89, + "年化收益%": 52.92, + "夏普比率": 1.22, + "最大回撤%": -44.55, + "胜率%": 37.5, + "盈亏比": 1.99, + "交易次数": 128, + "平均盈亏": 2969.59, + "最佳盈亏": 69568.53, + "最差盈亏": -24677.57, + "卡尔玛比率": 1.19, + "耗时s": 0.8 + }, + { + "策略名": "9.牛熊自适应", + "币种": "SOLUSDT", + "时间级别": "2h", + "数据量": "近两年", + "策略类型": "牛熊自适应", + "策略参数": "EMA200投票(斜率+价格+ATH)牛多熊空", + "策略描述": "EMA200斜率+价格vsEMA200+ATH回撤3选2投票,牛市只多/熊市只空", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 8768.52, + "总收益%": -12.31, + "年化收益%": -6.49, + "夏普比率": -0.04, + "最大回撤%": -50.03, + "胜率%": 32.11, + "盈亏比": 0.99, + "交易次数": 109, + "平均盈亏": -1.91, + "最佳盈亏": 2807.06, + "最差盈亏": -817.16, + "卡尔玛比率": -0.13, + "耗时s": 0.7 + }, + { + "策略名": "9.牛熊自适应", + "币种": "SOLUSDT", + "时间级别": "2h", + "数据量": "全量", + "策略类型": "牛熊自适应", + "策略参数": "EMA200投票(斜率+价格+ATH)牛多熊空", + "策略描述": "EMA200斜率+价格vsEMA200+ATH回撤3选2投票,牛市只多/熊市只空", + "日期范围": "2020-08-11~2026-06-11", + "初始资金": 10000.0, + "最终权益": 3754.82, + "总收益%": -62.45, + "年化收益%": -15.54, + "夏普比率": -0.21, + "最大回撤%": -86.07, + "胜率%": 32.47, + "盈亏比": 0.92, + "交易次数": 271, + "平均盈亏": -15.14, + "最佳盈亏": 5464.43, + "最差盈亏": -1930.49, + "卡尔玛比率": -0.18, + "耗时s": 1.0 + }, + { + "策略名": "9.牛熊自适应", + "币种": "SOLUSDT", + "时间级别": "2h", + "数据量": "近一年", + "策略类型": "牛熊自适应", + "策略参数": "EMA200投票(斜率+价格+ATH)牛多熊空", + "策略描述": "EMA200斜率+价格vsEMA200+ATH回撤3选2投票,牛市只多/熊市只空", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 10126.41, + "总收益%": 1.26, + "年化收益%": 1.32, + "夏普比率": 0.19, + "最大回撤%": -30.4, + "胜率%": 40.0, + "盈亏比": 1.09, + "交易次数": 55, + "平均盈亏": 11.64, + "最佳盈亏": 1542.26, + "最差盈亏": -786.43, + "卡尔玛比率": 0.04, + "耗时s": 0.5 + }, + { + "策略名": "9.牛熊自适应", + "币种": "SOLUSDT", + "时间级别": "6h", + "数据量": "全量", + "策略类型": "牛熊自适应", + "策略参数": "EMA200投票(斜率+价格+ATH)牛多熊空", + "策略描述": "EMA200斜率+价格vsEMA200+ATH回撤3选2投票,牛市只多/熊市只空", + "日期范围": "2020-08-11~2026-06-11", + "初始资金": 10000.0, + "最终权益": 31957.5, + "总收益%": 219.58, + "年化收益%": 22.47, + "夏普比率": 0.68, + "最大回撤%": -74.02, + "胜率%": 34.62, + "盈亏比": 1.43, + "交易次数": 78, + "平均盈亏": 300.25, + "最佳盈亏": 11618.63, + "最差盈亏": -3133.32, + "卡尔玛比率": 0.3, + "耗时s": 0.5 + }, + { + "策略名": "9.牛熊自适应", + "币种": "SOLUSDT", + "时间级别": "2h", + "数据量": "近半年", + "策略类型": "牛熊自适应", + "策略参数": "EMA200投票(斜率+价格+ATH)牛多熊空", + "策略描述": "EMA200斜率+价格vsEMA200+ATH回撤3选2投票,牛市只多/熊市只空", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 11801.12, + "总收益%": 18.01, + "年化收益%": 43.59, + "夏普比率": 1.64, + "最大回撤%": -8.98, + "胜率%": 52.17, + "盈亏比": 2.31, + "交易次数": 23, + "平均盈亏": 88.07, + "最佳盈亏": 1406.72, + "最差盈亏": -296.03, + "卡尔玛比率": 4.85, + "耗时s": 0.6 + }, + { + "策略名": "9.牛熊自适应", + "币种": "SOLUSDT", + "时间级别": "6h", + "数据量": "近两年", + "策略类型": "牛熊自适应", + "策略参数": "EMA200投票(斜率+价格+ATH)牛多熊空", + "策略描述": "EMA200斜率+价格vsEMA200+ATH回撤3选2投票,牛市只多/熊市只空", + "日期范围": "2024-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 12141.45, + "总收益%": 21.41, + "年化收益%": 10.81, + "夏普比率": 0.49, + "最大回撤%": -24.65, + "胜率%": 36.84, + "盈亏比": 1.33, + "交易次数": 19, + "平均盈亏": 125.79, + "最佳盈亏": 2479.0, + "最差盈亏": -1190.42, + "卡尔玛比率": 0.44, + "耗时s": 0.6 + }, + { + "策略名": "9.牛熊自适应", + "币种": "SOLUSDT", + "时间级别": "6h", + "数据量": "近一年", + "策略类型": "牛熊自适应", + "策略参数": "EMA200投票(斜率+价格+ATH)牛多熊空", + "策略描述": "EMA200斜率+价格vsEMA200+ATH回撤3选2投票,牛市只多/熊市只空", + "日期范围": "2025-06-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 8435.87, + "总收益%": -15.64, + "年化收益%": -17.39, + "夏普比率": -0.47, + "最大回撤%": -24.65, + "胜率%": 28.57, + "盈亏比": 0.62, + "交易次数": 14, + "平均盈亏": -102.16, + "最佳盈亏": 1110.63, + "最差盈亏": -765.02, + "卡尔玛比率": -0.71, + "耗时s": 0.4 + }, + { + "策略名": "9.牛熊自适应", + "币种": "SOLUSDT", + "时间级别": "6h", + "数据量": "近半年", + "策略类型": "牛熊自适应", + "策略参数": "EMA200投票(斜率+价格+ATH)牛多熊空", + "策略描述": "EMA200斜率+价格vsEMA200+ATH回撤3选2投票,牛市只多/熊市只空", + "日期范围": "2025-12-13~2026-06-13", + "初始资金": 10000.0, + "最终权益": 7942.58, + "总收益%": -20.57, + "年化收益%": -44.68, + "夏普比率": -2.97, + "最大回撤%": -23.56, + "胜率%": 16.67, + "盈亏比": 0.08, + "交易次数": 6, + "平均盈亏": -334.1, + "最佳盈亏": 162.62, + "最差盈亏": -720.29, + "卡尔玛比率": -1.9, + "耗时s": 0.1 + } + ] +} \ No newline at end of file diff --git a/engine/example/vol_break_1h_6h.json b/engine/example/vol_break_1h_6h.json new file mode 100644 index 0000000..4dcd3d1 --- /dev/null +++ b/engine/example/vol_break_1h_6h.json @@ -0,0 +1,312 @@ +{ + "config": { + "strategy": "ATR波动率突破", + "symbols": [ + "BTCUSDT", + "ETHUSDT", + "BNBUSDT", + "SOLUSDT" + ], + "timeframes": [ + "1h", + "2h", + "4h", + "6h" + ], + "period": "近半年", + "initial_capital": 10000.0, + "warmup_bars": 150, + "elapsed_seconds": 0.6400730609893799, + "run_time": "2026-06-13T12:01:08.097745+00:00" + }, + "results": [ + { + "币种": "ETHUSDT", + "时间级别": "1h", + "日期范围": "2025-12-13~2026-06-11", + "初始资金": 10000.0, + "最终权益": 9103.91, + "总收益%": -8.96, + "年化收益%": -17.94, + "夏普比率": -0.17, + "最大回撤%": -38.98, + "胜率%": 20.0, + "盈亏比": 0.91, + "交易次数": 40, + "平均盈亏": -12.76, + "最佳盈亏": 2363.57, + "最差盈亏": -496.06, + "耗时s": 0.3 + }, + { + "币种": "BTCUSDT", + "时间级别": "1h", + "日期范围": "2025-12-13~2026-06-11", + "初始资金": 10000.0, + "最终权益": 9726.77, + "总收益%": -2.73, + "年化收益%": -5.67, + "夏普比率": 0.01, + "最大回撤%": -32.4, + "胜率%": 25.64, + "盈亏比": 1.02, + "交易次数": 39, + "平均盈亏": 2.37, + "最佳盈亏": 1960.9, + "最差盈亏": -713.74, + "耗时s": 0.3 + }, + { + "币种": "BNBUSDT", + "时间级别": "1h", + "日期范围": "2025-12-13~2026-06-11", + "初始资金": 10000.0, + "最终权益": 11586.76, + "总收益%": 15.87, + "年化收益%": 36.37, + "夏普比率": 1.09, + "最大回撤%": -19.14, + "胜率%": 28.12, + "盈亏比": 1.51, + "交易次数": 32, + "平均盈亏": 58.9, + "最佳盈亏": 2400.68, + "最差盈亏": -411.05, + "耗时s": 0.2 + }, + { + "币种": "SOLUSDT", + "时间级别": "1h", + "日期范围": "2025-12-13~2026-06-11", + "初始资金": 10000.0, + "最终权益": 8240.83, + "总收益%": -17.59, + "年化收益%": -33.47, + "夏普比率": -0.57, + "最大回撤%": -49.62, + "胜率%": 23.08, + "盈亏比": 0.8, + "交易次数": 39, + "平均盈亏": -37.47, + "最佳盈亏": 2837.53, + "最差盈亏": -814.13, + "耗时s": 0.3 + }, + { + "币种": "ETHUSDT", + "时间级别": "2h", + "日期范围": "2025-12-13~2026-06-11", + "初始资金": 10000.0, + "最终权益": 12686.34, + "总收益%": 26.86, + "年化收益%": 68.25, + "夏普比率": 1.36, + "最大回撤%": -21.84, + "胜率%": 29.41, + "盈亏比": 1.91, + "交易次数": 17, + "平均盈亏": 173.85, + "最佳盈亏": 2685.48, + "最差盈亏": -507.73, + "耗时s": 0.3 + }, + { + "币种": "BTCUSDT", + "时间级别": "2h", + "日期范围": "2025-12-13~2026-06-11", + "初始资金": 10000.0, + "最终权益": 14294.36, + "总收益%": 42.94, + "年化收益%": 118.42, + "夏普比率": 2.06, + "最大回撤%": -17.1, + "胜率%": 57.14, + "盈亏比": 3.7, + "交易次数": 14, + "平均盈亏": 326.07, + "最佳盈亏": 2115.62, + "最差盈亏": -546.69, + "耗时s": 0.3 + }, + { + "币种": "BNBUSDT", + "时间级别": "2h", + "日期范围": "2025-12-13~2026-06-11", + "初始资金": 10000.0, + "最终权益": 13051.99, + "总收益%": 30.52, + "年化收益%": 79.04, + "夏普比率": 2.05, + "最大回撤%": -13.6, + "胜率%": 46.15, + "盈亏比": 3.62, + "交易次数": 13, + "平均盈亏": 246.85, + "最佳盈亏": 2718.8, + "最差盈亏": -292.95, + "耗时s": 0.2 + }, + { + "币种": "SOLUSDT", + "时间级别": "2h", + "日期范围": "2025-12-13~2026-06-11", + "初始资金": 10000.0, + "最终权益": 12207.75, + "总收益%": 22.08, + "年化收益%": 54.68, + "夏普比率": 1.22, + "最大回撤%": -25.2, + "胜率%": 35.29, + "盈亏比": 1.75, + "交易次数": 17, + "平均盈亏": 150.9, + "最佳盈亏": 2571.92, + "最差盈亏": -719.69, + "耗时s": 0.2 + }, + { + "币种": "BTCUSDT", + "时间级别": "4h", + "日期范围": "2025-12-13~2026-06-11", + "初始资金": 10000.0, + "最终权益": 12105.54, + "总收益%": 21.06, + "年化收益%": 57.21, + "夏普比率": 1.41, + "最大回撤%": -13.55, + "胜率%": 54.55, + "盈亏比": 2.38, + "交易次数": 11, + "平均盈亏": 195.47, + "最佳盈亏": 1727.66, + "最差盈亏": -580.61, + "耗时s": 0.3 + }, + { + "币种": "BNBUSDT", + "时间级别": "4h", + "日期范围": "2025-12-13~2026-06-11", + "初始资金": 10000.0, + "最终权益": 10800.73, + "总收益%": 8.01, + "年化收益%": 20.01, + "夏普比率": 0.64, + "最大回撤%": -21.48, + "胜率%": 57.14, + "盈亏比": 1.95, + "交易次数": 7, + "平均盈亏": 127.36, + "最佳盈亏": 907.82, + "最差盈亏": -465.17, + "耗时s": 0.2 + }, + { + "币种": "ETHUSDT", + "时间级别": "4h", + "日期范围": "2025-12-13~2026-06-11", + "初始资金": 10000.0, + "最终权益": 20044.4, + "总收益%": 100.44, + "年化收益%": 418.79, + "夏普比率": 2.52, + "最大回撤%": -21.71, + "胜率%": 30.0, + "盈亏比": 3.55, + "交易次数": 10, + "平均盈亏": 1013.41, + "最佳盈亏": 8978.94, + "最差盈亏": -1167.65, + "耗时s": 0.2 + }, + { + "币种": "SOLUSDT", + "时间级别": "4h", + "日期范围": "2025-12-13~2026-06-11", + "初始资金": 10000.0, + "最终权益": 16846.12, + "总收益%": 68.46, + "年化收益%": 243.76, + "夏普比率": 2.02, + "最大回撤%": -36.03, + "胜率%": 22.22, + "盈亏比": 2.38, + "交易次数": 9, + "平均盈亏": 768.98, + "最佳盈亏": 9654.28, + "最差盈亏": -1427.23, + "耗时s": 0.2 + }, + { + "币种": "BTCUSDT", + "时间级别": "6h", + "日期范围": "2025-12-13~2026-06-11", + "初始资金": 10000.0, + "最终权益": 14121.75, + "总收益%": 41.22, + "年化收益%": 143.58, + "夏普比率": 2.79, + "最大回撤%": -11.58, + "胜率%": 75.0, + "盈亏比": 6.87, + "交易次数": 4, + "平均盈亏": 1015.11, + "最佳盈亏": 2377.43, + "最差盈亏": -692.0, + "耗时s": 0.3 + }, + { + "币种": "ETHUSDT", + "时间级别": "6h", + "日期范围": "2025-12-13~2026-06-11", + "初始资金": 10000.0, + "最终权益": 12832.56, + "总收益%": 28.33, + "年化收益%": 90.28, + "夏普比率": 1.61, + "最大回撤%": -18.93, + "胜率%": 40.0, + "盈亏比": 3.54, + "交易次数": 5, + "平均盈亏": 561.57, + "最佳盈亏": 2473.69, + "最差盈亏": -528.44, + "耗时s": 0.1 + }, + { + "币种": "BNBUSDT", + "时间级别": "6h", + "日期范围": "2025-12-13~2026-06-11", + "初始资金": 10000.0, + "最终权益": 16288.39, + "总收益%": 62.88, + "年化收益%": 252.0, + "夏普比率": 2.08, + "最大回撤%": -18.31, + "胜率%": 25.0, + "盈亏比": 4.45, + "交易次数": 4, + "平均盈亏": 1593.04, + "最佳盈亏": 8218.32, + "最差盈亏": -1176.64, + "耗时s": 0.2 + }, + { + "币种": "SOLUSDT", + "时间级别": "6h", + "日期范围": "2025-12-13~2026-06-11", + "初始资金": 10000.0, + "最终权益": 14329.33, + "总收益%": 43.29, + "年化收益%": 152.92, + "夏普比率": 2.65, + "最大回撤%": -13.51, + "胜率%": 50.0, + "盈亏比": 6.8, + "交易次数": 4, + "平均盈亏": 1054.76, + "最佳盈亏": 3189.27, + "最差盈亏": -701.15, + "耗时s": 0.2 + } + ] +} \ No newline at end of file diff --git a/engine/example/vol_break_1h_6h.py b/engine/example/vol_break_1h_6h.py new file mode 100644 index 0000000..e52161c --- /dev/null +++ b/engine/example/vol_break_1h_6h.py @@ -0,0 +1,285 @@ +""" +ATR波动率突破 — 1h/2h/4h/6h 近半年横向对比回测 + +用法: + source .venv/bin/activate && python example/vol_break_1h_6h.py +""" + +import asyncio +import json +import sys +import time +from datetime import datetime, timedelta, timezone +from pathlib import Path +from typing import Optional + +_project_root = Path(__file__).resolve().parent.parent.parent +if str(_project_root) not in sys.path: + sys.path.insert(0, str(_project_root)) + +from engine.common.base import BaseStrategy, Signal, StrategyConfig +from engine.common.models import Kline +from engine.common.config import config +from engine.backtest.models import BacktestConfig +from engine.data import DataService +from engine.indicators.incremental import EmaInc, AtrInc, RsiInc, BbInc +from engine.example.long_short import LongShortEngine + +# ── 全局常量 ── +SYMBOLS = ["BTCUSDT", "ETHUSDT", "BNBUSDT", "SOLUSDT"] +TIMEFRAMES = ["1h", "2h", "4h", "6h"] +INITIAL = 10_000.0 +WARMUP = 150 +MAX_CONCURRENCY = 6 + +NOW = datetime.now(timezone.utc) +PERIOD_START = NOW - timedelta(days=182) # 近半年 +PERIOD_END = NOW + +# ════════════════════════════════════════════════════════ +# ATR波动率突破策略 +# ════════════════════════════════════════════════════════ + +class VolBreakConfig(StrategyConfig): + atr_period: int = 14 + squeeze_period: int = 20 + squeeze_ratio: float = 0.7 + atr_stop: float = 2.0 + + +class VolBreakStrategy(BaseStrategy): + strategy_type = "波动率突破" + strategy_desc = "ATR(14)收缩至极低后扩张突破 + EMA(10/30)方向确认" + + def __init__(self, c: VolBreakConfig): + super().__init__(c) + self.cfg = c + self._atr = AtrInc(c.atr_period) + self._ema_fast = EmaInc(10) + self._ema_slow = EmaInc(30) + self._closes: list[float] = [] + self._highs: list[float] = [] + self._lows: list[float] = [] + self._side: str = "" + self._entry_price: float = 0.0 + self._was_squeezed = False + + async def on_kline(self, k: Kline) -> Optional[Signal]: + self._closes.append(k.close) + self._highs.append(k.high) + self._lows.append(k.low) + self._atr.update(k.high, k.low, k.close) + self._ema_fast.update(k.close) + self._ema_slow.update(k.close) + n = len(self._closes) + if n < self.cfg.atr_period + self.cfg.squeeze_period: + return None + atr_now = self._atr[-1] + atr_prev = self._atr[-2] if n >= 2 else 0 + ca = atr_now + if ca == 0: + return None + atr_window = [self._atr[i] for i in range(max(0, n - self.cfg.squeeze_period), n) if self._atr[i] > 0] + if not atr_window: + return None + min_atr = min(atr_window) + is_squeezed = atr_now < min_atr * (1 + (1 - self.cfg.squeeze_ratio)) + atr_expanding = atr_now > atr_prev * 1.05 if atr_prev > 0 else False + cf, cs = self._ema_fast[-1], self._ema_slow[-1] + trend_up = cf > cs + + if self._side == "long": + self._was_squeezed = False + stop = self._entry_price - self.cfg.atr_stop * ca + if k.close < stop or (cf < cs and not is_squeezed): + self._side = "" + return Signal(symbol=self.cfg.symbol, side="SELL", reason="ATR退出", timestamp=k.open_time) + elif self._side == "short": + self._was_squeezed = False + stop = self._entry_price + self.cfg.atr_stop * ca + if k.close > stop or (cf > cs and not is_squeezed): + self._side = "" + return Signal(symbol=self.cfg.symbol, side="BUY", reason="ATR退出", timestamp=k.open_time) + else: + if is_squeezed: + self._was_squeezed = True + elif self._was_squeezed and atr_expanding: + self._was_squeezed = False + if trend_up: + self._side = "long"; self._entry_price = k.close + return Signal(symbol=self.cfg.symbol, side="BUY", reason="ATR扩张突破做多", timestamp=k.open_time) + else: + self._side = "short"; self._entry_price = k.close + return Signal(symbol=self.cfg.symbol, side="SELL", reason="ATR扩张突破做空", timestamp=k.open_time) + return None + + +async def run_one(symbol, interval, start, end): + sc = VolBreakConfig(symbol=symbol) + bt = BacktestConfig( + symbol=symbol, interval=interval, + start_time=start, end_time=end, + initial_capital=INITIAL, warmup_bars=WARMUP, + ) + engine = LongShortEngine(bt, db_config=config.db) + t0 = time.time() + try: + r = await engine.run(VolBreakStrategy, sc) + elapsed = time.time() - t0 + return r, elapsed, None + except Exception as ex: + elapsed = time.time() - t0 + return None, elapsed, str(ex) + + +async def main(): + ds = DataService(config.db) + await ds.connect() + + print("正在获取数据范围...") + date_ranges = {} + for symbol in SYMBOLS: + for tf in TIMEFRAMES: + try: + s, e = await ds.fetch_symbol_date_range(symbol, tf) + bar_ms = {"1h": 3_600_000, "2h": 7_200_000, "4h": 14_400_000, "6h": 21_600_000} + estimated_bars = int((e - s).total_seconds() * 1000 / bar_ms[tf]) + date_ranges[(symbol, tf)] = (s, e, estimated_bars) + print(f" {symbol} {tf:<4}: {s.date()} ~ {e.date()} (约{estimated_bars:,}根)") + except Exception as ex: + print(f" {symbol} {tf:<4}: 获取失败 — {ex}") + + await ds.close() + + sem = asyncio.Semaphore(MAX_CONCURRENCY) + tasks_info = [] + for symbol in SYMBOLS: + for tf in TIMEFRAMES: + key = (symbol, tf) + if key not in date_ranges: + continue + fs, fe, est_bars = date_ranges[key] + actual_start = max(PERIOD_START, fs) + actual_end = min(PERIOD_END, fe) + if actual_start >= actual_end: + continue + tasks_info.append({"symbol": symbol, "tf": tf, "start": actual_start, "end": actual_end}) + + total = len(tasks_info) + print(f"\n共 {total} 组回测任务 (ATR波动率突破 × 4币种 × 4时间 × 近半年)") + + results = [] + completed = 0 + errors = 0 + + async def run_one_safe(info): + nonlocal completed, errors + async with sem: + r, elapsed, err = await run_one(info["symbol"], info["tf"], info["start"], info["end"]) + completed += 1 + if err: + errors += 1 + status = f"✗ {err[:40]}" + elif r is None: + errors += 1 + status = "✗ 无结果" + else: + m = r.metrics + status = f"✓ {m.annual_return_pct:+.1f}%/yr" + print(f" [{completed}/{total}] {info['symbol']} {info['tf']} ({elapsed:.1f}s) {status}", flush=True) + + row = { + "币种": info["symbol"], + "时间级别": info["tf"], + "日期范围": f"{info['start'].date()}~{info['end'].date()}", + } + if r is not None: + m = r.metrics + row.update({ + "初始资金": INITIAL, + "最终权益": round(m.final_equity, 2), + "总收益%": round(m.total_return_pct, 2), + "年化收益%": round(m.annual_return_pct, 2), + "夏普比率": round(m.sharpe_ratio, 2), + "最大回撤%": round(m.max_drawdown_pct, 2), + "胜率%": round(m.win_rate * 100, 2), + "盈亏比": round(m.profit_factor, 2), + "交易次数": m.total_trades, + "平均盈亏": round(m.avg_trade_pnl, 2), + "最佳盈亏": round(m.best_trade_pnl, 2), + "最差盈亏": round(m.worst_trade_pnl, 2), + "耗时s": round(elapsed, 1), + }) + else: + row.update({ + "初始资金": INITIAL, "最终权益": 0, "总收益%": 0, "年化收益%": 0, + "夏普比率": 0, "最大回撤%": 0, "胜率%": 0, "盈亏比": 0, + "交易次数": 0, "平均盈亏": 0, "最佳盈亏": 0, "最差盈亏": 0, + "耗时s": round(elapsed, 1), "错误": err or "未知错误", + }) + results.append(row) + return row + + t_total = time.time() + await asyncio.gather(*[run_one_safe(info) for info in tasks_info]) + total_elapsed = time.time() - t_total + + print(f"\n全部完成!成功 {total - errors}/{total},错误 {errors},总耗时 {total_elapsed:.0f}s") + + # ── 打印 ── + print() + print("═" * 145) + print(" ATR波动率突破 — 1h / 2h / 4h / 6h 近半年横向对比") + print(" 策略: ATR(14)/squeeze=20x0.7/EMA(10,30) | 本金 $10,000 | 多空双向") + print("═" * 145) + print() + + # 按时间级别排序 + results.sort(key=lambda x: TIMEFRAMES.index(x["时间级别"])) + + print(f" {'币种':<10} {'时间':<5} {'总收益%':>8} {'年化%':>8} {'夏普':>7} {'回撤%':>7} {'胜率%':>7} {'盈亏比':>7} {'交易':>6} {'最佳盈亏':>10} {'最差盈亏':>10} {'日期范围':<24}") + print(" " + "─" * 140) + for r in results: + print(f" {r['币种']:<10} {r['时间级别']:<5} {r['总收益%']:>7.1f}% {r['年化收益%']:>7.1f}% {r['夏普比率']:>7.2f} {r['最大回撤%']:>7.1f}% {r['胜率%']:>6.1f}% {r['盈亏比']:>7.2f} {r['交易次数']:>6} {r['最佳盈亏']:>+9.0f} {r['最差盈亏']:>+9.0f} {r['日期范围']:<24}") + print() + + # ── 各时间级别汇总 ── + print("═" * 145) + print(" ■ 各时间级别排名(按年化收益)") + print("═" * 145) + for tf in TIMEFRAMES: + subset = [r for r in results if r["时间级别"] == tf] + if not subset: + continue + subset.sort(key=lambda x: x.get("年化收益%", -9999), reverse=True) + print(f"\n ▲ {tf} 近半年") + print(f" {'排名':<5} {'币种':<10} {'总收益%':>8} {'年化%':>8} {'夏普':>7} {'回撤%':>7} {'胜率%':>7} {'盈亏比':>7} {'交易':>6}") + print(" " + "─" * 100) + for i, r in enumerate(subset): + marker = ["🥇", "🥈", "🥉", " 4"][i] + print(f" {marker:<5} {r['币种']:<10} {r['总收益%']:>7.1f}% {r['年化收益%']:>7.1f}% {r['夏普比率']:>7.2f} {r['最大回撤%']:>7.1f}% {r['胜率%']:>6.1f}% {r['盈亏比']:>7.2f} {r['交易次数']:>6}") + + print() + print("═" * 145) + + # ── 保存 JSON ── + output_file = _project_root / "engine" / "example" / "vol_break_1h_6h.json" + with open(output_file, "w", encoding="utf-8") as f: + json.dump({ + "config": { + "strategy": "ATR波动率突破", + "symbols": SYMBOLS, + "timeframes": TIMEFRAMES, + "period": "近半年", + "initial_capital": INITIAL, + "warmup_bars": WARMUP, + "elapsed_seconds": total_elapsed, + "run_time": datetime.now(timezone.utc).isoformat(), + }, + "results": results, + }, f, ensure_ascii=False, indent=2, default=str) + print(f" 结果已保存至: {output_file}") + + +if __name__ == "__main__": + asyncio.run(main())