Abu Saleh — TASI Strategy
Donchian breakout with ATR risk sizing — tuned for Saudi market dynamics
Candidates
| Ticker | Signal | Close | RSI | ADX | ATR% | Vol Ratio | Val Traded 20d | Entry | Stop | Target | Shares | Risk (SAR) |
|---|
Near-Misses Failed 1–2 filters
| Ticker | Failed Filters | RSI | ADX | Vol Ratio | ATR% |
|---|
Open Positions
| Ticker | Entry Date | Entry | Shares | Current | Unreal. P&L | Init. Stop | Trail Stop | Target | Alert |
|---|
Strategy Rationale
Abu Saleh is a Donchian-channel breakout strategy adapted from classic US trend-following (similar to the original Turtle system) and tuned for the peculiarities of Tadawul: shorter trend cycles, thinner liquidity outside the top 30 names, ±10% daily price limits, T+2 cash settlement, and no fractional shares. The core idea is straightforward — buy when a stock breaks above its N-day high on real volume, size the trade so that a single ATR-wide stop costs exactly X% of equity, and let the position ride until a trailing stop, a target multiple, or a max-holding limit closes it.
Signal strength is a composite rank of ADX (trend intensity), RSI (momentum confirmation), and a 20-day value-traded percentile (liquidity screen). Only the top-ranked candidates fill open position slots — at most 5 concurrent positions, capped at 20% of capital each, to prevent Aramco-sized concentration.
Exit rules are layered: a hard stop at entry minus 2.5 ATR, a trailing stop at peak equity minus 3.5 ATR, a fixed target at 3R (3× the initial risk), and a max-hold cap of 60 bars (~3 calendar months). Whichever exit fires first wins. This keeps the strategy from overstaying weak trends.
Orders are limit only — no market orders into thin Tadawul books. Entries use the prior close as the limit reference; exits are placed at the trigger level. Commission is modelled at 15.5 bps and slippage at 8 bps, both conservative for retail Tadawul.
The TASI universe is curated (TASI 30 or the full SA Main list), not auto-downloaded, so it avoids survivorship bias from newly listed shells or delisted names. The pipeline refreshes price history from yfinance every 60 minutes.
Parameter Tuning — Original vs TASI
US Turtle defaults adjusted for Tadawul market microstructure:
| Parameter | Original (US) | TASI Tuned | Reason |
|---|---|---|---|
| entry_lookback | 55 | 40 | TASI swings are shorter; 55-day breakouts arrive too late |
| min_rsi | 55 | 52 | Strong TASI trends often pause near 50–55; lower threshold catches earlier |
| min_adx | 18 | 20 | Filter out choppy regimes more aggressively |
| volume_mult | 1.05× | 1.20× | Demand real participation, not noise |
| max_atr_pct | 12% | 10% | Avoid limit-up days where fills are unreliable |
| stop_atr | 2.0 | 2.5 | Wider initial stop — gap risk is higher after weekends |
| trail_atr | 3.0 | 3.5 | Looser trail; TASI pullbacks are deeper without reversing |
| max_hold_bars | 80 | 60 | Trends mature faster on TASI (~3 calendar months) |
| risk_per_trade | 1.0% | 0.75% | Single-stock vol is higher; weekend gap risk; 5 concurrent positions |
| max_position_pct | 25% | 20% | Avoid Aramco-level overconcentration |
| commission | 2 bps | 15.5 bps | Realistic retail Tadawul round-trip |
| slippage | 5 bps | 8 bps | TASI liquidity is thinner than US large caps |
Filter Matrix Current scan — all filters per ticker
Important Caveats
- Backtests overstate live results. Slippage, partial fills, broker latency, dividend and corporate-action handling, and survivorship bias all eat into real performance. Treat simulated numbers as an upper bound.
- The TASI universe is curated, not the full index. The default TASI 30 list covers the largest and most liquid names. Extending to SA Main adds smaller-cap names with higher bid-ask spreads.
- No fundamental filter is applied. There is no earnings quality screen, no Shariah compliance filter, and no sector exclusion. Add your own overlays before trading with real capital.
- This is research output, not financial advice. Run in paper mode for at least a full quarter before risking real money. Past performance of any model does not guarantee future results.
- yfinance data quality varies for Saudi names. Some .SR tickers return empty or stale data; the pipeline prints warnings and skips them. Ramadan / Eid session lengths slightly inflate intraday ATR estimates.
Configure Backtest
Performance Summary
Equity Curve
Trades
| # | Ticker | Entry Date | Exit Date | Entry | Exit | Shares | R-Mult | P&L (SAR) | Exit Reason |
|---|