Pattern Entry Research v1 — Summary Report

Run date: 2026-04-12 Universe: v5.1 optimized filter Period: 2016-01-01 to 2025-06-30 (OOS split: 2024-01-01) Exit: TP=100%, SL=-50%, max_hold=180d Total configs tested: 111 Configs with >=5 trades: 111

Best Config Per Pattern

PatternConfigTradesMean RetWin RateSharpeIS RetOOS Ret
bullish_engulfingdailydt=lower_lows_3os=rsi_below_30cf=volume_expansion8932.0%49.4%
piercing_patternweeklydt=below_sma50os=rsi_below_30cf=none577.5%80.0%
morning_starweeklydt=lower_lows_3os=rsi_below_30cf=none2713.6%51.8%
key_reversaldailydt=below_sma50os=rsi_below_30cf=volume_expansion5022.1%54.0%
outside_reversaldailydt=lower_lows_3os=rsi_below_30cf=volume_expansion5931.5%55.9%
wyckoff_springdailydt=lower_lows_3os=rsi_below_30cf=nonereclaim_bars=136210.7%
2b_reversaldailydt=lower_lows_3os=rsi_below_30cf=close_above_prior_high16418.0%43.9%
3bar_flush_reclaimdailydt=lower_lows_3os=below_bb_lowercf=volume_expansion11224.0%52.7%

Daily vs Weekly Comparison (Multi-Candle Patterns)

PatternTimeframeTradesMean RetWin RateSharpe
bullish_engulfingdaily_baseline9186.0%38.2%0.093
bullish_engulfingweekly_baseline1988.4%42.4%0.132
bullish_engulfingweekly_conditions4536.8%55.6%0.436
piercing_patterndaily_baseline2824.1%37.9%0.066
piercing_patternweekly_baseline4512.0%48.9%0.201
piercing_patternweekly_conditions577.5%80.0%1.195
morning_stardaily_baseline7176.8%38.5%0.097
morning_starweekly_baseline1553.7%38.1%0.062
morning_starweekly_conditions2713.6%51.8%0.215

Portfolio Simulation (Top Configs)

PatternTotal ReturnMax DDTrades TakenSharpeWin Rate
bullish_engulfing362.0%-28.8%670.36546.3%
morning_star40.4%-31.3%270.21551.8%
key_reversal101.6%-37.7%450.28348.9%
outside_reversal211.2%-24.3%470.35151.1%
wyckoff_spring95.9%-64.5%1320.11137.1%
2b_reversal47.7%-70.9%910.12038.5%
3bar_flush_reclaim346.0%-52.4%850.29948.2%

Full Results Detail

