Mutanabby_AI | ONEUSDT_MR1
ONEUSDT Mean-Reversion Strategy | 74.68% Win Rate | 417% Net Profit
This is a long-only mean-reversion strategy designed specifically for ONEUSDT on the 1-hour timeframe. The core logic identifies oversold conditions following sharp declines and enters positions when selling pressure exhausts, capturing the subsequent recovery bounce.
Backtested Period: June 2019 – December 2025 (~6 years)
Performance Summary
| Metric | Value |
|--------|-------|
| Net Profit | +417.68% |
| Win Rate | 74.68% |
| Profit Factor | 4.019 |
| Total Trades | 237 |
| Sharpe Ratio | 0.364 |
| Sortino Ratio | 1.917 |
| Max Drawdown | 51.08% |
| Avg Win | +3.14% |
| Avg Loss | -2.30% |
| Buy & Hold Return | -80.44% |
Strategy Logic :
Entry Conditions (Long Only):
The strategy seeks confluence of three conditions that identify exhausted selling:
1. Prior Move Filter:*The price change from 5 bars ago to 3 bars ago must be ≥ -7% (ensures we're not entering during freefall)
2. Current Move Filter: The price change over the last 2 bars must be ≤ 0% (confirms momentum is stalling or reversing)
3. Three-Bar Decline: The price change from 5 bars ago to 3 bars ago must be ≤ -5% (confirms a significant recent drop occurred)
When all three conditions align, the strategy identifies a potential reversal point where sellers are exhausted.
Exit Conditions:
- Primary Exit: Close above the previous bar's high while the open of the previous bar is at or below the close from 9 bars ago (profit-taking on strength)
- Trailing Stop: 11x ATR trailing stop that locks in profits as price rises
Risk Management
- Position Sizing:Fixed position based on account equity divided by entry price
- Trailing Stop:11× ATR (14-period) provides wide enough room for crypto volatility while protecting gains
- Pyramiding:Up to 4 orders allowed (can scale into winning positions)
- **Commission:** 0.1% per trade (realistic exchange fees included)
Important Disclaimers
⚠️ This is NOT financial advice.
- Past performance does not guarantee future results
- Backtest results may contain look-ahead bias or curve-fitting
- Real trading involves slippage, liquidity issues, and execution delays
- This strategy is optimized for ONEUSDT specifically — results may differ on other pairs
- Always test before risking real capital
Recommended Usage
- Timeframe:*1H (as designed)
- Pair: ONEUSDT (Binance)
- Account Size: Ensure sufficient capital to survive max drawdown
Source Code
Feedback Welcome
I'm sharing this strategy freely for educational purposes. Please:
- Drop a comment with your backtesting results any you analysis
- Share any modifications that improve performance
- Let me know if you spot any issues in the logic
Happy trading
As a quant trader, do you think this strategy will survive in live trading?
Yes or No? And why?
I want to hear from you guys
Meanreversion
Bollinger Bands Mean Reversion using RSI [Krishna Peri]How it Works
Long entries trigger when:
- RSI reaches oversold levels, and
- At least one bullish candle closes inside the lower Bollinger Band
Short entries trigger when:
- RSI reaches overbought levels, and
- At least one bearish candle closes inside the upper Bollinger Band
This approach aims to capture exhaustion moves where price pushes into extreme deviation from its mean and then snaps back toward the middle band.
Important Disclaimer
This is a mean-reversion strategy, which means it performs best in sideways, ranging, or slowly oscillating market conditions. When markets shift into strong trends, Bollinger Bands expand and volatility increases, which may cause some signals to become inaccurate or fail altogether.
For best results, combine this script with:
- Price action
- Market structure
- Higher-timeframe trend context
- Previous day/week/month highs & lows
- Untested liquidity levels or imbalance zones
- Session timing (Asia, London, NY)
Using these confluences helps filter out low-probability trades and significantly improves consistency and precision.
The Oracle: Dip & Top Adaptive Sniper [Hakan Yorganci]█ OVERVIEW
The Oracle: Dip & Top Adaptive Sniper is a precision-focused trend trading strategy designed to solve the biggest problem in swing trading: Timing.
Most trend-following strategies chase price ("FOMO"), buying when the asset is already overextended. The Oracle takes a different approach. It adopts a "Sniper" mentality: it identifies a strong macro trend but patiently waits for a Mean Reversion (pullback) to execute an entry at a discounted price.
By combining the structural strength of Moving Averages (SMA 50/200) with the momentum precision of RSI and the volatility filtering of ADX, this script filters out noise and targets high-probability setups.
█ HOW IT WORKS
This strategy operates on a strictly algorithmic protocol known as "The Yorganci Protocol," which involves three distinct phases: Filter, Target, and Execute.
1. The Macro Filter (Trend Identification)
* SMA 200 Rule: By default, the strategy only scans for buy signals when the price is trading above the 200-period Simple Moving Average. This ensures we are always trading in the direction of the long-term bull market.
* Adaptive Switch: A new feature allows users to toggle the Only Buy Above SMA 200? filter OFF. This enables the strategy to hunt for oversold bounces (dead cat bounces) even during bearish or neutral market structures.
2. The Volatility Filter (ADX Integration)
* Sideways Protection: One of the main weaknesses of moving average strategies is "whipsaw" losses during choppy, ranging markets.
* Solution: The Oracle utilizes the ADX (Average Directional Index). It will BLOCK any trade entry if the ADX is below the threshold (Default: 20). This ensures capital is only deployed when a genuine trend is present.
3. The Sniper Entry (Buying the Dip)
* Instead of buying on breakout strength (e.g., RSI > 60), The Oracle waits for the RSI Moving Average to dip into the "Value Zone" (Default: 45) and cross back up. This technique allows for tighter stops and higher Risk/Reward ratios compared to traditional breakout systems.
█ EXIT STRATEGY
The Oracle employs a dynamic dual-exit mechanism to maximize gains and protect capital:
* Take Profit (The Peak): The strategy monitors RSI heat. When the RSI Moving Average breaches the Overbought Threshold (Default: 75), it signals a "Take Profit", securing gains near the local top before a potential reversal.
* Stop Loss (Trend Invalidated): If the market structure fails and the price closes below the 50-period SMA, the position is immediately closed to prevent deep drawdowns.
█ SETTINGS & CONFIGURATION
* Moving Averages: Fully customizable lengths for Support (SMA 50) and Trend (SMA 200).
* Trend Filter: Checkbox to enable/disable the "Bull Market Only" rule.
* RSI Thresholds:
* Sniper Buy Level: Adjustable (Default: 45). Lower values = Deeper dips, fewer trades.
* Peak Sell Level: Adjustable (Default: 75). Higher values = Longer holds, potentially higher profit.
* ADX Filter: Checkbox to enable/disable volatility filtering.
█ BEST PRACTICES
* Timeframe: Designed primarily for 4H (4-Hour) charts for swing trading. It can also be used on 1H for more frequent signals.
* Assets: Highly effective on trending assets such as Bitcoin (BTC), Ethereum (ETH), and high-volume Altcoins.
* Risk Warning: This strategy is designed for "Long Only" spot or leverage trading. Always use proper risk management.
█ CREDITS
* Original Concept: Inspired by the foundational work of Murat Besiroglu (@muratkbesiroglu).
* Algorithm Development & Enhancements: Developed by Hakan Yorganci (@hknyrgnc).
* Modifications include: Integration of ADX filters, Mean Reversion entry logic (RSI Dip), and Dynamic Peak Profit taking.
Stochastic + Bollinger Bands Multi-Timeframe StrategyThis strategy fuses the Stochastic Oscillator from the 4-hour timeframe with Bollinger Bands from the 1-hour timeframe, operating on a 10-hour chart to capture a unique volatility rhythm and temporal alignment discovered through observational alpha.
By blending momentum confirmation from the higher timeframe with short-term volatility extremes, the strategy leverages what some traders refer to as “rotating volatility” — a phenomenon where multi-timeframe oscillations sync to reveal hidden trade opportunities.
🧠 Strategy Logic
✅ Long Entry Condition:
Stochastic on the 4H timeframe:
%K crosses above %D
Both %K and %D are below 20 (oversold zone)
Bollinger Bands on the 1H timeframe:
Price crosses above the lower Bollinger Band, indicating a potential reversal
→ A long trade is opened when both momentum recovery and volatility reversion align.
✅ Long Exit Condition:
Stochastic on the 4H:
%K crosses below %D
Both %K and %D are above 80 (overbought zone)
Bollinger Bands on the 1H:
Price reaches or exceeds the upper Bollinger Band, suggesting exhaustion
→ The long trade is closed when either signal suggests a potential reversal or overextension.
🧬 Temporal Structure & Alpha
This strategy is deployed on a 10-hour chart — a non-standard timeframe that may align more effectively with multi-timeframe mean reversion dynamics.
This subtle adjustment exploits what some traders identify as “temporal drift” — the desynchronization of volatility across timeframes that creates hidden rhythm in price action.
→ For example, Stochastic on 4H (lookback 17) and Bollinger Bands on 1H (lookback 20) may periodically sync around 10H intervals, offering unique alpha windows.
📊 Indicator Components
🔹 Stochastic Oscillator (4H, Length 17)
Detects momentum reversals using %K and %D crossovers
Helps define overbought/oversold zones from a mid-term view
🔹 Bollinger Bands (1H, Length 20, ±2 StdDev)
Measures price volatility using standard deviation around a moving average
Entry occurs near lower band (support), exits near upper band (resistance)
🔹 Multi-Timeframe Logic
Uses request.security() to safely reference 4H and 1H indicators from a 10H chart
Avoids repainting by using closed higher-timeframe candles only
📈 Visualization
A plot selector input allows toggling between:
Stochastic Plot (%K & %D, with overbought/oversold levels)
Bollinger Bands Plot (Upper, Basis, Lower from 1H data)
This helps users visually confirm entry/exit triggers in real time.
🛠 Customization
Fully configurable Stochastic and BB settings
Timeframes are independently adjustable
Strategy settings like position sizing, slippage, and commission are editable
⚠️ Disclaimer
This strategy is intended for educational and informational purposes only.
It does not constitute financial advice or a recommendation to buy or sell any asset.
Market conditions vary, and past performance does not guarantee future results.
Always test any trading strategy in a simulated environment and consult a licensed financial advisor before making real-world investment decisions.
BB SPY Mean Reversion Investment StrategySummary
Mean reversion first, continuation second. This strategy targets equities and ETFs on daily timeframes. It waits for price to revert from a Bollinger location with candle and EMA agreement, then manages risk with ATR based exits. Uniqueness comes from two elements working together. One, an adaptive band multiplier driven by volatility of volatility that expands or contracts the envelope as conditions change. Two, a bias memory that re arms the same direction after any stop, target, or time exit until a true opposite signal appears. Add it to a clean chart, use the markers and levels, and select on bar close for conservative alerts. Shapes can move while the bar is open and settle on close.
Scope and intent
• Markets. Currently adapted for SPY, needs to be optimized for other assets
• Timeframes. Daily primary. Other frames are possible but not the default
• Default demo. SPY on daily
• Purpose. Trade mean reversion entries that can chain into a longer swing by splitting holds into ATR or time segments
Originality and usefulness
• Novelty. Adaptive band width from volatility of volatility plus a persistent bias array that keeps the original direction alive across sequential entries until an opposite setup is confirmed
• Failure modes mitigated. False starts in chop are reduced by candle color and EMA location. Missed continuation after a take profit or stop is addressed by the re arm engine. Oversized envelopes during quiet regimes are avoided by the adaptive multiplier
• Testability. Every module has Inputs and visible levels so users can see why a suggestion appears
• Portable yardstick. All risk and targets are expressed in ATR units
Method overview in plain language
The engine measures where price sits relative to Bollinger bands, confirms with candle color and EMA location, requires ADX for shorts(in our case long close since we use it currently as long only), and optionally requires a trend or mean reversion regime using band width percent rank and basis slope. Risk uses ATR for stop, target, and optional breakeven. A small array stores the last confirmed direction. While flat, the engine keeps a pending order in that direction. The array flips only when a true opposite setup appears.
Base measures
• Range basis. True Range smoothed over a user defined ATR Length
• Return basis. Not required
Components
• Bollinger envelope. SMA length and standard deviation multiplier. Entry is based on cross of close through the band with location bias
• Candle and EMA filter. Close relative to open and close relative to EMA align direction
• ADX gate for shorts. Requires minimum trend strength for short trades
• Adaptive multiplier. Band width scales using volatility of volatility so envelopes breathe with conditions
• Regime gate optional. Band width percent rank and basis slope identify trend or mean reversion regimes
• Risk manager. ATR stop, ATR target, optional breakeven, optional time exit
• Bias memory. Array stores last confirmed direction and re arms entries while flat
Fusion rule
Minimum satisfied gates count style. All required gates must be true. Optional gates are controlled in Inputs. Bias memory never overrides an opposite confirmed setup.
Signal rule
• Long setup when close crosses up through the lower band, the bar closes green, and close is above the long EMA
• Short setup when close crosses down through the upper band, the bar closes red, close is below the short EMA, and ADX is above the minimum
• While flat the model keeps a pending order in the stored direction until a true opposite setup appears
• IN LONG or IN SHORT describes states between entry and exit
What you will see on the chart
• Markers for Long and Short setups
• Exit markers from ATR or time rules
• Reference levels for entry, stop, and target
• Bollinger bands and optional adaptive bands
Inputs with guidance
Setup
• Signal timeframe. Uses the chart timeframe
• Invert direction optional. Flips long and short
Logic
• BB Length. Typical 10 to 50. Higher smooths more
• BB Mult. Typical 1.0 to 2.5. Higher widens entries
• EMA Length long. Typical 10 to 50
• EMA Length short. Typical 5 to 30
• ADX Minimum for short. Typical 15 to 35
Filters
• Regime Type. none or trend or mean reversion
• Rank Lookback. Typical 100 to 300
• Basis Slope Length and Threshold. Larger values reduce false trends
Risk
• ATR Length. Typical 10 to 21
• ATR Stop Mult. Typical 1.0 to 3.0
• ATR Take Profit Mult. Typical 2.0 to 5.0
• Breakeven Trigger R. Move stop to entry after the chosen multiple
• Time Exit. Minimum bars and extension when profit exceeds a fraction of ATR
Bias and rearm
• Bias flips kept. Array depth
• Keep rearm when flat. Maintain a pending order while flat
UI
• Show markers and levels. Clean defaults
Usage recipes
Alerts update in real time and can change while the bar forms. Select on bar close for conservative workflows.
Properties visible in this publication
• Initial capital 25000
• Base currency USD
• If any higher timeframe calls are enabled, request.security uses lookahead off
• Commission 0.03 percent
• Slippage 3 ticks
• Default order size method Percent of equity with value 5
• Pyramiding 0
• Process orders on close On
• Bar magnifier Off
• Recalculate after order is filled Off
• Calc on every tick Off
Realism and responsible publication
No performance claims. Costs and fills vary by venue. Shapes can move intrabar and settle on close. Strategies use standard candles only.
Honest limitations and failure modes
High impact releases and thin liquidity can break assumptions. Gap heavy symbols may require larger ATR. Very quiet regimes can reduce contrast in the mean reversion signal. If stop and target can both be touched inside one bar, outcome follows the TradingView order model for that bar path.
Regimes with extreme one sided trend and very low volatility can reduce mean reversion edges. Results vary by symbol and venue. Past results never guarantee future outcomes.
Open source reuse and credits
None.
Backtest realism
Costs are realistic for liquid equities. Sizing does not exceed five percent per trade by default. Any departure should be justified by the user.
If you got any questions please le me know
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.
Rebound Sigma Pro - StrategyOverview
Rebound Sigma Pro is a mean-reversion indicator that detects statistically oversold conditions in trending markets.
It helps traders identify potential short-term rebounds based on momentum exhaustion and volatility-adjusted entry zones.
Concept
The indicator combines two quantitative components:
Short-term momentum to detect short-term exhaustion
Trend filter to ensure setups align with the long-term direction
When a stock in an uptrend becomes temporarily oversold, a limit-entry signal is plotted.
The trade is then tracked until short-term conditions normalize or a time-based exit occurs.
Visual Signals
Green Triangle: Suggests placing a limit order for the next session
Green Circle: Confirms entry was filled
Red Triangle: Signals an exit for the next session’s open
Orange Background: Pending order
Green Background: Position active
Red Background: Exit phase
Yellow Line: Entry reference price
User Inputs
Limit Entry (% below previous close) – Default 1 %
Use Limit Entry – Switch between limit or market entries
Enable Time Exit – Optional holding-period constraint
Maximum Holding Days
All other internal parameters (momentum length, filters) are pre-configured.
Alerts
Limit Order Signal: New setup detected
Entry Confirmed: Order filled
Exit Signal: Exit expected next day
Usage
Designed for liquid equities and ETFs
Works best in confirmed uptrends
Backtesting encouraged to adapt parameters per symbol and timeframe
Notes
Not an automated strategy; manual order execution required
Past behavior does not imply future performance
Always apply sound position sizing and risk management
Disclaimer
This indicator is provided for educational and analytical purposes only.
It does not constitute financial advice or performance assurance.
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.
Backtest - Strategy Builder [AlgoAlpha]🟠 OVERVIEW
This script by AlgoAlpha is a modular Strategy Builder designed to let traders test custom trade entry and exit logic on TradingView without writing their own Pine code. It acts as a framework where users can connect multiple external signals, chain them in sequences, and run backtests with built-in leverage, margin, and risk controls. Its main strength is flexibility—you can define up to five sequential steps for entry and exit conditions on both long and short sides, with logic connectors (AND/OR) controlling how conditions combine. This lets you test complex multi-step confirmation workflows in a controlled, visual backtesting environment.
🟠 CONCEPTS
The system works by linking external signals —these can be values from other indicators, and/or custom sources—to conditional checks like “greater than,” “less than,” or “crossover.” You can stack these checks into steps , where all conditions in a step must pass before the sequence moves to the next. This creates a chain of logic that must be completed before a trade triggers. On execution, the strategy sizes positions according to your chosen leverage mode ( Cross or Isolated ) and allocation method ( Percent of equity or absolute USD value]). Liquidation prices are simulated for both modes, allowing realistic margin behaviour in testing. The script also tracks performance metrics like Sharpe, Sortino, profit factor, drawdown, and win rate in real time.
🟠 FEATURES
Up to 5 sequential steps for both long and short entries, each with multiple conditions linked by AND/OR logic.
Two leverage modes ( Cross and Isolated ) with independent long/short leverage multipliers.
Separate multi-step exit triggers for longs and shorts, with optional TP/SL levels or opposite-side triggers for flipping positions.
Position sizing by equity percent or fixed USD amount, applied before leverage.
Realistic liquidation price simulation for margin testing.
Built-in trade gating and validation—prevents trades if configuration rules aren’t met (e.g., no exit defined for an active side).
Full performance dashboard table showing live strategy status, warnings, and metrics.
Configurable bar coloring based on position side and TP/SL level drawing on chart.
Integration with TradingView's strategy backtester, allowing users to view more detailed metrics and test the strategy over custom time horizons.
🟠 USAGE
Add the strategy to your chart. In the settings, under Master Settings , enable longs/shorts, select leverage mode, set leverage multipliers, and define position sizing. Then, configure your Long Trigger and Short Trigger groups: turn on conditions, pick which external signal they reference, choose the comparison type, and assign them to a sequence step. For exits, use the corresponding Exit Long Trigger and Exit Short Trigger groups, with the option to link exits to opposite-side entries for auto-flips. You can also enable TP and/or SL exits with custom sources for the TP/SL levels. Once set, the strategy will simulate trades, show performance stats in the on-chart table, and highlight any configuration issues before execution. This makes it suitable for testing both simple single-signal systems and complex, multi-filtered strategies under realistic leverage and margin constraints.
🟠 EXAMPLE
The backtester on its own does not contain any indicator calculation; it requires input from external indicators to function. In this example, we'll be using AlgoAlpha's Smart Signals Assistant indicator to demonstrate how to build a strategy using this script.
We first define the conditions beforehand:
Entry :
Longs – SSA Bullish signal (strong OR weak)
Shorts – SSA Bearish signal (strong OR weak)
Exit
Longs/Shorts: (TP/SL hit OR opposing signal fires)
Other Parameters (⚠️Example only, tune this based on proper risk management and settings)
Long Leverage: default (3x)
Short Leverage: default (3x)
Position Size: default (10% of equity)
Steps
Load up the required indicators (in this example, the Smart Signals Assistant).
Ensure the required plots are being output by the indicator properly (signals and TP/SL levels are being plotted).
Open the Strategy Builder settings and scroll down to "CONDITION SETUP"; input the signals from the external indicator.
Configure the exit conditions, add in the TP/SL levels from the external indicator, and add an additional exit condition → {{Opposite Direction}} Entry Trigger.
After configuring the entry and exit conditions, the strategy should now be running. You can view information on the strategy in TradingView's backtesting report and also in the Strategy Builder's information table (default top right corner).
It is important to note that the strategy provided above is just an example, and the complexity of possible strategies stretches beyond what was shown in this short demonstration. Always incorporate proper risk management and ensure thorough testing before trading with live capital.
付费脚本
Spread Mean Reversion Strategy [SciQua]╭───────────────────────────────────────╮
Spread Mean Reversion Strategy
╰───────────────────────────────────────╯
This invite-only futures spread strategy applies a statistical mean reversion framework, executing limit orders exclusively at calculated Z-score thresholds for precise, rules-based entries and exits. It is designed for CME-style spreads and synthetic instruments with well-defined reversion tendencies.
╭────────────╮
Core Concept
╰────────────╯
The strategy calculates a rolling mean and standard deviation of a chosen spread or synthetic price series, then computes the Z-score to measure deviation from the mean in standard deviation units.
Long entries trigger when Z crosses upward through a negative entry threshold (`-devEnter`). A buy limit is placed exactly at the price corresponding to that Z-score, optionally offset by a configurable tick amount.
Short entries trigger when Z crosses downward through a positive entry threshold (`+devEnter`). A sell limit is placed at the corresponding threshold price, also with optional offset.
Exits use the same threshold method, with an independent `Close Limit Offset` to fine-tune exit placement.
╭────────────╮
Key Features
╰────────────╯
Persistence filter – Requires the Z-score to remain beyond threshold for a configurable number of bars before entry.
Cooldown after exits – Prevents immediate re-entry to reduce over-trading.
Daily and weekend flattening – Force-flattens positions via limit orders before exchange maintenance breaks and weekend closes.
Auto-rollover detection with persistence – Detects when the second contract month’s daily volume exceeds the first for a set number of days, then blocks new entries (optional).
Configurable tick offsets – Independently adjust entry and exit levels relative to threshold prices.
Minimum spread width filter – Blocks trades when long/short entry thresholds are too close together.
Contract multiplier override – Allows correct sizing for synthetic symbols where `syminfo.pointvalue` is incorrect or missing.
Limit-only execution – All entries, exits, and forced-flat actions are executed with limit orders for price control.
╭────────────────────╮
Entry Blocking Rules
╰────────────────────╯
New trades are blocked:
During daily maintenance break pre-windows
During weekend close pre-windows
After rollover triggers, if `Block After Roll` is enabled
╭────────────────────────╮
Intended Markets & Usage
╰────────────────────────╯
Built for futures spreads and synthetic instruments , including calendar spreads.
Performs best in markets with clear seasonal or statistical mean-reverting tendencies.
Not designed for strongly trending, non-reverting markets.
╭──────────────────────────╮
Risk Management & Defaults
╰──────────────────────────╯
Fixed default position size of 1 contract (qty calc function available for customization).
Realistic commission and slippage assumptions pre-set.
Pyramiding disabled by default.
Default Z-score levels: Entry at ±2.0, Exit at ±0.5.
Separate tick offset controls for entries and exits.
Note: This strategy is for research and backtesting purposes only. Past performance does not guarantee future results. All use is subject to explicit written permission from the author.
Buy The Dip - ENGThis script implements a grid trading strategy for long positions in the USDT market. The core idea is to place a series of buy limit orders at progressively lower prices below an initial entry point, aiming to lower the average entry price as the price drops. It then aims to exit the entire position when the price rises a certain percentage above the average entry price.
Here's a detailed breakdown:
1. Strategy Setup (`strategy` function):
`'거미줄 자동매매 250227'`: The name of the strategy.
`overlay = true`: Draws plots and labels directly on the main price chart.
`pyramiding = 15`: Allows up to 15 entries in the same direction (long). This is essential for grid trading, as it needs to open multiple buy orders.
`initial_capital = 600`: Sets the starting capital for backtesting to 600 USDT.
`currency = currency.USDT`: Specifies the account currency as USDT.
`margin_long/short = 0`: Doesn't define specific margin requirements (might imply spot trading logic or rely on exchange defaults if used live).
`calc_on_order_fills = false`: Strategy calculations happen on each bar's close, not just when orders fill.
2. Inputs (`input`):
Core Settings:
`lev`: Leverage (default 10x). Used to calculate position sizes.
`Investment Percentage %`: Percentage of total capital to allocate to the initial grid (default 80%).
`final entry Percentage %`: Percentage of the *remaining* capital (100 - `Investment Percentage %`) to use for the "semifinal" entry (default 50%). The rest goes to the "final" entry.
`Price Adjustment Length`: Lookback period (default 4 bars) to determine the initial `maxPrice`.
`price range`: The total percentage range downwards from `maxPrice` where the grid orders will be placed (default -10%, meaning 10% down).
`tp`: Take profit percentage above the average entry price (default 0.45%).
`semifinal entry price percent`: Percentage drop from `maxPrice` to trigger the "semifinal" larger entry (default -12%).
`final entry price percent`: Percentage drop from `maxPrice` to trigger the "final" larger entry (default -15%).
Rounding & Display:
`roundprice`, `round`: Decimal places for rounding price and quantity calculations.
`texts`, `label_style`: User interface preferences for text size and label appearance on the chart.
Time Filter:
`startTime`, `endTime`: Defines the date range for the backtest.
3. Calculations & Grid Setup:
`maxPrice`: The highest price point for the grid setup. Calculated as the lowest low of the previous `len` bars only if no trades are open. If trades are open, it uses the entry price of the very first order placed in the current sequence (`strategy.opentrades.entry_price(0)`).
`minPrice`: The lowest price point for the grid, calculated based on `maxPrice` and `range1`.
`totalCapital`: The amount of capital (considering leverage and `per1`) allocated for the main grid orders.
`coinRatios`: An array ` `. This defines the *relative* size ratio for each of the 11 grid orders. Later orders (at lower prices) will be progressively larger.
`totalRatio`: The sum of all ratios (66).
`positionSizes`: An array calculated based on `totalCapital` and `coinRatios`. It determines the actual quantity (size) for each of the 11 grid orders.
4. Order Placement Logic (`strategy.entry`):
Initial Grid Orders:
Runs only if within the specified time range and no position is currently open (`strategy.opentrades == 0`).
A loop places 11 limit buy orders (`Buy 1` to `Buy 11`).
Prices are calculated linearly between `maxPrice` and `minPrice`.
Order sizes are taken from the `positionSizes` array.
Semifinal & Final Entries:
Two additional, larger limit buy orders are placed simultaneously with the grid orders:
`semifinal entry`: At `maxPrice * (1 - semifinal / 100)`. Size is based on `per2`% of the capital *not* used by the main grid (`1 - per1`).
`final entry`: At `maxPrice * (1 - final / 100)`. Size is based on the remaining capital (`1 - per2`% of the unused portion).
5. Visualization (`line.new`, `label.new`, `plot`, `plotshape`, `plotchar`):
Grid Lines & Labels:
When a position is open (`strategy.opentrades > 0`), horizontal lines and labels are drawn for each of the 11 grid order prices and the "final" entry price.
Lines extend from the bar where the *first* entry occurred.
Labels show the price and planned size for each level.
Dynamic Coloring: If the price drops below a grid level, the corresponding line turns green, and the label color changes, visually indicating that the level has been reached or filled.
Plotted Lines:
`maxPrice` (initial high point for the grid).
`strategy.position_avg_price` (current average entry price of the open position, shown in red).
Target Profit Price (`strategy.position_avg_price * (1 + tp / 100)`, shown in green).
Markers:
A flag marks the `startTime`.
A rocket icon (`🚀`) appears below the bar where the `final entry` triggers.
A stop icon (`🛑`) appears below the bar where the `semifinal entry` triggers.
6. Exit Logic (`strategy.exit`, `strategy.entry` with `qty=0`):
Main Take Profit (`Full Exit`):
Uses `strategy.entry('Full Exit', strategy.short, qty = 0, limit = target2)`. This places a limit order to close the entire position (`qty=0`) at the calculated take profit level (`target2 = avgPrice * (1 + tp / 100)`). Note: Using `strategy.entry` with `strategy.short` and `qty=0` is a way to close a long position, though `strategy.exit` is often clearer. This exit seems intended to apply whenever any part of the grid position is open.
First Order Trailing Stop (`1st order Full Exit`):
Conditional: Only active if `trail` input is true AND the *last* order filled was "Buy 1" (meaning only the very first grid level was entered).
Uses `strategy.exit` with `trail_points` and `trail_offset` based on ATR values to implement a trailing stop loss/profit mechanism for this specific scenario.
This trailing stop order is cancelled (`strategy.cancel`) if any subsequent grid orders ("Buy 2", etc.) are filled.
Final/Semifinal Take Profit (`final Full Exit`):
Conditional: Only active if more than 11 entries have occurred (meaning either the "semifinal" or "final" entry must have triggered).
Uses `strategy.exit` to place a limit order to close the entire position at the take profit level (`target3 = avgPrice * (1 + tp / 100)`).
7. Information Display (Tables & UI Label):
`statsTable` (Top Right):
A comprehensive table displaying grouped information:
Market Info (Entry Point, Current Price)
Position Info (Avg Price, Target Price, Unrealized PNL $, Unrealized PNL %, Position Size, Position Value)
Strategy Performance (Realized PNL $, Realized PNL %, Initial/Total Balance, MDD, APY, Daily Profit %)
Trade Statistics (Trade Count, Wins/Losses, Win Rate, Cumulative Profit)
`buyAvgTable` (Bottom Left):
* Shows the *theoretical* entry price and average position price if trades were filled sequentially up to each `buy` level (buy1 to buy10). It uses hardcoded percentage drops (`buyper`, `avgper`) based on the initial `maxPrice` and `coinRatios`, not the dynamically changing actual average price.
`uiLabel` (Floating Label on Last Bar):
Updates only on the most recent bar (`barstate.islast`).
Provides real-time context when a position is open: Size, Avg Price, Current Price, Open PNL ($ and %), estimated % drop needed for the *next* theoretical buy (based on `ui_gridStep` input), % rise needed to hit TP, and estimated USDT profit at TP.
Shows "No Position" and basic balance/trade info otherwise.
In Summary:
This is a sophisticated long-only grid trading strategy. It aims to:
1. Define an entry range based on recent lows (`maxPrice`).
2. Place 11 scaled-in limit buy orders within a percentage range below `maxPrice`.
3. Place two additional, larger buy orders at deeper percentage drops (`semifinal`, `final`).
4. Calculate the average entry price as orders fill.
5. Exit the entire position for a small take profit (`tp`) above the average entry price.
6. Offer a conditional ATR trailing stop if only the first order fills.
7. Provide extensive visual feedback through lines, labels, icons, and detailed information tables/UI elements.
Keep in mind that grid strategies can perform well in ranging or slowly trending markets but can incur significant drawdowns if the price trends strongly against the position without sufficient retracements to hit the take profit. The leverage (`lev`) input significantly amplifies both potential profits and losses.
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)






















