DUCKQUANT / THE QUANT & AI DIRECTORY

3EMA pullback zone — daily rule variant

Public rule reference · MA pullback

Published variant · FMZ · source checked 2026-10-25

Strategy research profile

Strategy overview

An ordered EMA stack defines trend while a bounded price zone identifies a pullback. The entry therefore seeks a pause within strength rather than a fresh upper-channel breakout.

Strategy style
Trend pullback
Rule family
MA pullback
Source platform
FMZ
Source attribution
ChaoZhang
Source example / declared timeframe
5m
Benchmark timeframe
1D · completed bars
Primary tested assets
Bitcoin · GLD gold ETF · QQQ Nasdaq-100 ETF
Supplementary asset
Ethereum · Binance spot
Direction / sizing
Long / cash · all available cash at entry
Evaluation window
2024-01-01 → 2025-12-31
Indicator warm-up
Crypto 2022–2023; ETFs Jun 2021–2023
Execution
Next daily open · fractional units
Initial capital
10,000 quote units · USD or USDT

Source attribution and native timeframe are transcribed only from hash-matched reviewed source text. These are source example/declaration values, not verified authorship or the timeframe of this benchmark.

Theoretical basis

A higher-level trend or regime supplies context while a shorter correction supplies timing. Separating bias from trigger can delay entry and can exclude many apparent rebounds.

Market-regime hypothesis

Corrections inside an established trend rather than persistent trend failure.

DuckQuant editorial interpretation of the rule. These mechanisms and regime expectations are hypotheses, not independently established explanations of the measured returns.

Risks and failure modes

A pullback can become a reversal. Multi-stage conditions introduce timing sensitivity and can retain stale state.

  • A retrospective two-year window and ETF proxy choices do not establish general robustness.
  • Daily-open fills omit order-book depth, lot constraints, taxes and intrabar stop behavior.
  • Related rules and identical execution paths are not independent evidence.

Exact rule

EMA20>EMA50>EMA100, EMA50 above prior two values, close>EMA50 and <=EMA20 enters; opposite source zone exits.

Indicators and rule tokens

EMA20EMA50EMA100

All thresholds, lookbacks and timing conventions are specified in the exact rule above and the downloadable adapter. Source platform settings do not override this frozen benchmark rule.

Original source

View original public source ↗ · View source code at the reviewed commit ↗

Reviewed source SHA256: 732569795c39799c9e8d1b79ad0bb83eb95b5344abb986f1d3bc0014a1fad0ab

Reading and theoretical references

Adaptation and interpretation

Daily closed-bar signals, next-open all-in long/cash, fixed fees/slippage. Short entries become cash. Source risk sizing, intraday orders, ROI, TP/SL, trailing stops, pyramiding, sessions and protections are NOT native replicas unless explicitly implemented in the stated rule. Source conflict signals resolve to cash. Common indicators are not certified TA-Lib/Pine identical.

These are normalized daily long/cash rule tests. They do not reproduce every original platform order, risk control or indicator initialization. Indicator-rule references are explicit interpretations of teaching documentation, rather than complete original published systems.

Standardized backtest results

2024-01-01 → 2025-12-31 · crypto 2022–2023 / ETF Jun 2021–2023 warm-up · 10,000 quote units initial capital · 10 bps fee + 5 bps adverse slippage per side · completed-bar signals, next-open execution.

3EMA pullback zone — daily rule variant — actual Bitcoin, gold ETF and Nasdaq-100 ETF backtest report, equity, drawdown and monthly returns
Actual browser capture of the DuckQuant standardized backtest report · captured 2026-10-25. Teal equity is the strategy; dashed equity is same-asset buy and hold with the same modeled costs. Monthly cells follow the continuous account; annual subtests restart cash. This is our measured report, not an original-platform screenshot. Open the image for full-resolution inspection. Download this report's data.
Asset cohorts rank independently by net daily Sharpe. Annual subtests restart in cash; cost stress doubles fees and slippage.
AssetRank / 100Net returnCAGRMax drawdownSharpeOrders2024 restarted return2025 restarted returnDouble-cost return
BTCUSDT4255.95%24.84%-33.52%0.73887.58%-17.11%54.09%
GLD4106.40%43.59%-10.13%2.16226.10%61.79%105.78%
QQQ2633.54%15.53%-13.52%0.97426.29%4.77%32.74%
ETHUSDT4623.20%10.98%-51.53%0.46610.75%10.91%22.10%

BTCUSDT: low activity, fewer than ten orders in the evaluation period.

GLD: low activity, fewer than ten orders in the evaluation period.

GLD executed targets match these versions during this period:

Matching paths are not independent performance evidence and need not imply identical rules outside this sample.

QQQ: low activity, fewer than ten orders in the evaluation period.

ETHUSDT: low activity, fewer than ten orders in the evaluation period.

Additional measured diagnostics

AssetAnnualized volatilitySortinoCalmarvs buy & hold (pp)Double-cost drag (pp)Longest underwater (days)
BTCUSDT42.50%1.110.74-50.721.86344
GLD17.60%3.204.300.000.6291
QQQ16.26%1.351.15-18.770.80246
ETHUSDT54.37%0.700.21-6.641.10519
Metric definitions and unavailable statistics
annualized volatility
Sample standard deviation of daily equity returns, including initial cash, multiplied by sqrt(365) for crypto or sqrt(252) for ETFs.
sortino
Mean daily return / sqrt(mean(min(return,0)^2)) × sqrt(asset annualization sessions); minimum acceptable daily return 0; N/A without downside.
calmar
Evaluation CAGR / absolute evaluation maximum drawdown; N/A with zero drawdown.
relative return pp
Strategy total net return minus same-asset buy-and-hold total net return, in percentage points; not factor-adjusted alpha.
cost drag pp
Base net return minus doubled-cost net return, in percentage points.
longest underwater days
Longest observed calendar duration from a daily equity peak until a later below-peak close, including initial cash. Unrecovered runs are censored at sample end; closed-market days between observations count as calendar time.
monthly returns
Continuous account month-end equity change from preceding month-end (initial cash for first month); differs from yearly cash-restart subtests.

Orders are entry/exit operations. Round-trip win rate, profit factor and trade-level holding periods are not available in the stored run and are not estimated.

Primary coverage: BTCUSDT, GLD gold ETF and QQQ Nasdaq-100 ETF; ETH is supplementary. ETF prices are raw traded USD OHLCV. Dividend entitlements accrue for prior-close holders and settle on official payment dates; paid dividends remain cash until a later entry, with no automatic reinvestment. Sharpe uses 252 ETF sessions or 365 crypto days. CAGR uses 731 calendar days. Gold spot and the Nasdaq-100 index are represented by traded proxies; USD and USDT are not FX-normalized.

Retrospective historical comparison; no sealed out-of-sample validation or future return claim. Read the complete evaluation protocol.

Data and reproduction

GLD gold ETF results · QQQ Nasdaq-100 ETF results · Asset definitions and data conventions

BTC daily equity JSON · ETH daily equity JSON · Source registry · Download engine, data and tests

Strategy identifier: community-fmz-triple-ema-pullback

Sign In

Register

Reset Password

Please enter your username or email address, you will receive a link to create a new password via email.