Narrow Range StrategyNarrow Range Strategy :
INTRODUCTION :
This strategy is based on the Narrow Range Day concept, implying that low volatility will generate higher volatility in the days ahead. The strategy sends us buy and sell signals with well-defined profit targets. It's a medium/long-term strategy. There's also a money management method that allows us to reinvest part of the profits or reduce the size of orders in the event of substantial losses.
NARROW RANGE (NR) DAY :
A Narrow Range Day is a day in which price variations are included in those of a specific day some time before. The high and low of this specific day form the "reference range". In general, we compare these variations with those of 4 or 7 days ago. The mathematical formula for finding an NR4 is :
If low > low(4) and high < high(4) :
nr = true
This implies that the current low is greater than the low of 4 days ago, and the current high is smaller than the high of 4 days ago. So today's volatility is lower than that of 4 days ago, and may be a sign of high volatility to come.
PARAMETERS :
Narrow Range Length : Corresponds to the number of candles back to compare current volatility. The default is 4, allowing comparison of current volatility with that of 4 candles ago.
Stop Loss : Percentage of the reference range on which to set an exit order to limit losses. The minimum value is 0.001, while the maximum is 1. The default value is 0.35.
Fixed Ratio : This is the amount of gain or loss at which the order quantity is changed. The default is 400, which means that for each $400 gain or loss, the order size is increased or decreased by an amount chosen by the user.
Increasing Order Amount : This is the amount to be added to or subtracted from orders when the fixed ratio is reached. The default is $200, which means that for every $400 gain, $200 is reinvested in the strategy. On the other hand, for every $400 loss, the order size is reduced by $200.
Initial capital : $1000
Fees : Interactive Broker fees apply to this strategy. They are set at 0.18% of the trade value.
Slippage : 3 ticks or $0.03 per trade. Corresponds to the latency time between the moment the signal is received and the moment the order is executed by the broker.
Important : A bot was used to test NR4 and NR7 with all possible Stop Losses in order to find out which combination generates the highest return on BITSTAMP:ETHUSD while limiting the drawdown. This strategy is the most optimal with an NR4 and a SL of 35% of the reference range size in 5D timeframe.
BUY AND SHORT SIGNALS :
When an NR is spotted, we create two stop orders on the high and low of the reference range. As soon as there's a breakout from this reference range (shown in blue on the chart), we open a position. We're LONG if there's a breakout on the high and SHORT if there's a breakout on the low. Executing a stop order cancels the second stop order.
RISK MANAGEMENT :
This strategy is subject to losses. We manage our risk with Stop Losses. The user is free to enter a SL as a percentage of the reference range. The maximum amount risked per trade therefore depends on the size of the range. The larger the range, the greater the risk. That's why we have set a maximum Stop Loss to 10% to limiting risks per trade.
The special feature of this strategy is that it targets a precise profit objective. This corresponds to the size of the reference range at the top of the high if you're LONG, or at the bottom of the low if you're short. In the same way, the larger the reference range, the greater the potential profits.
The risk reward remains the same for all trades and amounts to : 100/35 = 2.86. If the reference range is too high, we have set a SL to 10% of the trade value to limit losses. In that case, the risk reward is less than 2.86.
MONEY MANAGEMENT :
The fixed ratio method was used to manage our gains and losses. For each gain of an amount equal to the value of the fixed ratio, we increase the order size by a value defined by the user in the "Increasing order amount" parameter. Similarly, each time we lose an amount equal to the value of the fixed ratio, we decrease the order size by the same user-defined value. This strategy increases both performance and drawdown.
NOTE :
Please note that the strategy is backtested from 2017-01-01. As the timeframe is 5D, this strategy is a medium/long-term strategy. That's why only 37 trades were closed. Be careful, as the test sample is small and performance may not necessarily reflect what may happen in the future.
Enjoy the strategy and don't forget to take the trade :)
Cerca negli script per "range"
20/200MAs+LTF+4HTF and HighLowBox+3HTF20/200MAs
Shows 20 and 200 MAs in each TFs(tfChart,1 Lower and 4 Higher).
TFs:
current TF
Lower TF (default: lower1)
Higher TF1 (default: higher1)
Higher TF2 (default: higher1)
Higher TF3 (default: higher1)
Higher TF4 (default: higher1)
MAs:
20MA (default: sma)
1st 200MA (default: sma)
2nd 200MA (default: ema)
VWAP (optional)
HighLowBox+3HTF
Enclose in a square high and low range in each timeframe.
Shows price range and duration of each box.
In current timeframe, shows Fibonacci Scale inside(23.6%, 38.2%, 50.0%, 61.8%, 76.4%)/outside of each box.
Outside(161.8%,261.8,361.8%) would be shown as next target, if break top/bottom of each box.
1st box for current timeframe.
2nd box for higher timeframe.(default: higher1)
3rd box for higher timeframe.(default: higher2)
4th box for higher timeframe.(default: higher3)
static timeframes can also be used.
HighLowBox 1+3TF Enclose in a square high and low range in each timeframe.
Shows price range and duration of each box.
In current timeframe, shows Fibonacci Scale inside(23.6%, 38.2%, 50.0%, 61.8%, 76.4%)/outside of each box.
Outside(161.8%,261.8,361.8%) would be shown as next target, if break top/bottom of each box.
1st box for current timeframe.(default: Chart)
2nd-4th box for higher timeframes.(default: higher1,higher2,higher3)
static timeframes can also be used.
Stockbee Momentum BurstThis is a script to color code bars based on the bullish- and bearish combination.
Bullish Combination
Percent: Price >= 4% from yesterday and Volume today > Yesterday
Dollar: Price >= 0.9 dollar from open
Base Requirements
- Price > Yesterday's close
- Price > Open
- Price is within 30% of high
- Todays price range >= Yesterdays price range
- Yesterday's move <= 2%
- Volume >= 100 000
Bearish Combination
Percent: Price <= 4% from yesterday and Volume today > Yesterday
Dollar: Price <= 0.9 dollar from open
Base Requirements
- Price < Yesterday's close
- Price < Open
- Price is within 30% of low
- Todays price range >= Yesterdays price range
- Yesterday's move >= -2%
- Minimum volume for each of last 3 days >= 100 000
Momentum Filter
These are based on the 10 and 20 EMA crossover, where the former above would indicate upward momentum and below downward momentum. This can help to narrow down the color code to continuation phases. The linked option will override all other momentum filters, bullish candles will be displayed when EMA 10 > 20 and bearish candles when EMA 10 < 20.
ATR+ Advanced Sessions ATR for DaterangeATR+ Advanced Sessions ATR for Daterange
The ATR+ adds the following additional filters to the stock ATR indicator by Tradingview:
- Calculates the overall average ATR for a user defined daterange, optionally filtered by trading session and selected weekdays, presented as a secondary line over the standard ATR line.
- Basic ATR line, with colour highlight to indicate the selected sessions, days and timeframe being calculated by the average ATR+ line.
- Average ATR+ line indicating the average of all ATRs within the defined timeframe, optionally filtered by instances of a selected trading session and selected weekdays.
- Customisable appearance.
- The ATR+ also includes the basic ATR configuration options typically found in the standard ATR by Tradingview, including period length and smoothing type. Defaults are set to the factory standards: 14 length, RMA smoothing type.
What Is the Average True Range (ATR)?
The ATR is a technical analysis tool that measures market volatility by decomposing the entire range asset price for that period. Investopedia describes the ATR as follows:
"The average true range (ATR) is a technical analysis indicator, introduced by market technician J. Welles Wilder Jr. in his book New Concepts in Technical Trading Systems, that measures market volatility by decomposing the entire range of an asset price for that period.
The true range indicator is taken as the greatest of the following: current high less the current low; the absolute value of the current high less the previous close; and the absolute value of the current low less the previous close. The ATR is then a moving average, generally using 14 days, of the true ranges."
For more information on the ATR and its calculations and use cases, see here:
Investopedia link here.
Tradingview link here.
Note
The indicator may time out if the number of bars being calculated is too long. If this happens, you will need to reduce the datetime range, or increase the chart timeframe in order to reduce the number of bars being calculated and the indicator will attempt to recalculate.
Dual Fibonacci Zone & Ranged Vol DCA Strategy - R3c0nTraderWhat does this do?
This is for educational purposes and allows one to backtest two Fibonacci Zones simultaneously. This also includes an option for Ranged Volume as a parameter.
Pre-requisites:
First off, this is a Long only strategy as I wrote it with DCA in mind. It cannot be used for shorting. Shorting defeats the purpose of a DCA bot which has a goal that is Long a position not Short a position. If you want to short, there are plenty of free scripts out there that do this.
You must have some base knowledge or experience with Fibonacci trading, understanding what is ADX, +DI (and -DI), etc.
You can use this script without a 3Commas account and see how 3Commas DCA Bot would perform. However, I highly recommend inexperienced uses get a free account and going through the tutorials, FAQ's and knowledgebase. This would give you a base understanding of the settings you will see in this strategy and why you will need to know them. Only then should you try testing this strategy with a paper bot.
Background
After I had created and released "Fibonacci Zone DCA Strategy", I began expanding and testing other ideas.
The first idea was to add Ranged Volume to the Fibonacci Zone DCA strategy which I wanted for providing further confirmation before entering a trade. The second idea was to add a second Fibonacci Zone that was just as configurable as the first Fibonacci Zone. I managed to add both and they can be easily enabled or disabled via the strategy settings menu.
Things Got Real Interesting
Things got real interesting when I started testing strategies with two Fibonacci zones. Here's a quick list of what I found I was able to do:
Mix and match exit strategies. I could set the Fib-1 zone strategy to exit with a take profit % and separately set the Fib-2 zone strategy to exit when the price crosses the top-high fib border
Trade the trend. A common phrase amongst traders is "the Trend is your friend" and with the help of an additional Fib Zone, I was able to trade the trend more often by using two different Fib Zone strategies which if configured properly can shorten time to re-deploy capital, increase number of closed trades, and in some cases increase net profit.
Trade both bull market uptrends and bear market downtrends in the same strategy. I found I could configure one Fib Zone strategy to be really good in uptrends and another Fib Zone strategy to be really good in downtrends. In some cases, with both Fib Zone strategies enabled together in a single strategy I got better results than if the strategies were backtested separately.
There are many other trade strategies I am finding with this. One could be to trade a convergence or divergence of the two different Fib Zones. This could possibly be achieved by setting one strategy to have different Fibonacci length.
Credits:
Thank you "EvoCrypto" for granting me permission to use "Ranged Volume" to create this strategy
Thank you "eykpunter" for granting me permission to use "Fibonacci Zones" 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
Consolidation Ranges [kingthies] Consolidation Range Analysis
Published by Eric Thies, January 2021
█ Indicator Summary
This tool calculates, analyzes and plots the visualization of a relative range over a given period of time
By adding to charts, users are enabled to see the impulsive nature of market cycles, along with their efforts to consolidate thereafter
The default period is 30, and should be adjusted to users preference
The default input is the current close price, on the chosen timeframe of the chart
█ Script Source
//
//@version=4
//© kingthies || This source code is subject to the terms of the Mozilla Public License 2.0 at mozilla.org
study("Consolidation Ranges ", shorttitle="CR ", overlay=true)
// !<------ User Inputs ----->
src = input(close, title='Range Input (Default set to Close'), lengthEMA=input(30,title='Length'),zoneToggle = input(true, title="Toggle Zone Highlights"), iCol = color.new(#FFFFFF, 100),
// !<---- Declarations & Calculations ---- >
trndUp = float(na),trndDwn = float(na), mid = float(na), e = ema(src, lengthEMA)
trndUp := src < nz(trndUp ) and src > trndDwn ? nz(trndUp ) : high, trndDwn := src < nz(trndUp ) and src > trndDwn ? nz(trndDwn ) : low, mid := avg(trndUp, trndDwn)
// !< ---- Plotting ----->
highRange = plot(trndUp == nz(trndUp ) ? trndUp : na, color=color.white, linewidth=2, style=plot.style_linebr, title="Top of Period Range")
lowRange = plot(trndDwn == nz(trndDwn ) ? trndDwn : na, color=color.white, linewidth=2, style=plot.style_linebr, title="Bottom of Period Range")
xzone = plot(zoneToggle ? src > e ? trndDwn : trndUp : na, color=iCol, style=plot.style_circles, linewidth=0, editable=false)
fill(highRange, xzone, color=color.lime,transp=70), fill(xzone, lowRange, color=color.red,transp=70)
//
Volume Range EventsChanges in the feelings (positive, negative, neutral) in the market concerning the valuation of an instrument are often preceded with sudden outbursts of buying and selling frenzies. The aim of this indicator is to report such outbursts. We can see them as expansions of volume, sometimes 10 times more than usual. and as extensions of the trading range, also sometimes 10 times more than usual (e.g. usual range is 10 cent suddenly a whole dollar.) The changes are calculated in such a way that these fit between plus and minus 100 percent, the bars are scaled in some sort of logarithmic way. The Emoline is the same as the one in the True Balance of Power indicator, which I already published
ONLY RISES ARE EVENTS
Sometimes analysts are tempted to give meaning to low volume or small ranges. These simply mean that the market has little interest in trading this instrument. I believe that in such cases the trader needs to wait for expansion and extension events to happen, then he can make a better guess of where the market is heading. As events often mark the beginning or ending of a trend, this indicator provides an early and clear signal, because it doesn’t bother us about non-events.
WHAT IS USUAL?
If the algorithm would use an average as a normal to scale volume or range events, then previous peaks will act as spoilers by making the average so high that a following peak is scaled too small. I developed a function, usual() , that kicks out all extremes of a ‘population of values’ and which returns the average of the non-extreme values. It can be called with any serial. This function is called by both algorithms that report volume and range peaks, which guarantees that the results are really comparable. As this function has a fixed look back of 8 periods, we might state that ‘usual’ is a short lived relative value. I think this doesn’t matter for the practical use of the indicator.
COLORING AND INTERPRETATION
I follow the categories in the ‘Better Volume Indicator’, published by LeazyBear, these are:
1. Climactic Volumes, event >40 % (this means peak is 1.5 X usual)
LIME: Climax Buying Volume, direction up, range event also > 30 %
RED: Climax Selling Volume, direction down, range event also > 30 %
AQUA: Climax Churning Volume, both directions, range event < 30%
2. Smaller Volumes, event <40 %
GREEN: Supportive Volume, both directions, if combined with range event
BLUE: Churning Volume, both directions, if not combined with range event (Professional Trading)
3. Just Range Events
BLACK histogram bars (Amateurish Trading)
Opening Range BreakoutOpen Range Breakout (ORB) – Trading Strategy Documentation
Definition:
The Open Range Breakout (ORB) is a short-term trading strategy that identifies the price range established during the initial period of market opening (typically the first 15 to 60 minutes) and uses the high and low of that range as key reference levels for potential breakout entries.
Components:
Open Range High: The highest price traded during the defined opening period.
Open Range Low: The lowest price traded during the same period.
Breakout Trigger: A price move above the Open Range High or below the Open Range Low, signaling potential continuation momentum.
How It Works:
Define the Opening Period: Select a time window (e.g., 30 minutes) at market open to establish the initial range.
Identify Range Boundaries: Record the high and low prices during this period.
Monitor for Breakout: Watch for price to break and close above the Open Range High (bullish breakout) or below the Open Range Low (bearish breakout).
Enter Trade: Enter long on a confirmed break above the Open Range High, or short on a break below the Open Range Low. Entry may be triggered on a retest of the broken level or with volume confirmation.
Set Stop-Loss and Target:
Stop-loss: Placed just inside the open range (e.g., below the high for long, above the low for short).
Profit target: Based on volatility (e.g., ATR multiple) or support/resistance levels.
Key Assumptions:
Early price action reflects initial market sentiment.
A breakout from this range indicates strong directional momentum likely to continue.
Best Conditions:
High liquidity markets (e.g., major indices, large-cap stocks).
Volatile or news-driven trading sessions.
Used primarily in intraday trading.
Limitations:
Prone to false breakouts during low-volume or choppy markets.
Requires strict risk management due to reliance on timing and confirmation.
Conclusion:
The ORB strategy capitalizes on early market momentum by trading breakouts from the initial price range. Its effectiveness depends on precise range definition, timely execution, and disciplined risk control.
Open Range Breakout Strategy With Multi TakeProfitHello everyone,
For a while, I’ve been wanting to develop new scripts, but I couldn’t decide what to create. Eventually, I came up with the idea of coding traditional and well-known trading strategies—while adding modern features such as multi–take profit options. For the first strategy in this series, I chose the Open Range Strategy .
For those unfamiliar with it, the Open Range Strategy is a trading approach where you define a specific time period at the beginning of a trading session—such as the first 15 minutes, 30 minutes, or 1 hour—and mark the highest and lowest prices within that range. These levels then act as reference points for potential breakouts: if the price breaks above the range, it may signal a long entry; if it breaks below, it may indicate a short entry. This method is popular among day traders for capturing early momentum in the market.
Since this strategy is generally used as an intraday strategy , I added a Trade Session feature. This allows you to define the exact time window during which trades can be opened. Once the session ends, all positions are automatically closed, ensuring trades remain within your chosen intraday period.
Even though it’s a relatively simple concept, I’ve come across many different variations of it. That’s why I created a highly customizable project. Under the Session Settings, you can select the time window you want to define as your range. Whether it’s the first 15-minute candle or the entire first hour, the choice is entirely yours.
For stop-loss placement, there are two different options:
Middle of the Range – The stop loss is placed at the midpoint between the high and low of the defined range, offering a balanced buffer for both bullish and bearish setups.
Top/Bottom of the Range – The stop loss is placed just beyond the range’s high for short trades or just below the range’s low for long trades, providing a more conservative risk approach.
I’ve always been a big fan of the multi take-profit feature, so I added two different take-profit targets to this project. Take profits are calculated based on a Risk-to-Reward Ratio, which you can adjust in the settings. You can also set different position sizes for each target, allowing you to scale out of trades in a way that suits your strategy.
The result is a flexible, user-friendly strategy script that brings together a classic approach with modern risk management tools—ready to be tailored to your trading style
NFP RangesPlots the NFP daily ranges for NFP days. Includes extended hours ranges when the time frame is sub 1D, otherwise, only the daily range is taken.
NFP Dates are pre-populated through 2029 and historically through 2022. Will update script to include farther-out dates before they become necessary.
Euclidean Range [InvestorUnknown]The Euclidean Range indicator visualizes price deviation from a moving average using a geometric concept Euclidean distance. It helps traders identify trend strength, volatility shifts, and potential overextensions in price behavior.
Euclidean Distance
Euclidean distance is a fundamental concept in geometry and machine learning. It measures the "straight-line distance" between two points in space. In time series analysis, it can be used to measure how far one sequence deviates from another over a fixed window.
euclidean_distance(src, ref, len) =>
var float sum_sq_diff = na
sum_sq_diff := 0.0
for i = 0 to len - 1
diff = src - ref
sum_sq_diff += diff * diff
math.sqrt(sum_sq_diff)
In this script, we calculate the Euclidean distance between the price (source) and a smoothed average (reference) over a user-defined window. This gives us a single scalar that reflects the overall divergence between price and trend.
How It Works
Moving Average Calculation: You can choose between SMA, EMA, or HMA as your reference line. This becomes the "baseline" against which the actual price is compared.
Distance Band Construction: The Euclidean distance between the price and the reference is calculated over the Window Length. This value is then added to and subtracted from the average to form dynamic upper and lower bands, visually framing the range of deviation.
Distance Ratios and Z-Scores: Two distance ratios are computed: dist_r = distance / price (sensitivity to volatility); dist_v = price / distance (sensitivity to compression or low-volatility states)
Both ratios are normalized using a Z-score to standardize their behavior and allow for easier interpretation across different assets and timeframes.
Z-Score Plots: Z_r (white line) highlights instances of high volatility or strong price deviation; Z_v (red line) highlights low volatility or compressed price ranges.
Background Highlighting (Optional): When Z_v is dominant and increasing, the background is colored using a gradient. This signals a possible build-up in low volatility, which may precede a breakout.
Use Cases
Detect volatile expansions and calm compression zones.
Identify mean reversion setups when price returns to the average.
Anticipate breakout conditions by observing rising Z_v values.
Use dynamic distance bands as adaptive support/resistance zones.
Notes
The indicator is best used with liquid assets and medium-to-long windows.
Background coloring helps visually filter for squeeze setups.
Disclaimer
This indicator is provided for speculative analysis and educational purposes only. It is not financial advice. Always backtest and evaluate in a simulated environment before live trading.
Opening Range Retest█ OVERVIEW
This indicator shows the opening range as a box. It also draws markers and triggers alerts when the opening range is retested. The opening range time is configurable, as is the period of time that must elapse before each return to the opening range is considered a retest.
█ FEATURES
Opening range time configurable in bars or minutes
Configurable "resting" period between the end of the opening range or since the last retest before a new retest is considered valid
Configurable tolerance so that a retest can trigger sooner
Active time range can be used to filter alerts and markers to a specific time window
Visual box showing the opening range, which can be optionally limited to the above-mentioned active time window
Well-documented, high-quality, open-source code for those interested
█ CONCEPTS
This indicator can be used for an opening range retest trading strategy, where long or short positions are taken on the retest of the opening range.
The opening range can be user-configured, so it is suitable for use with any opening range time period (e.g., 1-min, 5-min, 15-min, etc.).
The markers and alerts are equivalent, in the sense that whenever a marker appears, an alert will also trigger (assuming the user has set an alert up).
The alert active time range is simply used as a filter for markers and alerts, meaning that these will not draw or trigger outside of the specified time range.
█ LIMITATIONS
The indicator is intended for equities that have a highly active regular market open. For other security types, it will draw the opening range box from whenever TradingView specifies the market open time.
Gold ORB Strategy (15-min Range, 5-min Entry)The Gold ORB (Opening Range Breakout) Strategy is designed for day traders looking to capitalize on the price action in the early part of the trading day, specifically using a 15-minute range for identifying the opening range and a 5-minute timeframe for breakout entries. The strategy trades the Gold market (XAU/USD) during the New York session.
Opening Range: The strategy defines the Opening Range (ORB) between 9:30 AM EST and 9:45 AM EST using the highest and lowest points during this 15-minute window.
Breakout Entries: The strategy enters trades when the price breaks above the ORB high for a long position or below the ORB low for a short position. It waits for a 5-minute candle close outside the range before entering a trade.
Stop Loss and Take Profit: The stop loss is placed at 50% of the ORB range, and the take profit is set at twice the ORB range (1:2 risk-reward ratio).
Time Window: The strategy only executes trades before 12:00 PM EST, avoiding late-day market fluctuations and consolidations.
True Range & ATRDescription : This indicator plots both the True Range (TR) and the Average True Range (ATR) in a separate pane below the main chart.
- TR represents the absolute price movement range within each candle.
- ATR is a smoothed version of TR over a user-defined period (default: 14), providing insight into market volatility.
- TR is displayed as a histogram for a clearer view of individual candle ranges.
- ATR is plotted as a line to show the smoothed trend of volatility.
This indicator helps traders assess market volatility and potential price movements.
Session High/Low Average & Range [1CG]The Session High/Low Average & Range indicator independently measures the average price movement from the opening price in each direction. It also displays the maximum high and low distance, called Range. Separating the averages and range into highs and lows helps analyze the volatility of the market as well as the direction.
USE EXAMPLES
Session Open
Session Close
Customization
Minimal - 1x and 2x Averages are replaced with custom lines, in order to show distance to3x.
Calculations
Average High: (high price of session - session opening price) / (session period)
Average Low: (session opening price - low price of session) / (session period)
Range High: The highest price of the last (session period)
Range Low: The lowest price of the last (session period)
INPUTS
Session
Here you can choose the hours for your session and time zone. The default is London session in New York time. Next, the session period determines how many sessions to sample from for the average and range lines, the default is 20. Lastly, you can choose the number of sessions to appear on the chart not including the current session if you are in one, 5 by default.
Lines
All of the lines allow you to change the color, width, and style. They also have a label option to choose to display the price. The bottom of the section allows you to change the location and size of the label text.
**Open Line** -Displays the opening price for the length of the session.
**Average Lines** - Displays the 1x, 2x, and 3x the average distance from open in each direction. Additionally, you can toggle a background color to highlight the area.
**Custom Lines** - Displays a customizable multiple of either the average or range. By default the first custom line displays the Range at a 1x multiplier and the second line displays an Average at a 1.5x multiplier
Display Distance
Here you can choose to display the distance from the lines to the open. This data is marked with a “Δ”. For the three Average lines this will display in the area between the line and the open in the position and size of your choice. The custom lines will have the distance information displayed on the line itself. This helps keep the data organized.
Real-Time Custom Candle Range Color Indicator
The script allows the user to input a custom range value (default set to 100 points) through the userDefinedRange variable. This value determines the minimum range required for a candle to change color.
Calculating Candle Range:
The script calculates the range of each candle by subtracting the low from the high price.
Determining Bullish or Bearish Candles:
It checks whether the close price is higher than the open price to determine if a candle is bullish (isBullish variable).
Coloring Candles:
Based on the custom range input, the script changes the color of the candles:
If the candle's range is greater than or equal to the custom range and it is bullish, the candle color is set to blue (bullishColor).
If the range condition is met and the candle is bearish, the color is set to orange (bearishColor).
If the range condition is not met, the color is set to na (not applicable).
Plotting Colored Candles:
The plotcandle function is used to plot candles with colors based on the custom range and bullish/bearish conditions. The candles will have a higher z-order to be displayed in front of default candles.
Displaying High and Low Price Points:
Triangular shapes are plotted at the high and low price levels using the plotshape function, with colors representing bullish (blue) and bearish (orange) conditions.
In trading, this indicator can help traders visually identify candles that meet a specific range criteria, potentially signaling strength or weakness in price movements. By customizing the range parameter, traders can adapt the indicator to different market conditions and trading strategies. It can be used in conjunction with other technical analysis tools to make informed trading decisions based on candlestick patterns and price movements.
Custom Time Range HighlighterCustom Time Range Highlighter
This versatile indicator allows traders to highlight specific time ranges on their charts, accommodating users worldwide by supporting customizable UTC offsets. Traders can define two distinct time ranges, setting start and end hours in their local time zone.
A toggle option enables the display of highlights for today only , ensuring focus on current trading conditions.
Ideal for day traders and those following specific market sessions, this tool enhances visibility of active trading periods and aids in effective trade management.
Average True Range with Price MAATR with Price Moving Average Indicator
This custom indicator combines the Average True Range (ATR) with a Price Moving Average (MA) to help traders analyze market volatility in percent to the price.
Key Components:
Average True Range (ATR)
Price Moving Average (MA)
ATR/Price in Percent
ATR/Price in Percent
Purpose: This ratio helps traders understand the relative size of the ATR compared to the current price, providing a clearer sense of how significant the volatility is in proportion to the price level.
Calculation: ATR is divided by the current closing price and multiplied by 100 to express it as a percentage. This makes it easier to compare volatility across assets with different price ranges.
Plot: This is plotted as a percentage, making it easier to gauge whether the volatility is proportionally high or low compared to the asset's price.
Usage:
This indicator is designed to help identify the most volatile tokens, making it ideal for configuring a Grid Bot to maximize profit. By focusing on high-volatility assets, traders can capitalize on larger price swings within the grid, increasing the potential for more profitable trades.
Features:
Customizable Smoothing Method: Choose from RMA (Relative Moving Average), SMA (Simple Moving Average), EMA (Exponential Moving Average), or WMA (Weighted Moving Average) for both ATR and the Price Moving Average.
Dual Perspective: The indicator provides both volatility analysis (ATR) and trend analysis (Price MA) in a single view.
Proportional Volatility: The ATR/Price (%) ratio adds a layer of context by showing how volatile the asset is relative to its current price.
Austin's Range Filter with Trade SignalsAustin’s Range Filter with Trade Signals
Description:
Austin’s Range Filter with Trade Signals is a versatile indicator that combines a custom range filter with dynamic buy and sell signals based on EMA crossovers. This indicator is designed to help traders easily identify trend reversals and optimal trade entry/exit points.
Key Features:
• Range Filter Calculation: The indicator calculates the highest and lowest price over a user-defined period, then multiplies the difference by a customizable multiplier to establish a dynamic range. A combined middle band (average of the upper and lower bounds) is plotted for a clearer visual representation of the price trend.
• Exponential Moving Average (EMA): A user-configurable EMA is added, which acts as the primary signal line. You can adjust the length of the EMA to suit your trading style.
• Buy and Sell Signals:
• Buy Signal: Triggered when the price crosses above the EMA, indicating a potential upward trend.
• Sell Signal: Triggered when the price crosses below the EMA, indicating a potential downward trend.
• Alerts: Custom alert conditions for buy and sell signals allow you to set up real-time notifications when the signal changes, so you never miss an opportunity.
• Customizable Display: You can toggle the visibility of the combined band (purple) and the EMA (blue) for a cleaner chart.
How It Works:
• Buy when the price crosses above the EMA.
• Sell when the price crosses below the EMA.
• Background colors indicate whether the current price is above or below the calculated range, helping you visually identify bullish and bearish conditions.
Customization Options:
• Range Filter Length: The lookback period for the highest/lowest price calculation.
• Range Multiplier: Adjusts the size of the range.
• EMA Length: Set the length of the EMA to fine-tune the signal sensitivity.
• Toggle Lines: Show or hide the combined band and EMA for more flexibility.
This indicator is suitable for a variety of markets including stocks, forex, and crypto, and can be applied to any timeframe. Use it as part of your technical analysis to spot market trends and improve your decision-making process.
How to Use:
1. Apply the indicator to your chart and adjust the settings to suit your strategy.
2. Set up alerts for buy and sell signals to receive real-time notifications.
3. Monitor the price relative to the range and EMA to better time your trades.
This indicator is perfect for traders looking for an intuitive yet powerful tool to enhance their trading strategies with automatic signals and alerts.
Sentiment Range MA [ChartPrime]The "Sentiment Range MA" provides traders with a dynamic perspective on market activity, emphasizing both stability in chop zones and quick adaptability outside of them.
Key Features:
Chop Zone Stability: In choppy markets, this indicator remains consistent, filtering out the noise to provide a clear view.
Quick Adaptability: Should the price break out of these zones, the indicator recalibrates promptly.
Dynamic Support and Resistance: Adapts based on the latest price action, serving as an evolving reference point.
Emphasis on Recent Levels: The tool factors in the latest notable market levels to stay relevant and timely.
Configurations:
Data Source: Choose your desired metric, though many default to the closing price.
Output Smoothing: Adjust the SR MA's response to market movements.
Trigger Smoothing: Refine boundary definitions based on your market insights.
ATR Period: Set the period for the ATR, influencing the surrounding boundary's width.
Range Multiplier: Control the ATR's effect on the range.
Range Switch: Flip between high-low and open-close values for range determination.
Visuals
Sentiment Range MA Line:
- This is the flowing line that transitions between green and red.
- When it's green, it indicates bullish momentum in the market. This suggests a prevailing upward trend and can be an entry cue for traders who trade with the trend.
- When it turns red, bearish sentiments dominate. It indicates the potential beginning of a downtrend or a continued downtrend. Traders might interpret this as a signal to be cautious, to short the market, or to exit long positions.
The Chop Zone:
- This is the space between the price candles and the Sentiment Range MA line. It represents a region where the price is considered to be moving sideways or without a clear direction. Price movements within the chop zone might not be substantial enough to warrant a trading decision. Only when the price breaks out of this zone do we see the Sentiment Range MA line change color, signaling a potential trading opportunity.
By interpreting these visuals, traders can make more informed decisions based on the prevailing market sentiment and trend. The chart becomes a tool, providing both an overview of the market condition and potential entry or exit points based on the Sentiment Range MA indicator's readings.
Detailed Settings Overview
Understanding the settings of the Sentiment Range MA Indicator can greatly enhance its utility in your trading strategy. Let's dive deeper into each:
Output Smoothing:
Purpose: It refines the SR MA to provide a clearer trend perspective.
Functionality:
- At `0`, it ensures the indicator responds immediately to price deviations from the chop zone.
- At higher values, it transforms the indicator into a volatility-adjusted moving average.
Filtering Modes:
- Single Filtering: Prioritizes speed.
- Double Filtering: Emphasizes stability.
Trigger Smoothing:
Purpose: Used for the range break detection.
Functionality: It dampens the indicator's sensitivity to sudden market volatility, preventing unnecessary triggers.
ATR Length:
Purpose: Governs the retrospective period for the chop zone.
Functionality:
- Higher values offer a more consistent and broad range size, capturing more historical data.
- Lower values allow for a more adaptive and responsive range.
Range Multiplier:
Purpose: Modifies the breadth of the range around the SR MA.
Functionality: Increasing the multiplier will extend the range, giving more leeway before triggering, while decreasing it will narrow the range, making the indicator more responsive to price changes.
Range Style:
Purpose: Decides which candlestick data is factored into the true range calculations.
Options:
- Body: Uses the open and close values.
- Wick: Accounts for the high and low values.
Functionality: Switching between styles lets you prioritize either the overall volatility (Wick) or just the concluded price action for a period (Body).
By fine-tuning these settings, traders can tailor the Sentiment Range MA Indicator to various market conditions and personal trading styles, ensuring optimal decision-making.
Quick Start
Based on the provided chart, here's a brief explanation of the default settings for the Sentiment Range MA Indicator:
Length: Set at ` 20 `.
- This determines the base moving average period. A standard setting, it calculates the average price over the last 20 periods, providing traders with a clear perspective of short-term trends.
ATR Length: Set at ` 200 `.
- This adjusts the lookback period for the Average True Range (ATR), which in turn influences the chop zone calculation. At a setting of 200, it offers a comprehensive view, considering a longer stretch of historical data.
Range Multiplier: Set at ` 6 `.
- This multiplies the ATR value, widening or narrowing the band around the SR MA. A setting of 6 means the range around the SR MA is determined by multiplying the ATR by 6, offering a broader fluctuation zone.
On the chart, the green line represents the bullish sentiment and the red represents the bearish sentiment. Price movements above and below these lines can be used as potential buy or sell signals respectively. Fine-tuning these settings can cater the Sentiment Range MA Indicator to your specific trading strategy and market condition preferences.
Alternative Settings
For traders looking to adapt to faster market conditions or prefer a more agile analysis, here's a brief description of the alternative settings for the Sentiment Range MA Indicator:
Length: Set at ` 3 `.
- This highly responsive setting calculates the average price over the last 3 periods. Ideal for quick market movements, it offers traders insights into very short-term price trends and potentially swift trade opportunities.
ATR Length: Set at ` 50 `.
- This shorter lookback period for the Average True Range (ATR) focuses on more recent market volatility, providing a tighter and more current chop zone calculation. It's suitable for those wanting to respond to recent market shifts.
Range Multiplier: Set at ` 4 `.
- Multiplying the ATR by 4 narrows down the buffer around the SR MA. This creates a tighter sentiment range, possibly resulting in more frequent crossovers and trading signals.
In the provided chart, the green line still denotes bullish momentum while the red symbolizes bearish sentiment. These alternative settings might generate more frequent signals, so traders should ensure their strategy is aligned with this heightened sensitivity.
Wrapping Up
The Sentiment Range MA melds stability and agility, making it a valuable tool in your trading toolkit. As always, before integrating new indicators, take the time to understand its nuances and potential impacts on your strategy.
Long-Only Opening Range Breakout (ORB) with Pivot PointsIntraday Trading Strategy: Long-Only Opening Range Breakout (ORB) with Pivot Points
Background:
Opening Range Breakout (ORB) is a popular long-only trading strategy that capitalizes on the early morning volatility in financial markets. It's based on the idea that the initial price movements during the first few minutes or hours of the trading day can set the tone for the rest of the session. The strategy involves identifying a price range within which the asset trades during the opening period and then taking long positions when the price breaks out to the upside of this range.
Pivot Points are a widely used technical indicator in trading. They represent potential support and resistance levels based on the previous day's price action. Pivot points are calculated using the previous day's high, low, and close prices and can help traders identify key price levels for making trading decisions.
How to Use the Script:
Initialization: This script is written in Pine Script, a domain-specific language for trading strategies on the TradingView platform. To use this script, you need to have access to TradingView.
Apply the Script: You can do this by adding it to your favorites, then selecting the script in the indicators list under favorites or by searching for it by name under community scripts.
Customize Settings: The script allows you to customize various settings through the TradingView interface. These settings include:
Opening Session: You can set the time frame for the opening session.
Max Trades per Day: Specify the maximum number of long trades allowed per trading day.
Initial Stop Loss Type: Choose between using a percentage-based stop loss or the previous candles low for stop loss calculations.
Stop Loss Percentage: If you select the percentage-based stop loss, specify the percentage of the entry price for the stop loss.
Backtesting Start and End Time: Set the time frame for backtesting the strategy.
Strategy Signals:
The script will display pivot points in blue (R1, R2, R3, R4, R5) and half-pivot points in gray (R0.5, R1.5, R2.5, R3.5, R4.5) on your chart.
The green line represents the opening range.
The script generates long (buy) signals based on specific conditions:
---The open price is below the opening range high (h).
---The current high price is above the opening range high.
---Pivot point R1 is above the opening range high.
---It's a long-only strategy designed to capture upside breakouts.
---It also respects the maximum number of long trades per day.
The script manages long positions, calculates stop losses, and adjusts long positions according to the defined rules.
Trailing Stop Mechanism
The script incorporates a dynamic trailing stop mechanism designed to protect and maximize profits for long positions. Here's how it works:
1. Initialization:
The script allows you to choose between two types of initial stop loss:
---Percentage-based: This option sets the initial stop loss as a percentage of the entry price.
---Previous day's low: This option sets the initial stop loss at the previous day's low.
2. Setting the Initial Stop Loss (`sl_long0`):
The initial stop loss (`sl_long0`) is calculated based on the chosen method:
---If "Percentage" is selected, it calculates the stop loss as a percentage of the entry price.
---If "Previous Low" is selected, it sets the stop loss at the previous day's low.
3. Dynamic Trailing Stop (`trail_long`):
The script then monitors price movements and uses a dynamic trailing stop mechanism (`trail_long`) to adjust the stop loss level for long positions.
If the current high price rises above certain pivot point levels, the trailing stop is adjusted upwards to lock in profits.
The trailing stop levels are calculated based on pivot points (`r1`, `r2`, `r3`, etc.) and half-pivot points (`r0.5`, `r1.5`, `r2.5`, etc.).
The script checks if the high price surpasses these levels and, if so, updates the trailing stop accordingly.
This dynamic trailing stop allows traders to secure profits while giving the position room to potentially capture additional gains.
4. Final Stop Loss (`sl_long`):
The script calculates the final stop loss level (`sl_long`) based on the following logic:
---If no position is open (`pos == 0`), the stop loss is set to zero, indicating there is no active stop loss.
---If a position is open (`pos == 1`), the script calculates the maximum of the initial stop loss (`sl_long0`) and the dynamic trailing stop (`trail_long`).
---This ensures that the stop loss is always set to the more conservative of the two values to protect profits.
5. Plotting the Stop Loss:
The script plots the stop loss level on the chart using the `plot` function.
It will only display the stop loss level if there is an open position (`pos == 1`) and it's not a new trading day (`not newday`).
The stop loss level is shown in red on the chart.
By combining an initial stop loss with a dynamic trailing stop based on pivot points and half-pivot points, the script aims to provide a comprehensive risk management mechanism for long positions. This allows traders to lock in profits as the price moves in their favor while maintaining a safeguard against adverse price movements.
End of Day (EOD) Exit:
The script includes an "End of Day" (EOD) exit mechanism to automatically close any open positions at the end of the trading day. This feature is designed to manage and control positions when the trading day comes to a close. Here's how it works:
1. Initialization:
At the beginning of each trading day, the script identifies a new trading day using the `is_newbar('D')` condition.
When a new trading day begins, the `newday` variable becomes `true`, indicating the start of a new trading session.
2. Plotting the "End of Day" Signal:
The script includes a plot on the chart to visually represent the "End of Day" signal. This is done using the `plot` function.
The plot is labeled "DayEnd" and is displayed as a comment on the chart. It signifies the EOD point.
3. EOD Exit Condition:
When the script detects that a new trading day has started (`newday == true`), it triggers the EOD exit condition.
At this point, the script proceeds to close all open positions that may have been active during the trading day.
4. Closing Open Positions:
The `strategy.close_all` function is used to close all open positions when the EOD exit condition is met.
This function ensures that any remaining long positions are exited, regardless of their current profit or loss.
The function also includes an `alert_message`, which can be customized to send an alert or notification when positions are closed at EOD.
Purpose of EOD Exit
The "End of Day" exit mechanism serves several essential purposes in the trading strategy:
Risk Management: It helps manage risk by ensuring that positions are not left open overnight when markets can experience increased volatility.
Capital Preservation: Closing positions at EOD can help preserve trading capital by avoiding potential adverse overnight price movements.
Rule-Based Exit: The EOD exit is rule-based and automatic, ensuring that it is consistently applied without emotions or manual intervention.
Scalability: It allows the strategy to be applied to various markets and timeframes where EOD exits may be appropriate.
By incorporating an EOD exit mechanism, the script provides a comprehensive approach to managing positions, taking profits, and minimizing risk as each trading day concludes. This can be especially important in volatile markets like cryptocurrencies, where overnight price swings can be significant.
Backtesting: The script includes a backtesting feature that allows you to test the strategy's performance over historical data. Set the start and end times for backtesting to see how the long-only strategy would have performed in the past.
Trade Execution: If you choose to use this script for live trading, make sure you understand the risks involved. It's essential to set up proper risk management, including position sizing and stop loss orders.
Monitoring: Monitor the long-only strategy's performance over time and be prepared to make adjustments as market conditions change.
Disclaimer: Trading carries a risk of capital loss. This script is provided for educational purposes and as a starting point for your own long-only strategy development. Always do your own research and consider seeking advice from a qualified financial professional before making trading decisions.
Simple Grid Lines VisualizerAbout Grid Bots
A grid bot is a type of trading bot or algorithm that is designed to automatically execute trades within a predefined price range or grid. It is commonly used in markets that exhibit ranging or sideways movement, where prices tend to fluctuate within a specific range without a clear trend.
The grid bot strategy involves placing a series of buy and sell orders at regular intervals within the predefined price range or grid. The bot essentially creates a grid of orders, hence the name. When the price reaches one of these levels, the bot will execute the corresponding trade. For example, if the price reaches a predefined lower level, the bot will buy, and if it reaches a predefined upper level, it will sell.
The purpose of the grid bot strategy is to take advantage of the price oscillations within the range. As the price moves up and down, the bot aims to generate profits by buying at the lower end of the range and selling at the higher end. By repeatedly buying and selling at these predetermined levels, the bot attempts to capture gains from the price fluctuations.
About this Script
Simple Grid Lines Visualizer is designed to assist traders in visualizing and implementing automated price grids on their charts. With just a few inputs, this script generates gridlines based on your specified top price, bottom price, and the number of grids or profit per grid.
How it Works:
Specify Top and Bottom Prices: Start by setting the top and bottom prices that define the range within which the gridlines will be generated. These prices can be based on support and resistance levels, historical data, or any other factors you consider relevant to your analysis.
Determine Grid Parameters: Choose either the number of grids or profit per grid, depending on your preference and trading strategy. If you select the number of grids, the script will evenly distribute the gridlines within the specified price range. Alternatively, if you opt for profit per grid, the script will calculate the price increment required to achieve your desired profit level per grid.
Note that when choosing Profit per Grid , an approximation usually is performed, as all grid lines must be evenly distributed. To achieve that, the script computes the grid distance using the mean price between top and bottom, then computes how many of those complete distances may enter the entire range, and lastly, creates a grid with evenly distributed distances as close as possible to the previously computed.
Customize Styling and Display: Adjust the line color, line style, transparency, and other visual aspects to ensure clear visibility on your charts.
Analyze and Trade: Once the gridlines are plotted on your chart, carefully observe how the market interacts with them. The gridlines can act as reference points for potential support and resistance levels, as well as simple buy/sell orders for a trading bot.
Try to find gridlines that intersect prices as frequently as possible from one to another.
A grid with too many lines will make lots of potential trades, but the amount traded will be minimal (as the total amount invested is divided over the number of grids).
A grid with too few lines will make lots of profits with each trade, but the trades will be less likely to occur (depending on the top/bottom distance).
This tool aims to help visually which grid parameters seem to optimize this problem.
Future versions may include automatic profit computation.