SigmaRevert: Z-Score Adaptive Mean Reversion [KedArc Quant]🔍 Overview
SigmaRevert is a clean, research-driven mean-reversion framework built on Z-Score deviation — a statistical measure of how far the current price diverges from its dynamic mean.
When price stretches too far from equilibrium (the mean), SigmaRevert identifies the statistical “sigma distance” and seeks reversion trades back toward it. Designed primarily for 5-minute intraday use, SigmaRevert automatically adapts to volatility via ATR-based scaling, optional higher-timeframe trend filters, and cooldown logic for controlled frequency
🧠 What “Sigma” Means Here
In statistics, σ (sigma) represents standard deviation, the measure of dispersion or variability.
SigmaRevert uses this concept directly:
Each bar’s price deviation from the mean is expressed as a Z-Score — the number of sigmas away from the mean.
When Z > 1.5, the price is statistically “over-extended”; when it returns toward 0, it reverts to the mean.
In short:
Sigma = Standard deviation distance
SigmaRevert = Trading the reversion of extreme sigma deviations
💡 Why Traders Use SigmaRevert
Quant-based clarity: removes emotion by relying on statistical extremes.
Volatility-adaptive: automatically adjusts to changing market noise.
Low drawdown: filters avoid over-exposure during strong trends.
Multi-market ready: works across stocks, indices, and crypto with parameter tuning.
Modular design: every component can be toggled without breaking the core logic.
🧩 Why This Is NOT a Mash-Up
Unlike “mash-up” scripts that randomly combine indicators, this strategy is built around one cohesive hypothesis:
“Price deviations from a statistically stable mean (Z-Score) tend to revert.”
Every module — ATR scaling, cooldown, HTF trend gating, exits — reinforces that single hypothesis rather than mixing unrelated systems (like RSI + MACD + EMA).
The structure is minimal yet expandable, maintaining research integrity and transparency.
⚙️ Input Configuration (Simplified Table)
Core
`maLen` 120 Lookback for mean (SMA)
`zLen` 60 Window for Z-score deviation
`zEntry` 1.5 Entry when Z exceeds threshold
`zExit` 0.3 Exit when Z normalizes
Filters (optional)
`useReCross` false Requires re-entry confirmation
`useTrend` false / true Enables HTF SMA bias
`htfTF` “60” HTF timeframe (e.g. 60-min)
`useATRDist` false Demands min distance from mean
`atrK` 1.0 ATR distance multiplier
`useCooldown` false / true Forces rest after exit
Risk
`useATRSL` false / true Adaptive stop-loss via ATR
`atrLen` 14 ATR lookback
`atrX` 1.4 ATR multiplier for stop
Session
`useSession` false Restrict to market hours
`sess` “0915-1530” NSE timing
`skipOpenBars` 0–3 Avoid early volatility
UI
`showBands` true Displays ±1σ & ±2σ
`showMarks` true Shows triggers and exits
🎯 Entry & Exit Logic
Long Entry
Trigger: `Z < -zEntry`
Optional re-cross: prior Z < −zEntry, current Z −zEntry
Optional trend bias: current close above HTF SMA
Optional ATR filter: distance from mean ATR × K
Short Entry
Trigger: `Z +zEntry`
Optional re-cross: prior Z +zEntry, current Z < +zEntry
Optional trend bias: current close below HTF SMA
Optional ATR filter: distance from mean ATR × K
Exit Conditions
Primary exit: `Z < zExit` (price normalized)
Time stop: `bars since entry timeStop`
Optional ATR stop-loss: ±ATR × multiplier
Optional cooldown: no new trade for X bars after exit
🕒 When to Use
Intraday (5m)
`maLen=120`, `zEntry=1.5`, `zExit=0.3`, `useTrend=false`, `cooldownBars=6` Capture intraday oscillations Minutes → hours
Swing (30m–1H)
`maLen=200`, `zEntry=1.8`, `zExit=0.4`, `useTrend=true`, `htfTF="D"` Mean-reversion between daily pivots 1–2 days
Positional (4H–1D)
`maLen=300`, `zEntry=2.0`, `zExit=0.5`, `useTrend=true` Capture multi-day mean reversions Days → weeks
📘 Glossary
Z-Score
Statistical measure of how far current price deviates from its mean, normalized by standard deviation.
Mean Reversion
The tendency of price to return to its average after temporary divergence.
ATR
Average True Range — measures volatility and defines adaptive stop distances.
Re-Cross
Secondary signal confirming reversal after an extreme.
HTF
Higher Timeframe — provides macro trend bias (e.g. 1-hour or daily).
Cooldown
Minimum bars to wait before re-entering after a trade closes.
❓ FAQ
Q1: Why are there no trades sometimes?
➡ Check that all filters are off. If still no trades, Z-scores might not breach the thresholds. Lower `zEntry` (1.2–1.4) to increase frequency.
Q2: Why does it sometimes fade breakouts?
➡ Mean reversion assumes overextension — disable it during strong trending days or use the HTF filter.
Q3: Can I use this for Forex or Crypto?
➡ Yes — but adjust session filters (`useSession=false`) and increase `maLen` for smoother means.
Q4: Why is profit factor so high but small overall gain?
➡ Because this script focuses on capital efficiency — low drawdown and steady scaling. Increase position size once stable.
Q5: Can I automate this on broker integration?
➡ Yes — the strategy uses standard `strategy.entry` and `strategy.exit` calls, compatible with TradingView webhooks.
🧭 How It Helps Traders
This strategy gives:
Discipline: no impulsive trades — strict statistical rules.
Consistency: removes emotional bias; same logic applies every bar.
Scalability: works across instruments and timeframes.
Transparency: all signals are derived from visible Z-Score math.
It’s ideal for quant-inclined discretionary traders who want rule-based entries but maintain human judgment for context (earnings days, macro news, etc.).
🧱 Final Notes
Best used on liquid stocks with continuous price movement.
Avoid illiquid or gap-heavy tickers.
Validate parameters per instrument — Z behavior differs between equities and indices.
Remember: Mean reversion works best in range-bound volatility, not during explosive breakouts.
⚠️ Disclaimer
This script is provided for educational purposes only.
Past performance does not guarantee future results.
Trading involves risk, and users should exercise caution and use proper risk management when applying this strategy.
Meanreversion
Mean Reversion Trading V1Overview
This is a simple mean reversion strategy that combines RSI, Keltner Channels, and MACD Histograms to predict reversals. Current parameters were optimized for NASDAQ 15M and performance varies depending on asset. The strategy can be optimized for specific asset and timeframe.
How it works
Long Entry (All must be true):
1. RSI < Lower Threshold
2. Close < Lower KC Band
3. MACD Histogram > 0 and rising
4. No open trades
Short Entry (All must be true):
1. RSI > Upper Threshold
2. Close > Upper KC Band
3. MACD Histogram < 0 and falling
4. No open trades
Long Exit:
1. Stop Loss: Average position size x ( 1 - SL percent)
2. Take Profit: Average position size x ( 1 + TP percent)
3. MACD Histogram crosses below zero
Short Exit:
1. Stop Loss: Average position size x ( 1 + SL percent)
2. Take Profit: Average position size x ( 1 - TP percent)
3. MACD Histogram crosses above zero
Settings and parameters are explained in the tooltips.
Important
Initial capital is set as 100,000 by default and 100 percent equity is used for trades
TriAnchor Elastic Reversion US Market SPY and QQQ adaptedSummary in one paragraph
Mean-reversion strategy for liquid ETFs, index futures, large-cap equities, and major crypto on intraday to daily timeframes. It waits for three anchored VWAP stretches to become statistically extreme, aligns with bar-shape and breadth, and fades the move. Originality comes from fusing daily, weekly, and monthly AVWAP distances into a single ATR-normalized energy percentile, then gating with a robust Z-score and a session-safe gap filter.
Scope and intent
• Markets: SPY QQQ IWM NDX large caps liquid futures liquid crypto
• Timeframes: 5 min to 1 day
• Default demo: SPY on 60 min
• Purpose: fade stretched moves only when multi-anchor context and breadth agree
• Limits: strategy uses standard candles for signals and orders only
Originality and usefulness
• Unique fusion: tri-anchor AVWAP energy percentile plus robust Z of close plus shape-in-range gate plus breadth Z of SPY QQQ IWM
• Failure mode addressed: chasing extended moves and fading during index-wide thrusts
• Testability: each component is an input and visible in orders list via L and S tags
• Portable yardstick: distances are ATR-normalized so thresholds transfer across symbols
• Open source: method and implementation are disclosed for community review
Method overview in plain language
Base measures
• Range basis: ATR(length = atr_len) as the normalization unit
• Return basis: not used directly; we use rank statistics for stability
Components
• Tri-Anchor Energy: squared distances of price from daily, weekly, monthly AVWAPs, each divided by ATR, then summed and ranked to a percentile over base_len
• Robust Z of Close: median and MAD based Z to avoid outliers
• Shape Gate: position of close inside bar range to require capitulation for longs and exhaustion for shorts
• Breadth Gate: average robust Z of SPY QQQ IWM to avoid fading when the tape is one-sided
• Gap Shock: skip signals after large session gaps
Fusion rule
• All required gates must be true: Energy ≥ energy_trig_prc, |Robust Z| ≥ z_trig, Shape satisfied, Breadth confirmed, Gap filter clear
Signal rule
• Long: energy extreme, Z negative beyond threshold, close near bar low, breadth Z ≤ −breadth_z_ok
• Short: energy extreme, Z positive beyond threshold, close near bar high, breadth Z ≥ +breadth_z_ok
What you will see on the chart
• Standard strategy arrows for entries and exits
• Optional short-side brackets: ATR stop and ATR take profit if enabled
Inputs with guidance
Setup
• Base length: window for percentile ranks and medians. Typical 40 to 80. Longer smooths, shorter reacts.
• ATR length: normalization unit. Typical 10 to 20. Higher reduces noise.
• VWAP band stdev: volatility bands for anchors. Typical 2.0 to 4.0.
• Robust Z window: 40 to 100. Larger for stability.
• Robust Z entry magnitude: 1.2 to 2.2. Higher means stronger extremes only.
• Energy percentile trigger: 90 to 99.5. Higher limits signals to rare stretches.
• Bar close in range gate long: 0.05 to 0.25. Larger requires deeper capitulation for longs.
Regime and Breadth
• Use breadth gate: on when trading indices or broad ETFs.
• Breadth Z confirm magnitude: 0.8 to 1.8. Higher avoids fighting thrusts.
• Gap shock percent: 1.0 to 5.0. Larger allows more gaps to trade.
Risk — Short only
• Enable short SL TP: on to bracket shorts.
• Short ATR stop mult: 1.0 to 3.0.
• Short ATR take profit mult: 1.0 to 6.0.
Properties visible in this publication
• Initial capital: 25000USD
• Default order size: Percent of total equity 3%
• Pyramiding: 0
• Commission: 0.03 percent
• Slippage: 5 ticks
• Process orders on close: OFF
• Bar magnifier: OFF
• Recalculate after order is filled: OFF
• Calc on every tick: OFF
• request.security lookahead off where used
Realism and responsible publication
• No performance claims. Past results never guarantee future outcomes
• Fills and slippage vary by venue
• Shapes can move during bar formation and settle on close
• Standard candles only for strategies
Honest limitations and failure modes
• Economic releases or very thin liquidity can overwhelm mean-reversion logic
• Heavy gap regimes may require larger gap filter or TR-based tuning
• Very quiet regimes reduce signal contrast; extend windows or raise thresholds
Open source reuse and credits
• None
Strategy notice
Orders are simulated by TradingView on standard candles. request.security uses lookahead off where applicable. Non-standard charts are not supported for execution.
Entries and exits
• Entry logic: as in Signal rule above
• Exit logic: short side optional ATR stop and ATR take profit via brackets; long side closes on opposite setup
• Risk model: ATR-based brackets on shorts when enabled
• Tie handling: stop first when both could be touched inside one bar
Dataset and sample size
• Test across your visible history. For robust inference prefer 100 plus trades.
BOCS Channel Scalper Strategy - Automated Mean Reversion System# BOCS Channel Scalper Strategy - Automated Mean Reversion System
## WHAT THIS STRATEGY DOES:
This is an automated mean reversion trading strategy that identifies consolidation channels through volatility analysis and executes scalp trades when price enters entry zones near channel boundaries. Unlike breakout strategies, this system assumes price will revert to the channel mean, taking profits as price bounces back from extremes. Position sizing is fully customizable with three methods: fixed contracts, percentage of equity, or fixed dollar amount. Stop losses are placed just outside channel boundaries with take profits calculated either as fixed points or as a percentage of channel range.
## KEY DIFFERENCE FROM ORIGINAL BOCS:
**This strategy is designed for traders seeking higher trade frequency.** The original BOCS indicator trades breakouts OUTSIDE channels, waiting for price to escape consolidation before entering. This scalper version trades mean reversion INSIDE channels, entering when price reaches channel extremes and betting on a bounce back to center. The result is significantly more trading opportunities:
- **Original BOCS**: 1-3 signals per channel (only on breakout)
- **Scalper Version**: 5-15+ signals per channel (every touch of entry zones)
- **Trade Style**: Mean reversion vs trend following
- **Hold Time**: Seconds to minutes vs minutes to hours
- **Best Markets**: Ranging/choppy conditions vs trending breakouts
This makes the scalper ideal for active day traders who want continuous opportunities within consolidation zones rather than waiting for breakout confirmation. However, increased trade frequency also means higher commission costs and requires tighter risk management.
## TECHNICAL METHODOLOGY:
### Price Normalization Process:
The strategy normalizes price data to create consistent volatility measurements across different instruments and price levels. It calculates the highest high and lowest low over a user-defined lookback period (default 100 bars). Current close price is normalized using: (close - lowest_low) / (highest_high - lowest_low), producing values between 0 and 1 for standardized volatility analysis.
### Volatility Detection:
A 14-period standard deviation is applied to the normalized price series to measure price deviation from the mean. Higher standard deviation values indicate volatility expansion; lower values indicate consolidation. The strategy uses ta.highestbars() and ta.lowestbars() to identify when volatility peaks and troughs occur over the detection period (default 14 bars).
### Channel Formation Logic:
When volatility crosses from a high level to a low level (ta.crossover(upper, lower)), a consolidation phase begins. The strategy tracks the highest and lowest prices during this period, which become the channel boundaries. Minimum duration of 10+ bars is required to filter out brief volatility spikes. Channels are rendered as box objects with defined upper and lower boundaries, with colored zones indicating entry areas.
### Entry Signal Generation:
The strategy uses immediate touch-based entry logic. Entry zones are defined as a percentage from channel edges (default 20%):
- **Long Entry Zone**: Bottom 20% of channel (bottomBound + channelRange × 0.2)
- **Short Entry Zone**: Top 20% of channel (topBound - channelRange × 0.2)
Long signals trigger when candle low touches or enters the long entry zone. Short signals trigger when candle high touches or enters the short entry zone. This captures mean reversion opportunities as price reaches channel extremes.
### Cooldown Filter:
An optional cooldown period (measured in bars) prevents signal spam by enforcing minimum spacing between consecutive signals. If cooldown is set to 3 bars, no new long signal will fire until 3 bars after the previous long signal. Long and short cooldowns are tracked independently, allowing both directions to signal within the same period.
### ATR Volatility Filter:
The strategy includes a multi-timeframe ATR filter to avoid trading during low-volatility conditions. Using request.security(), it fetches ATR values from a specified timeframe (e.g., 1-minute ATR while trading on 5-minute charts). The filter compares current ATR to a user-defined minimum threshold:
- If ATR ≥ threshold: Trading enabled
- If ATR < threshold: No signals fire
This prevents entries during dead zones where mean reversion is unreliable due to insufficient price movement.
### Take Profit Calculation:
Two TP methods are available:
**Fixed Points Mode**:
- Long TP = Entry + (TP_Ticks × syminfo.mintick)
- Short TP = Entry - (TP_Ticks × syminfo.mintick)
**Channel Percentage Mode**:
- Long TP = Entry + (ChannelRange × TP_Percent)
- Short TP = Entry - (ChannelRange × TP_Percent)
Default 50% targets the channel midline, a natural mean reversion target. Larger percentages aim for opposite channel edge.
### Stop Loss Placement:
Stop losses are placed just outside the channel boundary by a user-defined tick offset:
- Long SL = ChannelBottom - (SL_Offset_Ticks × syminfo.mintick)
- Short SL = ChannelTop + (SL_Offset_Ticks × syminfo.mintick)
This logic assumes channel breaks invalidate the mean reversion thesis. If price breaks through, the range is no longer valid and position exits.
### Trade Execution Logic:
When entry conditions are met (price in zone, cooldown satisfied, ATR filter passed, no existing position):
1. Calculate entry price at zone boundary
2. Calculate TP and SL based on selected method
3. Execute strategy.entry() with calculated position size
4. Place strategy.exit() with TP limit and SL stop orders
5. Update info table with active trade details
The strategy enforces one position at a time by checking strategy.position_size == 0 before entry.
### Channel Breakout Management:
Channels are removed when price closes more than 10 ticks outside boundaries. This tolerance prevents premature channel deletion from minor breaks or wicks, allowing the mean reversion setup to persist through small boundary violations.
### Position Sizing System:
Three methods calculate position size:
**Fixed Contracts**:
- Uses exact contract quantity specified in settings
- Best for futures traders (e.g., "trade 2 NQ contracts")
**Percentage of Equity**:
- position_size = (strategy.equity × equity_pct / 100) / close
- Dynamically scales with account growth
**Cash Amount**:
- position_size = cash_amount / close
- Maintains consistent dollar exposure regardless of price
## INPUT PARAMETERS:
### Position Sizing:
- **Position Size Type**: Choose Fixed Contracts, % of Equity, or Cash Amount
- **Number of Contracts**: Fixed quantity per trade (1-1000)
- **% of Equity**: Percentage of account to allocate (1-100%)
- **Cash Amount**: Dollar value per position ($100+)
### Channel Settings:
- **Nested Channels**: Allow multiple overlapping channels vs single channel
- **Normalization Length**: Lookback for high/low calculation (1-500, default 100)
- **Box Detection Length**: Period for volatility detection (1-100, default 14)
### Scalping Settings:
- **Enable Long Scalps**: Toggle long entries on/off
- **Enable Short Scalps**: Toggle short entries on/off
- **Entry Zone % from Edge**: Size of entry zone (5-50%, default 20%)
- **SL Offset (Ticks)**: Distance beyond channel for stop (1+, default 5)
- **Cooldown Period (Bars)**: Minimum spacing between signals (0 = no cooldown)
### ATR Filter:
- **Enable ATR Filter**: Toggle volatility filter on/off
- **ATR Timeframe**: Source timeframe for ATR (1, 5, 15, 60 min, etc.)
- **ATR Length**: Smoothing period (1-100, default 14)
- **Min ATR Value**: Threshold for trade enablement (0.1+, default 10.0)
### Take Profit Settings:
- **TP Method**: Choose Fixed Points or % of Channel
- **TP Fixed (Ticks)**: Static distance in ticks (1+, default 30)
- **TP % of Channel**: Dynamic target as channel percentage (10-100%, default 50%)
### Appearance:
- **Show Entry Zones**: Toggle zone labels on channels
- **Show Info Table**: Display real-time strategy status
- **Table Position**: Corner placement (Top Left/Right, Bottom Left/Right)
- **Color Settings**: Customize long/short/TP/SL colors
## VISUAL INDICATORS:
- **Channel boxes** with semi-transparent fill showing consolidation zones
- **Colored entry zones** labeled "LONG ZONE ▲" and "SHORT ZONE ▼"
- **Entry signal arrows** below/above bars marking long/short entries
- **Active TP/SL lines** with emoji labels (⊕ Entry, 🎯 TP, 🛑 SL)
- **Info table** showing position status, channel state, last signal, entry/TP/SL prices, and ATR status
## HOW TO USE:
### For 1-3 Minute Scalping (NQ/ES):
- ATR Timeframe: "1" (1-minute)
- ATR Min Value: 10.0 (for NQ), adjust per instrument
- Entry Zone %: 20-25%
- TP Method: Fixed Points, 20-40 ticks
- SL Offset: 5-10 ticks
- Cooldown: 2-3 bars
- Position Size: 1-2 contracts
### For 5-15 Minute Day Trading:
- ATR Timeframe: "5" or match chart
- ATR Min Value: Adjust to instrument (test 8-15 for NQ)
- Entry Zone %: 20-30%
- TP Method: % of Channel, 40-60%
- SL Offset: 5-10 ticks
- Cooldown: 3-5 bars
- Position Size: Fixed contracts or 5-10% equity
### For 30-60 Minute Swing Scalping:
- ATR Timeframe: "15" or "30"
- ATR Min Value: Lower threshold for broader market
- Entry Zone %: 25-35%
- TP Method: % of Channel, 50-70%
- SL Offset: 10-15 ticks
- Cooldown: 5+ bars or disable
- Position Size: % of equity recommended
## BACKTEST CONSIDERATIONS:
- Strategy performs best in ranging, mean-reverting markets
- Strong trending markets produce more stop losses as price breaks channels
- ATR filter significantly reduces trade count but improves quality during low volatility
- Cooldown period trades signal quantity for signal quality
- Commission and slippage materially impact sub-5-minute timeframe performance
- Shorter timeframes require tighter entry zones (15-20%) to catch quick reversions
- % of Channel TP adapts better to varying channel sizes than fixed points
- Fixed contract sizing recommended for consistent risk per trade in futures
**Backtesting Parameters Used**: This strategy was developed and tested using realistic commission and slippage values to provide accurate performance expectations. Recommended settings: Commission of $1.40 per side (typical for NQ futures through discount brokers), slippage of 2 ticks to account for execution delays on fast-moving scalp entries. These values reflect real-world trading costs that active scalpers will encounter. Backtest results without proper cost simulation will significantly overstate profitability.
## COMPATIBLE MARKETS:
Works on any instrument with price data including stock indices (NQ, ES, YM, RTY), individual stocks, forex pairs (EUR/USD, GBP/USD), cryptocurrency (BTC, ETH), and commodities. Volume-based features require data feed with volume information but are optional for core functionality.
## KNOWN LIMITATIONS:
- Immediate touch entry can fire multiple times in choppy zones without adequate cooldown
- Channel deletion at 10-tick breaks may be too aggressive or lenient depending on instrument tick size
- ATR filter from lower timeframes requires higher-tier TradingView subscription (request.security limitation)
- Mean reversion logic fails in strong breakout scenarios leading to stop loss hits
- Position sizing via % of equity or cash amount calculates based on close price, may differ from actual fill price
- No partial closing capability - full position exits at TP or SL only
- Strategy does not account for gap openings or overnight holds
## RISK DISCLOSURE:
Trading involves substantial risk of loss. Past performance does not guarantee future results. This strategy is for educational purposes and backtesting only. Mean reversion strategies can experience extended drawdowns during trending markets. Stop losses may not fill at intended levels during extreme volatility or gaps. Thoroughly test on historical data and paper trade before risking real capital. Use appropriate position sizing and never risk more than you can afford to lose. Consider consulting a licensed financial advisor before making trading decisions. Automated trading systems can malfunction - monitor all live positions actively.
## ACKNOWLEDGMENT & CREDITS:
This strategy is built upon the channel detection methodology created by **AlgoAlpha** in the "Smart Money Breakout Channels" indicator. Full credit and appreciation to AlgoAlpha for pioneering the normalized volatility approach to identifying consolidation patterns. The core channel formation logic using normalized price standard deviation is AlgoAlpha's original contribution to the TradingView community.
Enhancements to the original concept include: mean reversion entry logic (vs breakout), immediate touch-based signals, multi-timeframe ATR volatility filtering, flexible position sizing (fixed/percentage/cash), cooldown period filtering, dual TP methods (fixed points vs channel percentage), automated strategy execution with exit management, and real-time position monitoring table.
Reverse Keltner Channel StrategyReverse Keltner Channel Strategy
Overview
The Reverse Keltner Channel Strategy is a mean-reversion trading system that capitalizes on price movements between Keltner Channels. Unlike traditional Keltner Channel strategies that trade breakouts, this system takes the contrarian approach by entering positions when price returns to the channel after overextending.
Strategy Logic
Long Entry Conditions:
Price crosses above the lower Keltner Channel from below
This signals a potential reversal after an oversold condition
Position is entered at market price upon signal confirmation
Long Exit Conditions:
Take Profit: Price reaches the upper Keltner Channel
Stop Loss: Placed at half the channel width below entry price
Short Entry Conditions:
Price crosses below the upper Keltner Channel from above
This signals a potential reversal after an overbought condition
Position is entered at market price upon signal confirmation
Short Exit Conditions:
Take Profit: Price reaches the lower Keltner Channel
Stop Loss: Placed at half the channel width above entry price
Key Features
Mean Reversion Approach: Takes advantage of price tendency to return to mean after extreme moves
Adaptive Stop Loss: Stop loss dynamically adjusts based on market volatility via ATR
Visual Signals: Entry points clearly marked with directional triangles
Fully Customizable: All parameters can be adjusted to fit various market conditions
Customizable Parameters
Keltner EMA Length: Controls the responsiveness of the channel (default: 20)
ATR Multiplier: Determines channel width/sensitivity (default: 2.0)
ATR Length: Affects volatility calculation period (default: 10)
Stop Loss Factor: Adjusts risk management aggressiveness (default: 0.5)
Best Used On
This strategy performs well on:
Currency pairs with defined ranging behavior
Commodities that show cyclical price movements
Higher timeframes (4H, Daily) for more reliable signals
Markets with moderate volatility
Risk Management
The built-in stop loss mechanism automatically adjusts to market conditions by calculating position risk relative to the current channel width. This approach ensures that risk remains proportional to potential reward across varying market conditions.
Notes for Optimization
Consider adjusting the EMA length and ATR multiplier based on the specific asset and timeframe:
Lower values increase sensitivity and generate more signals
Higher values produce fewer but potentially more reliable signals
As with any trading strategy, thorough backtesting is recommended before live implementation.
Past performance is not indicative of future results. Always practice sound risk management.
Breadth-Driven Swing StrategyWhat it does
This script trades the S&P 500 purely on market breadth extremes:
• Data source : INDEX:S5TH = % of S&P 500 stocks above their own 200-day SMA (range 0–100).
• Buy when breadth is washed-out.
• Sell when breadth is overheated.
It is long-only by design; shorting and ATR trailing stops have been removed to keep the logic minimal and transparent.
⸻
Signals in plain English
1. Long entry
A. A 200-EMA trough in breadth is printed and the trough value is ≤ 40 %.
or
B. A 5-EMA trough appears, its prominence passes the user threshold, and the lowest breadth reading in the last 20 bars is ≤ 20 %.
(Toggle this secondary trigger on/off with “ Enter also on 5-EMA trough ”.)
2. Exit (close long)
First 200-EMA peak whose breadth value is ≥ 70 %.
3. Risk control
A fixed stop-loss (% of entry price, default 8 %) is attached to every long trade.
⸻
Key parameters (defaults shown)
• Long EMA length 200 • Short EMA length 5
• Peak prominence 0.5 pct-pts • Trough prominence 3 pct-pts
• Peak level 70 % • Trough level 40 % • 5-EMA trough level 20 %
• Fixed stop-loss 8 %
• “Enter also on 5-EMA trough” = true (allows additional entries on extreme momentum reversals)
Feel free to tighten or relax any of these thresholds to match your risk profile or account for different market regimes.
⸻
How to use it
1. Load the script on a daily SPX / SPY chart.
(The price chart drives order execution; the breadth series is pulled internally and does not need to be on the chart.)
2. Verify the breadth feed.
INDEX:S5TH is updated after each session; your broker must provide it.
3. Back-test across several cycles.
Two decades of daily data is recommended to see how the rules behave in bear markets, range markets, and bull trends.
4. Adjust position sizing in the Properties tab.
The default is “100 % of equity”; change it if you prefer smaller allocations or pyramiding caps.
⸻
Why it can help
• Breadth signals often lead price, allowing entries before index-level momentum turns.
• Simple, rule-based exits prevent “waiting for confirmation” paralysis.
• Only one input series—easy to audit, no black-box math.
Trade-offs
• Relies on a single breadth metric; other internals (advance/decline, equal-weight returns, etc.) are ignored.
• May sit in cash during shallow pullbacks that never push breadth ≤ 40 %.
• Signals arrive at the end of the session (breadth is EoD data).
⸻
Disclaimer
This script is provided for educational purposes only and is not financial advice. Markets are risky; test thoroughly and use your own judgment before trading real money.
ストラテジー概要
本スクリプトは S&P500 のマーケットブレッド(内部需給) だけを手がかりに、指数をスイングトレードします。
• ブレッドデータ : INDEX:S5TH
(S&P500 採用銘柄のうち、それぞれの 200 日移動平均線を上回っている銘柄比率。0–100 %)
• 買い : ブレッドが極端に売られたタイミング。
• 売り : ブレッドが過熱状態に達したタイミング。
余計な機能を削り、ロングオンリー & 固定ストップ のシンプル設計にしています。
⸻
シグナルの流れ
1. ロングエントリー
• 条件 A : 200-EMA がトラフを付け、その値が 40 % 以下
• 条件 B : 5-EMA がトラフを付け、
・プロミネンス条件を満たし
・直近 20 本のブレッドス最小値が 20 % 以下
• B 条件は「5-EMA トラフでもエントリー」を ON にすると有効
2. ロング決済
最初に出現した 200-EMA ピーク で、かつ値が 70 % 以上 のバーで手仕舞い。
3. リスク管理
各トレードに 固定ストップ(初期価格から 8 %)を設定。
⸻
主なパラメータ(デフォルト値)
• 長期 EMA 長さ : 200 • 短期 EMA 長さ : 5
• ピーク判定プロミネンス : 0.5 %pt • トラフ判定プロミネンス : 3 %pt
• ピーク水準 : 70 % • トラフ水準 : 40 % • 5-EMA トラフ水準 : 20 %
• 固定ストップ : 8 %
• 「5-EMA トラフでもエントリー」 : ON
相場環境やリスク許容度に合わせて閾値を調整してください。
⸻
使い方
1. 日足の SPX / SPY チャート にスクリプトを適用。
2. ブレッドデータの供給 (INDEX:S5TH) がブローカーで利用可能か確認。
3. 20 年以上の期間でバックテスト し、強気相場・弱気相場・レンジ局面での挙動を確認。
4. 資金配分 は プロパティ → 戦略実行 で調整可能(初期値は「資金の 100 %」)。
⸻
強み
• ブレッドは 価格より先行 することが多く、天底を早期に捉えやすい。
• ルールベースの出口で「もう少し待とう」と迷わずに済む。
• 入力 series は 1 本のみ、ブラックボックス要素なし。
注意点・弱み
• 単一指標に依存。他の内部需給(A/D ライン等)は考慮しない。
• 40 % を割らない浅い押し目では機会損失が起こる。
• ブレッドは終値ベースの更新。ザラ場中の変化は捉えられない。
⸻
免責事項
本スクリプトは 学習目的 で提供しています。投資助言ではありません。
実取引の前に必ず自己責任で十分な検証とリスク管理を行ってください。
IBS (Internal Bar Strength) Trading Strategy for SPY and NDQImplementation by AlgoTradeKit
Overview
The IBS Trading Strategy is a daily bars long-only trading system, based on the concept of Internal Bar Strength (IBS). The strategy aims to identify potential reversals by monitoring how the previous bar’s close positions itself within its high-low range. It is suitable for stock and US indices. The default parameters are optimized for SPY/SPX and NDQ/QQQ
Strategy Concept
The Internal Bar Strength (IBS) is calculated using the formula:
IBS = (Previous Close - Previous Low) / (Previous High - Previous Low)
This value always lies between 0 and 1. An IBS value below 0.2 is typically interpreted as an oversold condition, while a value above 0.9 suggests an overbought state.
Trading Rules
- Long Entry :
- Condition 1 : IBS is below the user-defined entry threshold (default is 0.2).
- Condition 2 : The current price is above an N-period Exponential Moving Average (EMA) (default period is 252).
- Note : You can disable the EMA condition by setting the EMA period to 0.
- Long Exit
- The position is closed when IBS rises above the user-defined exit threshold (default is 0.9).
Customization Options
- IBS Entry Threshold : Adjust to set the sensitivity for entering a long trade based on oversold conditions.
- IBS Exit Threshold : Customize to define the exit point when the market becomes overbought.
- EMA Period : Set the lookback period for the EMA to align with your trend bias; disable this condition by setting the period to 0.
Risk Management & Trading Considerations
- Designed for daily charts, the strategy captures higher timeframe trends and minimizes noise.
- The entry and exit conditions are straightforward, aiming to avoid over-trading while letting clear signals dictate trade management.
- Always use proper risk management techniques and test the strategy thoroughly on historical data and in a simulated environment before applying it in live markets.
Disclaimer
This strategy is for educational and informational purposes only and does not constitute financial advice. Trading involves risk, and past performance is not indicative of future results. Always conduct your own research and consider your risk tolerance before making any trades.
3 Red / 3 Green Strategy with Volatility CheckStrategy Name: 3 Red / 3 Green Strategy with Volatility Check by AlgoTradeKit
Overview
This long-only strategy is designed for daily bars on NASDAQ (or similar instruments) and combines simple price action with a volatility filter. It “tells it like it is” – enter when the market shows weakness, but only in sufficiently volatile conditions, and exit either on signs of a reversal or after a set number of days.
Entry Conditions
- Price Action :
Enter a long position when there are 3 consecutive red days (each day's close is below its open).
- Volatility Filter :
The entry is allowed only if the current ATR (Average True Range) calculated over the specified ATR Period (default 12) is greater than its 30-day simple moving average. This ensures the market has enough volatility to justify the trade.
Exit Conditions
- Reversal Signal :
Exit the long position when 3 consecutive green days occur (each day's close is above its open), signaling a potential reversal.
- Time Limit :
Regardless of market conditions, any open trade is closed if it reaches the Maximum Trade Duration (default 22 days). This helps limit exposure during stagnant or unfavorable market conditions.
- You can toggle the three-green-day exit if you want to isolate the time-based exit.
Input Parameters
- Maximum Trade Duration (days): Default is 22 days.
- ATR Period: Default is 12.
- Use 3 Green Days Exit: Toggle to enable or disable the three-green-day exit condition.
How It Works
1. Entry: The strategy monitors daily price action for 3 consecutive down days. When this occurs and if the market is volatile enough (current ATR > 30-day ATR average), it opens a long position.
2. Exit: The position is closed if the price action reverses with 3 consecutive up days or if the trade has been open for the maximum allowed duration - i.e. use it on daily chart.
Risk Management
- The built-in maximum trade duration prevents trades from lingering too long in a non-trending or consolidating market.
- The volatility filter helps ensure that trades are only taken when there is sufficient price movement, potentially increasing the odds of a meaningful move.
Disclaimer
This strategy is provided “as is” without any warranties. It is essential to backtest and validate the performance on your specific instrument and market conditions before deploying live capital. Trading involves significant risk, and you should adjust parameters to match your risk tolerance.
Test and tweak this strategy to see if it fits your trading style and market conditions. Happy trading!
[SHORT ONLY] 10 Bar Low Pullback█ STRATEGY DESCRIPTION
The "10 Bar Low Pullback" strategy is a contrarian short trading system designed to capture pullbacks after a new 10‐bar low is made. it identifies a potential short opportunity when the current bar’s low breaks below the lowest low of the previous 10 bars, provided that the bar exhibits strong internal momentum as measured by its IBS value. An optional trend filter further refines entries by requiring that the close is below a 200-period EMA.
█ WHAT IS INTERNAL BAR STRENGTH (IBS)?
Internal Bar Strength (IBS) measures where the closing price falls within the high-low range of a bar. It is calculated as:
ibs = (close - low) / (high - low)
- Low IBS (≤ 0.2): Indicates the close is near the bar's low, suggesting oversold conditions.
- High IBS (≥ 0.8): Indicates the close is near the bar's high, suggesting overbought conditions.
█ SIGNAL GENERATION
1. SHORT ENTRY
A Short Signal is triggered when:
The current bar’s low is below the lowest low of the past X bars (default: 10).
The bar’s IBS is greater than the specified threshold (default: 0.85).
The signal occurs within the defined trading window (between Start Time and End Time).
If the EMA Filter is enabled, the close must be below the 200-period EMA.
2. EXIT CONDITION
An exit Signal is generated when the current close falls below the previous bar’s low (close < low ), indicating a potential bearish reversal and prompting the strategy to close its short position.
█ ADDITIONAL SETTINGS
Lookback Period: Defines the number of bars (default is 10) over which the lowest low is calculated.
IBS Threshold: Sets the minimum required IBS value (default is 0.85) to qualify as a pullback.
Trading Window: Trades are only executed between the user-defined Start Time and End Time.
EMA Filter (Optional): When enabled, short entries are only considered if the current close is below the 200-period EMA, with the EMA period being adjustable (default is 200).
█ PERFORMANCE OVERVIEW
Designed for shorting opportunities, this strategy aims to capture pullbacks following an aggressive 10-bar low break.
It leverages a combination of a lookback low and IBS measurement to identify overextended bullish moves that may revert.
The optional EMA filter helps confirm a bearish market environment by ensuring the price remains under the trend line.
Suitable for use on various assets, including stocks and ETFs, on daily or similar timeframes.
Backtesting and parameter optimization are recommended to tailor the strategy to specific market conditions.
[SHORT ONLY] ATR Sell the Rip Mean Reversion Strategy█ STRATEGY DESCRIPTION
The "ATR Sell the Rip Mean Reversion Strategy" is a contrarian system that targets overextended price moves on stocks and ETFs. It calculates an ATR‐based trigger level to identify shorting opportunities. When the current close exceeds this smoothed ATR trigger, and if the close is below a 200-period EMA (if enabled), the strategy initiates a short entry, aiming to profit from an anticipated corrective pullback.
█ HOW IS THE ATR SIGNAL BAND CALCULATED?
This strategy computes an ATR-based signal trigger as follows:
Calculate the ATR
The strategy computes the Average True Range (ATR) using a configurable period provided by the user:
atrValue = ta.atr(atrPeriod)
Determine the Threshold
Multiply the ATR by a predefined multiplier and add it to the current close:
atrThreshold = close + atrValue * atrMultInput
Smooth the Threshold
Apply a Simple Moving Average over a specified period to smooth out the threshold, reducing noise:
signalTrigger = ta.sma(atrThreshold, smoothPeriodInput)
█ SIGNAL GENERATION
1. SHORT ENTRY
A Short Signal is triggered when:
The current close is above the smoothed ATR signal trigger.
The trade occurs within the specified trading window (between Start Time and End Time).
If the EMA filter is enabled, the close must also be below the 200-period EMA.
2. EXIT CONDITION
An exit Signal is generated when the current close falls below the previous bar’s low (close < low ), indicating a potential bearish reversal and prompting the strategy to close its short position.
█ ADDITIONAL SETTINGS
ATR Period: The period used to calculate the ATR, allowing for adaptability to different volatility conditions (default is 20).
ATR Multiplier: The multiplier applied to the ATR to determine the raw threshold (default is 1.0).
Smoothing Period: The period over which the raw ATR threshold is smoothed using an SMA (default is 10).
Start Time and End Time: Defines the time window during which trades are allowed.
EMA Filter (Optional): When enabled, short entries are only executed if the current close is below the 200-period EMA, confirming a bearish trend.
█ PERFORMANCE OVERVIEW
This strategy is designed for use on the Daily timeframe, targeting stocks and ETFs by capitalizing on overextended price moves.
It utilizes a dynamic, ATR-based trigger to identify when prices have potentially peaked, setting the stage for a mean reversion short entry.
The optional EMA filter helps align trades with broader market trends, potentially reducing false signals.
Backtesting is recommended to fine-tune the ATR multiplier, smoothing period, and EMA settings to match the volatility and behavior of specific markets.
[SHORT ONLY] Consecutive Bars Above MA Strategy█ STRATEGY DESCRIPTION
The "Consecutive Bars Above MA Strategy" is a contrarian trading system aimed at exploiting overextended bullish moves in stocks and ETFs. It monitors the number of consecutive bars that close above a chosen short-term moving average (which can be either a Simple Moving Average or an Exponential Moving Average). Once the count reaches a preset threshold and the current bar’s close exceeds the previous bar’s high within a designated trading window, a short entry is initiated. An optional EMA filter further refines entries by requiring that the current close is below the 200-period EMA, helping to ensure that trades are taken in a bearish environment.
█ HOW ARE THE CONSECUTIVE BULLISH COUNTS CALCULATED?
The strategy utilizes a counter variable, `bullCount`, to track consecutive bullish bars based on their relation to the short-term moving average. Here’s how the count is determined:
Initialize the Counter
The counter is initialized at the start:
var int bullCount = na
Bullish Bar Detection
For each bar, if the close is above the selected moving average (either SMA or EMA, based on user input), the counter is incremented:
bullCount := close > signalMa ? (na(bullCount) ? 1 : bullCount + 1) : 0
Reset on Non-Bullish Condition
If the close does not exceed the moving average, the counter resets to zero, indicating a break in the consecutive bullish streak.
█ SIGNAL GENERATION
1. SHORT ENTRY
A short signal is generated when:
The number of consecutive bullish bars (i.e., bars closing above the short-term MA) meets or exceeds the defined threshold (default: 3).
The current bar’s close is higher than the previous bar’s high.
The signal occurs within the specified trading window (between Start Time and End Time).
Additionally, if the EMA filter is enabled, the entry is only executed when the current close is below the 200-period EMA.
2. EXIT CONDITION
An exit signal is triggered when the current close falls below the previous bar’s low, prompting the strategy to close the short position.
█ ADDITIONAL SETTINGS
Threshold: The number of consecutive bullish bars required to trigger a short entry (default is 3).
Trading Window: The Start Time and End Time inputs define when the strategy is active.
Moving Average Settings: Choose between SMA and EMA, and set the MA length (default is 5), which is used to assess each bar’s bullish condition.
EMA Filter (Optional): When enabled, this filter requires that the current close is below the 200-period EMA, supporting entries in a downtrend.
█ PERFORMANCE OVERVIEW
This strategy is designed for stocks and ETFs and can be applied across various timeframes.
It seeks to capture mean reversion by shorting after a series of bullish bars suggests an overextended move.
The approach employs a contrarian short entry by waiting for a breakout (close > previous high) following consecutive bullish bars.
The adjustable moving average settings and optional EMA filter allow for further optimization based on market conditions.
Comprehensive backtesting is recommended to fine-tune the threshold, moving average parameters, and filter settings for optimal performance.
[SHORT ONLY] Consecutive Close>High[1] Mean Reversion Strategy█ STRATEGY DESCRIPTION
The "Consecutive Close > High " Mean Reversion Strategy is a contrarian daily trading system for stocks and ETFs. It identifies potential shorting opportunities by counting consecutive days where the closing price exceeds the previous day's high. When this consecutive day count reaches a predetermined threshold, and if the close is below a 200-period EMA (if enabled), a short entry is triggered, anticipating a corrective pullback.
█ HOW ARE THE CONSECUTIVE BULLISH COUNTS CALCULATED?
The strategy uses a counter variable called `bullCount` to track how many consecutive bars meet a bullish condition. Here’s a breakdown of the process:
Initialize the Counter
var int bullCount = 0
Bullish Bar Detection
Every time the close exceeds the previous bar's high, increment the counter:
if close > high
bullCount += 1
Reset on Bearish Bar
When there is a clear bearish reversal, the counter is reset to zero:
if close < low
bullCount := 0
█ SIGNAL GENERATION
1. SHORT ENTRY
A Short Signal is triggered when:
The count of consecutive bullish closes (where close > high ) reaches or exceeds the defined threshold (default: 3).
The signal occurs within the specified trading window (between Start Time and End Time).
2. EXIT CONDITION
An exit Signal is generated when the current close falls below the previous bar’s low (close < low ), prompting the strategy to exit the position.
█ ADDITIONAL SETTINGS
Threshold: The number of consecutive bullish closes required to trigger a short entry (default is 3).
Start Time and End Time: The time window during which the strategy is allowed to execute trades.
EMA Filter (Optional): When enabled, short entries are only triggered if the current close is below the 200-period EMA.
█ PERFORMANCE OVERVIEW
This strategy is designed for Stocks and ETFs on the Daily timeframe and targets overextended bullish moves.
It aims to capture mean reversion by entering short after a series of consecutive bullish closes.
Further optimization is possible with additional filters (e.g., EMA, volume, or volatility).
Backtesting should be used to fine-tune the threshold and filter settings for specific market conditions.
[SHORT ONLY] Internal Bar Strength (IBS) Mean Reversion Strategy█ STRATEGY DESCRIPTION
The "Internal Bar Strength (IBS) Strategy" is a mean-reversion strategy designed to identify trading opportunities based on the closing price's position within the daily price range. It enters a short position when the IBS indicates overbought conditions and exits when the IBS reaches oversold levels. This strategy is Short-Only and was designed to be used on the Daily timeframe for Stocks and ETFs.
█ WHAT IS INTERNAL BAR STRENGTH (IBS)?
Internal Bar Strength (IBS) measures where the closing price falls within the high-low range of a bar. It is calculated as:
IBS = (Close - Low) / (High - Low)
- Low IBS (≤ 0.2) : Indicates the close is near the bar's low, suggesting oversold conditions.
- High IBS (≥ 0.8) : Indicates the close is near the bar's high, suggesting overbought conditions.
█ SIGNAL GENERATION
1. SHORT ENTRY
A Short Signal is triggered when:
The IBS value rises to or above the Upper Threshold (default: 0.9).
The Closing price is greater than the previous bars High (close>high ).
The signal occurs within the specified time window (between `Start Time` and `End Time`).
2. EXIT CONDITION
An exit Signal is generated when the IBS value drops to or below the Lower Threshold (default: 0.3). This prompts the strategy to exit the position.
█ ADDITIONAL SETTINGS
Upper Threshold: The IBS level at which the strategy enters trades. Default is 0.9.
Lower Threshold: The IBS level at which the strategy exits short positions. Default is 0.3.
Start Time and End Time: The time window during which the strategy is allowed to execute trades.
█ PERFORMANCE OVERVIEW
This strategy is designed for Stocks and ETFs markets and performs best when prices frequently revert to the mean.
The strategy can be optimized further using additional conditions such as using volume or volatility filters.
It is sensitive to extreme IBS values, which help identify potential reversals.
Backtesting results should be analyzed to optimize the Upper/Lower Thresholds for specific instruments and market conditions.
Bearish Wick Reversal█ STRATEGY OVERVIEW
The "Bearish Wick Reversal Strategy" identifies potential bullish reversals following significant bearish price rejection (long lower wicks). This counter-trend approach enters long positions when bearish candles show exaggerated downside wicks relative to closing prices, then exits on bullish confirmation signals. Includes optional EMA trend filtering for improved reliability.
█ What is a Bearish Wick?
A price rejection pattern where:
Bearish candle (close < open) forms with extended lower wick
Wick represents failed selloff: Low drops significantly below close
Measured as: (Low - Close)/Close × 100 (Negative percentage indicates downward extension)
█ SIGNAL GENERATION
1. LONG ENTRY CONDITION
Bearish candle forms with close < open
Lower wick exceeds user-defined threshold (Default: -1% of close price)
The signal occurs within the specified time window
If enabled, the close price must also be above the 200-period EMA (Exponential Moving Average)
2. EXIT CONDITION
A Sell Signal is generated when the current closing price exceeds the highest high of the previous seven bars (`close > _highest `). This indicates that the price has shown strength, potentially confirming the reversal and prompting the strategy to exit the position.
█ PERFORMANCE OVERVIEW
Ideal Market: Volatile instruments with frequent price rejections
Key Risk: False signals in sustained bearish trends
Optimization Tip: Test various thresholds
Filter Impact: EMA reduces trades but improves win rate and reduces drawdown
Gap Down Reversal Strategy█ STRATEGY OVERVIEW
The "Gap Down Reversal Strategy" capitalizes on price recovery patterns following bearish gap-down openings. This mean-reversion approach enters long positions on confirmed intraday recoveries and exits when prices breach previous session highs. This strategy is NOT optimized.
█ What is a Gap Down Reversal?
A gap down reversal occurs when:
An instrument opens significantly below its prior session's low (price gap)
Selling pressure exhausts itself during the session
Buyers regain control, pushing price back above the opening level
Creates a candlestick with:
• Open < Prior Session Low (true gap)
• Close > Open (bullish reversal candle)
█ SIGNAL GENERATION
1. LONG ENTRY CONDITION
Previous candle closes BELOW its opening price (bearish candle)
Current session opens BELOW prior candle's low (gap down)
Current candle closes ABOVE its opening price (bullish reversal)
Executes market order at session close
2. EXIT CONDITION
A Sell Signal is generated when the current closing price exceeds the highest high of the previous seven bars (`close > _highest `). This indicates that the price has shown strength, potentially confirming the reversal and prompting the strategy to exit the position.
█ PERFORMANCE OVERVIEW
Ideal Market: High volatility instruments with frequent gaps
Key Risk: False reversals in sustained downtrends
Optimization Tip: Test varying gap thresholds (1-3% ranges)
3 Down, 3 Up Strategy█ STRATEGY DESCRIPTION
The "3 Down, 3 Up Strategy" is a mean-reversion strategy designed to capitalize on short-term price reversals. It enters a long position after consecutive bearish closes and exits after consecutive bullish closes. This strategy is NOT optimized and can be used on any timeframes.
█ WHAT ARE CONSECUTIVE DOWN/UP CLOSES?
- Consecutive Down Closes: A sequence of trading bars where each close is lower than the previous close.
- Consecutive Up Closes: A sequence of trading bars where each close is higher than the previous close.
█ SIGNAL GENERATION
1. LONG ENTRY
A Buy Signal is triggered when:
The price closes lower than the previous close for Consecutive Down Closes for Entry (default: 3) consecutive bars.
The signal occurs within the specified time window (between Start Time and End Time).
If enabled, the close price must also be above the 200-period EMA (Exponential Moving Average).
2. EXIT CONDITION
A Sell Signal is generated when the price closes higher than the previous close for Consecutive Up Closes for Exit (default: 3) consecutive bars.
█ ADDITIONAL SETTINGS
Consecutive Down Closes for Entry: Number of consecutive lower closes required to trigger a buy. Default = 3.
Consecutive Up Closes for Exit: Number of consecutive higher closes required to exit. Default = 3.
EMA Filter: Optional 200-period EMA filter to confirm long entries in bullish trends. Default = disabled.
Start Time and End Time: Restrict trading to specific dates (default: 2014-2099).
█ PERFORMANCE OVERVIEW
Designed for volatile markets with frequent short-term reversals.
Performs best when price oscillates between clear support/resistance levels.
The EMA filter improves reliability in trending markets but may reduce trade frequency.
Backtest to optimize consecutive close thresholds and EMA period for specific instruments.
Internal Bar Strength (IBS) Strategy█ STRATEGY DESCRIPTION
The "Internal Bar Strength (IBS) Strategy" is a mean-reversion strategy designed to identify trading opportunities based on the closing price's position within the daily price range. It enters a long position when the IBS indicates oversold conditions and exits when the IBS reaches overbought levels. This strategy was designed to be used on the daily timeframe.
█ WHAT IS INTERNAL BAR STRENGTH (IBS)?
Internal Bar Strength (IBS) measures where the closing price falls within the high-low range of a bar. It is calculated as:
IBS = (Close - Low) / (High - Low)
- **Low IBS (≤ 0.2)**: Indicates the close is near the bar's low, suggesting oversold conditions.
- **High IBS (≥ 0.8)**: Indicates the close is near the bar's high, suggesting overbought conditions.
█ SIGNAL GENERATION
1. LONG ENTRY
A Buy Signal is triggered when:
The IBS value drops below the Lower Threshold (default: 0.2).
The signal occurs within the specified time window (between `Start Time` and `End Time`).
2. EXIT CONDITION
A Sell Signal is generated when the IBS value rises to or above the Upper Threshold (default: 0.8). This prompts the strategy to exit the position.
█ ADDITIONAL SETTINGS
Upper Threshold: The IBS level at which the strategy exits trades. Default is 0.8.
Lower Threshold: The IBS level at which the strategy enters long positions. Default is 0.2.
Start Time and End Time: The time window during which the strategy is allowed to execute trades.
█ PERFORMANCE OVERVIEW
This strategy is designed for ranging markets and performs best when prices frequently revert to the mean.
It is sensitive to extreme IBS values, which help identify potential reversals.
Backtesting results should be analyzed to optimize the Upper/Lower Thresholds for specific instruments and market conditions.
Buy on 5 day low Strategy█ STRATEGY DESCRIPTION
The "Buy on 5 Day Low Strategy" is a mean-reversion strategy designed to identify potential buying opportunities when the price drops below the lowest low of the previous five days. It enters a long position when specific conditions are met and exits when the price exceeds the high of the previous day. This strategy is optimized for use on daily or higher timeframes.
█ WHAT IS THE 5-DAY LOW?
The 5-Day Low is the lowest price observed over the last five days. This level is used as a reference to identify potential oversold conditions and reversal points.
█ SIGNAL GENERATION
1. LONG ENTRY
A Buy Signal is triggered when:
The close price is below the lowest low of the previous five days (`close < _lowest `).
The signal occurs within the specified time window (between `Start Time` and `End Time`).
2. EXIT CONDITION
A Sell Signal is generated when the current closing price exceeds the high of the previous day (`close > high `). This indicates that the price has shown strength, potentially confirming the reversal and prompting the strategy to exit the position.
█ ADDITIONAL SETTINGS
Start Time and End Time: The time window during which the strategy is allowed to execute trades.
█ PERFORMANCE OVERVIEW
This strategy is designed for mean-reverting markets and performs best when the price frequently oscillates around key support levels.
It is sensitive to oversold conditions, as indicated by the 5-Day Low, and overbought conditions, as indicated by the previous day's high.
Backtesting results should be analyzed to optimize the strategy for specific instruments and market conditions.
3-Bar Low Strategy█ STRATEGY DESCRIPTION
The "3-Bar Low Strategy" is a mean-reversion strategy designed to identify potential buying opportunities when the price drops below the lowest low of the previous three bars. It enters a long position when specific conditions are met and exits when the price exceeds the highest high of the previous seven bars. This strategy is suitable for use on various timeframes.
█ WHAT IS THE 3-BAR LOW?
The 3-Bar Low is the lowest price observed over the last three bars. This level is used as a reference to identify potential oversold conditions and reversal points.
█ WHAT IS THE 7-BAR HIGH?
The 7-Bar High is the highest price observed over the last seven bars. This level is used as a reference to identify potential overbought conditions and exit points.
█ SIGNAL GENERATION
1. LONG ENTRY
A Buy Signal is triggered when:
The close price is below the lowest low of the previous three bars (`close < _lowest `).
The signal occurs within the specified time window (between `Start Time` and `End Time`).
If the EMA Filter is enabled, the close price must also be above the 200-period Exponential Moving Average (EMA).
2. EXIT CONDITION
A Sell Signal is generated when the current closing price exceeds the highest high of the previous seven bars (`close > _highest `). This indicates that the price has shown strength, potentially confirming the reversal and prompting the strategy to exit the position.
█ ADDITIONAL SETTINGS
MA Period: The lookback period for the 200-period EMA used in the EMA Filter. Default is 200.
Use EMA Filter: Enables or disables the EMA Filter for long entries. Default is disabled.
Start Time and End Time: The time window during which the strategy is allowed to execute trades.
█ PERFORMANCE OVERVIEW
This strategy is designed for mean-reverting markets and performs best when the price frequently oscillates around key support and resistance levels.
It is sensitive to oversold conditions, as indicated by the 3-Bar Low, and overbought conditions, as indicated by the 7-Bar High.
Backtesting results should be analyzed to optimize the MA Period and EMA Filter settings for specific instruments.
Bollinger Bands Reversal + IBS Strategy█ STRATEGY DESCRIPTION
The "Bollinger Bands Reversal Strategy" is a mean-reversion strategy designed to identify potential buying opportunities when the price deviates below the lower Bollinger Band and the Internal Bar Strength (IBS) indicates oversold conditions. It enters a long position when specific conditions are met and exits when the IBS indicates overbought conditions. This strategy is suitable for use on various timeframes.
█ WHAT ARE BOLLINGER BANDS?
Bollinger Bands consist of three lines:
- **Basis**: A Simple Moving Average (SMA) of the price over a specified period.
- **Upper Band**: The basis plus a multiple of the standard deviation of the price.
- **Lower Band**: The basis minus a multiple of the standard deviation of the price.
Bollinger Bands help identify periods of high volatility and potential reversal points.
█ WHAT IS INTERNAL BAR STRENGTH (IBS)?
Internal Bar Strength (IBS) is a measure of where the closing price is relative to the high and low of the bar. It is calculated as:
IBS = (Close - Low) / (High - Low)
A low IBS value (e.g., below 0.2) indicates that the close is near the low of the bar, suggesting oversold conditions. A high IBS value (e.g., above 0.8) indicates that the close is near the high of the bar, suggesting overbought conditions.
█ SIGNAL GENERATION
1. LONG ENTRY
A Buy Signal is triggered when:
The IBS value is below 0.2, indicating oversold conditions.
The close price is below the lower Bollinger Band.
The signal occurs within the specified time window (between `Start Time` and `End Time`).
2. EXIT CONDITION
A Sell Signal is generated when the IBS value exceeds 0.8, indicating overbought conditions. This prompts the strategy to exit the position.
█ ADDITIONAL SETTINGS
Length: The lookback period for calculating the Bollinger Bands. Default is 20.
Multiplier: The number of standard deviations used to calculate the upper and lower Bollinger Bands. Default is 2.0.
Start Time and End Time: The time window during which the strategy is allowed to execute trades.
█ PERFORMANCE OVERVIEW
This strategy is designed for mean-reverting markets and performs best when the price frequently deviates from the Bollinger Bands.
It is sensitive to oversold and overbought conditions, as indicated by the IBS, which helps to identify potential reversals.
Backtesting results should be analyzed to optimize the Length and Multiplier parameters for specific instruments.
Average High-Low Range + IBS Reversal Strategy█ STRATEGY DESCRIPTION
The "Average High-Low Range + IBS Reversal Strategy" is a mean-reversion strategy designed to identify potential buying opportunities when the price deviates significantly from its average high-low range and the Internal Bar Strength (IBS) indicates oversold conditions. It enters a long position when specific conditions are met and exits when the price shows strength by exceeding the previous bar's high. This strategy is suitable for use on various timeframes.
█ WHAT IS THE AVERAGE HIGH-LOW RANGE?
The Average High-Low Range is calculated as the Simple Moving Average (SMA) of the difference between the high and low prices over a specified period. It helps identify periods of increased volatility and potential reversal points.
█ WHAT IS INTERNAL BAR STRENGTH (IBS)?
Internal Bar Strength (IBS) is a measure of where the closing price is relative to the high and low of the bar. It is calculated as:
IBS = (Close - Low) / (High - Low)
A low IBS value (e.g., below 0.2) indicates that the close is near the low of the bar, suggesting oversold conditions.
█ SIGNAL GENERATION
1. LONG ENTRY
A Buy Signal is triggered when:
The close price has been below the buy threshold (calculated as `upper - (2.5 * hl_avg)`) for a specified number of consecutive bars (`bars_below_threshold`).
The IBS value is below the specified buy threshold (`ibs_buy_treshold`).
The signal occurs within the specified time window (between `Start Time` and `End Time`).
2. EXIT CONDITION
A Sell Signal is generated when the current closing price exceeds the high of the previous bar (`close > high `). This indicates that the price has shown strength, potentially confirming the reversal and prompting the strategy to exit the position.
█ ADDITIONAL SETTINGS
Length: The lookback period for calculating the average high-low range. Default is 20.
Bars Below Threshold: The number of consecutive bars the price must remain below the buy threshold to trigger a Buy Signal. Default is 2.
IBS Buy Threshold: The IBS value below which a Buy Signal is triggered. Default is 0.2.
Start Time and End Time: The time window during which the strategy is allowed to execute trades.
█ PERFORMANCE OVERVIEW
This strategy is designed for mean-reverting markets and performs best when the price frequently deviates from its average high-low range.
It is sensitive to oversold conditions, as indicated by the IBS, which helps to identify potential reversals.
Backtesting results should be analyzed to optimize the Length, Bars Below Threshold, and IBS Buy Threshold parameters for specific instruments.
Turn of the Month Strategy on Steroids█ STRATEGY DESCRIPTION
The "Turn of the Month Strategy on Steroids" is a seasonal mean-reversion strategy designed to capitalize on price movements around the end of the month. It enters a long position when specific conditions are met and exits when the Relative Strength Index (RSI) indicates overbought conditions. This strategy is optimized for use on daily or higher timeframes.
█ WHAT IS THE TURN OF THE MONTH EFFECT?
The Turn of the Month effect refers to the observed tendency of stock prices to rise around the end of the month. This strategy leverages this phenomenon by entering long positions when the price shows signs of a reversal during this period.
█ SIGNAL GENERATION
1. LONG ENTRY
A Buy Signal is triggered when:
The current day of the month is greater than or equal to the specified `dayOfMonth` threshold (default is 25).
The close price is lower than the previous day's close (`close < close `).
The previous day's close is also lower than the close two days ago (`close < close `).
The signal occurs within the specified time window (between `Start Time` and `End Time`).
There is no existing open position (`strategy.position_size == 0`).
2. EXIT CONDITION
A Sell Signal is generated when the 2-period RSI exceeds 65, indicating overbought conditions. This prompts the strategy to exit the position.
█ ADDITIONAL SETTINGS
Day of Month: The day of the month threshold for triggering a Buy Signal. Default is 25.
Start Time and End Time: The time window during which the strategy is allowed to execute trades.
█ PERFORMANCE OVERVIEW
This strategy is designed to exploit seasonal price patterns around the end of the month.
It performs best in markets where the Turn of the Month effect is pronounced.
Backtesting results should be analyzed to optimize the `dayOfMonth` threshold and RSI parameters for specific instruments.
Consecutive Bars Above/Below EMA Buy the Dip Strategy█ STRATEGY DESCRIPTION
The "Consecutive Bars Above/Below EMA Buy the Dip Strategy" is a mean-reversion strategy designed to identify potential buying opportunities when the price dips below a moving average for a specified number of consecutive bars. It enters a long position when the dip condition is met and exits when the price shows strength by exceeding the previous bar's high. This strategy is suitable for use on various timeframes.
█ WHAT IS THE MOVING AVERAGE?
The strategy uses either a Simple Moving Average (SMA) or an Exponential Moving Average (EMA) as a reference for identifying dips. The type and length of the moving average can be customized in the settings.
█ SIGNAL GENERATION
1. LONG ENTRY
A Buy Signal is triggered when:
The close price is below the selected moving average for a specified number of consecutive bars (`consecutiveBarsTreshold`).
The signal occurs within the specified time window (between `Start Time` and `End Time`).
2. EXIT CONDITION
A Sell Signal is generated when the current closing price exceeds the high of the previous bar (`close > high `). This indicates that the price has shown strength, potentially confirming the reversal and prompting the strategy to exit the position.
█ ADDITIONAL SETTINGS
Consecutive Bars Threshold: The number of consecutive bars the price must remain below the moving average to trigger a Buy Signal. Default is 3.
MA Type: The type of moving average used (SMA or EMA). Default is SMA.
MA Length: The length of the moving average. Default is 5.
Start Time and End Time: The time window during which the strategy is allowed to execute trades.
█ PERFORMANCE OVERVIEW
This strategy is designed for mean-reverting markets and performs best when the price frequently oscillates around the moving average.
It is sensitive to the number of consecutive bars below the moving average, which helps to identify potential dips.
Backtesting results should be analysed to optimize the Consecutive Bars Threshold, MA Type, and MA Length for specific instruments.






