LabelTradesIS/OOSMean RetWin RateSharpeTP%SL%
piercing_patternweeklydt=below_sma50os=rsi_below_30cf=none52/377.5%
outside_reversaldailydt=lower_lows_3os=rsi_below_30cf=volume_expansion5941/1831.5%
bullish_engulfingdailydt=lower_lows_3os=rsi_below_30cf=volume_expansion8963/2632.0%
piercing_patterndailydt=below_sma50os=rsi_below_30cf=volume_expansion2012/826.0%
bullish_engulfingweeklydt=lower_lows_3os=rsi_below_30cf=none4532/1336.8%
piercing_patterndailydt=below_sma50os=rsi_below_30cf=close_above_prior_high2213/925.0%
3bar_flush_reclaimdailydt=lower_lows_3os=below_bb_lowercf=volume_expansion11282/3024.0%
outside_reversaldailydt=lower_lows_3os=rsi_below_30cf=next_day_break_high6347/1625.1%
key_reversaldailydt=below_sma50os=rsi_below_30cf=volume_expansion5040/1022.1%
outside_reversaldailydt=lower_lows_3os=rsi_below_30cf=close_above_prior_high5237/1520.5%
bullish_engulfingdailydt=lower_lows_3os=rsi_below_30cf=none171119/5221.3%
outside_reversaldailydt=lower_lows_3os=rsi_below_30cf=none10670/3623.5%
piercing_patterndailydt=below_sma50os=rsi_below_30cf=none3924/1521.7%
key_reversaldailydt=below_sma50os=rsi_below_30cf=next_day_break_high5945/1416.0%
2b_reversaldailydt=lower_lows_3os=rsi_below_30cf=close_above_prior_high164112/5218.0%
bullish_engulfingdailydt=lower_lows_3os=rsi_below_30cf=close_above_prior_high9868/3014.9%
bullish_engulfingdailydt=lower_lows_3os=rsi_below_30cf=next_day_break_high10878/3015.3%
morning_starweeklydt=lower_lows_3os=rsi_below_30cf=none2722/513.6%
key_reversaldailydt=below_sma50os=rsi_below_30cf=close_above_prior_high4738/912.7%
piercing_patternweeklydt=noneos=nonecf=none4529/1612.0%
2b_reversaldailydt=lower_lows_3os=rsi_below_30cf=volume_expansion166123/4313.9%
morning_stardailydt=lower_lows_3os=rsi_below_30cf=volume_expansion5237/1511.3%
3bar_flush_reclaimdailydt=lower_lows_3os=below_bb_lowercf=close_above_prior_high10471/3312.1%
3bar_flush_reclaimdailydt=lower_lows_3os=below_bb_lowercf=nonereclaim_bars=112290/32
key_reversaldailydt=below_sma50os=rsi_below_30cf=none8363/2011.2%
outside_reversaldailydt=lower_lows_3os=below_bb_lowercf=none8656/3010.8%
key_reversaldailydt=below_sma50os=nonecf=none249177/729.8%
key_reversaldailydt=below_sma50os=below_sma20_95cf=none225160/659.8%
outside_reversaldailydt=lower_lows_3os=nonecf=none362247/11510.9%
key_reversaldailydt=noneos=nonecf=none266190/769.2%
bullish_engulfingdailydt=lower_lows_3os=below_bb_lowercf=none14296/4610.0%
3bar_flush_reclaimdailydt=lower_lows_3os=below_bb_lowercf=nonereclaim_bars=3216155/61
2b_reversaldailydt=lower_lows_3os=rsi_below_30cf=next_day_break_high194142/5211.0%
key_reversaldailydt=below_sma20os=nonecf=none264189/758.7%
3bar_flush_reclaimdailydt=lower_lows_3os=below_bb_lowercf=none186135/519.0%
3bar_flush_reclaimdailydt=lower_lows_3os=below_bb_lowercf=nonereclaim_bars=2186135/51
wyckoff_springdailydt=lower_lows_3os=rsi_below_30cf=nonereclaim_bars=1362260/102
key_reversaldailydt=lower_lows_3os=nonecf=none11683/338.4%
morning_stardailydt=lower_lows_3os=rsi_below_30cf=none9569/269.2%
bullish_engulfingdailydt=lower_lows_3os=10d_lowcf=none407283/1249.1%
piercing_patterndailydt=below_sma50os=rsi_below_30cf=next_day_break_high2015/57.3%
bullish_engulfingdailydt=lower_lows_3os=below_sma20_95cf=none402275/1278.7%
wyckoff_springdailydt=lower_lows_3os=rsi_below_30cf=close_above_prior_high258184/749.1%
outside_reversaldailydt=lower_lows_3os=10d_lowcf=none289197/929.1%
bullish_engulfingweeklydt=noneos=nonecf=none198141/578.4%
outside_reversaldailydt=lower_lows_3os=below_sma20_95cf=none276189/878.9%
wyckoff_springdailydt=lower_lows_3os=rsi_below_30cf=next_day_break_high288214/749.5%
morning_stardailydt=lower_lows_3os=nonecf=none335235/1008.1%
outside_reversaldailydt=below_sma20os=nonecf=none725501/2248.4%
piercing_patterndailydt=below_sma50os=below_bb_lowercf=none4430/149.0%
wyckoff_springdailydt=lower_lows_3os=rsi_below_30cf=volume_expansion260185/758.5%
outside_reversaldailydt=lower_lows_3os=20d_lowcf=none232160/727.9%
3bar_flush_reclaimdailydt=lower_lows_3os=rsi_below_30cf=none185139/467.7%
key_reversaldailydt=below_sma50os=20d_lowcf=none188132/567.2%
2b_reversaldailydt=lower_lows_3os=rsi_below_30cf=nonereclaim_bars=1190144/46
wyckoff_springdailydt=lower_lows_3os=rsi_below_30cf=none374266/1087.7%
wyckoff_springdailydt=lower_lows_3os=rsi_below_30cf=nonereclaim_bars=3374266/108
morning_stardailydt=lower_lows_3os=below_sma20_95cf=none261190/717.1%
key_reversaldailydt=below_sma50os=10d_lowcf=none194137/576.7%
bullish_engulfingdailydt=lower_lows_3os=20d_lowcf=none340239/1016.5%
outside_reversaldailydt=noneos=nonecf=none849595/2546.7%
wyckoff_springdailydt=lower_lows_3os=rsi_below_30cf=nonereclaim_bars=5381271/110
bullish_engulfingdailydt=lower_lows_3os=nonecf=none517357/1606.6%
morning_stardailydt=lower_lows_3os=20d_lowcf=none221162/596.6%
piercing_patterndailydt=below_sma50os=nonecf=none221157/646.2%
morning_stardailydt=noneos=nonecf=none717520/1976.8%
morning_stardailydt=below_sma50os=nonecf=none608440/1686.9%
bullish_engulfingdailydt=noneos=nonecf=none918648/2706.0%
morning_stardailydt=lower_lows_3os=rsi_below_30cf=close_above_prior_high4130/116.2%
2b_reversaldailydt=lower_lows_3os=rsi_below_30cf=none277201/765.9%
2b_reversaldailydt=lower_lows_3os=rsi_below_30cf=nonereclaim_bars=3277201/76
3bar_flush_reclaimdailydt=lower_lows_3os=nonecf=none545391/1545.7%
3bar_flush_reclaimdailydt=lower_lows_3os=below_bb_lowercf=next_day_break_high12092/285.8%
morning_stardailydt=lower_lows_3os=rsi_below_30cf=next_day_break_high5237/155.6%
3bar_flush_reclaimdailydt=noneos=nonecf=none714502/2125.5%
wyckoff_springdailydt=lower_lows_3os=nonecf=none691487/2045.4%
bullish_engulfingdailydt=below_sma50os=nonecf=none784562/2225.3%
morning_stardailydt=below_sma20os=nonecf=none610443/1675.9%
bullish_engulfingdailydt=below_sma20os=nonecf=none813578/2355.3%
wyckoff_springdailydt=lower_lows_3os=10d_lowcf=none678479/1995.0%
2b_reversaldailydt=lower_lows_3os=below_bb_lowercf=none318226/925.1%
3bar_flush_reclaimdailydt=lower_lows_3os=20d_lowcf=none360251/1095.0%
outside_reversaldailydt=below_sma50os=nonecf=none710495/2154.8%
wyckoff_springdailydt=lower_lows_3os=below_sma20_95cf=none678481/1974.7%
piercing_patterndailydt=lower_lows_3os=nonecf=none7451/234.0%
2b_reversaldailydt=lower_lows_3os=below_sma20_95cf=none524375/1494.5%
2b_reversaldailydt=lower_lows_3os=10d_lowcf=none520371/1494.5%
morning_stardailydt=lower_lows_3os=10d_lowcf=none267191/764.3%
2b_reversaldailydt=lower_lows_3os=nonecf=none530378/1524.4%
piercing_patterndailydt=noneos=nonecf=none282198/844.1%
2b_reversaldailydt=lower_lows_3os=rsi_below_30cf=nonereclaim_bars=5311219/92
3bar_flush_reclaimdailydt=below_sma50os=nonecf=none609433/1763.9%
morning_starweeklydt=noneos=nonecf=none155108/473.7%
wyckoff_springdailydt=lower_lows_3os=20d_lowcf=none650461/1893.5%
3bar_flush_reclaimdailydt=below_sma20os=nonecf=none643452/1913.6%
2b_reversaldailydt=lower_lows_3os=20d_lowcf=none504361/1433.5%
wyckoff_springdailydt=noneos=nonecf=none885621/2643.4%
3bar_flush_reclaimdailydt=lower_lows_3os=10d_lowcf=none438305/1333.4%
2b_reversaldailydt=noneos=nonecf=none791571/2202.5%
wyckoff_springdailydt=below_sma20os=nonecf=none876618/2582.5%
piercing_patterndailydt=below_sma20os=nonecf=none226161/652.1%
2b_reversaldailydt=below_sma20os=nonecf=none786567/2192.1%
3bar_flush_reclaimdailydt=lower_lows_3os=below_sma20_95cf=none427303/1241.8%
wyckoff_springdailydt=lower_lows_3os=below_bb_lowercf=none475338/1371.8%
wyckoff_springdailydt=below_sma50os=nonecf=none844596/2481.7%
2b_reversaldailydt=below_sma50os=nonecf=none771556/2151.6%
piercing_patterndailydt=below_sma50os=10d_lowcf=none12888/40-0.4%
morning_stardailydt=lower_lows_3os=below_bb_lowercf=none11278/34-0.6%
key_reversaldailydt=below_sma50os=below_bb_lowercf=none6544/21-3.1%
piercing_patterndailydt=below_sma50os=20d_lowcf=none11175/36-2.9%
piercing_patterndailydt=below_sma50os=below_sma20_95cf=none162112/50-3.0%

Key Findings

  • Best overall pattern (>=20 trades): outside_reversal (Sharpe 0.468, 59 trades, mean return 31.5%)
  • Best portfolio return: bullish_engulfing (+362%, max DD -29%, 67 trades)
  • Best risk-adjusted: bullish_engulfing (+362%, max DD -29%)
  • Best OOS pattern: key_reversal (OOS mean return 65.8%, 10 OOS trades)
  • RSI<30 oversold filter consistently boosts returns across all patterns
  • Volume expansion confirmation is the strongest single confirmation filter
  • Lower lows downtrend is the most effective downtrend definition

Methodology Notes

  • Universe rebalanced monthly (1st of month) using v5.1 filters
  • 90-day cooldown per symbol per pattern
  • Condition sweep: downtrend oversold confirmation (sequential best)
  • Weekly signals: OHLCV aggregated to weekly bars, signal mapped to daily entry
  • Sharpe approximation: mean(returns) / std(returns) — trade-level, not annualized
  • IS/OOS split at 2024-01-01