Bullish Divergent Bar DCA Strategy [Skyrexio]Overview
Bullish Divergent Bar DCA Strategy is a long-only, multi-layer Dollar-Cost Averaging (DCA) strategy that builds positions around bullish divergent bars formed below the Williams Alligator. It detects potential local bottoms and then scales into the move using up to four pyramiding entries, each with its own size and price threshold. The strategy optionally incorporates Market Facilitation Index (MFI) and Awesome Oscillator (AO) momentum to strengthen reversal confirmation and uses ATR-based take profit on the averaged entry price.
Unique Features
Layered DCA entries with equity-based sizing . It supports up to four DCA layers, where each additional layer is opened only after a configurable percentage drawdown from the first entry and position size is computed as a fraction of current equity via a geometric weighting scheme.
Optional AO and MFI confirmation . Users can require Awesome Oscillator momentum divergence, MFI/volume “squat” bars, or both to confirm that the reversal bar is accompanied by capitulation and weakening downside momentum.
ATR-based dynamic take profit . Take profit is defined as a multiple of ATR added to the current average entry price, automatically adjusting exits to prevailing volatility.
Built-in DCA visualization . The script can plot the initial entry level and all DCA thresholds to make the averaging structure and risk visually transparent on the chart.
Methodology
The core entry logic starts from a bullish divergent bar definition: the bar must close above its midpoint (close > hl2) and be the lowest low within the user-defined lookback window, flagging a local swing low. On top of this, the bar must form entirely below all three Alligator lines, ensuring that the pattern appears after a sustained downside move rather than inside noise.
If enabled, AO adds a momentum filter by requiring the Awesome Oscillator difference to be negative (descending bar on AO histogram), signaling fading downside momentum at the potential bottom. If the MFI filter is enabled, the bar (or one of the last two bars) must be a “squat” bar where spread narrows while volume increases, approximating effort vs. result exhaustion.
Once a valid bullish reversal bar is detected and the time is within the configured trading window, the strategy opens the first DCA layer using a stop entry at the bar’s high (confirmation level), only entering if price actually breaks the bar high. Additional layers (second, third, and fourth entries) are only allowed if price trades below percentage thresholds from the first entry price and a new valid bullish reversal bar forms, thereby averaging down into deep pullbacks while still requiring fresh reversal evidence.
While any DCA position is open, the strategy continuously recalculates the take profit as the current volume-weighted average entry price plus ATR multiplied by a user-defined factor. All individual entries share the same take profit level through separate strategy exit calls, so the entire stacked position exits together once price has moved sufficiently above the averaged entry.
Strategy settings
In the inputs window, users can configure the following strategy settings:
sourceUuid / secretToken: Identifiers used to format JSON alerts for automated execution through webhooks.
Trade Start Date/Time: Beginning of the backtest/live-trading window.
Trade Stop Date/Time: End of the backtest/live-trading window.
Show DCA Levels (default = false): Toggles plotting of the initial entry level and all three DCA thresholds on the chart.
Enable MFI (default = false): Enables the MFI-style volume/spread filter.
Enable AO (default = false): Enables Awesome Oscillator confirmation.
Number Of Bar For Lowest Bar (default = 7): Lookback window used to identify the lowest low bar for the bullish reversal bar condition.
Layer 2 Threshold Percent (default = 4.0): Percentage drop from the first layer price that must be reached to allow the second DCA entry.
Layer 3 Threshold Percent (default = 10.0): Percentage drop from the first layer price required to unlock the third DCA layer.
Layer 4 Threshold Percent (default = 22.0): Percentage drop from the first layer price required to unlock the fourth DCA layer.
Position Size Multiplier (default = 2.0): Multiplier used in the geometric weighting scheme to determine how much equity is allocated to each additional DCA layer.
Number Of ATR For Take Profit (default = 2.0): ATR multiple added to the current average entry price to calculate the shared take profit for all open layers.
Users can refine these parameters during backtesting to fit the volatility profile and structure of the specific asset and timeframe.
Justification of Methodology
Before understanding why this particular combination of indicator has been chosen let's briefly explain what is Williams Alligator, MFI and AO.
let’s start with the Williams Alligator. Developed by Bill Williams, the Alligator is a technical indicator that identifies trends and potential market reversals. It consists of three smoothed moving averages:
Jaw (Blue Line): The slowest of the three, based on a 13-period smoothed moving average shifted 8 bars ahead.
Teeth (Red Line): The medium-speed line, derived from an 8-period smoothed moving average shifted 5 bars forward.
Lips (Green Line): The fastest line, calculated using a 5-period smoothed moving average shifted 3 bars forward.
When the lines diverge and align in order, the "Alligator" is "awake," signaling a strong trend. When the lines overlap or intertwine, the "Alligator" is "asleep," indicating a range-bound or sideways market. This indicator helps traders determine when to enter or avoid trades.
The Awesome Oscillator (AO), developed by Bill Williams, is a momentum indicator designed to measure market momentum by contrasting recent price movements with a longer-term historical perspective. It helps traders detect potential trend reversals and assess the strength of ongoing trends.
The formula for AO is as follows:
AO = SMA5(Median Price) − SMA34(Median Price)
where:
Median Price = (High + Low) / 2
SMA5 = 5-period Simple Moving Average of the Median Price
SMA 34 = 34-period Simple Moving Average of the Median Price
The Market Facilitation Index (MFI) is a technical indicator that measures the price movement per unit of volume, helping traders gauge the efficiency of price movement in relation to trading volume. Here's how you can calculate it:
MFI = (High−Low)/Volume
MFI can be used in combination with volume, so we can divide 4 states. Bill Williams introduced these to help traders interpret the interaction between volume and price movement. Here’s a quick summary:
Green Window (Increased MFI & Increased Volume): Indicates strong momentum with both price and volume increasing. Often a sign of trend continuation, as both buying and selling interest are rising.
Fake Window (Increased MFI & Decreased Volume): Shows that price is moving but with lower volume, suggesting weak support for the trend. This can signal a potential end of the current trend.
Squat Window (Decreased MFI & Increased Volume): Shows high volume but little price movement, indicating a tug-of-war between buyers and sellers. This often precedes a breakout as the pressure builds.
Fade Window (Decreased MFI & Decreased Volume): Indicates a lack of interest from both buyers and sellers, leading to lower momentum. This typically happens in range-bound markets and may signal consolidation before a new move.
For our purposes we are interested in squat bars. This is the sign that volume cannot move the price easily. This type of bar increases the probability of trend reversal. In this indicator we added to enable the MFI filter of reversal bars. If potential divergent bar or two preceding bars have squat state this bar can be interpret as a reversal one.
The strategy intentionally focuses on bullish divergent bars forming at local lows and below the Alligator to catch potential exhaustion points in downtrends where risk/reward becomes asymmetric. The Alligator (Jaw, Teeth, Lips) acts as a dynamic structure filter: requiring price to be below all three lines before reversal helps avoid chasing minor pullbacks inside an ongoing uptrend and instead concentrates entries on deeper corrections where mean reversion potential is higher.
The custom bullish divergent bar rule (close above midpoint and being the lowest low over N bars) approximates a local capitulation candle, which often precedes short squeezes or at least strong reactions. By combining this with AO and MFI-style filters, the strategy further increases the likelihood that the pattern coincides with downside momentum(as a confirmation that current trend is downward, AO difference < 0) and effort vs. result anomalies (squat bars), which is common signatures of trend exhaustion.
The DCA structure is designed to deploy capital progressively rather than all at once: the first entry is triggered only if price confirms the reversal by breaking above the bar’s high, while subsequent layers require both a deeper discount relative to the initial entry and a new bullish reversal signal. Percentage thresholds from the first entry ensure that each additional allocation is made at meaningfully better prices, improving the blended entry level and reducing the break-even distance.
Finally, using ATR as the basis for take profit aligns exits with current volatility. A fixed-percentage target can be too tight in volatile regimes or too loose in quiet markets, whereas ATR-based targets scale with average bar range. Applying ATR to the evolving average entry price of all open layers keeps the risk/reward framework consistent across different volatility regimes and DCA configurations.
Backtest Results
Operating window: Date range of backtests is 2025.01.01 - 2026.01.01. It is chosen to let the strategy to close all opened positions.
Commission and Slippage: Includes a standard Binance commission of 0.1% and accounts for possible slippage over 5 ticks.
Initial capital: 10000 USDT
Maximum Single Position Loss: -6.56%
Maximum Single Profit: +4.92%
Net Profit: +934.08 USDT (+9.34%)
Total Trades: 121 (82.64% win rate)
Profit Factor: 2.948
Maximum Accumulated Loss: 624.72 USDT (-6.15%)
Average Profit per Trade: 7.72 USDT (+0.37%)
Average Trade Duration: 60 hours
These results are obtained with realistic parameters representing trading conditions observed at major exchanges such as Binance and with realistic trading portfolio usage parameters.
You should run your own backtests on the target asset and timeframe (for example, BTC/USDT on intraday charts) and adjust threshold percentages, layer sizing, and ATR take profit factor to match your risk tolerance and market conditions.
How to Use
Add the script to favorites for easy access.
Apply to the desired timeframe and chart.
Configure settings using the dropdown choice list in the built-in menu.
Set up alerts to automate strategy positions through web hook with the text: {{strategy.order.alert_message}}
Disclaimer:
Educational and informational tool reflecting Skyrex commitment to informed trading. Past performance does not guarantee future results. Test strategies in a simulated environment before live implementation
Pine Script® Strategie






















