Best SMA FinderThis script, Best SMA Finder, is a tool designed to identify the most robust simple moving average (SMA) length for a given chart, based on historical backtest performance. It evaluates hundreds of SMA values (from 10 to 1000) and selects the one that provides the best balance between profitability, consistency, and trade frequency.
What it does:
The script performs individual backtests for each SMA length using either "Long Only" or "Buy & Sell" logic, as selected by the user. For each tested SMA, it computes:
- Total number of trades
- Profit Factor (total profits / total losses)
- Win Rate
- A composite Robustness Score, which integrates Profit Factor, number of trades (log-scaled), and win rate.
Only SMA configurations that meet the user-defined minimum trade count are considered valid. Among all valid candidates, the script selects the SMA length with the highest robustness score and plots it on the chart.
How to use it:
- Choose the strategy type: "Long Only" or "Buy & Sell"
- Set the minimum trade count to filter out statistically irrelevant results
- Enable or disable the summary stats table (default: enabled)
The selected optimal SMA is plotted on the chart in blue. The optional table in the top-right corner shows the corresponding SMA length, trade count, Profit Factor, Win Rate, and Robustness Score for transparency.
Key Features:
- Exhaustive SMA optimization across 991 values
- Customizable trade direction and minimum trade filters
- In-chart visualization of results via table and plotted optimal SMA
- Uses a custom robustness formula to rank SMA lengths
Use cases:
Ideal for traders who want to backtest and auto-select a historically effective SMA without manual trial-and-error. Useful for swing and trend-following strategies across different timeframes.
📌 Limitations:
- Not a full trading strategy with position sizing or stop-loss logic
- Only one entry per direction at a time is allowed
- Designed for exploration and optimization, not as a ready-to-trade system
This script is open-source and built entirely from original code and logic. It does not replicate any closed-source script or reuse significant external open-source components.
Indicatori e strategie
Aggressive Volume 📊 Indicator: Aggressive Volume – Simulated Buy/Sell Pressure
Aggressive Volume estimates delta volume using candle data to simulate the market’s internal buy/sell pressure. It helps visualize how aggressive buyers or sellers are moving the price without needing full order flow access.
⚙️ How It Works:
Calculates simulated delta volume based on candle direction and volume.
Bullish candles (close > open) suggest dominance by buyers.
Bearish candles (close < open) suggest dominance by sellers.
Delta is the difference between simulated buying and selling pressure.
🔍 Key Features:
Visual bars showing aggressive buyer vs seller dominance
Helps spot trend strength, momentum bursts, and potential reversals
Simple, effective, and compatible with any timeframe
Lightweight and ideal for scalping, day trading, and swing trading
💡 How to Use:
Look for strong positive delta during bullish trends for confirmation.
Watch for delta weakening or divergence as potential reversal signals.
Combine with trend indicators or price action for enhanced accuracy.
📊 Indicador: Volume Agressivo – Pressão de Compra/Venda Simulada
Volume Agressivo estima o delta de volume utilizando dados dos candles para simular a pressão interna de compra/venda do mercado. Ele ajuda a visualizar como os compradores ou vendedores agressivos estão movendo o preço, sem precisar de acesso completo ao fluxo de ordens.
⚙️ Como Funciona:
Calcula o delta de volume simulado com base na direção do candle e no volume.
Candles de alta (fechamento > abertura) indicam predominância de compradores.
Candles de baixa (fechamento < abertura) indicam predominância de vendedores.
O delta é a diferença entre a pressão de compra e venda simulada.
🔍 Principais Funcionalidades:
Barras visuais mostrando a dominância de compradores vs vendedores agressivos
Ajuda a identificar a força da tendência, explosões de momentum e possíveis reversões
Simples, eficaz e compatível com qualquer período de tempo
Leve e ideal para scalping, day trading e swing trading
💡 Como Usar:
Procure por delta positivo forte durante tendências de alta para confirmação.
Observe o delta enfraquecendo ou divergências como sinais de possível reversão.
Combine com indicadores de tendência ou price action para maior precisão.
Gaps EnhancedThis advanced gap detection tool identifies and visualizes price gaps on trading charts, helping traders spot potential support/resistance levels and trading opportunities.
🔲 Components and Features
Visual gap boxes with directional coloring
Dynamic labels showing key price levels
Smart sorting of nearest gaps
Customizable appearance
Key Features
Gap Visualization
Colored boxes (orange for support, green for resistance)
Dashed lines marking gap boundaries
Right-aligned price labels
Smart Gap Table
Shows 5 most relevant open gaps
Sorted by proximity to current price
Displays required move percentage to fill each gap
Customization Options
Adjustable gap size threshold
Color customization
Label positioning controls
Table location settings
How To Use
Basic Interpretation
Orange boxes: Price gaped up might come back (support zones)
Green boxes: Price gaped down price might come back to close the gap (resistance zones)
The table shows how much the price needs to move to fill each gap (as percentage)
Trading Applications
Look for price reactions near gap levels
Trade bounces off support/resistance gaps
Watch for gap fills as potential trend continuation signals
Use nearest gaps as profit targets
Settings Guide
Minimal Deviation: Set minimum gap size
Max Number of Gaps: Limits how many gaps are tracked
Visual Settings: Customize colors and label positions
Table Position: Choose where the info table appears
Pro Tips
Combine with other indicators for confirmation
Watch for volume spikes at gap levels
Larger gaps often act as stronger S/R
UM Dual MA with Price Bar Color change & Fill
Description
This is a dual moving average indicator with colored bars and moving averages. I wrote this indicator to keep myself on the right side of the market and trends. It plots two moving averages, (length and type of MA are user-defined) and colors the MAs green when trending higher or red when trending lower. The price bars are green when both MAs are green, red when both MAs are red, and orange when one MA is green and the other is red. The idea behind the indicator is to be extremely visual. If I am buying a red bar, I ask myself "why?" If I am selling a green bar, again, "why?"
Recommended Usage
Configure your tow favorite Moving averages. Consider long positions when one or both turn green. Scale into a position with a portion upon the first MA turning green, and then more when the second turns green. Consider scaling out when the bars are orange after an up move.
Orange bars are either areas of consolidation or prior to major turns.
You can also look for MA crossovers.
The indicator works on any timeframe and any security. I use it on daily, hourly, 2 day charts.
Default settings
The defaults are the author's preferred settings:
- 8 period WMA and 16 period WMA.
- Bars are green when both MAs are trending higher, red when both MAs are trending lower, and orange when one MA is trending higher and the other is trending lower.
Moving average types, lengths, and colors are user-configurable. Bar colors are also user-configurable.
Alerts
Alerts can be set by right-clicking the indicator and selecting the dropdown:
- Bullish Trend Both MAs turning green
- Bearish Trend Both MAs turning red
- Mixed Trend, 1 green 1 red MA
Helpful Hints:
Look for bullish areas when both MAs turn green after a sustained downtrend
Look for bearish areas when both MAs turn red
Careful in areas of orange bars, this could be a consolidation or a warning to a potential trend direction change.
Switch up your timeframes, I toggle back and forth between 1 and 2 days.
Stretch your timeframe over a lower time frame; for example, I like the 8 and 16 daily WMA. With most securities I get 16 bars with pre and post market. This translates into 128 and 256 MAs on the hourly chart. This slows down moves and color transitions for better manageability.
Author's Subjective Observations
I like the 128/256 WMA on the hourly charts for leveraged and inverse ETFs such as SPXL/SPXS, TQQQ/SQQQ, TNA/TZA. Or even the volatility ETFs/ETNS: UVXY, VXX.
Here is a one-hour chart example:
I have noticed that as volatility increases, I should begin looking at higher timeframes. This seems counterintuitive, but higher volatility increases the level of noise or swings.
I question myself when I short a green bar or buy a red bar; "Why am I doing this?" The colors help me visually stay on the right side of trend. If I am going to speculate on a market turn, at least do it when the bars are orange (MA trends differ)
My last observation is a 2-day chart of leveraged ETFs with the 8 and 16 WMAs. I frequently trade SPXL, FNGA, and TNA. If you are really dissecting this indicator,
look at a few 2-day charts. 2-day charts seem to catch the major swings nicely up and down. They also weed out the daily sudden big swings such as a panic move from economic data
or tweets. When both the MAs turn red on a 2-day chart the same day or same bar, beware; this could be a rough ride or short opportunity. I found weekly charts too long for my style but good
to review for direction. Less decisions on longer charts equate to less brain damage for myself.
These are just my thoughts, of course you do you and what suits your style best! Happy Trading.
weighted support or resistance linesQ: Why should users choose this script?
A: I found that in all the publicly available scripts about support and resistance lines, there is basically no weight identification for these lines. In other words, users do not know which support or resistance lines are the most important. So I specifically wrote this script.
1. By adjusting the weights, only the most effective support or resistance lines are displayed. (Length threshold of trend price (Bar))
2. By selecting the number of K-lines, only the latest number of support or resistance lines generated will be displayed. (Maximum number of reserved S/R lines)
3. By selecting whether to automatically remove lines, only support or resistance lines that have not been penetrated by the k-line will be displayed. If this function is checked, the weight can be adjusted lower, as high-weight SR may have already been penetrated, and the newly generated SR may have a lower weight. (Automatically remove lines penetrated by closing price confirmation)
4. Notes: The default parameters work well in 15-minute candlestick charts. For candlestick charts with other time periods, the parameters can be adjusted appropriately. It is suitable for sideways trading but not for strong trends.
5. I'm quite satisfied with the performance of the script, as I specifically optimized it, lol
Parameter Free RSI [InvestorUnknown]The Parameter Free RSI (PF-RSI) is an innovative adaptation of the traditional Relative Strength Index (RSI), a widely used momentum oscillator that measures the speed and change of price movements. Unlike the standard RSI, which relies on a fixed lookback period (typically 14), the PF-RSI dynamically adjusts its calculation length based on real-time market conditions. By incorporating volatility and the RSI's deviation from its midpoint (50), this indicator aims to provide a more responsive and adaptable tool for identifying overbought/oversold conditions, trend shifts, and momentum changes. This adaptability makes it particularly valuable for traders navigating diverse market environments, from trending to ranging conditions.
PF-RSI offers a suite of customizable features, including dynamic length variants, smoothing options, visualization tools, and alert conditions.
Key Features
1. Dynamic RSI Length Calculation
The cornerstone of the PF-RSI is its ability to adjust the RSI calculation period dynamically, eliminating the need for a static parameter. The length is computed using two primary factors:
Volatility: Measured via the standard deviation of past RSI values.
Distance from Midpoint: The absolute deviation of the RSI from 50, reflecting the strength of bullish or bearish momentum.
The indicator offers three variants for calculating this dynamic length, allowing users to tailor its responsiveness:
Variant I (Aggressive): Increases the length dramatically based on volatility and a nonlinear scaling of the distance from 50. Ideal for traders seeking highly sensitive signals in fast-moving markets.
Variant II (Moderate): Combines volatility with a scaled distance from 50, using a less aggressive adjustment. Strikes a balance between responsiveness and stability, suitable for most trading scenarios.
Variant III (Conservative): Applies a linear combination of volatility and raw distance from 50. Offers a stable, less reactive length adjustment for traders prioritizing consistency.
// Function that returns a dynamic RSI length based on past RSI values
// The idea is to make the RSI length adaptive using volatility (stdev) and distance from the RSI midpoint (50)
// Different "variant" options control how aggressively the length changes
parameter_free_length(free_rsi, variant) =>
len = switch variant
// Variant I: Most aggressive adaptation
// Uses standard deviation scaled by a nonlinear factor of distance from 50
// Also adds another distance-based term to increase length more dramatically
"I" => math.ceil(
ta.stdev(free_rsi, math.ceil(free_rsi)) *
math.pow(1 + (math.ceil(math.abs(50 - (free_rsi - 50))) / 100), 2)
) +
(
math.ceil(math.abs(free_rsi - 50)) *
(1 + (math.ceil(math.abs(50 - (free_rsi - 50))) / 100))
)
// Variant II: Moderate adaptation
// Adds the standard deviation and a distance-based scaling term (less nonlinear)
"II" => math.ceil(
ta.stdev(free_rsi, math.ceil(free_rsi)) +
(
math.ceil(math.abs(free_rsi - 50)) *
(1 + (math.ceil(math.abs(50 - (free_rsi - 50))) / 100))
)
)
// Variant III: Least aggressive adaptation
// Simply adds standard deviation and raw distance from 50 (linear scaling)
"III" => math.ceil(
ta.stdev(free_rsi, math.ceil(free_rsi)) +
math.ceil(math.abs(free_rsi - 50))
)
2. Smoothing Options
To refine the dynamic RSI and reduce noise, the PF-RSI provides smoothing capabilities:
Smoothing Toggle: Enable or disable smoothing of the dynamic length used for RSI.
Smoothing MA Type for RSI MA: Choose between SMA and EMA
Smoothing Length Options for RSI MA:
Full: Uses the entire calculated dynamic length.
Half: Applies half of the dynamic length for smoother output.
SQRT: Uses the square root of the dynamic length, offering a compromise between responsiveness and smoothness.
The smoothed RSI is complemented by a separate moving average (MA) of the RSI itself, further enhancing signal clarity.
3. Visualization Tools
The PF-RSI includes visualization options to help traders interpret market conditions at a glance.
Plots:
Dynamic RSI: Displayed as a white line, showing the adaptive RSI value.
RSI Moving Average: Plotted in yellow, providing a smoothed reference for trend and momentum analysis.
Dynamic Length: A secondary plot (in faint white) showing how the calculation period evolves over time.
Histogram: Represents the RSI’s position relative to 50, with color gradients.
Fill Area: The space between the RSI and its MA is filled with a gradient (green for RSI > MA, red for RSI < MA), highlighting momentum shifts.
Customizable bar colors on the price chart reflect trend and momentum:
Trend (Raw RSI): Green (RSI > 50), Red (RSI < 50).
Trend (RSI MA): Green (MA > 50), Red (MA < 50).
Trend (Raw RSI) + Momentum: Adds momentum shading (lighter green/red when RSI and MA diverge).
Trend (RSI MA) + Momentum: Similar, but based on the MA’s trend.
Momentum: Green (RSI > MA), Red (RSI < MA).
Off: Disables bar coloring.
Intrabar Updating: Optional real-time updates within each bar for enhanced responsiveness.
4. Alerts
The PF-RSI supports customizable alerts to keep traders informed of key events.
Trend Alerts:
Raw RSI: Triggers when the RSI crosses above (uptrend) or below (downtrend) 50.
RSI MA: Triggers when the moving average crosses 50.
Off: Disables trend alerts.
Momentum Alerts:
Triggers when the RSI crosses its moving average, indicating rising (RSI > MA) or declining (RSI < MA) momentum.
Alerts are fired once per bar close, with descriptive messages including the ticker symbol (e.g., " Uptrend on: AAPL").
How It Works
The PF-RSI operates in a multi-step process:
Initialization
On the first run, it calculates a standard RSI with a 14-period length to seed the dynamic calculation.
Dynamic Length Computation
Once seeded, the indicator switches to a dynamic length based on the selected variant, factoring in volatility and distance from 50.
If smoothing is enabled, the length is further refined using an SMA.
RSI Calculation
The adaptive RSI is computed using the dynamic length, ensuring it reflects current market conditions.
Moving Average
A separate MA (SMA or EMA) is applied to the RSI, with a length derived from the dynamic length (Full, Half, or SQRT).
Visualization and Alerts
The results are plotted, and alerts are triggered based on user settings.
This adaptive approach minimizes lag in fast markets and reduces false signals in choppy conditions, offering a significant edge over fixed-period RSI implementations.
Why Use PF-RSI?
The Parameter Free RSI stands out by eliminating the guesswork of selecting an RSI period. Its dynamic length adjusts to market volatility and momentum, providing timely signals without manual tweaking.
Institutional Support/Resistance Locator🏛️ Institutional Support/Resistance Locator
Overview
The Institutional Support/Resistance Locator identifies high-probability demand and supply zones based on strong price rejection, large candle bodies, and elevated volume . These zones are commonly targeted or defended by institutional participants, helping traders anticipate potential reversal or continuation areas.
⸻
How It Works
The indicator uses a confluence of conditions to detect zones:
• Large Body Candles: Body size must exceed the moving average body size multiplied by a user-defined factor.
• High Volume: Volume must exceed the moving average volume by a configurable multiplier.
• Wick Rejection: Candles must show strong upper or lower wicks indicating aggressive rejection.
• If all criteria are met:
• Bullish candles form a Demand Zone.
• Bearish candles form a Supply Zone.
Each zone is plotted for a customizable number of future bars, representing areas where institutions may re-engage with the market.
⸻
Key Features
• ✅ Highlights institutional demand and supply areas dynamically
• ✅ Customizable sensitivity: body, volume, wick, padding, and zone extension
• ✅ Zones plotted as translucent regions with auto-expiry
• ✅ Works across all timeframes and markets
⸻
How to Use
• Trend Traders: Use demand zones for potential bounce entries in uptrends, and supply zones for pullback short entries in downtrends.
• Range Traders: Use zones as potential reversal points inside sideways market structures.
• Scalpers & Intraday Traders: Combine with volume or price action near zones for refined entries.
Always validate zone reactions with supporting indicators or price behavior.
⸻
Why This Combination?
The combination of wick rejection, volume confirmation, and large candle structure is designed to reflect footprints of smart money. Rather than relying on fixed pivots or subjective zones, this logic adapts to the current market context with statistically grounded conditions.
⸻
Why It’s Worth Using
This tool offers traders a structured way to interpret institutional activity on charts without relying on guesswork. By plotting potential high-impact areas, it helps improve reaction time.
⸻
Note :
• This script is open-source and non-commercial.
• No performance guarantees or unrealistic claims are made.
• It is intended for educational and analytical purposes only.
Average Daily LiquidityIt is important to have sufficient daily trading value (liquidity) to ensure you can easily enter and, importantly, exit the trade. This indicator allows you to see if the traded value of a stock is adequate. The default average is 10 periods and it is common to average the daily traded value as both price and volume can have spikes causing trading errors. Some investors use a 5 period for a week, 10 period for 2 weeks, 20 or 21 period for 4 weeks/month and 65 periods for a quarter. You need to ascertain your buying amount such as $10000 and then have the average daily trading value be your comfortable moving average more such as average liquidity is more than 10 x MA(close x volume) or $100000 in this example. The value is extremely important for small and micro cap stocks you may wish to purchase.
VolumaticDataLibraryLibrary "VolumaticDataLibrary"
norm(src)
Normalizes a value if mean is 0
This function does not access global variables.
Parameters:
src (float)
addVolumeNodeIfSignificant(level, line_amount, node_prices, node_volumes, node_colors, color_up, color_dn, src_open, src_high, src_low, src_close, src_volume)
Processes the current bar's data to see if it represents a significant volume node,
and if so, updates the provided arrays with the node data.
This function should be called on every bar from the consuming indicator/strategy.
Parameters:
level (float) : The sensitivity level for detecting nodes.
line_amount (int) : The maximum number of nodes to store.
node_prices (array) : Array to store node prices (passed by reference).
node_volumes (array) : Array to store node absolute volumes (passed by reference).
node_colors (array) : Array to store node colors (passed by reference).
color_up (color) : The color to use for upward significant volume.
color_dn (color) : The color to use for downward significant volume.
src_open (float) : The open price series from the calling script.
src_high (float) : The high price series from the calling script.
src_low (float) : The low price series from the calling script.
src_close (float) : The close price series from the calling script.
src_volume (float) : The volume series from the calling script.
createVolumeNodeArray(node_prices, node_volumes, node_colors)
Creates an array of VolumeNode objects from the provided separate arrays.
This function can be called on the last bar from the consuming indicator/strategy
to get the current list of significant volume nodes.
Parameters:
node_prices (array) : Array containing the prices of the nodes.
node_volumes (array) : Array containing the absolute volumes of the nodes.
node_colors (array) : Array containing the colors of the nodes.
Returns: An array of VolumeNode objects representing the stored volume nodes.
VolumeNode
Fields:
price (series float)
volume (series float)
node_color (series color)
Bitcoin Monthly Seasonality [Alpha Extract]The Bitcoin Monthly Seasonality indicator analyzes historical Bitcoin price performance across different months of the year, enabling traders to identify seasonal patterns and potential trading opportunities. This tool helps traders:
Visualize which months historically perform best and worst for Bitcoin.
Track average returns and win rates for each month of the year.
Identify seasonal patterns to enhance trading strategies.
Compare cumulative or individual monthly performance.
🔶 CALCULATION
The indicator processes historical Bitcoin price data to calculate monthly performance metrics
Monthly Return Calculation
Inputs:
Monthly open and close prices.
User-defined lookback period (1-15 years).
Return Types:
Percentage: (monthEndPrice / monthStartPrice - 1) × 100
Price: monthEndPrice - monthStartPrice
Statistical Measures
Monthly Averages: ◦ Average return for each month calculated from historical data.
Win Rate: ◦ Percentage of positive returns for each month.
Best/Worst Detection: ◦ Identifies months with highest and lowest average returns.
Cumulative Option
Standard View: Shows discrete monthly performance.
Cumulative View: Shows compounding effect of consecutive months.
Example Calculation (Pine Script):
monthReturn = returnType == "Percentage" ?
(monthEndPrice / monthStartPrice - 1) * 100 :
monthEndPrice - monthStartPrice
calcWinRate(arr) =>
winCount = 0
totalCount = array.size(arr)
if totalCount > 0
for i = 0 to totalCount - 1
if array.get(arr, i) > 0
winCount += 1
(winCount / totalCount) * 100
else
0.0
🔶 DETAILS
Visual Features
Monthly Performance Bars: ◦ Color-coded bars (teal for positive, red for negative returns). ◦ Special highlighting for best (yellow) and worst (fuchsia) months.
Optional Trend Line: ◦ Shows continuous performance across months.
Monthly Axis Labels: ◦ Clear month names for easy reference.
Statistics Table: ◦ Comprehensive view of monthly performance metrics. ◦ Color-coded rows based on performance.
Interpretation
Strong Positive Months: Historically bullish periods for Bitcoin.
Strong Negative Months: Historically bearish periods for Bitcoin.
Win Rate Analysis: Higher win rates indicate more consistently positive months.
Pattern Recognition: Identify recurring seasonal patterns across years.
Best/Worst Identification: Quickly spot the historically strongest and weakest months.
🔶 EXAMPLES
The indicator helps identify key seasonal patterns
Bullish Seasons: Visualize historically strong months where Bitcoin tends to perform well, allowing traders to align long positions with favorable seasonality.
Bearish Seasons: Identify historically weak months where Bitcoin tends to underperform, helping traders avoid unfavorable periods or consider short positions.
Seasonal Strategy Development: Create trading strategies that capitalize on recurring monthly patterns, such as entering positions in historically strong months and reducing exposure during weak months.
Year-to-Year Comparison: Assess how current year performance compares to historical seasonal patterns to identify anomalies or confirmation of trends.
🔶 SETTINGS
Customization Options
Lookback Period: Adjust the number of years (1-15) used for historical analysis.
Return Type: Choose between percentage returns or absolute price changes.
Cumulative Option: Toggle between discrete monthly performance or cumulative effect.
Visual Style Options: Bar Display: Enable/disable and customize colors for positive/negative bars, Line Display: Enable/disable and customize colors for trend line, Axes Display: Show/hide reference axes.
Visual Enhancement: Best/Worst Month Highlighting: Toggle special highlighting of extreme months, Custom highlight colors for best and worst performing months.
The Bitcoin Monthly Seasonality indicator provides traders with valuable insights into Bitcoin's historical performance patterns throughout the year, helping to identify potentially favorable and unfavorable trading periods based on seasonal tendencies.
DMI Percentile MTF📈 DMI Percentile MTF – Custom Technical Indicator
This indicator is an enhanced version of the classic Directional Movement Index (DMI), converting +DI, -DI, and ADX values into dynamic percentiles ranging from 0% to 100%, making it easier to interpret the strength and direction of a trend.
⚙️ Key Features:
Percentile Normalization: Calculates where current values stand within a historical range (default: 100 bars), providing clearer overbought/oversold context.
+DI (green): Indicates bullish directional strength.
-DI (orange): Indicates bearish directional strength.
ADX (fuchsia): Measures overall trend strength (rising = strong trend, falling = flat market).
20% / 80% reference lines: Help identify weak or strong conditions.
Multi-Timeframe (MTF) Support: Analyze a higher timeframe trend (e.g., daily) while viewing a lower timeframe chart (e.g., 1h).
📊 How to Read It:
+DI > -DI → bullish trend dominance.
-DI > +DI → bearish trend dominance.
ADX rising → strengthening trend (regardless of direction).
ADX falling → sideways or consolidating market.
Values above 80% → historically high / strong conditions.
Values below 20% → historically low / weak conditions or potential breakout setup.
Triangle Breakout Strategy with TP/SL, EMA Filter📌 Triangle Breakout Strategy with TP/SL, EMA Filters, and Backtest – Explained.
✅ 1. Pattern Detection – Triangle Breakout
The script scans for triangle patterns by detecting local pivot highs and pivot lows.
It uses two recent highs and two recent lows to draw converging trendlines (upper and lower boundaries of the triangle).
If the price breaks above the upper trendline, a bullish breakout signal is generated.
🎯 2. TP (Take Profit) & SL (Stop Loss)
When a bullish breakout is detected:
A buy order is placed using strategy.entry.
TP and SL levels are calculated relative to the current close price:
TP = 3% above the entry price
SL = 1.5% below the entry price
These are defined using strategy.exit.
📊 3. EMA Filter
An optional filter checks if:
Price is above both EMA 20 and EMA 50
Only if this condition is met, the strategy allows a long entry.
You can toggle the filter on or off with useEMAFilter.
📈 4. Backtesting with Strategy Tester
This script uses strategy() instead of indicator() to enable TradingView’s built-in backtest engine.
Every buy entry and exit (based on TP or SL) is recorded.
📌 5. Visuals
EMA 20 and EMA 50 lines are plotted on the chart.
A label is shown when a breakout is detected: "Breakout Up"
Results (profit, win rate, drawdown, etc.) can be viewed in the Strategy Tester panel.
Market Structure: BoS & CHoCH (Math by Thomas)📌 Description:
Market Structure: BoS & CHoCH (Math by Thomas) is a clean and reliable market structure tool designed to visually mark Swing Highs, Swing Lows, and classify each one as HH (Higher High), LH (Lower High), LL (Lower Low), or HL (Higher Low) based on price action. It also detects and labels Break of Structure (BoS) and Change of Character (CHoCH) to help identify potential continuation or reversal in trend.
🛠️ How to Use:
Add the indicator to your chart (works on any timeframe and asset).
Adjust the "Swing Sensitivity" input to fine-tune how many bars the script uses to detect a swing high/low. A higher number smooths out noise.
The script will automatically:
Mark every confirmed swing high or low with a solid line.
Label the swing as HH, LH, HL, or LL depending on its relative position.
Show BoS (trend continuation) or CHoCH (trend reversal) labels with the current trend direction.
Toggle labels or lines on or off with the corresponding checkboxes in settings.
🔍 Tip:
Use this indicator alongside other tools like volume or RSI for more confident entries. A CHoCH followed by two BoS in the same direction often signals a strong trend reversal.
Volume Intelligence Suite (VIS) v2📊 Volume Intelligence Suite – Smart Volume, Smart Trading
The Volume Intelligence Suite is a powerful, all-in-one TradingView indicator designed to give traders deeper insight into market activity by visualizing volume behavior with price action context. Whether you're a scalper, day trader, or swing trader, this tool helps uncover hidden momentum, institutional activity, and potential reversals with precision.
🔍 Key Features:
Dynamic Volume Zones – Highlights high and low volume areas to spot accumulation/distribution ranges.
Volume Spikes Detector – Automatically marks abnormal volume bars signaling potential breakout or trap setups.
Smart Delta Highlighting – Compares bullish vs bearish volume in real time to reveal buyer/seller strength shifts.
Session-Based Volume Profiling – Breaks volume into key trading sessions (e.g., London, New York) for clearer context.
Volume Heatmap Overlay – Optional heatmap to show intensity and velocity of volume flow per candle.
Custom Alerts – Built-in alerts for volume surges, divergences, and exhaustion signals.
Optimized for Kill Zone Analysis – Pairs perfectly with ICT-style session strategies and Waqar Asim’s trading methods.
🧠 Why Use Volume Intelligence?
Most traders overlook the story behind each candle. Volume Intelligence Suite helps you "see the why behind the move" — exposing key areas of interest where smart money may be active. Instead of reacting late, this tool puts you in position to anticipate.
Use it to:
Validate breakouts
Detect fakeouts and liquidity grabs
Confirm bias during kill zones
Analyze volume divergence with price swings
⚙️ Fully Customizable:
From volume thresholds to visual styles and session timings, everything is user-adjustable to fit your market, timeframe, and strategy.
✅ Best For:
ICT/Smart Money Concepts (SMC) traders
Breakout & reversal traders
Kill zone session scalpers
Institutional footprint followers
Volume towers by GSK-VIZAG-AP-INDIAVolume Towers by GSK-VIZAG-AP-INDIA
Overview :
This Pine Script visualizes volume activity and provides insights into market sentiment through the display of buying and selling volume, alongside moving averages. It highlights high and low volume candles, enabling traders to make informed decisions based on volume anomalies. The script is designed to identify key volume conditions, such as below-average volume, high-volume candles, and their relationship to price movement.
Script Details:
The script calculates a Simple Moving Average (SMA) of the volume over a user-defined period and categorizes volume into several states:
Below Average Volume: Volume is below the moving average.
High Volume: Volume exceeds the moving average by a multiplier (configurable by the user).
Low Volume: Volume that doesn’t qualify as either high or below average.
Additionally, the script distinguishes between buying volume (when the close is higher than the open) and selling volume (when the close is lower than the open). This categorization is color-coded for better visualization:
Green: Below average buying volume.
Red: Below average selling volume.
Blue: High-volume buying.
Purple: High-volume selling.
Black: Low volume.
The Volume Moving Average (SMA) is plotted as a reference line, helping users identify trends in volume over time.
Features & Customization:
Customizable Inputs:
Volume MA Length: The period for calculating the volume moving average (default is 20).
High Volume Multiplier: A multiplier for defining high volume conditions (default is 2.0).
Color-Coded Volume Histograms:
Different colors are used for buying and selling volume, as well as high and low-volume candles, for quick visual analysis.
Alerts:
Alerts can be set for the following conditions:
Below-average buying volume.
Below-average selling volume.
High-volume conditions.
How It Works:
Volume Moving Average (SMA) is calculated using the user-defined period (length), and it acts as the baseline for categorizing volume.
Volume Conditions:
Below Average Volume: Identifies candles with volume below the SMA.
High Volume: Identifies candles where volume exceeds the SMA by the set multiplier (highVolumeMultiplier).
Low Volume: When volume is neither high nor below average.
Buying and Selling Volume:
The script identifies buying and selling volume based on the closing price relative to the opening price:
Buying Volume: When the close is greater than the open.
Selling Volume: When the close is less than the open.
Volume histograms are then plotted using the respective colors for quick visualization of volume trends.
User Interface & Settings:
Inputs:
Volume MA Length: Adjust the period for the volume moving average.
High Volume Multiplier: Define the multiplier for high volume conditions.
Plots:
Buying Volume: Green bars indicate buying volume.
Selling Volume: Red bars indicate selling volume.
High Volume: Blue or purple bars for high-volume candles.
Low Volume: Black bars for low-volume candles.
Volume Moving Average Line: Displays the moving average line for reference.
Source Code / Authorship:
Author: prowelltraders
Disclaimer:
This script is intended for educational purposes only. While it visualizes important volume data, users are encouraged to perform their own research and testing before applying this script for trading decisions. No guarantees are made regarding the effectiveness of this script for real-world trading.
Contact & Support:
For questions, support, or feedback, please reach out to the author directly through TradingView (prowelltraders).
Signature:
GSK-VIZAG-AP-INDIA
Color Coded Volume IndicatorColor Coded Volume Indicator
Overview
Splits each bar’s total volume into estimated buy-side vs. sell-side components and displays them as stacked two-tone columns (red = sell, green = buy). Axis labels and tooltips use “K”/“M” formatting.
Features
Stacked Two-Tone Columns
Red Base : estimated sell volume (50% opacity)
Green Top : remaining buy volume (50% opacity)
Automatic K/M Formatting via format=format.volume
Zero Baseline for clean reference at zero
Positive-Only Bars (no negatives)
How It Works
True-Range Guard
Skips bars where high == low to avoid divide-by-zero.
Volume Split
BuyVol = Volume × (Close − Low) / (High − Low)
SellVol = Volume × (High − Close) / (High − Low)
Both series clamped ≥ 0.
Layered Plot
Draw semi-transparent green at full height, then overlay red sell portion.
Usage
Open TradingView’s Pine Editor
Paste in the full script
Click “Save & Add to Chart”
In the Publish dialog, title it “Color Coded Volume Indicator” and paste this description.
Interpretation
Green-dominant bars → strong buying pressure
Red-dominant bars → strong selling pressure
Equal halves → balanced activity
Price-Confirmed Hull Moving AverageThis is a modified HULL moving average that adds some enhancements providing visual clues as to a change in trend direction. The user can add slight modifications to the abruptness of trend change indications, which are clearly seen by the color change of the hull line itself. The user can also choose to have the background color change for easier visual indication that the hull line has changed slope direction. In addition, the user can either have both the line and the background visuals on, or turn one or the other (or both) off.
The purpose of this HULL moving average is to provide easy identification of trend direction within the scope of the moving average values provided in settings.
DEMA HMA Z-score OscillatorThis custom oscillator combines the power of the Hull Moving Average (HMA) with the Z-Score to identify momentum shifts and potential trend reversals. The Z-Score measures how far the current HMA is from its historical mean, helping to spot overbought or oversold conditions.
Uptrend: Long signals are generated when the Z-Score crosses above the defined Long Threshold.
Downtrend: Short signals are triggered when the Z-Score drops below the Short Threshold.
Visuals: The Z-Score is plotted along with background color changes and fills to clearly indicate trend strength. Green fills highlight uptrends, while pink fills indicate downtrends.
Alerts: Alerts are available for both long and short conditions based on Z-Score crossovers.
Customizable Inputs:
HMA Length
Smoothing Length (for DEMA)
Z-Score Length
Long and Short Thresholds
This indicator is ideal for detecting momentum shifts, confirming trend strength, and helping to time entry/exit points in your trading strategy.
Reintegration OPR zone 9h30📝 Indicator Description (for TradingView):
Name: Reintegration OPR Zone – 9:30 AM EST (UTC-4)
Purpose:
This indicator is designed for US indices like NAS100, US30, or SPX500. It helps identify potential false breakouts or retests by tracking when the price re-enters the Opening Price Range (OPR) after an initial breakout.
🔍 How it works:
At 9:30 AM New York time (UTC-4), the script captures the high and low of the first 15-minute candle (which is key for the US session open).
It then draws a horizontal box (rectangle) from the high to the low of that candle.
The box extends horizontally for 7 hours (28 candles on a 15-minute chart).
The script tracks if price:
Breaks above or below the OPR zone
Then re-enters the zone (a potential "fakeout" or "retest" signal)
No label or text is displayed on the chart (you requested it to be hidden).
🕒 Timeframe:
Designed for the 15-minute chart (M15)
Assumes New York session open at 9:30 AM EST (UTC-4)
Market Manipulation Index (MMI)The Composite Manipulation Index (CMI) is a structural integrity tool that quantifies how chaotic or orderly current market conditions are, with the aim of detecting potentially manipulated or unstable environments. It blends two distinct mathematical models that assess price behavior in terms of both structural rhythm and predictability.
1. Sine-Fit Deviation Model:
This component assumes that ideal, low-manipulation price behavior resembles a smooth oscillation, such as a sine wave. It generates a synthetic sine wave using a user-defined period and compares it to actual price movement over an adaptive window. The error between the real price and this synthetic wave—normalized by price variance—forms the Sine-Based Manipulation Index. A high error indicates deviation from natural rhythm, suggesting structural disorder.
2. Predictability-Based Model:
The second component estimates how well current price can be predicted using recent price lags. A two-variable rolling linear regression is computed between the current price and two lagged inputs (close and close ). If the predicted price diverges from the actual price, this error—also normalized by price variance—reflects unpredictability. High prediction error implies a more manipulated or erratic environment.
3. Adaptive Mechanism:
Both components are calculated using an adaptive smoothing window based on the Average True Range (ATR). This allows the indicator to respond proportionally to market volatility. During high volatility, the analysis window expands to avoid over-sensitivity; during calm periods, it contracts for better responsiveness.
4. Composite Output:
The two normalized metrics are averaged to form the final CMI value, which is then optionally smoothed further. The output is scaled between 0 and 1:
0 indicates a highly structured, orderly market.
1 indicates complete structural breakdown or randomness.
Suggested Interpretation:
CMI < 0.3: Market is clean and structured. Trend-following or breakout strategies may perform better.
CMI > 0.7: Market is structurally unstable. Choppy price action, fakeouts, or manipulative behavior may dominate.
CMI 0.3–0.7: Transitional zone. Caution or reduced risk may be warranted.
This indicator is designed to serve as a contextual filter, helping traders assess whether current market conditions are conducive to structured strategies, or if discretion and defense are more appropriate.
Timeframe StrategyThis is a multi-timeframe trading strategy inspired by Ross Cameron's style, optimized for scalping and trend-following across various timeframes (1m, 5m, 15m, 1h, and 1D). The strategy integrates a comprehensive set of technical indicators, dynamic risk management, and visual tools.
Core Features
Dynamic Take Profit, Stop Loss & Trailing Stop
> Separate settings per timeframe for:
-TP% (Take Profit)
-SL% (Stop Loss)
-Trailing Stop %
-Cooldown bars
> Configurable via UI inputs.
>Smart Entry Conditions
Bullish entry: EMA9 crossover EMA20 and EMA50 > EMA200
Bearish entry: EMA9 crossunder EMA20 and EMA50 < EMA200
>Additional confirmation filters:
-Volume Filter (enabled/disabled via UI)
-Time Filter (e.g., only between 15:00–20:00 UTC)
-Spike Filter: rejects high-volatility candles
-RSI Filter: above/below 50 for trend confirmation
-ADX Filter (only applied on 1m, e.g., ADX > 15)
-Micro-Volatility Filter: minimum range percentage (1m only)
-Trend Filter (1m only): price must be above/below EMA200
>Trailing Stop Logic
-Configurable for each timeframe.
- Optional via toggle (use_trailing).
>Trade Cooldown Logic
-Prevents consecutive trades within X bars, configurable per timeframe.
>Technical Indicators Used
-EMA 9 / 20 / 50 / 200
-VWAP
-RSI (14)
-ATR (14) for volatility-based spike filtering
-Custom-calculated ADX (14) (manually implemented)
>Visual Elements
🔼/🔽 Entry signals (long/short) plotted on the chart.
📉 Table in bottom-left:
Displays current values of EMA/VWAP/volume/ATR/ADX.
> Optional "Tab info" panel in top-right (toggleable):
-Timeframe & strategy settings
-Live status of filters (volume, time, cooldown, spike, RSI, ADX, range, trend)
-Uses emoji (✅ / ❌) for quick diagnostics.
>User Customization
-Inputs per timeframe for all key parameters.
-Toggle switches for:
-Trailing stop
-Volume filter
-Info table visibility
This strategy is designed for active traders seeking a balance between momentum entry, risk control, and adaptability across timeframes. It's ideal for backtesting quick reversals or breakout setups in fast markets, especially at lower timeframes like 1m or 5m.
Liquid Pulse Liquid Pulse by Dskyz (DAFE) Trading Systems
Liquid Pulse is a trading algo built by Dskyz (DAFE) Trading Systems for futures markets like NQ1!, designed to snag high-probability trades with tight risk control. it fuses a confluence system—VWAP, MACD, ADX, volume, and liquidity sweeps—with a trade scoring setup, daily limits, and VIX pauses to dodge wild volatility. visuals include simple signals, VWAP bands, and a dashboard with stats.
Core Components for Liquid Pulse
Volume Sensitivity (volumeSensitivity) controls how much volume spikes matter for entries. options: 'Low', 'Medium', 'High' default: 'High' (catches small spikes, good for active markets) tweak it: 'Low' for calm markets, 'High' for chaos.
MACD Speed (macdSpeed) sets the MACD’s pace for momentum. options: 'Fast', 'Medium', 'Slow' default: 'Medium' (solid balance) tweak it: 'Fast' for scalping, 'Slow' for swings.
Daily Trade Limit (dailyTradeLimit) caps trades per day to keep risk in check. range: 1 to 30 default: 20 tweak it: 5-10 for safety, 20-30 for action.
Number of Contracts (numContracts) sets position size. range: 1 to 20 default: 4 tweak it: up for big accounts, down for small.
VIX Pause Level (vixPauseLevel) stops trading if VIX gets too hot. range: 10 to 80 default: 39.0 tweak it: 30 to avoid volatility, 50 to ride it.
Min Confluence Conditions (minConditions) sets how many signals must align. range: 1 to 5 default: 2 tweak it: 3-4 for strict, 1-2 for more trades.
Min Trade Score (Longs/Shorts) (minTradeScoreLongs/minTradeScoreShorts) filters trade quality. longs range: 0 to 100 default: 73 shorts range: 0 to 100 default: 75 tweak it: 80-90 for quality, 60-70 for volume.
Liquidity Sweep Strength (sweepStrength) gauges breakouts. range: 0.1 to 1.0 default: 0.5 tweak it: 0.7-1.0 for strong moves, 0.3-0.5 for small.
ADX Trend Threshold (adxTrendThreshold) confirms trends. range: 10 to 100 default: 41 tweak it: 40-50 for trends, 30-35 for weak ones.
ADX Chop Threshold (adxChopThreshold) avoids chop. range: 5 to 50 default: 20 tweak it: 15-20 to dodge chop, 25-30 to loosen.
VWAP Timeframe (vwapTimeframe) sets VWAP period. options: '15', '30', '60', '240', 'D' default: '60' (1-hour) tweak it: 60 for day, 240 for swing, D for long.
Take Profit Ticks (Longs/Shorts) (takeProfitTicksLongs/takeProfitTicksShorts) sets profit targets. longs range: 5 to 100 default: 25.0 shorts range: 5 to 100 default: 20.0 tweak it: 30-50 for trends, 10-20 for chop.
Max Profit Ticks (maxProfitTicks) caps max gain. range: 10 to 200 default: 60.0 tweak it: 80-100 for big moves, 40-60 for tight.
Min Profit Ticks to Trail (minProfitTicksTrail) triggers trailing. range: 1 to 50 default: 7.0 tweak it: 10-15 for big gains, 5-7 for quick locks.
Trailing Stop Ticks (trailTicks) sets trail distance. range: 1 to 50 default: 5.0 tweak it: 8-10 for room, 3-5 for fast locks.
Trailing Offset Ticks (trailOffsetTicks) sets trail offset. range: 1 to 20 default: 2.0 tweak it: 1-2 for tight, 5-10 for loose.
ATR Period (atrPeriod) measures volatility. range: 5 to 50 default: 9 tweak it: 14-20 for smooth, 5-9 for reactive.
Hardcoded Settings volLookback: 30 ('Low'), 20 ('Medium'), 11 ('High') volThreshold: 1.5 ('Low'), 1.8 ('Medium'), 2 ('High') swingLen: 5
Execution Logic Overview trades trigger when confluence conditions align, entering long or short with set position sizes. exits use dynamic take-profits, trailing stops after a profit threshold, hard stops via ATR, and a time stop after 100 bars.
Features Multi-Signal Confluence: needs VWAP, MACD, volume, sweeps, and ADX to line up.
Risk Control: ATR-based stops (capped 15 ticks), take-profits (scaled by volatility), and trails.
Market Filters: VIX pause, ADX trend/chop checks, volatility gates. Dashboard: shows scores, VIX, ADX, P/L, win %, streak.
Visuals Simple signals (green up triangles for longs, red down for shorts) and VWAP bands with glow. info table (bottom right) with MACD momentum. dashboard (top right) with stats.
Chart and Backtest:
NQ1! futures, 5-minute chart. works best in trending, volatile conditions. tweak inputs for other markets—test thoroughly.
Backtesting: NQ1! Frame: Jan 19, 2025, 09:00 — May 02, 2025, 16:00 Slippage: 3 Commission: $4.60
Fee Typical Range (per side, per contract)
CME Exchange $1.14 – $1.20
Clearing $0.10 – $0.30
NFA Regulatory $0.02
Firm/Broker Commis. $0.25 – $0.80 (retail prop)
TOTAL $1.60 – $2.30 per side
Round Turn: (enter+exit) = $3.20 – $4.60 per contract
Disclaimer this is for education only. past results don’t predict future wins. trading’s risky—only use money you can lose. backtest and validate before going live. (expect moderators to nitpick some random chart symbol rule—i’ll fix and repost if they pull it.)
About the Author Dskyz (DAFE) Trading Systems crafts killer trading algos. Liquid Pulse is pure research and grit, built for smart, bold trading. Use it with discipline. Use it with clarity. Trade smarter. I’ll keep dropping badass strategies ‘til i build a brand or someone signs me up.
2025 Created by Dskyz, powered by DAFE Trading Systems. Trade smart, trade bold.
ICT Macro and Daye QT ShiftEST Vertical Lines - Auto DST Adjustment
Overview
This indicator draws customizable vertical lines at specific Eastern Time (EST/EDT) points throughout the trading day, automatically adjusting for daylight savings time. Designed for precision trading on 1-minute and 5-minute charts, it highlights key intraday moments when price action tends to accelerate.
Features
- **18 pre-configured NY session times** (09:50-15:45 ET)
- **Auto timezone conversion** - Always shows correct EST/EDT regardless of your local timezone
- **3 line styles** - Choose between solid/dashed/dotted lines
- **Clean labeling** - Optional time markers above each line
- **1m/5m optimized** - Perfect for scalpers and day traders
- **Visual alerts** - "TOUCH" labels when price interacts with lines
Inputs
| Parameter | Description | Default |
|-----------|-------------|---------|
| Line Times | Comma-separated HH:MM times | 09:50,10:10,...15:45 |
| Line Color | Line color | Black |
| Line Width | 1-5px thickness | 2 |
| Line Style | Solid/Dashed/Dotted | Solid |
| Show Labels | Display time markers | true |
How To Use
1. Apply to 1m or 5m charts
2. Lines appear automatically at specified EST times
3. Watch for price reactions at these key levels
4. Customize styles via indicator settings
Ideal For
- NY open/London close traders
- Earnings/News traders
- Breakout traders
- Market open/close strategies
Updates
v1.1 - Added line style customization
v1.0 - Initial release