Session Bar/Candle ColoringChange the color of candles within a user-defined trading session. Borders and wicks can be changed as well, not just the body color.
PREFACE
This script can be used an educational resource for those who are interested in learning Pine Script. Therefore, the script is published open source and is organized in a manner that follows the recommended Style Guide .
While the main premise of the indicator is rather simple, the script showcases various things that can be achieved such as conditional plotting, alignment of indicator settings, user input validation, script optimization, and more. The script also has examples of taking into consideration the chart timeframe and/or different chart types (Heikin Ashi, Renko, etc.) that a user might be running it on. Note: for complete beginners, I strongly suggest going through the Pine Script User Manual (possibly more than once).
FEATURES
Besides being able to select a specific time window, the indicator also provides additional color settings for changing the background color or changing the colors of neutral/indecisive candles, as shown in the image below.
This allows for a higher level of customization beyond the TradingView chart settings or other similar scripts that are currently available.
HOW TO USE
First, define the intraday trading session that will contain the candles to modify. The session can be limited to specific days of the week.
Next, select the parts of the candles that should be modified: Body, Borders, Wick, and/or Background.
For each of the candle parts that were enabled, you can select the colors that will be used depending on whether a candle is bullish (⇧), bearish (⇩), or neutral (⇆).
All other indicator settings will have a detailed tooltip to describe its usage and/or effect.
LIMITATIONS
The indicator is not intended to function on Daily or higher timeframes due to the intraday nature of session time windows.
The indicator cannot always automatically detect the chart type being used, therefore the user is requested to manually input the chart type via the " Chart Style " setting.
Depending on the available historical data and the selected choice for the " Portion of bar in session " setting, the indicator may not be able to update very old candles on the chart.
EXAMPLE USAGE
This section will show examples of different scenarios that the indicator can be used for.
Emphasizing a main trading session.
Defining a "Pre/post market hours background" like is available for some symbols (e.g., NASDAQ:AAPL ).
Highlighting in which bar the midnight candle occurs.
Hiding indecision bars (neutral candles).
Showing only "Regular Trading Hours" for a chart that does not have the option to toggle ETH/RTH. To achieve this, the actual chart data is hidden, and only the indicator is visible; alternatively, a 2nd instance of the indicator could change colors to match the chart background.
Using a combination of Bars and Japanese Candlesticks. Alternatively, this could be done by hiding the main chart data and using 2 instances of the indicator (one with " Chart Style " setting as Bars , and the other set to Candles ).
Using a combination of thin and thick bars on Range charts. Note: requires disabling the "Thin Bars" setting for Bar charts in the TradingView chart settings.
NOTES
If using more than one instance of this indicator on the same chart, you can use the TradingView "Save Indicator Template" feature to avoid having to re-configure the multiple indicators at a later time.
This indicator is intended to work "out-of-the-box" thanks to the behind_chart option introduced to Pine Script in October 2024. But you can always manually bring the indicator to the front just in case the color changes are not being seen (using the "More" option in the indicator status line: More > Visual Order > Bring to front ).
Many thanks to fikira for their help and inspiring me to create open source scripts.
Any feedback including bug reports or suggestions for improving the indicator (or source code itself) are always welcome in the comments section.
Cerca negli script per "bar"
MMDN-Pin BarThis Pine Script code is designed to highlight Pin Bars on a TradingView chart by changing their color to yellow. A Pin Bar is a type of candlestick pattern that typically indicates a potential reversal in the market. The script uses specific conditions to identify bullish and bearish Pin Bars based on the size of the candlestick body and the length of the shadows (wicks).
1. Calculate Body and Shadows:
body: The absolute difference between the close and open prices.
upshadow: The upper shadow, calculated differently depending on whether the close is higher or lower than the open.
downshadow: The lower shadow, calculated similarly.
2. Define Pin Bar Conditions:
pinbar_h: Identifies a bullish Pin Bar if the previous candle's close is greater than its open, the previous candle's body is larger than the current candle's body, the upper shadow is more than half the size of the body, and the upper shadow is more than twice the size of the body.
pinbar_l: Identifies a bearish Pin Bar with similar conditions but for the lower shadow.
Set Pin Bar Color:
barcolor: Changes the color of the identified Pin Bars to yellow.
NEXT BAR PercentagesNEXT BAR Percentages Indicator
This Pine Script code implements the "NEXT BAR Percentages" indicator, designed to analyze and display percentage changes between consecutive bars on a TradingView chart. The script provides valuable insights into how percentage changes in price behave after significant price movements, aiding traders in identifying potential trends or reversals.
Key Features:
Percentage Change Calculations :
Close-to-Close : Calculates the percentage change between the close of the current bar and the close of the previous bar.
High-to-Close : Calculates the percentage change between the high of the current bar and the close of the previous bar.
Low-to-Close : Calculates the percentage change between the low of the current bar and the close of the previous bar.
High-to-Close (Wick) : Computes the percentage change from the close to the high of the current bar.
Low-to-Close (Wick) : Computes the percentage change from the close to the low of the current bar.
Dynamic Table Display :
Creates a table on the chart to display various statistics related to percentage changes.
The table position is customizable, with options including "Top Left," "Middle Left," "Bottom Left," "Top Right," "Middle Right," "Bottom Right," "Top Center," "Middle Center," and "Bottom Center."
Count and Average Calculations :
High POS/NEG Counts : Counts occurrences of significant positive and negative percentage changes based on user-defined thresholds.
High POS/NEG Average : Computes the average percentage change following high positive and negative percentage changes.
Next Bar Statistics : Provides statistics on the percentage change of the next bar following identified significant price movements.
Visual Indicators :
Labels : Plots arrows on the chart when a high positive or high negative percentage change is detected, visually highlighting these events.
Customizable Input Parameters :
Adjust the thresholds for identifying high positive and negative percentage changes ( highpos, highposEnd, highneg, highnegEnd ).
Specify the start date for analysis ( teststartdate ), allowing for focused period analysis.
Usage:
Traders : Gain insights into price behavior following significant movements to make informed trading decisions.
Analysis : Customizable parameters and visual indicators enable detailed analysis of price action and trend identification.
Enhance your chart analysis with this indicator for a clear, data-driven view of percentage changes and their implications for future price movements.
Strategy Myth-Busting #10 - InsideBar+EMA - [MYN]This is part of a new series we are calling "Strategy Myth-Busting" where we take open public manual trading strategies and automate them. The goal is to not only validate the authenticity of the claims but to provide an automated version for traders who wish to trade autonomously.
Our 10th one we are automating is the " 75% Win Rate High Profit Inside Bar Trading Strategy - What If You ... " strategy from " Trade Pro " who claims to have backtested this manually and achieved 11,063% profit with a 75% winrate over 100 trades. I was unable to emulate these results consistently accommodating for slippage and commission but even so, the results look promising. I was only able to achieve this win-rate with some multiple take profit staggering. Even so the markdown is above where I would normally consider comfortable (>20%).
If you know of or have a strategy you want to see myth-busted or just have an idea for one, please feel free to message me.
This strategy uses a combination of 2 open-source public indicators:
Inside Bar Ind/Alert by CMA
EMA (built-in)
Trading Rules
4 hour candles
Stop Loss at EMA Line with TP Target 1.5x the risk
Long Entry when these conditions are true
inside bar and bullish
Bar close's above 50 ema
Price action rises above high of inside bar .
Short Entry when these conditions are true
inside bar and bearish
Bar close below 50 ema
Price action falls below low of inside bar
RedK Momentum Bars (RedK Mo_Bars)Momentum Bars (Mo_Bars) offers a different way to visualize (relative) momentum - and uses some simple TA concepts to provide a different perspective into how we read momentum changes and incorporate that in our trading.
The idea here (and the script itself) is really super simple, and is (very loosely) inspired by Elder's Impulse System (EIS) - then evolved to leverage some other concepts, and to become less cluttering and "easier to read".
The construction of the Mo_Bars
---------------------------------------------
The base concept utilizes 3 moving average lines :
the first line is a relatively fast MA with a short length - acts as the main price tracking line
the second line is slightly slower than the main line - 2 to 3 bars longer length - and will by default use the open value as source - this works better to identify when the closing price starts to move faster than the open (as in, bars more frequently close higher than they open) - this line acts as the signal line - there's an added setting for an additional delay that utilizes regular WMA smoothing - the delay acts to magnify the relative displacement between the 2 MAs
for both these MA's, i choose to use the RSS MA (Lazy Line) - other MA types can be used, but the reason i used that MA type specifically is that it moves "gracefully" - and 2 Lazy Lines moving together minimizes whipsaws from small price swings - i tested with other MA types and found that the RSS has an advantage there.
the third line is a much slower MA (length 5 to 6 x the fast line) - and acts as a filter or a baseline. When we're above that line, we should favor long positions - we're in bull territory. When we're below that line we favor short positions, and we're in bear territory. Adjust this line as it suits your trading style and time frame.
(I choose to use WMA as the MA type for the filter line .. and there's a good reason for that - which i'll skip for now - but in future versions, we can add other selectable MA types. )
Using Mo_Bars
----------------------------
at a very broad level, we can use Mo_Bars similar to how we use a MACD - both are centered and unrestricted oscillators - note the difference that Mo_Bars is based on 3 MA's rather than 2.
the Mo_Bar bar length reflects the distance between the main MA and the signal MA - plotted relative to the baseline (filter line) - that means that the length of the bar represents the relative momentum between the 2 MA's - The Mo_Bars are then colored in a way that reflects increase or decrease in the value of that momentum (the visual here may have been inspired by another indicator recently published by one of our esteemed wizards - it worked perfectly - so due credits here :)
-- in simple terms, if the main MA is below the signal MA, the bar is red - and when the main MA is above the signal MA, the bar is green - a white bar usually shows up when there's a detected change of relative momentum direction (note that this is not the same as the trend direction - and that's what helps show and exploit convergence and divergence - similar to a MACD)
* in the chart above, i noted few examples of how visualizing relative momentum in this way exposes areas of chop (Mo_Bars above zero but are in red or moving down, or when Mo_Bars are below zero and green or moving up) - convergence / divergence with price - and how this can act to expose the possibility of potential changes in price action or trend.
* there's so much more to play around with this setup - and maybe if there's enough interest there can be future dedicated posts on how utilize or even to evolve it further - there's a lot of potential here, to add more filters (maybe volume based), alerts, signals...etc - so let's see the interest :)
Here's the detailed (top chart) setup that Mo_Bars is based on -- The settings for the MA's on the price charts have been matched / sync'ed with the Mo_Bars settings on the lower panel to demonstrate how the script works and how it translate the MA action on the price chart to what we see below.
As always, please play around with the indicator to get used to how it works - use it in tandem with other indicators to get proper confirmations and adjust settings to suit your own trading style, time frame, and instruments
Feedback and thoughts are always welcome --- good luck!
Nailed BarsNailed bars was introduced by Joy22 in an article "Pip Nailer Trading System" submit on forexstrategiesresources on 06/01/2012
Rule of Nailed Bars is below:
1. Nailed Sell Bar:
* PSAR appears above the bar
* The Awesome Oscillator (AO) turns red
* The Accelerator Oscillator (AC) turns red
2. Nailed Buy Bar:
* PSAR appears below the bar
* The Awesome Oscillator (AO) turns green
* The Accelerator Oscillator (AC) turns green
=== About this indicator: Nailed Bars ===
This indicator is detecting all nailed bars was appeared on chart and display infomations in a panel. So traders who are using "Pip Nailer Trading System" can easily control the trade.
Security() Correction - Realtime vs. Historical BarsProblem
Pine's implementation of the security() function behaves differently in realtime vs. historical bars. Specifically, for historical bars, calling security() for a time frame (TF) larger/slower than the current chart's TF will return information about the last completed bar of the higher TF. However, for realtime bars (i.e. if you allow the chart to continue to plot in realtime), security() returns information about the presently in-progress bar of the higher TF. Clearly, this leads to discontinuity that is arbitrarily dependent upon when the user last loaded or refreshed the chart.
Solution
Fortunately, after understanding the problem, solving it is trivial: use security() normally for historical bars, but switch to explicitly requesting prior candle bars once the indicator is operating on realtime bars. I leave the source open here for any to use as they see fit. For testing, I include an input to allow switching back and forth between standard and corrected behavior.
Figure 1 displays the standard behavior we see in security() calls, and Figure 2 displays the behavior after my correction:
Figure 1: Typical security() behavior in Pine
Figure 2: Corrected security() behavior, forcing historical and realtime bars to refer to the same higher TF bar offset.
I publish this mostly as a reminder to myself, so I will not forget and then have to figure it out again next time it comes up in my scripting.
V21: Initial release.
Volume bar range# Volume Bar Range (VBR) Indicator
## Overview
The Volume Bar Range indicator identifies key support and resistance levels based on high-volume price bars. It creates a visual range that represents significant price levels where the market has shown strong interest through volume confirmation.
## Features
### Visual Range Display
- **Blue/Aqua Area**: Shows the price range of the highest volume bar within the lookback period
- **Dynamic Color**: The fill color changes to indicate whether the range is stable (aqua) or newly updated (white)
- **Boundary Lines**: Invisible white lines mark the upper and lower boundaries of the range
### Trading Signals
- **BUY Signal**: Blue upward arrow appears when price breaks above the resistance level with volume confirmation
- **SELL Signal**: Black downward arrow appears when price breaks below the support level with volume confirmation
## How to Use
### Setup
1. Apply the indicator to any chart
2. The indicator automatically identifies the highest volume bar in the last 55 periods
3. The price range of this high-volume bar becomes your support/resistance zone
### Trading Strategy
- **Range Trading**: Trade within the identified support/resistance range
- **Breakout Trading**: Enter positions when price breaks above resistance (BUY) or below support (SELL)
- **Volume Confirmation**: Only take signals when current volume exceeds the 21-period average
### Signal Interpretation
- **BUY Signal**: Price closes above the resistance level with above-average volume
- **SELL Signal**: Price closes below the support level with above-average volume
- **No Signal**: Price remains within the range or volume is insufficient
## Key Parameters
- **Lookback Period**: 55 bars (automatically identifies the highest volume bar)
- **Volume MA**: 21-period simple moving average for volume confirmation
- **Signal Size**: Tiny markers to avoid chart clutter
## Best Practices
- Use on multiple timeframes for confirmation
- Combine with other technical indicators for stronger signals
- Pay attention to the color changes in the range area
- Consider market context and overall trend direction
## Ideal Markets
- Works well on liquid markets with consistent volume patterns
- Effective on stocks, forex, and crypto markets
- Best suited for swing trading and medium-term analysis
This indicator is particularly useful for traders who rely on volume analysis and want to identify key price levels where the market has shown significant interest.
Candle % High/Low Bar + HL Order + MA by Barty&PitPapcioWhat does the indicator show?
The "Candle % High/Low Bar + HL Order + MA by Barty&PitPapcio" indicator displays the percentage deviation of each candle’s high and low relative to its open price. The zero line represents the candle’s open — bars above zero show upward movement from the open (to high), bars below zero show downward movement (to low).
Additionally, the indicator plots a dot above or below each bar indicating which came first during the candle — the high or the low — based on data from a lower timeframe two steps below the current chart (for example, on a 1-hour chart it uses 15-minute data).
Finally, the indicator calculates and plots a user-selectable moving average (EMA, SMA, or WMA) of these "first high or low" signals, helping identify trends whether the first move is more often upwards or downwards.
Where do the data come from?
Percentage values are calculated directly from the current chart’s candles:
highPerc=(High−Open)/Open×100%,
lowPerc=(Low−Open)/Open×100%
The timing of the first high or low for each candle is retrieved from a lower timeframe, stepping down two levels from the current timeframe (e.g. from 1H to 15 min), providing better precision in detecting the order of highs and lows that may be blurred on higher timeframes.
Additional features:
Full customization of colors for bars, dots, zero line, grid, and thicknesses.
Background grid with adjustable scale and style.
Safety checks for missing lower timeframe data.
A moving average smoothing the sequence of first high/low signals to reveal directional tendencies.
Suggested strategy for technical analysis support
Identify dominant candle direction: If the dot often appears above the bar (first high), it indicates buying pressure; if below (first low), selling pressure dominates.
Use percentage deviations: Large percent bars indicate heightened volatility and potential reversal points.
Moving average on order signals: The EMA of high/low first signals smooths the noise, showing the dominant trend in the sequence of price moves, useful for filtering other signals.
Combine with other tools: This indicator can act as a directional filter on multiple timeframes, synergizing well with momentum indicators, RSI, or support/resistance levels to confirm move strength.
Lots of love, Bartosz
Strong Trend Bars (ATR-based)This is a ChatGPT pinescript meant as an indicator for detecting strength in the market. The primary function I use it for is to decide which bars to trail a stop loss beneath.
💥 Explanation of adjustable inputs:
Bull Close Threshold (default 0.6):
If set to 0.6, bull bars must close above 60% of bar height → low + 0.6 * barHeight
Bear Close Threshold (default 0.6):
If set to 0.6, bear bars must close below 40% of bar height → high - 0.6 * barHeight
This lets you experiment with tighter or looser filters. For example:
0.7 → only bars closing near the extremes will light up
0.5 → about midpoint
0.8 → very demanding, “almost full body” bars
4 Bar Momentum Reversal strategy█ STRATEGY DESCRIPTION
The "4 Bar Momentum Reversal Strategy" is a mean-reversion strategy designed to identify price reversals following a sustained downward move. It enters a long position when a reversal condition is met and exits when the price shows strength by exceeding the previous bar's high. This strategy is optimized for indices and stocks on the daily timeframe.
█ WHAT IS THE REFERENCE CLOSE?
The Reference Close is the closing price from X bars ago, where X is determined by the Lookback period. Think of it as a moving benchmark that helps the strategy assess whether prices are trending upwards or downwards relative to past performance. For example, if the Lookback is set to 4, the Reference Close is the closing price 4 bars ago (`close `).
█ SIGNAL GENERATION
1. LONG ENTRY
A Buy Signal is triggered when:
The close price has been lower than the Reference Close for at least `Buy Threshold` consecutive bars. This indicates a sustained downward move, suggesting a potential reversal.
The signal occurs within the specified time window (between `Start Time` and `End Time`).
2. EXIT CONDITION
A Sell Signal is generated when the current closing price exceeds the high of the previous bar (`close > high `). This indicates that the price has shown strength, potentially confirming the reversal and prompting the strategy to exit the position.
█ ADDITIONAL SETTINGS
Buy Threshold: The number of consecutive bearish bars needed to trigger a Buy Signal. Default is 4.
Lookback: The number of bars ago used to calculate the Reference Close. Default is 4.
Start Time and End Time: The time window during which the strategy is allowed to execute trades.
█ PERFORMANCE OVERVIEW
This strategy is designed for trending markets with frequent reversals.
It performs best in volatile conditions where price movements are significant.
Backtesting results should be analysed to optimize the Buy Threshold and Lookback parameters for specific instruments.
AriVestHub_Inside Bars/Candles
Introduction:
This script identifies and marks inside bars on your TradingView charts. An inside bar pattern is a two-bar candlestick pattern where the second bar is entirely within the range of the first bar. This pattern often signals consolidation and can indicate a potential breakout or trend continuation.
Trading Signals:
Inside bars can indicate potential trading signals. Traders often watch for breakouts above or below the inside bar to identify potential entry points.
Customization:
You can customize the colors, styles, and labels to suit your preferences.
Conclusion
This script is a useful tool for traders looking to identify inside bar patterns on their TradingView charts. By highlighting these patterns, traders can make more informed trading decisions based on potential market consolidations and breakouts.
High Volume BarsThis indicator highlights the highest volume bullish and bearish bars within a specified lookback period. It provides a visual representation of significant volume activity, which can be useful for identifying potential trend reversals or continuations.
Key Features:
Customizable lookback period to find highest volume bars
Lime-colored bars for bullish (up) volume
Fuchsia-colored bars for bearish (down) volume
Filled areas between high and low of highest volume bars
Easy-to-read visual cues for volume analysis
The indicator scans the specified number of previous bars to identify the highest volume bullish and bearish bars. It then colors these bars and draws filled areas to make them stand out on the chart. This can help traders quickly spot areas of significant buying or selling pressure.
Use this indicator to:
Identify potential support and resistance levels
Spot volume-based trend reversals
Confirm breakouts or breakdowns
Enhance your volume analysis in conjunction with price action
Adjust the lookback period to fine-tune the indicator's sensitivity to recent volume activity. A longer lookback period will identify more significant volume events, while a shorter period will be more responsive to recent changes.
Note: This indicator is best used in combination with other technical analysis tools and should not be relied upon solely for making trading decisions.
Happy BarsThis script works to help the trader quickly visualize specific moments in time, where certain price action bars are taking place.
Highlighting:
- inside bars
- outside bars
- inside inside bars
- inside outside bars
- outside outside bars
and allowing the trader to set alerts once the bar patterns are confirmed.
Swing Indicator (2 bars before, 1 bar after)This swing indicator is created to mark swing high and low followed by the condition of Bravo Trade Academy.
Conditions for being a Swing High
- The high price of swing high bar has to be higher than the high price of 2 bars before and 1 bar after
Conditions for being a Swing Low
- The low price of swing low bar has to be lower than the low price of 2 bars before and 1 bar after
=========================================================================
Swing Indicator นี้สร้างขึ้นเพื่อช่วยในการมาร์ค Swing High และ Swing Low ตามเงื่อนไขการเป็น Swing หน้า 2 หลัง 1 ของ Bravo Trade Academy
เงื่อนไขการเป็น Swing High
- ราคา High ของแท่งที่เป็น Swing High จะต้องสูงกว่าราคา High ของแท่งก่อนหน้า 2 แท่ง และแท่งหลัง 1 แท่ง
เงื่อนไขการเป็น Swing Low
- ราคา Low ของแท่งที่เป็น Swing Low จะต้องต่ำกว่าราคา Low ของแท่งก่อนหน้า 2 แท่ง และแท่งหลัง 1 แท่ง
RSI Candle Bar with Inside BarThis Indicator is RSI convert into Candle Bar with Inside Bar Candle
How to use :
Do Some setting
RSI Overbought - 60 It will shows in Blue Candle Bar means Bullish Signal
RSI Oversold - 40 It will shows in Yellow Candle Bar means Bearish Signal
Inside Bar Candle -
Gray or Black Bar --- Which is Shows that Trend may be Reverse or Big Move may be come.
Colors you can be change according to your convenience.
Power Bar [racer8]Introduction: 🌟
The Power Bar indicator is a powerful volatility indicator that can detect power bars 💪. A power bar is just a really big price bar that forms after a price base. A price base is chart pattern consisting of many low volatility price bars (bars that have small ranges). To detect such powerful bars, the PB indicator uses the following formula:
PB = ( Absolute value of current close - previous close ) / ( Previous price range over n periods )
Looking at the formula, you can see that PB compares the current change in closing price to the n-period base pattern's range. Strong PB values are typically greater than a value of 1. If n periods = 10, the indicator will look back 11 periods. The 11 periods includes the 10-period base plus the current price bar. 10 periods is the default setting for the indicator.
After the calculation, PB is then plotted as a histogram. Along with the histogram, a horizontal dashed line is also plotted.
PB's other setting controls the dashed line's level. This level is preset at a default value of 1. The dashed line is just a way to filter out weak PB values, and to generate signals. A signal is generated when the PB histogram is above the dashed line.
Objective: 🤔
This indicator shall prove very useful to you if your main objective is to trade only the best chart pattern in the market...and the base pattern is one of the best, if not the best chart pattern that exists today. This indicator is a mechanical way of detecting the chart pattern.
Enjoy! 🥳
PineScript v4 - Forex Pin-Bar Trading StrategyPineScript v4, forex trading robot based on the commonly used bullish / bearish pin-bar piercing the moving averages strategy.
I coded this robot to stress-test the PineScript v4 language to see how advanced it is, and whether I could port a forex trading strategy from MT4 to TradingView.
In my opinion, PineScript v4 is still not a professional coding language; for example you cannot use IF-statements to modify the contents of global variables; this makes complex robot behaviour difficult to implement. In addition, it is unclear if the programmer can use nested IF-ELSE, or nested FOR within IF.
The sequence of program execution is also unclear, and although complex order entry and exit appears to function properly, I am not completely comfortable with it.
Recommended Chart Settings:
Asset Class: Forex
Time Frame: H1
Long Entry Conditions:
a) Moving Average up trend, fast crosses above slow
b) Presence of a Bullish Pin Bar
c) Pin Bar pierces either Moving Average
d) Moving Averages must be sloping up, angle threshold (optional)
Short Entry Conditions:
a) Moving Average down trend, fast crosses below slow
b) Presence of a Bearish Pin Bar
c) Pin Bar pierces either Moving Average
d) Moving Averages must be sloping down, angle threshold (optional)
Exit Conditions:
a) Stoploss level is hit
b) Takeprofit level is hit
c) Moving Averages cross-back (optional)
Default Robot Settings:
Equity Risk (%): 3 //how much account balance to risk per trade
Stop Loss (x*ATR, Float): 2.1 //stoploss = x * ATR, you can change x
Risk : Reward (1 : x*SL, Float): 3.1 //takeprofit = x * stop_loss_distance, you can change x
Fast MA (Period): 20 //fast moving average period
Slow MA (Period): 50 //slow moving average period
ATR (Period): 14 //average true range period
Use MA Slope (Boolean): true //toggle the requirement of the moving average slope
Bull Slope Angle (Deg): 1 //angle above which, moving average is considered to be sloping up
Bear Slope Angle (Deg): -1 //angle below which, moving average is considered to be sloping down
Exit When MA Re-Cross (Boolean): true //toggle, close trade if moving average crosses back
Cancel Entry After X Bars (Period): 3 //cancel the order after x bars not triggered, you can change x
Backtest Results (2019 to 2020, H1, Default Settings):
EURJPY - 111% profit, 2.631 profit factor, 16.43% drawdown
EURUSD - 103% profit, 2.899 profit factor, 14.95% drawdown
EURAUD - 76.75% profit, 1.8 profit factor, 17.99% drawdown
NZDUSD - 64.62% profit, 1.727 profit factor, 19.14% drawdown
GBPUSD - 58.73% profit, 1.663 profit factor, 15.44% downdown
AUDJPY - 48.71% profit, 1.635 profit factor, 11.81% drawdown
USDCHF - 30.72% profit, 1.36 profit factor, 22.63% drawdown
AUDUSD - 8.54% profit, 1.092 profit factor, 19.86% drawdown
EURGBP - 0.03% profit, 1.0 profit factor, 29.66% drawdown
USDJPY - 1.96% loss, 0.972 profit factor, 28.37% drawdown
USDCAD - 6.36% loss, 0.891 profit factor, 21.14% drawdown
GBPJPY - 28.27% loss, 0.461 profit factor, 39.13% drawdown
To reduce the possibility of curve-fitting, this robot was backtested on 12 popular forex currencies, as shown above. The robot was profitable on 8 out of 12 currencies, breakeven on 1, and made a loss on 3.
The default robot settings could be over-fitting for the EUR, as we can see out-sized performance for the EUR pairs, with the exception of the EURGBP. We can see that GBPJPY made the largest loss, so these two pairs could be related.
Risk Warning:
This is a forex trading strategy that involves high risk of equity loss, and backtest performance will not equal future results. You agree to use this script at your own risk.
How To Color Prior BarsExample how to color the trigger bar of the condition and n-1 prior bars using only 1 barcolor() function.
Currently when offsets are used in barcolor(), bgcolor(), plot(), plotarrow(), plotchar(), or plotshape(), the offset only works with a simple (static) integer. If series (dynamic) integers are used instead, there is not an error, but the series values are ignored. Because of this limitation of offset being constrained to using only fixed offsets, the normal way to paint 3 Black Crows would be to use 3 barcolor() functions. Since there are a known number of bars to be painted in that scenario, this can be easily accomplished.
If a condition encompassed a variable length of n bars, then the number of barcolor() functions needed to use would be unknown. How to color the trigger bar of the condition and n-1 prior bars using only 1 barcolor() function? Dual examples below solves issue but requires n "future" bars, because of this it will not paint the most recent condition in realtime and may not be applicable for use in certain realtime situations. It paints similar in behavior to how a pivot does. Special thanks to LucF and RicardoSantos for illumination!
NOTICE: This is an example script and not meant to be used as an actual strategy. By using this script or any portion thereof, you acknowledge that you have read and understood that this is for research purposes only and I am not responsible for any financial losses you may incur by using this script!
Renko Price Bars Overlay// Shows the price renko bars (or range bars) instead of the PERIOD renko
// bars that are integrated into Trading View. The normal renko bars that
// Trading View offers only consider the drawing of a new brick when the
// price closes above or below the required brick size. This can produce
// misleading charts since depending on the time interval of a chart, new
// bricks may or may not be drawn. True price renko bars will draw a new
// brick immediately upon the price exceeding the next target brick size.
// When running this script in "Traditional" mode, the painting of the
// brick overlay band is INDEPENDENT of the chart interval. If price
// exceeds the required target price for the next brick, the band is
// updated immediately, instead of waiting for the price bar on the chart
// interval to close first. The brick starting anchor point will attempt
// to be a "nice number" at a round interval for the chart ticker. For
// example, if viewing EURUSD with the box size equal to 50 ticks/pips,
// the open and close prices will take the form of 1.2100, 1.2150, 1.2200,
// 1.2250, and so on. This is the same behavior as the normal traditional
// Renko bars in Trading View and other major trading platforms such as
// Meta Trader.
// Use the tick size in traditional mode to specify the block size, in
// ticks. This may give interesting results in FOREX pairs... as the tick
// size in Trading View may be 0.00001 instead of the normal pip size of
// 0.0001, so a 10 pip block size may be '100', and not the expected '10'.
// FOREX futures should work in the manner expected, a 10 pip block size
// will indeed equal 0.0010.
// The "ATR" mode functions differently than the Trading View built in
// version. The block size is updated each time the range is exceeded.
// In Trading View, when using the ATR mode, the ATR is the last ATR
// value calculated on the ENTIRE data interval, and is applied to all
// past data. You can see this when you press the '+' sign of the ticker
// in the top left of the chart window and you will see the brick size
// as a constant, the brick size is not a function of the ever changing
// ATR value of the price action. The block size of this script is not
// updated for each price candle (i.e. each 1HR on a 1HR chart), instead
// it is updated only when the price thresholds are exceeded requiring a
// the band to be updated. At that point the current ATR is considered
// and the brick size is updated.
// Options exist to show the current high and low of the brick, and to
// show the required levels that the price must exceed to draw a new
// brick and update the band.
Please leave comments if you notice any bugs or would like any new features added. I don't find much use for plotting the H/L of the current renko candle, but I have seen some request it in the past.
Cheers.
Colored Volume Bars standard deviation from meanThe colour bars:
Green: Price up - Volume > 2 x STD of last 21 bars
Blue: Price up - Volume > 1 x STD of last 21 bars
Maroon: Price down - Volume > 2 x STD of last 21 bars
Purple: Price down - Volume > 1 x STD of last 21 bars
Grey: not high volume bar
Green line: 2 bar sma
Red line: 8 period sma of the greenline
Bollinger band: 55 period sma of the 21 period sma with bands 1.618 deviation from the mean
Colored Volume Bars standard deviation from meanThe colour bars:
Green: Price up - Volume > 2 x STD of last 21 bars
Blue: Price up - Volume > 1 x STD of last 21 bars
Maroon: Price down - Volume > 2 x STD of last 21 bars
Purple: Price down - Volume > 1 x STD of last 21 bars
Grey: not high volume bar
Green line: 2 bar sma
Red line: 8 period sma of the greenline
Bollinger band: 55 period sma of the 21 period sma with bands 1.618 deviation from the mean
Post 9/21 EMA Cross — Paint X Bars v2.0
# **Post 9/21 EMA Cross — Time Blocks & Session Colors**
This indicator highlights candles after a **9/21 EMA crossover**, but with extra controls that let you focus only on the sessions and time windows that matter to you.
---
## 🔑 What It Does
1. **EMA Cross Trigger**
* Bullish trigger: 9 EMA crosses above 21 EMA.
* Bearish trigger: 9 EMA crosses below 21 EMA.
2. **Bar Painting**
* After a valid cross, the indicator paints a set number of bars (you choose how many).
* You can require the **2nd bar to confirm momentum** (“displacement” filter) so weak signals are ignored.
3. **Time Block Control**
* Define up to **four custom time blocks** (like `08:00–09:30` or `12:00–13:00`).
* Painting only occurs inside those blocks if you enable the filter.
4. **Session-Aware Colors**
* Use one set of bullish/bearish colors for **regular hours**, another set for **pre-market**, and another for **post-market**.
* That way you can instantly see *when* the signal occurred.
---
## 🎨 Visuals
* Candles recolored in your chosen bull/bear colors.
* Optional EMA lines plotted on the chart for reference.
* Different colors for RTH, pre-market, and post-market activity.
---
## ⚙️ Inputs
* **EMA lengths (fast & slow)**
* **Number of bars to paint after a cross**
* **Displacement filter (loose or strict)**
* **Show/hide EMA lines**
* **Up to four custom time blocks** (on/off toggles + start/end times)
* **Bull/bear colors for RTH, Pre, Post**
---
## 📈 Why Use It
* **Clarity** – Only shows cross signals in the hours you actually trade.
* **Focus** – Different colors remind you at a glance whether the move was in pre-market, RTH, or post-market.
* **Discipline** – The optional 2nd-bar displacement filter prevents false starts by requiring real momentum.
---
## 🚨 Practical Use
* Treat the painted window as a **momentum phase**: enter on confirmation, manage risk while bars are painted, and stand aside once painting ends.
* Restrict painting to time blocks that match your personal trading routine (e.g., open drive 09:30–10:00, or late-day momentum 15:00–16:00).
* Use session colors to keep pre/post-market action separate from regular session strategies.