ETH Araw na Bullish Engulfing Pattern Long na may 200-SMA Bull Regime Filter
Resulta: Inabandona
EthDailyBullishEngulfingRegimeLong
Buod ng Resulta
Ito ang unang strategy sa pamilya ng candlestick na nagpakita ng tunay na edge: bullish-engulfing long na naka-gate sa bull regime sa ETH daily na, dahil long-only at may 200-SMA filter, ay umasal na reversal ng pullback kasabay ng trend at hinayaang tumakbo ang mga panalo (PF 1.18, Sharpe 0.77, +14.9%, positibong payoff asymmetry), kaya nakakuha ng hatol na 'optimize' kahit binanggit na maliit ang sample na 39 trade. Ngunit inilantad ng 3-phase optimization na ingay lang ito ng best-of-N — deflated Sharpe na 0.0009, PBO 0.73, overfitted ang walk-forward at bumagsak ang OOS Sharpe sa -0.36, tatlong sensitivity cliff, at talagang nalugi ang optimized config (-8.83%). Iniwan ito ng analyst sa analyzing stage sa ikalawang iteration, na nagpapatunay sa paunang babala: napakabihirang mabuo ng mga discrete daily candlestick pattern para mapatunayan sa labas ng sample, walang matatag na rehiyon ng parameter na puwedeng pagtuunan sa susunod na iteration, at walang na-promote na kapareha na malilipatan.
Long-only na trading strategy sa iisang instrumento: CANDLESTICK-PATTERN sa perpetual futures na ETHUSDT, gamit ang daily bar at datos na OHLCV lang, na may bull regime filter na 200-SMA. Ang trigger ay isang klasikong Japanese candlestick reversal pattern na idinokumento ni Steve Nison (Japanese Candlestick Charting Techniques, 1991) at sinubok sa iba't ibang asset class sa loob ng humigit-kumulang 35 taon: ang 'bullish engulfing' ay pormasyon ng iisang bar kung saan lubos na nilalamon ng range ng kasalukuyang……Magpakita ng higit paMagpakita ng mas kaunti
Long-only na trading strategy sa iisang instrumento: CANDLESTICK-PATTERN sa perpetual futures na ETHUSDT, gamit ang daily bar at datos na OHLCV lang, na may bull regime filter na 200-SMA. Ang trigger ay isang klasikong Japanese candlestick reversal pattern na idinokumento ni Steve Nison (Japanese Candlestick Charting Techniques, 1991) at sinubok sa iba't ibang asset class sa loob ng humigit-kumulang 35 taon: ang 'bullish engulfing' ay pormasyon ng iisang bar kung saan lubos na nilalamon ng range ng kasalukuyang daily bar ang range ng naunang bar AND nagsasara sa direksiyon ng paglawak pataas. Tiyak na ganito: current_high > prior_high AND current_low < prior_low AND current_close > prior_close AND prior_close < prior_open (bearish ang naunang bar — binabaligtad ng engulfing ang naunang pababang bar). Isa itong DISCRETE 2-BAR GEOMETRIC PATTERN — lubhang naiiba sa bawat umiiral na mekanismo ng portfolio: hindi ito NOT threshold ng tuloy-tuloy na estadistika (RSI/BB/VWAP), NOT bilang ng mga event (magkakasunod na araw ng pagbaba), NOT sukat ng lalim ng drawdown, NOT pagsisikip ng volatility (inside day), at NOT breakout na nagpapatuloy ng momentum. Kinukuha nito ang paglawak ng directional volatility na may paninindigan (ang pagsasara sa direksiyon ng paglawak ang pangunahing signal). Gumagana ang pattern dahil isa itong event sa market microstructure: ipinahihiwatig ng bar na lumalamon sa range ng naunang bar at AND nagsasara nang pataas na nabalanse ng mga mamimili ang lahat ng bentahan noong nakaraang araw AND nagdagdag sila ng bagong demand sa mas mataas na presyo — isang klasikong palatandaan ng pagkaubos ng supply na sinusundan ng pagbaligtad. Pinili ang daily timeframe na ETH dahil (a) ang ETH daily futures data path ang pinakamaraming naka-cache sa system (ginagamit na ito ng 3 strategy sa pipeline: EthDailyGoldenCrossMomentumLong, EthDailyConsecutiveDownDayPullbackLong, kasama ang daily regime filter ng iba pang strategy), kaya mas matatag ang pagkuha ng datos; (b) kailangan ng candlestick pattern ang mga timeframe na mahalaga sa pagpapasya ng tao — ang daily ang karaniwang timeframe ni Nison, NOT 4H o intraday; (c) may mahusay na dokumentasyon ang ETH sa mean-reversion behavior ng daily candlestick na dulot ng mga daloy ng institusyon na partikular sa ETH (ETF rebalancing, mga siklo ng staking redemption). Saklaw na ng ETH: tumutugon ang Golden Cross sa RARE pangyayaring nagbabago ng regime sa loob ng maraming buwan; tumutugon ang Consecutive-Down-Day sa mga pullback batay sa bilang na SHORT-TERM; tumutugon ang Bullish Engulfing sa mga pattern ng pagbaligtad na DISCRETE 2-bar — tatlong magkakahiwalay na dalas ng signal at pundasyong estadistikal sa iisang asset. 2 tahasang parameter lang ang kailangan (panahon ng regime na SMA, porsiyento ng stop-loss) — pinakamababang bilang ng parameter sa lahat ng strategy sa portfolio.
Bigo ang deflated Sharpe: DSR=0.0009 (kumpara sa 0.95 bar), inaasahang maximum=4.93 sa 225 pagsubok habang negatibo ang napiling Sharpe — hindi maihihiwalay sa istatistika ang edge sa ingay ng pagpili ng pinakamahusay sa N. Sabay-sabay na pumalya ang lahat ng mapagpasyang gate: is_significant=false na may sharpe_ci_low -3.87 (CI tumatawid sa 0), pbo=0.7315 (>0.5), walk-forward is_overfitted=true (bumagsak ang avg IS 1.83 tungo sa avg OOS -0.36, OOS window [-3.90, 2.83, 0.0]), at sensitivity FAILED na may 3……Magpakita ng higit paMagpakita ng mas kaunti
Bigo ang deflated Sharpe: DSR=0.0009 (kumpara sa 0.95 bar), inaasahang maximum=4.93 sa 225 pagsubok habang negatibo ang napiling Sharpe — hindi maihihiwalay sa istatistika ang edge sa ingay ng pagpili ng pinakamahusay sa N. Sabay-sabay na pumalya ang lahat ng mapagpasyang gate: is_significant=false na may sharpe_ci_low -3.87 (CI tumatawid sa 0), pbo=0.7315 (>0.5), walk-forward is_overfitted=true (bumagsak ang avg IS 1.83 tungo sa avg OOS -0.36, OOS window [-3.90, 2.83, 0.0]), at sensitivity FAILED na may 3 matatarik na pagbagsak (max_hold_bars, regime_period, stop_loss_pct), kaya walang matatag na rehiyong maaaring pagtuunan sa pag-aayos. Nalulugi ang in-optimize na config (total_return -8.83%, Sharpe -0.47, PF 0.83, expectancy -$311/trade, avg_position_pct 164.9%) — ginawa itong WORSE ng optimization kaysa sa unang point estimate na +14.9%. Degenerate na artifact ang 'passed=true' sa holdout (ratio 0 laban sa denominator na NEGATIVE ng walk-forward-OOS na -0.36; iisang masuwerteng window ang holdout 1.74), hindi tunay na katatagan. Kinukumpirma ng ugat ng problema ang paunang pag-iingat bago ang optimization: 39 entry lamang ang nagawa ng discrete na bullish-engulfing pattern sa loob ng 6 taon sa iisang asset — kulang para mapatunayan sa out-of-sample, kaya ang kaakit-akit na paunang Sharpe (0.77, raw CI -1.37 hanggang +2.17) ay best-case point estimate na nawala sa deflation dahil sa multiple testing. Huwag nang ulitin (walang matatag na rehiyon ng parameter; pipili lang muli ang ikalawang sweep ng isa pang best-of-N artifact sa parehong manipis na sample). Huwag revise_hypothesis (event sparsity at kawalan ng makabuluhang edge ang sanhi ng pagkabigo, hindi napatunayang mekanismong napadpad sa patay na target; walang na-promote na kapatid na estratehiya na maaaring puntahan, at mas malala ang bagsak ng long-short na ETH engulfing variant). FAILURE PATTERN: napakadalang mag-trigger ang mga reversal ng candlestick pattern sa arawang datos ng iisang asset (bullish engulfing) (~6-7/taon) para makapasa sa walk-forward at deflated-Sharpe testing — ingay ng best-of-N ang katamtamang positibong point estimate sa ~39 trade, na pumapalya sa DSR (0.0009), PBO (0.73), at is_overfitted=true; nagdudulot ang sobrang pagpili ng naluluging config na na-optimize.
Implementasyon
Long-only na single-instrument na Nison (1991) bullish-engulfing reversal sa ETHUSDT.BINANCE USD-M perp, daily bars, purong OHLCV, na may 200-SMA bull regime filter. Nagbubukas ng long kapag may bullish engulfing (nilalamon ng kasalukuyang bar ang range ng naunang bearish bar at mas mataas ang pagsasara) habang ang close ay > 200-SMA. Nagbabalik na ngayon ang calculate_signal() ng tuloy-tuloy at nag-iibang monitoring score (tanh blend ng log-return at trailing z-score) sa mga bar na walang pattern o nasa warmup, samantalang nagbabalik ang kumpirmadong engulfing-in-regime ng magnitude na >= 2.0; gated ang mga entry sa should_enter() sa entry_threshold=1.5 kaya kumpirmadong pattern lang ang tine-trade. Mga exit: take-profit, stop-loss, pagkasira ng regime (close < SMA), o time stop na maximum hold. Leverage 2.0 (~1.2x equity notional).
Pag-aayos sa iteration 2 para sa kabiguan ng Layer-2 na 'frozen signal: lahat ng 299 signal ay 0.0'. Ang ugat ng problema ay ang gated-signal anti-pattern na pinalala ng 200-bar na regime warmup: nagbalik ang calculate_signal() ng 0.0 sa bawat bar na walang kumpirmadong bullish-engulfing-in-regime, na siyang bawat bar sa makikinis na synthetic trend. Ayos: nagdagdag ng tuloy-tuloy na monitoring base (_monitoring_base: tanh(logret*50) na hinalo sa trailing 30-bar z-score — ang napatunayang anyong nag-iiba-iba sa……Magpakita ng higit paMagpakita ng mas kaunti
Pag-aayos sa iteration 2 para sa kabiguan ng Layer-2 na 'frozen signal: lahat ng 299 signal ay 0.0'. Ang ugat ng problema ay ang gated-signal anti-pattern na pinalala ng 200-bar na regime warmup: nagbalik ang calculate_signal() ng 0.0 sa bawat bar na walang kumpirmadong bullish-engulfing-in-regime, na siyang bawat bar sa makikinis na synthetic trend. Ayos: nagdagdag ng tuloy-tuloy na monitoring base (_monitoring_base: tanh(logret*50) na hinalo sa trailing 30-bar z-score — ang napatunayang anyong nag-iiba-iba sa mga synthetic scenario na ito) at ibinabalik ito sa lahat ng bar na walang pattern AND habang may regime warmup, kaya nag-iiba ang signal simula sa bar 2. Nananatiling gated ang binary na desisyon: nagbabalik ang kumpirmadong engulfing ng magnitude na >= 2.0 at mga threshold ng should_enter() sa entry_threshold=1.5, kaya hindi nagbabago ang mga aktuwal na entry (at asal ng trade sa Layer-3) kumpara sa bersiyong pumasa sa Layer 1. Hinigpitan ang guard ng position_size() sa signal <= entry_threshold para umayon sa gate (tinatawag lang naman ito kapag kumpirmado na ang entry). Hindi binago ang should_exit() — hindi nito binabasa ang signal (batay sa PnL/regime/oras), kaya hindi magdudulot ng maling exit ang hindi na serong base. Hindi ginalaw ang mga import (numpy lang, walang ipinagbabawal na import), kaya napapanatili ang pagpasa sa Layer-1. Hindi nagbago ang venue/leverage: BINANCE futures sa leverage na 2.0, kung saan tunay na gumagamit ng leverage ang position_size (equity * position_pct * leverage).
Mga Resulta ng Beripikasyon
Bumagsak ang verification (Layer 2 — mga synthetic scenario):
Mga ginamit na parameter: ['min_notional', 'position_pct', 'max_hold_bars', 'regime_period', 'stop_loss_pct', 'take_profit_pct']
Tiyaking itinatakda ng __init__ ang lahat ng attribute mula sa self.parameters.get().
- steady_uptrend: Frozen signal: magkakapareho ang lahat ng 299 signal (value=0.0). Malamang may bug ang calculate_signal() — hindi nag-iiba ang signal.
- steady_downtrend: Frozen signal: magkakapareho ang lahat ng 299 signal (value=0.0). Malamang may bug ang calculate_signal() — hindi nag-iiba ang signal.
Pagsusuri ng Backtest
Sharpe
0.77
Kabuuang Return
14.94%
Max Drawdown
29.89%
Kabuuang Trade
39
Win Rate
43.6%
Profit Factor
1.18
Unang nagpakita ng tunay na edge sa pamilya ng candlestick: positibong expectancy (+$308/trade), profit_factor 1.18, Sharpe 0.77, sortino 1.45, omega 1.27, alpha +0.007.
Positibo ang payoff asymmetry (avg_win $4,618 > avg_loss $3,022) — ginagawang reversal ng pullback kasabay ng trend ng bull-regime gate at long-only ang engulfing pattern, kaya napapatakbo ang mga panalo; iba ito sa iniwang long-short ETH engulfing na kapareha (PF 0.37).
Malinis na implementasyon: avg_position_pct 123% ≈ nilalayong 120% (walang stacking artifact), tugma ang mga trade sa hypothesis, positibo sa 3 sa 5 taon, kapasidad na $9.6M.
Lubhang nililimitahan ng disenyong may kaunting 2 parameter (regime_period, stop_loss) ang panganib ng overfitting sa optimization.
Maliit na sample: 39 trade lang sa loob ng ~6 taon (exposure na 2.78%) — napakalawak ng saklaw ng Sharpe na CI (-3.51 hanggang +3.45) at sumasaklaw ito sa 0, kaya hindi pa maihihiwalay sa ingay sa estadistika ang edge (probabilistic_sharpe 0.68).
Katamtaman ang headline (+14.9% sa kabuuan, ~2.5% CAGR); 2023 ay -11% dahil pumalya ang mga reversal sa gitna ng regime.
win_rate 43.6% na may hanggang 8 sunod-sunod na pagkatalo — mahahaba ang mga drawdown na kailangang kayanin kahit positibo ang average.
Pagsusuri
Malinis at payak na implementasyon (tamang geometry ng engulfing, 200-SMA gate, avg_position_pct 123% ≈ nilalayong 120% sa paunang run, walang data artifact) — nagpakita ang paunang backtest ng kapani-paniwalang positibong point estimate (PF 1.18, Sharpe 0.77, positibong payoff asymmetry).
Nililimitahan ng payak na saklaw ng parameter ang espasyo ng paghahanap, kaya malinaw na pagbasa ito sa signal, hindi epekto ng sobrang daming parameter.
Mapagpasyang bumagsak sa deflated Sharpe: DSR 0.0009 laban sa 0.95 bar; expected-max Sharpe na 4.93 sa 225 pagsubok habang negatibo ang napiling Sharpe — walang pagkakaiba sa ingay ng best-of-N.
Walk-forward is_overfitted=true: avg IS 1.83 naging avg OOS -0.36, OOS mga window [-3.90, 2.83, 0.0].
Bumagsak ang sensitivity na may 3 cliffs (max_hold_bars, regime_period, stop_loss_pct) — walang matatag na rehiyong puwedeng pagtuunan ng tuning.
Net loser ang optimized config (total_return -8.83%, Sharpe -0.47, PF 0.83, expectancy -$311/trade) at sobra ang leverage (avg_position_pct 164.9%) — mas pinasama ng optimization ang resulta kumpara sa +14.9% na paunang bersiyon.
Depektong divide-by-zero artifact ang 'pagpasa' sa holdout (ratio na 0 laban sa negatibong denominator na WF-OOS na may -0.36), hindi tunay na robustness.
Ugat ng problema: 39 discrete engulfing entry lang sa loob ng 6 taon — sa estruktura pa lang, napakaliit ng sample para mapatunayan sa labas ng sample sa iisang asset.
Buod ng Resulta
Hindi maihihiwalay sa ingay ng best-of-N sa estadistika ang katamtamang positibong point estimate mula sa ~39 discrete-pattern entry lang sa loob ng 6 taon — napakabihirang mabuo ng mga discrete na daily candlestick reversal sa iisang asset (~6-7/taon) para makapasa sa walk-forward at deflated-Sharpe testing, at maaaring mawala o bumaligtad tungo sa pagkalugi ang edge ng maliit na sample dahil sa deflation mula sa multiple testing.
Hindi tulad ng mga kapareha nito, nakalusot ito sa backtest-review gate na may hatol na 'optimize', pero iniwan ito ng analyst matapos ang optimization: sabay-sabay na bumagsak ang bawat mapagpasiyang robustness gate (deflated Sharpe, PBO, is_significant, walk-forward is_overfitted, sensitivity cliffs), nalugi ang optimized config, at ang 'pass' sa holdout ay depektong artifact na divide-by-zero — ingay ng pagpili ng best-of-N sa napakaliit na sample ang kaakit-akit na paunang Sharpe.
Long-only at single-instrument na candlestick-pattern strategy sa ETHUSDT daily Binance futures (leverage na 2.0x), na pumapasok sa klasikong 2-bar na bullish-engulfing reversal ni Nison (nilalamon ng kasalukuyang bar ang range ng naunang bearish bar at mas mataas ang pagsasara), na may 200-SMA bull regime filter at payak na disenyong may 2 parameter.
Nagpakita ng tunay na edge ang paunang backtest — 39 trade, +14.9% kabuuang return, Sharpe 0.77, profit factor 1.18, positibong expectancy na +$308/trade at paborableng payoff asymmetry (avg win na $4,618 > avg loss na $3,022), kapasidad na $9.6M, positibo sa 3 sa 5 taon — pero bumagsak ito sa ilalim ng optimization: deflated Sharpe na 0.0009 (laban sa 0.95 bar), PBO 0.73, overfitted ang walk-forward (bumagsak ang avg IS 1.83 tungo sa avg OOS -0.36), 3 sensitivity cliff, at net loser na optimized config (-8.83%, Sharpe -0.47, PF 0.83).
Ang Stratmill ay isang tool para sa pananaliksik at paper trading, hindi payo sa pananalapi o isang broker. Ang mga resulta ng backtest at paper trading ay hypothetical. May panganib ng pagkalugi ang pangangalakal.