Range Trading StrategyOVERVIEW
The Range Trading Strategy is a systematic trading approach that identifies price ranges
from higher timeframe candles or trading sessions, tracks pivot points, and generates
trading signals when range extremes are mitigated and confirmed by pivot levels.
CORE CONCEPT
The strategy is based on the principle that when a candle (or session) closes within the
range of the previous candle (or session), that previous candle becomes a "range" with
identifiable high and low extremes. When price breaks through these extremes, it creates
trading opportunities that are confirmed by pivot levels.
RANGE DETECTION MODES
1. HTF (Higher Timeframe) Mode:
Automatically selects a higher timeframe based on the current chart timeframe
Uses request.security() to fetch HTF candle data
Range is created when an HTF candle closes within the previous HTF candle's range
The previous HTF candle's high and low become the range extremes
2. Sessions Mode:
- Divides the trading day into 4 sessions (UTC):
* Session 1: 00:00 - 06:00 (6 hours)
* Session 2: 06:00 - 12:00 (6 hours)
* Session 3: 12:00 - 20:00 (8 hours)
* Session 4: 20:00 - 00:00 (4 hours, spans midnight)
- Tracks high, low, and close for each session
- Range is created when a session closes within the previous session's range
- The previous session's high and low become the range extremes
PIVOT DETECTION
Pivots are detected based on candle color changes (bullish/bearish transitions):
1. Pivot Low:
Created when a bullish candle appears after a bearish candle
Pivot low = minimum of the current candle's low and previous candle's low
The pivot bar is the actual bar where the low was formed (current or previous bar)
2. Pivot High:
Created when a bearish candle appears after a bullish candle
Pivot high = maximum of the current candle's high and previous candle's high
The pivot bar is the actual bar where the high was formed (current or previous bar)
IMPORTANT: There is always only ONE active pivot high and ONE active pivot low at any
given time. When a new pivot is created, it replaces the previous one.
RANGE CREATION
A range is created when:
(HTF Mode) An HTF candle closes within the previous HTF candle's range AND a new HTF
candle has just started
(Sessions Mode) A session closes within the previous session's range AND a new session
has just started
Or Range Can Be Created when the Extreme of Another Range Gets Mitigated and We Have a Pivot low Just Above the Range Low or Pivot High just Below the Range High
Range Properties:
rangeHigh: The high extreme of the range
rangeLow: The low extreme of the range
highStartTime: The timestamp when the range high was actually formed (found by looping
backwards through bars)
lowStartTime: The timestamp when the range low was actually formed (found by looping
backwards through bars)
highMitigated / lowMitigated: Flags tracking whether each extreme has been broken
isSpecial: Flag indicating if this is a "special range" (see Special Ranges section)
RANGE MITIGATION
A range extreme is considered "mitigated" when price interacts with it:
High is mitigated when: high >= rangeHigh (any interaction at or above the level)
Low is mitigated when: low <= rangeLow (any interaction at or below the level)
Mitigation can happen:
At the moment of range creation (if price is already beyond the extreme)
At any point after range creation when price touches the extreme
SIGNAL GENERATION
1. Pending Signals:
When a range extreme is mitigated, a pending signal is created:
a) BEARISH Pending Signal:
- Triggered when: rangeHigh is mitigated
- Confirmation Level: Current pivotLow
- Signal is confirmed when: close < pivotLow
- Stop Loss: Current pivotHigh (at time of confirmation)
- Entry: Short position
Signal Confirmation
b) BULLISH Pending Signal:
- Triggered when: rangeLow is mitigated
- Confirmation Level: Current pivotHigh
- Signal is confirmed when: close > pivotHigh
- Stop Loss: Current pivotLow (at time of confirmation)
- Entry: Long position
IMPORTANT: There is only ever ONE pending bearish signal and ONE pending bullish signal
at any given time. When a new pending signal is created, it replaces the previous one
of the same type.
2. Signal Confirmation:
- Bearish: Confirmed when price closes below the pivot low (confirmation level)
- Bullish: Confirmed when price closes above the pivot high (confirmation level)
- Upon confirmation, a trade is entered immediately
- The confirmation line is drawn from the pivot bar to the confirmation bar
TRADE EXECUTION
When a signal is confirmed:
1. Position Management:
- Any existing position in the opposite direction is closed first
- Then the new position is entered
2. Stop Loss:
- Bearish (Short): Stop at pivotHigh
- Bullish (Long): Stop at pivotLow
3. Take Profit:
- Calculated using Risk:Reward Ratio (default 2:1)
- Risk = Distance from entry to stop loss
- Target = Entry ± (Risk × R:R Ratio)
- Can be disabled with "Stop Loss Only" toggle
4. Trade Comments:
- "Range Bear" for short trades
- "Range Bull" for long trades
SPECIAL RANGES
Special ranges are created when:
- A range high is mitigated AND the current pivotHigh is below the range high
- A range low is mitigated AND the current pivotLow is above the range low
In these cases:
- The pivot value is stored in an array (storedPivotHighs or storedPivotLows)
- A "special range" is created with only ONE extreme:
* If pivotHigh < rangeHigh: Creates a range with rangeHigh = pivotLow, rangeLow = na
* If pivotLow > rangeLow: Creates a range with rangeLow = pivotHigh, rangeHigh = na
- Special ranges can generate signals just like normal ranges
- If a special range is mitigated on the creation bar or the next bar, it is removed
entirely without generating signals (prevents false signals)
Special Ranges
REVERSE ON STOP LOSS
When enabled, if a stop loss is hit, the strategy automatically opens a trade in the
opposite direction:
1. Long Stop Loss Hit:
- Detects when: position_size > 0 AND position_size <= 0 AND low <= longStopLoss
- Action: Opens a SHORT position
- Stop Loss: Current pivotHigh
- Trade Comment: "Reverse on Stop"
2. Short Stop Loss Hit:
- Detects when: position_size < 0 AND position_size >= 0 AND high >= shortStopLoss
- Action: Opens a LONG position
- Stop Loss: Current pivotLow
- Trade Comment: "Reverse on Stop"
The reverse trade uses the same R:R ratio and respects the "Stop Loss Only" setting.
VISUAL ELEMENTS
1. Range Lines:
- Drawn from the time when the extreme was formed to the mitigation point (or current
time if not mitigated)
- High lines: Blue (or mitigated color if mitigated)
- Low lines: Red (or mitigated color if mitigated)
- Style: SOLID
- Width: 1
2. Confirmation Lines:
- Drawn when a signal is confirmed
- Extends from the pivot bar to the confirmation bar
- Bearish: Red, solid line
- Bullish: Green, solid line
- Width: 1
- Can be toggled on/off
STRATEGY SETTINGS
1. Range Detection Mode:
- HTF: Uses higher timeframe candles
- Sessions: Uses trading session boundaries
2. Auto HTF:
- Automatically selects HTF based on current chart timeframe
- Can be disabled to use manual HTF selection
3. Risk:Reward Ratio:
- Default: 2.0 (2:1)
- Minimum: 0.5
- Step: 0.5
4. Stop Loss Only:
- When enabled: Trades only have stop loss (no take profit)
- Trades close on stop loss or when opposite signal confirms
5. Reverse on Stop Loss:
- When enabled: Hitting a stop loss opens opposite trade with stop at opposing pivot
6. Max Ranges to Display:
- Limits the number of ranges kept in memory
- Oldest ranges are purged when limit is exceeded
KEY FEATURES
1. Dynamic Pivot Tracking:
- Pivots update on every candle color change
- Always maintains one high and one low pivot
2. Range Lifecycle:
- Ranges are created when price closes within previous range
- Ranges are tracked until mitigated
- Mitigation creates pending signals
- Signals are confirmed by pivot levels
3. Signal Priority:
- Only one pending signal of each type at a time
- New signals replace old ones
- Confirmation happens on close of bar
4. Position Management:
- Closes opposite positions before entering new trades
- Tracks stop loss levels for reverse functionality
- Respects pyramiding = 1 (only one position per direction)
5. Time-Based Drawing:
- Uses time coordinates instead of bar indices for line drawing
- Prevents "too far from current bar" errors
- Lines can extend to any historical point
USAGE NOTES
- Best suited for trending and ranging markets
- Works on any timeframe, but HTF mode adapts automatically
- Sessions mode is ideal for intraday trading
- Pivot detection requires clear candle color changes
- Range detection requires price to close within previous range
- Signals are generated on bar close, not intra-bar
The strategy combines range identification, pivot tracking, and signal confirmation to
create a systematic approach to trading breakouts and reversals based on price structure, past performance does not in any way predict future performance
Cari dalam skrip untuk "range"
Range Opening (ADX)▶ OVERVIEW
Range Opening (ADX) dynamically detects market opening ranges triggered by ADX (Average Directional Index) momentum shifts. Upon a user-defined ADX crossover or crossunder event, it builds a volume-based range box that tracks high and low prices over a fixed bar length and visualizes order flow pressure with delta volume and breakout buffer zones.
▶ RANGE TRIGGER VIA ADX CROSSOVER
The range begins when ADX crosses a custom threshold, indicating a shift in trend strength:
Users choose between ADX crossover or crossunder as the trigger.
Once triggered, the indicator starts collecting price and volume data for the specified “Range Opening Length.”
The ADX plot on the subchart is colored dynamically using a green-to-magenta gradient based on its strength.
A small label marks the ADX crossover/crossunder event visually.
▶ RANGE DEVELOPMENT BOX
While the range is forming:
Price highs and lows over the defined period are collected and stored.
A temporary gray box is drawn between the maximum high and minimum low, showing the developing range.
At each bar, delta volume is updated:
Positive if close > open
Negative if close < open
A total delta volume value is shown inside the developing box for real-time monitoring.
▶ RANGE COMPLETION & BREAKOUT LINES
Once the range completes (after the defined bar count):
The gray box is replaced with a finalized, color-coded range box.
Color Logic:
Green box if delta volume is positive (bullish bias)
Magenta box if delta is negative (bearish bias)
Two solid horizontal lines are drawn:
Top line from the range high
Bottom line from the range low
Two dashed lines are added above and below the range using ATR-based buffers, acting as buffer zones.
These lines extend until a new ADX trigger occurs, helping track future price interaction with the range.
▶ INFO PANEL & STATUS MONITORING
A compact data table appears in the top-right corner, offering quick insight:
ADX: Current value, color-coded to strength.
Threshold: User-defined trigger level.
Range Status:
Shows a green diamond when range is still forming.
Shows a magenta diamond after the range has completed.
Tooltip updates to “Developing” or “Formatted” based on stage.
▶ USAGE
Traders can use Range Opening (ADX) to:
Identify periods of strength expansion and price consolidation using ADX signals.
Track breakout potential and liquidity zones formed during opening-type setups.
Monitor delta volume to gauge buying/selling bias inside short-term ranges.
Use ATR buffer zones for breakout confirmation or fade setups.
Visually mark where the most recent structured range was defined.
▶ CONCLUSION
Range Opening (ADX) offers a systematic method to detect and monitor market ranges triggered by volatility surges. With real-time delta volume insight, persistent breakout levels, and ADX-driven logic, it serves as a versatile tool for both breakout traders and range strategists looking to capitalize on momentum-based setups.
Range Projections [TFO]The purpose of this indicator is to see how often price reached certain standard deviations from a selected time range. The inspiration for this was to study ICT (Inner Circle Trader) concepts regarding the Central Bank Dealer’s Range (CBDR), which is 2:00 pm - 8:00 pm New York local time according to ICT Core Content. However, the idea and data collection could certainly be applied to any range of time.
The main settings of this indicator are session time, range type, and the standard deviation filter. The session time is the window of price that will be utilized for range projections. The range type can be either body or wick (on the current timeframe). The standard deviation filter is used to eliminate sessions whose ranges (from high to low) are greater than the desired/input number of standard deviations from all available session ranges.
In this example, the time range is set to 16:00 - 20:00, or the time between the New York session close and the Asia session open. Our standard deviations are set to 1, 2, 2.5, and 4. Now, by taking this session’s price range and extrapolating these extensions from the initial range, we can use these levels to see if and how price interacts with them before the next 16:00 - 20:00 session.
Furthermore, we can enable the Data Table to analyze how often price trades to these levels for the sessions that are deemed valid (determined by the standard deviation filter). This time our standard deviations are set to 1, 2, 3, and 4.
This concept can theoretically be applied to any window of time. ICT has mentioned that, in instances where the CBDR is too large, the Asia range may be used instead. We can observe that the indicator behaves the same way when we change the session to the Asia range, 20:00 - 00:00.
Ranged Volume DCA Strategy - R3c0nTraderUpdate: Republishing this as Public Open-Source script.
Credits:
Thank you "EvoCrypto" for granting me permission to use "Ranged Volume" to create this strategy.
Thank you "junyou0424" for granting me permission to use "DCA Bot with SuperTrend Emulator" which I used for adding bot inputs, calculations, and strategy
What does this do?
This script is mainly used for backtesting a Ranged Volume strategy to see how a 3Commas bot would perform.
I created this script out of necessity and I wanted a way to test a 3Commas DCA bot with a strategy based on “Volume.”
I came across "EvoCrypto’s" "Ranged Volume" study and strategy in TradingView and I liked it. I wanted to configure it so it can be used for DCA bot backtesting. I used parts from "junyou0424’s" "DCA Bot with SuperTrend Emulator" to add the following:
1. The Start Time and End Time
2. Price deviation to open safety orders (%)
3. Target Take Profit (%)
4. Trailing deviation
5. Base Order and Safety Order
6. Safety order volume scale
7. Safety order step scale
8. Max safety orders
In addition to the above, I also added chart indicators for "Take Profit" as well as "Safety Order"
Pre-requisites:
You can use this script without a 3Commas account and see how 3Commas DCA Bot and Ranged Volume strategy would perform vs. a non-DCA strategy. However, I highly recommend signing up for their free account and going through their training. This would give you a base understanding on the settings you will see in this strategy and why you will need to know them.
That said these are the pre-requisites I suggest you have:
1. Base Knowledge of 3Commas DCA bots
2. Base knowledge of settings such as “Max safety trades count”, “safety order volume scale” and “safety order step scale”. If these are alien to you, I suggest you read up on these.
3. Knowledge of setting up a Single-pair 3Commas bot for receiving custom TradingView signal.
4. A paper-bot to test your ideas. (Do not use a real money bot until you have tested it sufficiently with a paper-bot. You alone are responsible for your results!)
5. Add the study I created called "R3c0nTrader’s Ranged Volume Study” which adds a separate chart in its own pane showing the volume spikes. It will also generate the “buy” signals for your bot. NOTE: The study also has the same color scheme as this strategy and having the colors in both the strategy and the study will make things easier to see. If you use EvoCrypto’s Ranged Volume Study instead, just keep in mind that the colors won’t match, and you will have to manually match them.
6. Make your buy signals from your strategy are the same as in your study! To do this, use the same “Volume Range Length” you entered in the STRATEGY and enter that value for the “Volume Range Length” in the STUDY. Also ensure you have the same settings for “Heikin Ashi” (On or Off).
Comparisons of Ranged Volume Strategy vs Ranged Volume DCA Strategy
BTCUSD
Beware of Strategies that claim super high profits. This can easily be done by lowering the initial capital to something unrealistic. If I did that with this strategy and set the initial capital $100 and base order size to $100, I get a net profit of 2,864% which is not realistic.
How to Use
1. On the “Inputs” tab:
a. Set your Start and End Time to backtest against.
b. Set your “Volume Range Length” (number of bars to look back)
c. “Heikin Ashi Colors” – Usually I leave this enabled
d. “Show Bar Colors” – Leave enabled
e. “Show Break-Out” – Leave enabled
f. “Show Range” – Leave enabled
g. Set your other inputs which are those settings you would find in your 3Commas bot that you want to test (e.g., Price deviation to open safety orders, Target Take Profit, Base order, Safety order, etc.).
h. Quick Example for BTCUSD on 2hr chart:
i. Price deviation to open safety orders (%) = 6
ii. Target Take Profit (%) = 14
iii. Trailing deviation = 0
iv. Base order = 100
v. Safety order = 200
vi. Safety order volume scale = 2
vii. Safety order step scale = 1.4
viii. Max safety order = 5
2. On the “Properties” tab, set your initial capital, base currency, etc.
a. Initial capital – Default is 10,000 (Please use realistic values here. The amount here should be able to cover ALL your safety orders if they were triggered. Ideally, you should have funds left over and not use all trade capital.)
b. Base currency – Select your currency
c. Order Size - Not used. Use the “Inputs” tab to change your base order size.
d. Leave “Pyramiding” set to 999. This acts as a ceiling to the “Max safety orders” on the “Inputs” tab. It must always be higher than your “Max safety orders.” For example, if you set your “Max safety orders” to “4” and “Pyramiding” to “4” then it effectively means you have “3” “Max safety orders” and not “4” because it is counting each successive entry including the initial order.
e. “Commission” - Optional
f. “Verify price for limit orders” – Leave at zero. This does not change anything that I can tell.
g. Optional - Enter a value for “Commission”
h. Slippage – Optional. Slippage does not occur in backtesting but does occur in real trading but it can be simulated. Example use case for tracking performance of a real money bot: You enter the start date and time of your bot’s trade into this strategy and you notice some values are a little off due to slippage (average price, take profit, safety orders are not lining up) then you would go back here and increase the slippage until those lines up close enough with your actuals.
i. Margin for long positions – I don’t use this honestly.
j. Margin for short positions – I don’t use this honestly.
k. Recalculate “After order is filled” and “On every tick” – I don’t use this honestly.
3. “Style” tab
a. Ranged Volume Bar Coloring - You must disable bar coloring in any studies you added or this may not work properly
i. Color 0 – Default Yellow; appears when a volume breakout occurs
ii. Color 1 – Default Red; appears when a volume breakdown occurs
iii. Color 2 – Light Blue; appears when Close is higher than the Open
iv. Color 3 – Dark Blue; appears when the Close is lower than the Open
b. Take profit – Default Green; take profit line
c. Safety order – Default Light Blue; safety order line
d. No Safety Orders left – Default Red; when a trade runs out of safety orders, the line turns red and there is no safety orders left underneath to catch any further falling price movements.
e. Avg Position Price – Default Orange; your average position price for any given trade.
f. Take Profit Plot Area – Default Green; creates a highlighted area for your take profit
g. SO Plot Area – Default Light Blue; creates a highlighted area for your safety orders
h. Trades on chart – Show or hide your trades on the chart
i. Signal labels – Show or hide the trade signal labels on the chart
j. Quantity – Show or hide the trade quantity on the chart
Explanation of Chart lines and colors on chart
Range Weighted Moving Average (RWMA)The Range Weighted Moving Average (RWMA) :
The Range Weighted Moving Average (RWMA) is a variation of the traditional moving average that incorporates the price range within each period as a weighting factor.
It assigns higher weights to periods with larger price ranges, aiming to provide a moving average that responds more dynamically to changes in price range and volatility.
Compared to a normal Simple Moving Average (SMA) or Exponential Moving Average (EMA), the RWMA offers several potential advantages:
Why do i think its better than Normal SMA , EMA ?
Increased Sensitivity: The RWMA reacts faster to changes in price compared to traditional moving averages. By incorporating the price range, which represents the volatility of each period, the RWMA gives more importance to periods with larger price ranges. This increased sensitivity can help traders identify price movements and trends more quickly.
Adaptive to Volatility: The RWMA adjusts dynamically to changes in market volatility. During periods of high volatility, the RWMA places more weight on those periods, capturing and reflecting the increased price movements. This adaptability allows the RWMA to be responsive to different market conditions and better capture significant price swings.
Filtering Potential: The RWMA can be utilized as a filtering tool in trading strategies. By using the RWMA as a trend indicator or filter, traders can focus on trades that align with the direction indicated by the RWMA. This filtering mechanism can help eliminate trades that go against the prevailing momentum, potentially improving the overall quality of trade entries.
Range PolarityDescription:
This indicator is a "Rate of Change" style oscillator designed to measure market dynamics through the lens of price ranges. By utilizing the true range in conjunction with high and low separation, this script produces two distinct oscillators: one for positive price shifts and one for negative price shifts.
Key Features:
High/Low Isolation:
The script calculates the relative movement of upwards and downwards price movements over a user-defined period. This separation provides a nuanced view of market behavior, offering two separate signals for comparison.
Dynamic Transform Smoothing:
A smoothing transform is applied to the signals, ensuring better outlier handling while maintaining sensitivity to price extremes. This makes the oscillator especially suited for identifying overbought and oversold conditions.
Zero-Centered:
The zero line acts as a "gravity point," where shifts away or toward zero indicate market momentum. Signal crosses or reversals from extreme zones can signal potential entry or exit points.
Outlier Identification:
Unlike traditional ATR based strategies (e.g., Keltner Channels ), this indicator isolates high and low ranges, creating a more granular view of market extremes. These measurements can help identify shifts from the outlying positions and reversal opportunities.
Visual Enhancements:
Multiple layers enhance the visual distinction of the positive and negative transformations. Horizontal lines at key thresholds provide visual reference for overbought, oversold, and equilibrium zones.
How to Use:
Primary signals are shifts from outlying positions or a positive/negative cross. An extreme reading itself can reveal an incoming reversal when calibrated with other indicators or compared with higher timeframes. Pairing "Range Polarity" with volume and momentum can create a comprehensive strategy.
In conclusion, be aware the base length controls the window for high/low contributions while the transform smoothing enhances the raw data through normalization within a tempered range to filter out insignificant fluctuations.
Merry Christmas to all and have a Happy New Year!
Ranged Volume Study - R3c0nTraderCredits:
Thank you "EvoCrypto" for granting me permission to use "Ranged Volume" to create this version of it.
What is this and What does this do?
This study shows the ranged volume, and it can be used to produce buy signals for a 3Commas bot.
What’s different about this script?
I added code so that negative volume has its own color settings and lower opacity than the positive volume.
I changed the color scheme from Yellow, Red, Green, and Black to Yellow, Red, Light Blue, and Dark Blue.
How to Use
1. On the “Inputs” tab:
a. Set your “Volume Range Length” (number of bars to look back)
b. “Heikin Ashi” – Usually I leave this enabled. Make sure this matches what you have in your strategy!
c. “Show Bar Colors” – Leave disabled. Let the Strategy script color the bars in the price chart.
d. “Show Break-Out” – Leave enabled. Highlights the volume breakout in yellow and breakdowns in red.
e. “Show Range” – Leave enabled
Ranges With Targets [ChartPrime]The Ranges With Targets indicator is a tool designed to assist traders in identifying potential trading opportunities on a chart derived from breakout trading. It dynamically outlines ranges with boxes in real-time, providing a visual representation of price movements. When a breakout occurs from a range, the indicator will begin coloring the candles. A green candle signals a long breakout, suggesting a potential upward movement, while a red candle indicates a short breakout, suggesting a potential downward movement. Grey candles indicate periods with no active trade. Ranges are derived from daily changes in price action.
This indicator builds upon the common breakout theory in trading whereby when price breaks out of a range; it may indicate continuation in a trend.
Additionally, users have the ability to customize their risk-reward settings through a multiplier referred to as the Target input. This allows traders to set their Take Profit (TP) and Stop Loss (SL) levels according to their specific risk tolerance and trading strategy.
Furthermore, the indicator offers an optional stop loss setting that can automatically exit losing trades, providing an additional layer of risk management for users who choose to utilize this feature.
A dashboard is provided in the top right showing the statistics and performance of the indicator; winning trades; losing trades, gross profit and loss and PNL. This can be useful when analyzing the success of breakout trading on a particular asset or timeframe.
Ranged Volume - evoA simple script that shows mirrored regular volume bars with the purpose to show break-outs and low volume ranges, using highest and lowest of a few bars back.
Use Heikin Ashi function to smooth the colors with the trend.
Ranged Volume Strategy - evoThis is the strategy version for the ranged volume indicator I published a few days ago.
Long : First yellow break-out after red
Short : First red break-out after yellow
Because this is volume, you want to be using this on an exchange with high volume for the best results. Default settings are not optimized but work great on bitcoins daily chart.
A short explanation of the indicator below:
Range Delta Heiken Ashi Bollinger|Buy/Sell |OB & OS CandlesPurpose: Mathematically represent buying and selling zones for Daily/ Weekly Traders
Indicator: Calculates moving average of the candle's body with respect to the daily trading range
Buy and Sell Signals: Calculates Bollinger Range with Max/Min and Buy/Sell Bollinger signals
Overbought and Oversold Signals: Candlesticks show overbought and oversold conditions
Level of Difficulty: This indicator was written to make life easier. Follow the Rules and anyone can use it.
Rule 1: Buy when candlestick is below "purple" line
Rule 2: Sell when candlestick is above "blue" line
Rule 3: Add bollinger bands to your currency chart
Rule 4: Confirm indicator bollinger bands with currency chart's bollinger bands
Rule 5: Trade in direction of trend
Rule 6: As with all trading; no indicators are fool proof. Please trade responsibly.
****Full Customization for you****
Suggestion 1: Add bollinger bands to currency chart to improve probability
Suggestion 2: Trade the direction of Trend
Suggestion 3: This indicator works very well with Ranged Markets (or use Suggestion 2)
Disclaimer 1: This Indicator words best on Daily and Weekly time frames
Disclaimer 2: Enjoy the Indicator and feel free to ADD COMMENTS; I worked very hard for you and me :)
Range-Weighted Volatility (Comparable)I wrote an indicator to measure volatility inside a range. It’s extremely useful for choosing a trading pair for grid strategies, because it lets you quickly, easily, and fairly identify which asset is the volatility leader. It measures volatility “fairly” relative to the asset’s trading range, not just by absolute price changes.
For example: if an asset trades in a 50–100 range and over a week it moves many, many times between 52 and 98, then it’s highly volatile. But if another asset trades in a 50–1000 range and makes the same 52–98 moves, its volatility is actually low — because the “weight” of that movement relative to the full range is small. The indicator accounts for this “movement weight” relative to the range, then sums these weights into a single number. That number makes it easy to judge whether an asset is suitable for a grid strategy.
That’s exactly what grids need: not just high volatility, but high volatility within a narrow range.
Settings: the Window (bars) field defines how many bars are used to calculate volatility. On a 5-minute chart, one week is 2016 bars (2460/57). By default, the script calculates over 30 days on 5-minute charts. The script also allows you to set a second symbol for comparison, so you can see both results on the same chart.
Написал индикатор для определения волатильности в диапазоне, очень-очень полезно для выбора торговой пары на гриде, позволяет легко и быстро и честно определить лидера по волатильности, при этом определяет ее "честно", относительно торгового диапазона, а не просто изменения цены.
Например если актив торгуется в диапазоне 50-100 и за неделю много-много раз сходил 52-98, то это очень волатильный актив, и в то же время если актив торгуется в диапазоне 50-1000 и сходил так же 52-98, то это будет низко волатильный актив, т.е. учитывается "вес" движения относительно диапазона и данные "веса" суммируются в одну единую цифру по которой и можно оценивать насколько актив подходит под грид стратегию.
А ведь именно это для гридов и нужно, не просто высокая волатильность, а именно высокая волатильность в узком диапазоне.
Касательно настроек , в поле Windows (bars) задается количество баров по которым скрипт будет считать волатильность, на 5-ти минутки неделя это 2016 (24*60/5*7), стандартно скрипт считает за 30 дней на 5-ти минутки. + в самом скрипте можно указать вторую пару для сравнения чтоб на одном графике увидеть результат.
((Range||Type||Swing))Consecutive Candle range boxes with gradient and number count. Inside Outside and Engulfing color bars plus plots. Strict swing filter plus bonus filter where the 3rd bar in the swing closes below the swing candles high or low respectfully.
How I Use
I use the candle stick patterns to gauge market conditions, the consecutive candle ranges to follow order flow using a closing break of the range and retest and the filtered swings to assist in identifying stronger. If any one wants to create a strategy around this that would be cool i know nothing of coding and do everything with A.I
turns
Range Breakout Signals [AlgoAlpha]OVERVIEW
This script detects range-bound market conditions and breakout signals using a combination of volatility compression and volume imbalance analysis. It identifies zones where price consolidates within a defined range and highlights potential breakout points with visual markers. Traders can use this to spot market transitions from ranging to trending phases, aiding in decision-making for breakout strategies.
CONCEPTS
The script measures volatility by comparing the ratio of the simple moving average (SMA) of price movements to their median value. When volatility drops below a threshold, the script assumes a range-bound market. It then tracks the cumulative volume of buying and selling pressure to assess breakout strength. The approach is based on the idea that market consolidation often precedes strong moves, and volume distribution can provide clues on the breakout direction.
FEATURES
Range Detection : Uses a volatility filter to identify low-volatility zones and marks them on the chart with shaded boxes.
Volume Imbalance Analysis : Evaluates cumulative up and down volume over a confirmation period to assess directional bias.
Breakout Signals : When price exits a detected range, the script plots breakout markers. A ▲ symbol indicates a bullish breakout, and a ▼ symbol indicates a bearish breakout. Additional "+" markers indicate strong volume imbalance favoring the breakout direction.
Adaptive Timeframe Volume Analysis : The script dynamically adjusts its volume calculation based on the chart’s timeframe, ensuring reliable signal generation across different trading conditions.
Alerts : Notifies traders when a new range is detected or when a breakout occurs, allowing for automated monitoring.
USAGE
Traders can use this script to identify potential trade setups by entering positions when price breaks out of a detected range. For breakout confirmation, traders can look at volume imbalance cues—bullish breakouts with strong buying volume may indicate sustained moves, while weak volume breakouts may lead to false signals. This script is particularly useful for breakout traders, range traders seeking to fade breakouts, and those looking to automate trade alerts in volatile markets.
Range Volume ChangeI was looking for a way to see if today's premarket volume is higher or lower than the previous day's premarket, but did not find any, hence, I made my own which I share with you now.
I call it 'Range Volume Change' or just RVC.
RVC will show the percentage of change between the selected time range and the previous day for the same time range.
This will allow us to see if the volume is increasing or decreasing today compared to the previous day by a specific time range that we set in PVC settings. It can do more than just premarket, you can use it for any time range of your interest which will work on 24hours assets like crypto and forex.
RVC visualizes the incremental of the volume using increasing size columns giving you a better view of how the volume changes compared to the past. The column shows the accumulated volume from when the time range started.
As an extra feature, it will also show the volume percentage of change outside the time range (can be disabled from settings).
In addition, RVC is also designed to work on real-time data.
Example of BTCUSDT (24-hour asset) with volume 'outside the time range', enabled (purple columns):
Follow for more awesome indicators/strategies: www.tradingview.com
Range: OHLC vs Previous OHLC - Version 2Version 1 here -
This is essentially the same as version 1 with one update. You have the freedom to independently choose OHLC for current candle and prior candle.
To elaborate further, Version 1 had 1 choice. For example, Close; you could only compare the close of prior candle to the current candle.
Version 2; you can compare close of the current candle to the low of the prior candle.
Range Gap/Open to Close/Close to CloseThis indicator shows the percentage variation of:
gap
close to close (day including gap)
open to close (without gap)
The green bars represent the days when the variation did not reach the selected range. The red bars show the days when the variation was higher than the selected range.
Best timeframe : DAY
Range EstimateAs a trader I need to know what are the best ranges to get in or out
So this tool try to help a little bit .
First we have Pivot points (all forms with fib ,traditional etc)
next is percentage channel (uper=upper % from close and Lper=lower % from close) , in btc I use 3% up or low for 1 hour candles as it give me good range of lower and upper bound . This you need to change for different TF or different assets
next we have Bollinger upper and lower (Bup= Bollinger upper and Blow=Bollinger lower) it has also MTF function
last we MA =,20,50,100,200
in total the aim of this indicator is to give fast glance on the numbers that important to you as trader fast with a clean graph so you can add your indicator to it to see better how they work
The info panel you can change the font size, you can change distance by offset
and the position on the graph , you need to adjust with position -in this case since it btc I put number of 8700
let say it ETH then I put a number 5% above the close number
if it XRP = then the same trick , lets say 0.3 etc
Range Oscillator Strategy + Stoch Confirm🔹 Short summary
This is a free, educational long-only strategy built on top of the public “Range Oscillator” by Zeiierman (used under CC BY-NC-SA 4.0), combined with a Stochastic timing filter, an EMA-based exit filter and an optional risk-management layer (SL/TP and R-multiple exits). It is NOT financial advice and it is NOT a magic money machine. It’s a structured framework to study how range-expansion + momentum + trend slope can be combined into one rule-based system, often with intentionally RARE trades.
────────────────────────
0. Legal / risk disclaimer
────────────────────────
• This script is FREE and public. I do not charge any fee for it.
• It is for EDUCATIONAL PURPOSES ONLY.
• It is NOT financial advice and does NOT guarantee profits.
• Backtest results can be very different from live results.
• Markets change over time; past performance is NOT indicative of future performance.
• You are fully responsible for your own trades and risk.
Please DO NOT use this script with money you cannot afford to lose. Always start in a demo / paper trading environment and make sure you understand what the logic does before you risk any capital.
────────────────────────
1. About default settings and risk (very important)
────────────────────────
The script is configured with the following defaults in the `strategy()` declaration:
• `initial_capital = 10000`
→ This is only an EXAMPLE account size.
• `default_qty_type = strategy.percent_of_equity`
• `default_qty_value = 100`
→ This means 100% of equity per trade in the default properties.
→ This is AGGRESSIVE and should be treated as a STRESS TEST of the logic, not as a realistic way to trade.
TradingView’s House Rules recommend risking only a small part of equity per trade (often 1–2%, max 5–10% in most cases). To align with these recommendations and to get more realistic backtest results, I STRONGLY RECOMMEND you to:
1. Open **Strategy Settings → Properties**.
2. Set:
• Order size: **Percent of equity**
• Order size (percent): e.g. **1–2%** per trade
3. Make sure **commission** and **slippage** match your own broker conditions.
• By default this script uses `commission_value = 0.1` (0.1%) and `slippage = 3`, which are reasonable example values for many crypto markets.
If you choose to run the strategy with 100% of equity per trade, please treat it ONLY as a stress-test of the logic. It is NOT a sustainable risk model for live trading.
────────────────────────
2. What this strategy tries to do (conceptual overview)
────────────────────────
This is a LONG-ONLY strategy designed to explore the combination of:
1. **Range Oscillator (Zeiierman-based)**
- Measures how far price has moved away from an adaptive mean.
- Uses an ATR-based range to normalize deviation.
- High positive oscillator values indicate strong price expansion away from the mean in a bullish direction.
2. **Stochastic as a timing filter**
- A classic Stochastic (%K and %D) is used.
- The logic requires %K to be below a user-defined level and then crossing above %D.
- This is intended to catch moments when momentum turns up again, rather than chasing every extreme.
3. **EMA Exit Filter (trend slope)**
- An EMA with configurable length (default 70) is calculated.
- The slope of the EMA is monitored: when the slope turns negative while in a long position, and the filter is enabled, it triggers an exit condition.
- This acts as a trend-protection exit: if the medium-term trend starts to weaken, the strategy exits even if the oscillator has not yet fully reverted.
4. **Optional risk-management layer**
- Percentage-based Stop Loss and Take Profit (SL/TP).
- Risk/Reward (R-multiple) exit based on the distance from entry to SL.
- Implemented as OCO orders that work *on top* of the logical exits.
The goal is not to create a “holy grail” system but to serve as a transparent, configurable framework for studying how these concepts behave together on different markets and timeframes.
────────────────────────
3. Components and how they work together
────────────────────────
(1) Range Oscillator (based on “Range Oscillator (Zeiierman)”)
• The script computes a weighted mean price and then measures how far price deviates from that mean.
• Deviation is normalized by an ATR-based range and expressed as an oscillator.
• When the oscillator is above the **entry threshold** (default 100), it signals a strong move away from the mean in the bullish direction.
• When it later drops below the **exit threshold** (default 30), it can trigger an exit (if enabled).
(2) Stochastic confirmation
• Classic Stochastic (%K and %D) is calculated.
• An entry requires:
- %K to be below a user-defined “Cross Level”, and
- then %K to cross above %D.
• This is a momentum confirmation: the strategy tries to enter when momentum turns up from a pullback rather than at any random point.
(3) EMA Exit Filter
• The EMA length is configurable via `emaLength` (default 70).
• The script monitors the EMA slope: it computes the relative change between the current EMA and the previous EMA.
• If the slope turns negative while the strategy holds a long position and the filter is enabled, it triggers an exit condition.
• This is meant to help protect profits or cut losses when the medium-term trend starts to roll over, even if the oscillator conditions are not (yet) signalling exit.
(4) Risk management (optional)
• Stop Loss (SL) and Take Profit (TP):
- Defined as percentages relative to average entry price.
- Both are disabled by default, but you can enable them in the Inputs.
• Risk/Reward Exit:
- Uses the distance from entry to SL to project a profit target at a configurable R-multiple.
- Also optional and disabled by default.
These exits are implemented as `strategy.exit()` OCO orders and can close trades independently of oscillator/EMA conditions if hit first.
────────────────────────
4. Entry & Exit logic (high level)
────────────────────────
A) Time filter
• You can choose a **Start Year** in the Inputs.
• Only candles between the selected start date and 31 Dec 2069 are used for backtesting (`timeCondition`).
• This prevents accidental use of tiny cherry-picked windows and makes tests more honest.
B) Entry condition (long-only)
A long entry is allowed when ALL the following are true:
1. `timeCondition` is true (inside the backtest window).
2. If `useOscEntry` is true:
- Range Oscillator value must be above `entryLevel`.
3. If `useStochEntry` is true:
- Stochastic condition (`stochCondition`) must be true:
- %K < `crossLevel`, then %K crosses above %D.
If these filters agree, the strategy calls `strategy.entry("Long", strategy.long)`.
C) Exit condition (logical exits)
A position can be closed when:
1. `timeCondition` is true AND a long position is open, AND
2. At least one of the following is true:
- If `useOscExit` is true: Oscillator is below `exitLevel`.
- If `useMagicExit` (EMA Exit Filter) is true: EMA slope is negative (`isDown = true`).
In that case, `strategy.close("Long")` is called.
D) Risk-management exits
While a position is open:
• If SL or TP is enabled:
- `strategy.exit("Long Risk", ...)` places an OCO stop/limit order based on the SL/TP percentages.
• If Risk/Reward exit is enabled:
- `strategy.exit("RR Exit", ...)` places an OCO order using a projected R-multiple (`rrMult`) of the SL distance.
These risk-based exits can trigger before the logical oscillator/EMA exits if price hits those levels.
────────────────────────
5. Recommended backtest configuration (to avoid misleading results)
────────────────────────
To align with TradingView House Rules and avoid misleading backtests:
1. **Initial capital**
- 10 000 (or any value you personally want to work with).
2. **Order size**
- Type: **Percent of equity**
- Size: **1–2%** per trade is a reasonable starting point.
- Avoid risking more than 5–10% per trade if you want results that could be sustainable in practice.
3. **Commission & slippage**
- Commission: around 0.1% if that matches your broker.
- Slippage: a few ticks (e.g. 3) to account for real fills.
4. **Timeframe & markets**
- Volatile symbols (e.g. crypto like BTCUSDT, or major indices).
- Timeframes: 1H / 4H / **1D (Daily)** are typical starting points.
- I strongly recommend trying the strategy on **different timeframes**, for example 1D, to see how the behaviour changes between intraday and higher timeframes.
5. **No “caution warning”**
- Make sure your chosen symbol + timeframe + settings do not trigger TradingView’s caution messages.
- If you see warnings (e.g. “too few trades”), adjust timeframe/symbol or the backtest period.
────────────────────────
5a. About low trade count and rare signals
────────────────────────
This strategy is intentionally designed to trade RARELY:
• It is **long-only**.
• It uses strict filters (Range Oscillator threshold + Stochastic confirmation + optional EMA Exit Filter).
• On higher timeframes (especially **1D / Daily**) this can result in a **low total number of trades**, sometimes WELL BELOW 100 trades over the whole backtest.
TradingView’s House Rules mention 100+ trades as a guideline for more robust statistics. In this specific case:
• The **low trade count is a conscious design choice**, not an attempt to cherry-pick a tiny, ultra-profitable window.
• The goal is to study a **small number of high-conviction long entries** on higher timeframes, not to generate frequent intraday signals.
• Because of the low trade count, results should NOT be interpreted as statistically strong or “proven” – they are only one sample of how this logic would have behaved on past data.
Please keep this in mind when you look at the equity curve and performance metrics. A beautiful curve with only a handful of trades is still just a small sample.
────────────────────────
6. How to use this strategy (step-by-step)
────────────────────────
1. Add the script to your chart.
2. Open the **Inputs** tab:
- Set the backtest start year.
- Decide whether to use Oscillator-based entry/exit, Stochastic confirmation, and EMA Exit Filter.
- Optionally enable SL, TP, and Risk/Reward exits.
3. Open the **Properties** tab:
- Set a realistic account size if you want.
- Set order size to a realistic % of equity (e.g. 1–2%).
- Confirm that commission and slippage are realistic for your broker.
4. Run the backtest:
- Look at Net Profit, Max Drawdown, number of trades, and equity curve.
- Remember that a low trade count means the statistics are not very strong.
5. Experiment:
- Tweak thresholds (`entryLevel`, `exitLevel`), Stochastic settings, EMA length, and risk params.
- See how the metrics and trade frequency change.
6. Forward-test:
- Before using any idea in live trading, forward-test on a demo account and observe behaviour in real time.
────────────────────────
7. Originality and usefulness (why this is more than a mashup)
────────────────────────
This script is not intended to be a random visual mashup of indicators. It is designed as a coherent, testable strategy with clear roles for each component:
• Range Oscillator:
- Handles mean vs. range-expansion states via an adaptive, ATR-normalized metric.
• Stochastic:
- Acts as a timing filter to avoid entering purely on extremes and instead waits for momentum to turn.
• EMA Exit Filter:
- Trend-slope-based safety net to exit when the medium-term direction changes against the position.
• Risk module:
- Provides practical, rule-based exits: SL, TP, and R-multiple exit, which are useful for structuring risk even if you modify the core logic.
It aims to give traders a ready-made **framework to study and modify**, not a black box or “signals” product.
────────────────────────
8. Limitations and good practices
────────────────────────
• No single strategy works on all markets or in all regimes.
• This script is long-only; it does not short the market.
• Performance can degrade when market structure changes.
• Overfitting (curve fitting) is a real risk if you endlessly tweak parameters to maximise historical profit.
Good practices:
- Test on multiple symbols and timeframes.
- Focus on stability and drawdown, not only on how high the profit line goes.
- View this as a learning tool and a basis for your own research.
────────────────────────
9. Licensing and credits
────────────────────────
• Core oscillator idea & base code:
- “Range Oscillator (Zeiierman)”
- © Zeiierman, licensed under CC BY-NC-SA 4.0.
• Strategy logic, Stochastic confirmation, EMA Exit Filter, and risk-management layer:
- Modifications by jokiniemi.
Please respect both the original license and TradingView House Rules if you fork or republish any part of this script.
────────────────────────
10. No payments / no vendor pitch
────────────────────────
• This script is completely FREE to use on TradingView.
• There is no paid subscription, no external payment link, and no private signals group attached to it.
• If you have questions, please use TradingView’s comment system or private messages instead of expecting financial advice.
Use this script as a tool to learn, experiment, and build your own understanding of markets.
────────────────────────
11. Example backtest settings used in screenshots
────────────────────────
To avoid any confusion about how the results shown in screenshots were produced, here is one concrete example configuration:
• Symbol: BTCUSDT (or similar major BTC pair)
• Timeframe: 1D (Daily)
• Backtest period: from 2018 to the most recent data
• Initial capital: 10 000
• Order size type: Percent of equity
• Order size: 2% per trade
• Commission: 0.1%
• Slippage: 3 ticks
• Risk settings: Stop Loss and Take Profit disabled by default, Risk/Reward exit disabled by default
• Filters: Range Oscillator entry/exit enabled, Stochastic confirmation enabled, EMA Exit Filter enabled
If you change any of these settings (symbol, timeframe, risk per trade, commission, slippage, filters, etc.), your results will look different. Please always adapt the configuration to your own risk tolerance, market, and trading style.
Range Percent Histogram📌 Range Percent Histogram – Indicator Description
The Range Percent Histogram is a custom indicator that behaves like a traditional volume histogram, but instead of showing traded volume it displays the percentage range of each candle.
In other words, the height of each bar represents how much the price moved (in percentage terms) within that candle, from its low to its high.
🔧 What it shows
The indicator has two main components:
Component Description
Histogram Bars Columns plotted in red or green depending on the candle direction (green = bullish candle, red = bearish). The height of each bar = (high - low) / low * 100. That means a candle that moved, for example, 1 % from its lowest point to its highest point will show a bar with 1 % height.
Moving Average (optional) A 20-period Simple Moving Average applied directly to the bar values. It can be turned ON/OFF via a checkbox and helps you detect whether current range activity is above or below the average range of the past candles.
⚙️ How it works
Every time a new candle closes, the indicator calculates its range and converts it into a percentage.
This value is drawn as a column under the chart.
If the closing price is above the opening price → the bar is green (bullish range).
If the closing price is below the opening price → the bar is red (bearish range).
When the Show Moving Average option is enabled, a smooth line is plotted on top of the histogram representing the average percentage range of the last 20 candles.
📈 How to use it
This indicator is very helpful for detecting moments of range expansion or contraction.
One powerful way to use it is similar to a volume exhaustion / low-volume pattern:
Situation Interpretation
Consecutive bars with very low height Price is in a period of low volatility → possible accumulation or "pause" phase.
A sudden large bar after a series of small ones Indicates a strong pickup in volatility → often marks the start of a new impulse in the direction of the breakout.
Range Filter + ATR Strategy (Low Drawdown)Key Features for Low Drawdown:
Range Filter: Identifies trends while filtering out market noise
ATR-based Position Sizing: Adjusts position size based on volatility to risk a fixed percentage of capital
Trailing Stops: Uses ATR-based trailing stops to lock in profits and limit losses
Conservative Risk Parameters: Defaults to 1% risk per trade (adjustable)
Trend Confirmation: Requires two consecutive closes above/below the range filter
How to Use:
The strategy enters long when price is above the upper range filter for two consecutive bars
Enters short when price is below the lower range filter for two consecutive bars
Uses ATR to size positions appropriately for current volatility
Implements trailing stops based on ATR to protect profits
Optimization Tips:
Adjust the Range Filter period based on your timeframe
Modify the risk percentage (1% is conservative)
Tweak the ATR multiple for trailing stops (1.5 is moderate)
Consider adding a time-based exit if drawdown is still too high
Range Filter Buy and Sell 5min## **Enhanced Range Filter Strategy: A Comprehensive Overview**
### **1. Introduction**
The **Enhanced Range Filter Strategy** is a powerful technical trading system designed to identify high-probability trading opportunities while filtering out market noise. It utilizes **range-based trend filtering**, **momentum confirmation**, and **volatility-based risk management** to generate precise entry and exit signals. This strategy is particularly useful for traders who aim to capitalize on trend-following setups while avoiding choppy, ranging market conditions.
---
### **2. Key Components of the Strategy**
#### **A. Range Filter (Trend Determination)**
- The **Range Filter** smooths price fluctuations and helps identify clear trends.
- It calculates an **adjusted price range** based on a **sampling period** and a **multiplier**, ensuring a dynamic trend-following approach.
- **Uptrends:** When the current price is above the range filter and the trend is strengthening.
- **Downtrends:** When the price falls below the range filter and momentum confirms the move.
#### **B. RSI (Relative Strength Index) as Momentum Confirmation**
- RSI is used to **filter out weak trades** and prevent entries during overbought/oversold conditions.
- **Buy Signals:** RSI is above a certain threshold (e.g., 50) in an uptrend.
- **Sell Signals:** RSI is below a certain threshold (e.g., 50) in a downtrend.
#### **C. ADX (Average Directional Index) for Trend Strength Confirmation**
- ADX ensures that trades are only taken when the trend has **sufficient strength**.
- Avoids trading in low-volatility, ranging markets.
- **Threshold (e.g., 25):** Only trade when ADX is above this value, indicating a strong trend.
#### **D. ATR (Average True Range) for Risk Management**
- **Stop Loss (SL):** Placed **one ATR below** (for long trades) or **one ATR above** (for short trades).
- **Take Profit (TP):** Set at a **3:1 reward-to-risk ratio**, using ATR to determine realistic price targets.
- Ensures volatility-adjusted risk management.
---
### **3. Entry and Exit Conditions**
#### **📈 Buy (Long) Entry Conditions:**
1. **Price is above the Range Filter** → Indicates an uptrend.
2. **Upward trend strength is positive** (confirmed via trend counter).
3. **RSI is above the buy threshold** (e.g., 50, to confirm momentum).
4. **ADX confirms trend strength** (e.g., above 25).
5. **Volatility is supportive** (using ATR analysis).
#### **📉 Sell (Short) Entry Conditions:**
1. **Price is below the Range Filter** → Indicates a downtrend.
2. **Downward trend strength is positive** (confirmed via trend counter).
3. **RSI is below the sell threshold** (e.g., 50, to confirm momentum).
4. **ADX confirms trend strength** (e.g., above 25).
5. **Volatility is supportive** (using ATR analysis).
#### **🚪 Exit Conditions:**
- **Stop Loss (SL):**
- **Long Trades:** 1 ATR below entry price.
- **Short Trades:** 1 ATR above entry price.
- **Take Profit (TP):**
- Set at **3x the risk distance** to achieve a favorable risk-reward ratio.
- **Ranging Market Exit:**
- If ADX falls below the threshold, indicating a weakening trend.
---
### **4. Visualization & Alerts**
- **Colored range filter line** changes based on trend direction.
- **Buy and Sell signals** appear as labels on the chart.
- **Stop Loss and Take Profit levels** are plotted as dashed lines.
- **Gray background highlights ranging markets** where trading is avoided.
- **Alerts trigger on Buy, Sell, and Ranging Market conditions** for automation.
---
### **5. Advantages of the Enhanced Range Filter Strategy**
✅ **Trend-Following with Noise Reduction** → Helps avoid false signals by filtering out weak trends.
✅ **Momentum Confirmation with RSI & ADX** → Ensures that only strong, valid trades are executed.
✅ **Volatility-Based Risk Management** → ATR ensures adaptive stop loss and take profit placements.
✅ **Works on Multiple Timeframes** → Effective for day trading, swing trading, and scalping.
✅ **Visually Intuitive** → Clearly displays trade signals, SL/TP levels, and trend conditions.
---
### **6. Who Should Use This Strategy?**
✔ **Trend Traders** who want to enter trades with momentum confirmation.
✔ **Swing Traders** looking for medium-term opportunities with a solid risk-reward ratio.
✔ **Scalpers** who need precise entries and exits to minimize false signals.
✔ **Algorithmic Traders** using alerts for automated execution.
---
### **7. Conclusion**
The **Enhanced Range Filter Strategy** is a powerful trading tool that combines **trend-following techniques, momentum indicators, and risk management** into a structured, rule-based system. By leveraging **Range Filters, RSI, ADX, and ATR**, traders can improve trade accuracy, manage risk effectively, and filter out unfavorable market conditions.
This strategy is **ideal for traders looking for a systematic, disciplined approach** to capturing trends while **avoiding market noise and false breakouts**. 🚀
Range Detection [No Repaint]DETECTS RANGE EARLY
Using Confirmed Data:
All calculations now use to reference the previous completed candle
Signals are only generated based on completed candles
Range state is stored and confirmed before displaying
Key Changes to Prevent Repainting:
ATR calculations use previous candle data
Bollinger Bands calculate from previous closes
Price range checks use previous highs and lows
Range state is confirmed before displaying
How to Verify No Repainting:
Signals will only appear after a candle closes
Historical signals will remain unchanged
Alerts will only trigger on confirmed changes
This means:
The indicator will be slightly delayed (one candle)
But signals will be more reliable
Historical analysis will be accurate
Backtesting results will match real-time performance
Usage Tips with No-Repaint Version:
Wait for candle close before acting on signals
Use the confirmed range state for decision making
Consider the one-candle delay in your strategy timing
Alerts will only trigger on confirmed condition changes
Would you like me to:
Add a parameter to choose between real-time and no-repaint modes?
Add visual indicators for pending vs confirmed signals?
Modify the sensitivity of the range detection?






















