Volume MAs Oscillator | Lyro RS// This Pine Script® code is subject to the terms of the Mozilla Public License 2.0 at mozilla.org
// © LyroRS
//@version=6
indicator("Volume MAs Oscillator | Lyro RS")
import LyroRS/LMAs/1 as DynamicMAs
//─────────────────────────────────────────────────────────────────────────────────────────────────────────────
//─██████─────────████████──████████─████████████████───██████████████───────████████████████───██████████████─
//─██░░██─────────██░░░░██──██░░░░██─██░░░░░░░░░░░░██───██░░░░░░░░░░██───────██░░░░░░░░░░░░██───██░░░░░░░░░░██─
//─██░░██─────────████░░██──██░░████─██░░████████░░██───██░░██████░░██───────██░░████████░░██───██░░██████████─
//─██░░██───────────██░░░░██░░░░██───██░░██────██░░██───██░░██──██░░██───────██░░██────██░░██───██░░██─────────
//─██░░██───────────████░░░░░░████───██░░████████░░██───██░░██──██░░██───────██░░████████░░██───██░░██████████─
//─██░░██─────────────████░░████─────██░░░░░░░░░░░░██───██░░██──██░░██───────██░░░░░░░░░░░░██───██░░░░░░░░░░██─
//─██░░██───────────────██░░██───────██░░██████░░████───██░░██──██░░██───────██░░██████░░████───██████████░░██─
//─██░░██───────────────██░░██───────██░░██──██░░██─────██░░██──██░░██───────██░░██──██░░██─────────────██░░██─
//─██░░██████████───────██░░██───────██░░██──██░░██████─██░░██████░░██───────██░░██──██░░██████─██████████░░██─
//─██░░░░░░░░░░██───────██░░██───────██░░██──██░░░░░░██─██░░░░░░░░░░██───────██░░██──██░░░░░░██─██░░░░░░░░░░██─
//─██████████████───────██████───────██████──██████████─██████████████───────██████──██████████─██████████████─
//─────────────────────────────────────────────────────────────────────────────────────────────────────────────
// LyroRS v1.0
// Groups
ma_g = "𝗠𝗢𝗩𝗜𝗡𝗚 𝗔𝗩𝗘𝗥𝗔𝗚𝗘"
bands_g = "𝗕𝗔𝗡𝗗"
display_g = '𝗗𝗜𝗦𝗣𝗟𝗔𝗬'
// Inputs
// -- Moving Average
source = input.source(close, "Source", group= ma_g, tooltip= "Select where the data originates (open, high, low, close, etc..).")
ma_type = input.string("EMA", "Select Moving Average", options= , group=ma_g, tooltip="Choose a moving average type to apply to the price multiplied by volume. VWMA already incorporates volume directly.")
ma_length = input.int(30, "Moving Average Length", group= ma_g, tooltip= "Defines the length or period of the selected moving average.")
// -- Bands
band_length = input.int(27, "Band Length", group=bands_g, tooltip="Number of bars used to calculate standard deviation.")
band_smoothing = input.float(0.8, "Band Smoothing", group=bands_g, minval=0, tooltip="Smooths the band edges to reduce noise.")
pbm = input.float(1.8, "Positive Band Multiplier", group=bands_g, minval=0, tooltip="Multiplier for the upper band distance.")
nbm = input.float(-0.85, "Negative Band Multiplier", group=bands_g, maxval=0, tooltip="Multiplier for the lower band distance.")
// Color Inputs
signal_type = input.string("Trend", "Select Signal Type", options= , group=display_g, tooltip="Select which way to use the indicator.")
ColMode = input.string("Mystic", "Custom Color Palette", inline="drop", options= , display=display.none, group= display_g, tooltip="Select a predefined color scheme for the indicator display. (Major Themes color mode automatically switches colors based on the major asset you picked for valuation analysis.)")
cpyn = input.bool (true, "Use Custom Palette", group= display_g, display=display.none, tooltip="Enables custom color selection for signals.")
cp_UpC = input.color (#00ff00, "Custom Up", inline = "Custom Palette", group= display_g, display=display.none, tooltip="")
cp_DnC = input.color (#ff0000, "Custom Down", inline = "Custom Palette", group= display_g, display=display.none, tooltip="User specifed bullish and bearish colors.")
d_obos_sigs = input.bool (true, "Display Oversold/Overbought Signs", group= display_g, display=display.none, tooltip="Enables triangle signs to be displayed.")
d_signs = input.bool (true, "Display Signs", group= display_g, display=display.none, tooltip="Enables signs for Trend mode.")
d_bgcol = input.bool (true, "Display Background Color", group= display_g, display=display.none, tooltip="Enables background color for Reversion & Valuation mode.")
// Colors
color UpC = na
color DnC = na
// -- Predefined Colors
switch ColMode
"Classic" =>
UpC := #00E676
DnC := #880E4F
"Mystic" =>
UpC := #30FDCF
DnC := #E117B7
"Accented" =>
UpC := #9618F7
DnC := #FF0078
"Royal" =>
UpC := #FFC107
DnC := #673AB7
// -- Custom Colors
if cpyn
UpC := cp_UpC
DnC := cp_DnC
// Coloring Function for Valuation
coloring(src) =>
color.from_gradient(src, ta.lowest(src, band_length), ta.highest(src, band_length), UpC, DnC)
// Moving Average Switch
float ma = na
switch ma_type
"SMA" => ma := DynamicMAs.SMA(source * volume, ma_length) / DynamicMAs.SMA(volume, ma_length)
"EMA" => ma := DynamicMAs.EMA(source * volume, ma_length) / DynamicMAs.EMA(volume, ma_length)
"WMA" => ma := DynamicMAs.WMA(source * volume, ma_length) / DynamicMAs.WMA(volume, ma_length)
"VWMA" => ma := DynamicMAs.VWMA(source, volume, ma_length) // Already Volume Based MA
"DEMA" => ma := DynamicMAs.DEMA(source * volume, ma_length) / DynamicMAs.DEMA(volume, ma_length)
"TEMA" => ma := DynamicMAs.TEMA(source * volume, ma_length) / DynamicMAs.TEMA(volume, ma_length)
"RMA" => ma := DynamicMAs.RMA(source * volume, ma_length) / DynamicMAs.RMA(volume, ma_length)
"HMA" => ma := DynamicMAs.HMA(source * volume, ma_length) / DynamicMAs.HMA(volume, ma_length)
"LSMA" => ma := DynamicMAs.LSMA(source * volume, ma_length, 0) / DynamicMAs.LSMA(volume, ma_length, 0)
"SMMA" => ma := DynamicMAs.SMMA(source * volume, ma_length) / DynamicMAs.SMMA(volume, ma_length)
"ALMA" => ma := DynamicMAs.ALMA(source * volume, ma_length, 0, 20) / DynamicMAs.ALMA(volume, ma_length, 0, 20)
"ZLSMA" => ma := DynamicMAs.ZLSMA(source * volume, ma_length) / DynamicMAs.ZLSMA(volume, ma_length)
"FRAMA" => ma := DynamicMAs.FRAMA(source * volume, ma_length) / DynamicMAs.FRAMA(volume, ma_length)
"KAMA" => ma := DynamicMAs.KAMA(source * volume, ma_length) / DynamicMAs.KAMA(volume, ma_length)
"JMA" => ma := DynamicMAs.JMA(source * volume, ma_length, 0) / DynamicMAs.JMA(volume, ma_length, 0)
"T3" => ma := DynamicMAs.T3(source * volume, ma_length, 0.5) / DynamicMAs.T3(volume, ma_length, 0.5)
price_diff = ((source - ma) / ma) * 100 // Percentage Difference between Source and the Moving Average of the source
// Calculations for the Bands
std = ta.stdev(price_diff, band_length)
upperBandRaw = std * pbm
lowerBandRaw = std * nbm
var float upperBand = na
var float lowerBand = na
// Smooth
upperBand := upperBandRaw * band_smoothing + nz(upperBand ) * (1 - band_smoothing)
lowerBand := lowerBandRaw * band_smoothing + nz(lowerBand ) * (1 - band_smoothing)
// Plot Color
var color pc = na
var color uB_color = na
var color lB_color = na
var int signal = 0
if signal_type == "Trend"
uB_color := UpC
lB_color := DnC
if price_diff > upperBand
pc := UpC
signal := 1
if price_diff < lowerBand
pc := DnC
signal := -1
if signal_type == "Reversion"
uB_color := DnC
lB_color := UpC
if price_diff > upperBand
pc := DnC
signal := -1
else if price_diff < lowerBand
pc := UpC
signal := 1
else
pc := color.gray
signal := 0
if signal_type == "Valuation"
uB_color := UpC
lB_color := DnC
pc := coloring(price_diff)
// Plot
plot(price_diff, color= pc, linewidth = 2, title= "Volume MAs Oscillator")
plot(upperBand, color= color.new(uB_color, 50), title= "Upper Band")
plot(lowerBand, color= color.new(lB_color, 50), title= "Lower Band")
plot(0, color= color.new(pc, 60), linewidth = 2, display= display.pane, title= "Mid Line")
plot(0, color= color.new(pc, 75), linewidth = 5, display= display.pane, title= "Mid Line Glow 1")
plot(0, color= color.new(pc, 85), linewidth = 10, display= display.pane, title= "Mid Line Glow 2")
plotchar(upperBand + 0.5, char='▼', color= ta.crossunder(price_diff, upperBand) ? DnC : na, location=location.absolute, title= "Overbought Signal", display= d_obos_sigs ? display.pane : display.none, size= size.tiny)
plotchar(lowerBand - 0.5, char='▲', color= ta.crossover(price_diff, lowerBand) ? UpC : na, location=location.absolute, title= "Oversold Signal", display= d_obos_sigs ? display.pane : display.none, size= size.tiny)
reversion_enable = signal_type == "Reversion"
valuation_enable = signal_type == "Valuation"
bgcolor(d_bgcol and ((valuation_enable and price_diff > upperBand) or (reversion_enable and ta.crossunder(price_diff, upperBand))) ? color.new(DnC, 85) : na, title= "BG Color OB")
bgcolor(d_bgcol and ((valuation_enable and price_diff > upperBand) or (reversion_enable and ta.crossunder(price_diff, upperBand))) ? color.new(DnC, 85) : na, title= "BG Color OB Overlay", force_overlay = true)
bgcolor(d_bgcol and ((valuation_enable and price_diff < lowerBand) or (reversion_enable and ta.crossover(price_diff, lowerBand))) ? color.new(UpC, 85) : na, title= "BG Color OS")
bgcolor(d_bgcol and ((valuation_enable and price_diff < lowerBand) or (reversion_enable and ta.crossover(price_diff, lowerBand))) ? color.new(UpC, 85) : na, title= "BG Color OS Overlay", force_overlay = true)
plotshape(ta.crossover(signal, 0), title="Buy Signal", location=location.belowbar,
style=shape.labelup, text="𝓛𝓸𝓷𝓰", textcolor=#000000, size=size.small,
color=UpC, force_overlay=true, display= signal_type == "Trend" and d_signs == true ? display.pane : display.none)
plotshape(ta.crossunder(signal, 0), title="Sell Signal", location=location.abovebar,
style=shape.labeldown, text="𝓢𝓱𝓸𝓻𝓽", textcolor=#000000, size=size.small,
color=DnC, force_overlay=true, display= signal_type == "Trend" and d_signs == true ? display.pane : display.none)
plotcandle(open, high, low, close, color= pc, wickcolor = pc, bordercolor = pc, force_overlay = true, display= display.pane, title= "Plot Candle")
barcolor(pc, title= "Barcolor")
// ==========================================================================================
// === Dashboard with Telegram Link ===
var table myTable = table.new(position.top_center, 1, 1, border_width=1, frame_color=color.black, bgcolor=color.white)
// Add Telegram Message to Dashboard
table.cell(myTable, 0, 0, "Join Telegram @mrexpert_ai", bgcolor=color.blue, text_color=color.white, text_size=size.normal)
אינדיקטורים ואסטרטגיות
Approved Engulfing - Confirmed Close Triggerengulfing tak respek atau king CMS, guna cs sebelum engulfing ni sebagai area entry, bila prce kembali ke area ini, tunggu rejection baru boleh entry, andai tak ada rejection tak boleh entry
the Engulfing is not respected or fails to hold (King CMS), use the candle prior to this engulfing as your entry area. When price returns to this zone, wait for a clear rejection before entering. If there is no rejection, do not enter the trade."
HMA & RSI Delta Hybrid SignalsA lag-free trend follower combining Hull Moving Average (HMA) with RSI Momentum Delta to filter false signals and catch high-probability reversals.
# 🚀 HMA & RSI Delta Hybrid Signals
This indicator represents a hybrid approach to trend trading by combining the smoothness of the **Hull Moving Average (HMA)** with the explosive detection capabilities of **RSI Momentum Delta**.
Unlike standard indicators that rely solely on price crossovers, this tool confirms the trend direction with the *velocity* of the price change (Momentum Delta), reducing false signals in choppy markets.
### 🧠 How It Works?
**1. Trend Detection (HMA):**
The script uses the **Hull Moving Average**, known for being extremely fast and lag-free, to determine the overall market direction.
* **Orange Line:** Represents the HMA Trend. The slope determines if we are in an Uptrend or Downtrend.
**2. Momentum Confirmation (RSI Delta):**
Instead of looking at raw RSI levels (like 70 or 30), this algorithm calculates the **"Delta"** (Absolute change from the previous bar).
* It asks: *"Is the price moving in the trend direction with enough speed?"*
* If the RSI jumps significantly (determined by the `Delta Threshold`), it confirms a strong entry.
### 🎯 Signal Modes (Sensitivity)
You can choose between two modes depending on your trading style:
* **🛡️ Conservative Mode (Default):**
* Strict filtering.
* Requires the Trend to match the HMA direction AND the RSI Delta to exceed the specific threshold (e.g., 0.8).
* *Best for:* Avoiding false signals in sideways markets.
* **⚔️ Aggressive Mode:**
* Faster entries.
* Requires the Trend to match the HMA direction AND any positive momentum change in RSI.
* *Best for:* Scalping or catching the very beginning of a move.
### ✨ Key Features
* **Non-Repainting Signals:** Once a bar closes, the signal is fixed.
* **Non-Repeating:** It will not spam multiple "BUY" signals in a row; it waits for a trend change or reset.
* **Visual Trend:** Background color changes based on the HMA slope (Green for Bullish, Purple for Bearish).
* **Fully Customizable:** Adjust HMA length, RSI period, and Delta sensitivity.
---
**⚠️ DISCLAIMER:** This tool is for educational and analytical purposes only. Always manage your risk.
Approved Engulfing - Confirmed Close Triggerit a single engulfing that i personally chase to find a good setup
Andres System - SuperTrend DMI EMAAdvanced Multi-Filter Trading System combining SuperTrend, DMI (Directional Movement Index), and EMA crossovers for high-probability trade entries.
**Key Features:**
- Real-time DMI table showing trend strength (Sideways/Mild/Normal/Strong/Very Strong)
- Filter status dashboard - see exactly which conditions are met
- Smart entry logic: signals trigger during entire EMA alignment period, not just at exact crossover
- Clear BUY/SELL signals with exit markers
- One signal per trade - prevents duplicate entries
**Entry Requirements:**
LONG: EMA 7 > 21 + SuperTrend bullish + DI+ > 20
SHORT: EMA 7 < 21 + SuperTrend bearish + DI- > 20
**Exit Conditions:**
Position closes when EMA crosses back or SuperTrend changes direction
**Additional Tools:**
- Previous Day High/Low levels
- Daily VWAP
- Color-coded EMAs (7, 21, 50)
- Customizable thresholds for all filters
**Best Timeframes:** 4H for swing trading, 1D for position trading
All visual elements can be toggled on/off. Alerts available for all signals.
N Days Back Session DividerThis Pine Script acts as a smart vertical marker that identifies exactly where a trading day began a specific number of sessions ago. It is designed to ignore "dead time" (like weekends or holidays) by focusing on actual market activity.
Plan Your Trade, Trade Your Plan. Levels. - by TenAMTrader📍 Plan Your Trade, Trade Your Plan. Levels. — by TenAMTrader
Successful trading is rarely about predicting — it’s about preparing.
"Plan Your Trade, Trade Your Plan. Levels" is designed to bridge the gap between analysis and execution by forcing clarity before the trade ever happens. Instead of reacting to price in real time, this tool encourages traders to define their plan, map their key levels, and then simply trade what they already decided.
🧠 Why Planning Matters
Most trading mistakes don’t come from bad analysis — they come from abandoning a plan mid-trade. Emotions take over when levels aren’t clearly defined ahead of time.
This indicator is built around a simple philosophy:
Make the plan first. Trade the plan second.
By writing your thesis directly into the indicator and visually anchoring it to price, you remove ambiguity and hesitation when the market starts moving.
📊 What This Indicator Does
Converts your written trade plan or market outlook into clearly plotted price levels
Automatically identifies:
Pivot level (key decision point)
Resistance levels (above pivot)
Support levels (below pivot)
Displays contextual notes directly on the chart so you always remember why a level matters
Keeps your focus on execution, not interpretation
✍️ How to Use It
Paste your daily or weekly plan into the Input your Plan/Levels box
Let the script extract and plot the levels automatically
Observe how price behaves around predefined zones
Execute only what aligns with your original plan
No guesswork. No moving targets.
🎯 Designed For
Traders who value structure and discipline
Futures, index, and equity traders who trade key levels
Traders focused on process over prediction
⚠️ Important Disclaimer
This indicator is provided for educational and informational purposes only and does not constitute financial advice, investment advice, or a recommendation to buy or sell any security, futures contract, or financial instrument.
Trading involves substantial risk and is not suitable for all investors. Past performance is not indicative of future results. All trading decisions, risk management, and position sizing are the sole responsibility of the user.
By using this indicator, you acknowledge that TenAMTrader assumes no liability for any losses, damages, or decisions made based on its use.
Trade prepared. Trade disciplined.
"Plan Your Trade, Trade Your Plan.
— TenAMTrader
Slope Averages
📊 Indicator Overview: Three Moving Averages Slope Table
This indicator is designed to calculate and display the slopes and averages of three different moving averages (MAs) in a table format. It helps traders quickly visualize the direction and strength of multiple moving averages, as well as their combined averages, across different timeframes.
⚙️ Inputs and Configuration
• MA Type 1, 2, 3: Choose the type of moving average for each line. Options:
• (Exponential Moving Average)
• (Simple Moving Average)
• (Weighted Moving Average)
• (Volume-Weighted Moving Average)
• (a custom smoother using multiple EMAs)
• Length 1, 2, 3: Periods for each moving average (e.g., 20, 50, 100).
• Source: The price source used (default = ).
• Extra Timeframes (optional): You can configure up to 3 additional timeframes (e.g., 1h, 4h, Daily) to compare the combined average across different chart periods.
🔧 Functions Explained
1. tilson(src, length)
• A custom moving average that smooths price using 8 sequential EMAs.
• Produces a smoother line than a standard EMA.
2. getMA(src, length, maType)
• Selects the correct moving average type based on user input.
• Returns the chosen MA value.
3. Slope Calculation
• Each slope is calculated as:
• This converts the difference between current and previous MA values into an angle in degrees.
• Positive slope = upward trend, negative slope = downward trend.
4. Combined Slopes
• : Average slope of all three MAs.
• , , : Average slopes of pairs of MAs.
5. Combined Averages
• : Average of MA1 and MA2.
• : Average of MA2 and MA3.
• : Average of MA1 and MA3.
• : Average of all three MAs.
6. Color Function
• : Returns green if value ≥ 0, red if value < 0.
• Used to color table cells for quick visual feedback.
📋 Table Output
The table shows:
1. Individual slopes of MA1, MA2, MA3.
2. Average slope of all three.
3. Combined averages (M1+M2, M2+M3, M1+M3).
4. Combined slopes of pairs.
5. Overall average .
6. Optional: RSI or multi-timeframe averages can also be added.
Each value cell is colored green if positive, red if negative, making it easy to spot bullish or bearish conditions.
🎯 How to Use It
• Trend Strength: Look at the slope values. Steeper positive slopes = stronger uptrend; steep negative slopes = stronger downtrend.
• Confluence: When all three MAs and their combined averages point in the same direction, it signals strong trend alignment.
• Multi-Timeframe Analysis: Configure extra timeframes to see if short-term and long-term averages agree. If they align, confidence in the trend increases.
• RSI Integration (optional): Add RSI to confirm momentum. For example, bullish slope + RSI > 50 = stronger buy signal.
✅ Practical Example
• MA1 = EMA(20), MA2 = SMA(50), MA3 = WMA(100).
• If slope1, slope2, slope3 are all positive and green, and is also green → strong bullish trend.
• If slopes are mixed (some green, some red), the market is consolidating.
• If all slopes are red and is red → strong bearish trend.
Candle Pattern Library [1CG]Candle Pattern Library
A comprehensive and easy-to-use Pine Script™ library for detecting single, two, and three-candle patterns. This library provides detailed pattern analysis including size classification, direction validation, and specific pattern identification.
Quick Start
1. Import the Library
import OneCleverGuy/CandlePatternLibrary/1 as CPL
2. Analyze Candles
Use the main analysis functions to detect patterns. You can analyze the current forming candle or confirmed historical candles.
// 1. Analyze candles (Current , Previous , and the one before )
// Note: We use full variable names for clarity.
CandleData candleNewest = CPL.analyzeCandle(open, high, low, close, 250, 50, 10, 50, 85)
CandleData candleMiddle = CPL.analyzeCandle(open , high , low , close , 250, 50, 10, 50, 85)
CandleData candleOldest = CPL.analyzeCandle(open , high , low , close , 250, 50, 10, 50, 85)
// 2. Analyze multi-candle patterns
// Pass candles in chronological order: Oldest -> Newest
var twoCandleData = CPL.analyzeTwoCandlePattern(candleMiddle, candleNewest, 10, 85)
var threeCandleData = CPL.analyzeThreeCandlePattern(candleOldest, candleMiddle, candleNewest)
Enums Reference
These are the Enum Types exported by the library. When checking results, use the pattern Alias.EnumType.Value (e.g., CPL.CandlePattern.Hammer).
CandlePattern
Enum Type for single-candle formations.
Usage: CPL.CandlePattern.
Values:
Unknown : No specific pattern detected.
RegularBullish : A standard bullish candle.
RegularBearish : A standard bearish candle.
BullishMarubozu : Bullish candle with little to no wicks.
BearishMarubozu : Bearish candle with little to no wicks.
Hammer : Small body at the top of the range (bullish reversal).
ShootingStar : Small body at the bottom of the range (bearish reversal).
SpinningTop : Small body centered in the range.
Doji : Open and close are effectively equal.
LongLeggedDoji : Doji with long upper and lower wicks.
CrossDoji : Doji with the body in the upper section.
DragonflyDoji : Doji where open/close are at the high.
InvertedCrossDoji : Doji with the body in the lower section.
GravestoneDoji : Doji where open/close are at the low.
FourPriceDoji : Open, High, Low, and Close are all equal.
TwoCandlePattern
Enum Type for two-candle formations.
Usage: CPL.TwoCandlePattern.
Values:
None : No two-candle pattern detected.
BullishEngulfingWeak : Bullish candle engulfs the previous body (close does not engulf range).
BullishEngulfingStrong : Bullish candle completely engulfs the previous body close outside range.
BearishEngulfingWeak : Bearish candle engulfs the previous body.
BearishEngulfingStrong : Bearish candle completely engulfs the previous body.
InsideBar : The second candle is completely contained within the first.
TweezerTop : Two candles with matching highs (bearish reversal).
TweezerBottom : Two candles with matching lows (bullish reversal).
BullishRailRoad : Two opposite Marubozus (Down -> Up).
BearishRailRoad : Two opposite Marubozus (Up -> Down).
ThreeCandlePattern
Enum Type for three-candle formations.
Usage: CPL.ThreeCandlePattern.
Values:
None : No three-candle pattern detected.
ThreeWhiteSoldiers : Three consecutive bullish candles.
ThreeBlackCrows : Three consecutive bearish candles.
ThreeWhiteSoldiersWithBullishFVG : Three White Soldiers containing a Bullish FVG.
ThreeWhiteSoldiersWithBearishFVG : Three White Soldiers containing a Bearish FVG.
ThreeBlackCrowsWithBullishFVG : Three Black Crows containing a Bullish FVG.
ThreeBlackCrowsWithBearishFVG : Three Black Crows containing a Bearish FVG.
MorningStar : Bearish -> Small/Doji -> Bullish (Bullish Reversal).
EveningStar : Bullish -> Small/Doji -> Bearish (Bearish Reversal).
BullishAbandonedBaby : Morning Star with gaps between all candles.
BearishAbandonedBaby : Evening Star with gaps between all candles.
EngulfingSandwich : Bearish -> Bullish (Engulfing) -> Bearish (Inside).
BullishFairValueGap : A gap between Candle 1 High and Candle 3 Low.
BearishFairValueGap : A gap between Candle 1 Low and Candle 3 High.
CandleSize
Enum Type for candle size classification.
Usage: CPL.CandleSize.
Values:
Short
Normal
Long
CandleDirection
Enum Type for candle direction classification.
Usage: CPL.CandleDirection.
Values:
Bearish
Neutral
Bullish
Function Reference
Analysis Functions
analyzeCandle(_open, _high, _low, _close, _avgSize, _sizeThresholdPct, _equivTolerance, _bodyTolerance, _positionThreshold)
analyzeCandle - Analyzes a single candle's OHLC data to determine its size, direction, and single-candle pattern.
Parameters:
_open (float) : (float) - Candle open price.
_high (float) : (float) - Candle high price.
_low (float) : (float) - Candle low price.
_close (float) : (float) - Candle close price.
_avgSize (float) : (float) - Baseline size (wick range) to compare against.
_sizeThresholdPct (float) : (float) - % difference from average to be considered Long/Short (e.g., 50.0).
_equivTolerance (float) : (float) - Absolute price diff for Close to equal Open (Doji checks).
_bodyTolerance (float) : (float) - Absolute price diff for "Small Body" checks.
_positionThreshold (int) : (int) - Int (0-100) determining valid wick ratios for Hammers/Shooting Stars (e.g., 85).
Returns: (CandleData) - CandleData object containing CandlePattern, CandleSize, CandleDirection.
analyzeTwoCandlePattern(_candle1, _candle2, _equivTolerance, _positionThreshold)
analyzeTwoCandlePattern - Analyzes two consecutive candles to find pairs like Engulfing, Tweezers, or Inside Bars.
Parameters:
_candle1 (CandleData) : (CandleData) - The first (older) candle data (previous).
_candle2 (CandleData) : (CandleData) - The second (newer) candle data (current).
_equivTolerance (float) : (float) - Price tolerance for matching highs/lows (Tweezers).
_positionThreshold (int) : (int) - Threshold for wick validations.
Returns: (TwoCandleData) - TwoCandleData object containing TwoCandlePattern.
analyzeThreeCandlePattern(_candle1, _candle2, _candle3)
analyzeThreeCandlePattern - Analyzes three consecutive candles to find complex patterns like Morning Stars, Abandoned Babies, or Three White Soldiers.
Parameters:
_candle1 (CandleData) : (CandleData) - The first (oldest) candle data.
_candle2 (CandleData) : (CandleData) - The second (middle) candle data.
_candle3 (CandleData) : (CandleData) - The third (newest) candle data.
Returns: (ThreeCandleData) - ThreeCandleData object containing ThreeCandlePattern.
Naming Utilities
getPatternName(_pattern)
getPatternName - Returns the string name of a candle pattern.
Parameters:
_pattern (CandlePattern) : (CandlePattern) - The candle pattern enum value.
Returns: (string) - Human-readable pattern name (e.g., "Hammer").
getTwoCandlePatternName(_pattern)
getTwoCandlePatternName - Returns the string name of a two-candle pattern.
Parameters:
_pattern (TwoCandlePattern) : (TwoCandlePattern) - The two-candle pattern enum value.
Returns: (string) - Human-readable pattern name (e.g., "Bullish Engulfing").
getThreeCandlePatternName(_pattern)
getThreeCandlePatternName - Returns the string name of a three-candle pattern.
Parameters:
_pattern (ThreeCandlePattern) : (ThreeCandlePattern) - The three-candle pattern enum value.
Returns: (string) - Human-readable pattern name (e.g., "Morning Star").
getSizeName(_size)
getSizeName - Returns the string name of a candle size.
Parameters:
_size (CandleSize) : (CandleSize) - The candle size enum value.
Returns: (string) - Human-readable size name ("Short", "Normal", or "Long").
getDirectionName(_direction)
getDirectionName - Returns the string name of a candle direction.
Parameters:
_direction (CandleDirection) : (CandleDirection) - The candle direction enum value.
Returns: (string) - Human-readable direction name ("Bullish", "Bearish", or "Neutral").
UT Bot + SMC PRO (PROP) + VISUAL SIGNALS-DE ALEJANDRO PONCEHOW TO USE THEM TOGETHER (GOLDEN RULE)
Reading Sequence
UT → without B Bounce / pullback
B → without UT Weak break
UT → B (same direction) ✅ Valid setup
UT ↔ Opposite Bs Noise / range
Big Trades Whale Detector [Volume Anomalies] By HKOverview The "Big Trade Detector" helps you spot institutional footprints by identifying volume anomalies that act as outliers compared to recent history. It uses statistical analysis (Standard Deviation) to filter out noise and highlight only significant buying or selling pressure.
Features:
Volume Decomposition: Approximates buy/sell volume based on price action within the candle (Close vs. Range).
3-Tier Detection: Uses dynamic thresholds to categorize volume spikes into Small, Medium, and Extreme events.
Smart Calculation: Compares current volume against the previous average to detect sudden shifts in momentum.
Visuals:
Green Circles (Below Bar): Unusual Buying Pressure (Support defense or Breakout).
Red Circles (Above Bar): Unusual Selling Pressure (Resistance defense or Dump).
Size Matters: The larger the circle, the higher the standard deviation (Sigma) of that volume event.
Colored HMA + Color SARThis is a simple yet effective chart setup that I really like and trade with. I use the Heiken Ashi candlesticks so with this I get three conformations in one. If you like it great. I am not a coder but I do know what works for my brain and thought I would share this, thanks to Chat GBT.
I use it for entry most of the time on the 5 minute chart New York open. I also like the Orb break and retest by Quant Crawler as my second indicator.
Dynamic Multi-Timeframe SMAs (Brian Shannon Style)Overview : This indicator implements the logic of Brian Shannon's "Multi-Timeframe Analysis" on intraday charts. It automatically calculates the correct length for the 5-Day and 50-Day Simple Moving Averages (SMA), regardless of the timeframe (e.g., 5m, 15m, 1h) you are viewing.
How it works Standard SMAs only count bars. A "50 SMA" on a 5-minute chart only looks back ~4 hours. This script dynamically calculates how many bars represent full trading days.
Features:
Asset Class Selector : Choose between Crypto (24/7) and Stocks (6.5h US Session) to ensure correct minute-per-day calculations.
Info Table : Displays exactly how many bars are being used for the calculation in real-time.
Custom ORBIT GSK-VIZAG-AP-INDIA🚀 Custom ORBIT — Opening Range Breakout & Reversal Indicator
This indicator automatically calculates and plots the Opening Range (OR) high and low levels for a user-defined session and duration. It is designed to assist intraday traders by providing immediate visual signals for both price breakouts and subsequent reversals from these key levels.
The indicator is particularly suitable for markets with defined trading hours, such as the Indian indices (Nifty, Bank Nifty), given its default time settings are based on GMT+5:30.
⚙️ How It Works (Indicator Logic)
The indicator operates based on three main logical components: time definition, level calculation, and signal generation.
1. Time Session and Range Definition: All time calculations are based on GMT+5:30 (Indian Standard Time/IST). The script defines a specific trading session from a customizable start time (default 9:15 AM) to a session end time (default 3:30 PM). The Opening Range (OR) is established during the initial duration, which is set by the rangeMinutes input (default 15 minutes, meaning the OR is calculated from 9:15 AM to 9:30 AM).
2. Level Calculation and Plotting: During the initial range duration, the script captures the absolute highest price (OR High) and the absolute lowest price (OR Low). Once this period ends, two horizontal lines—a green line for the OR High and a red line for the OR Low—are drawn and automatically extended across the chart for the remainder of the active trading session. The visual style of these lines can be customized to Dotted, Dashed, or Solid.
3. Breakout and Reversal Logic: The indicator actively tracks the market's state relative to the OR levels to generate four distinct signals:
Break Up: A signal is generated when the closing price crosses over the OR High, indicating potential upward momentum.
Break Down: A signal is generated when the closing price crosses under the OR Low, indicating potential downward momentum.
Reversal Down: This yellow signal occurs only after a price has already broken above the OR High (Break Up state), and then the price moves back into the range (closing below the ORH), suggesting a failed breakout.
Reversal Up: This yellow signal occurs only after a price has already broken below the OR Low (Break Down state), and then the price moves back into the range (closing above the ORL), suggesting a failed breakdown.
💡 Suggested Use Cases
The signals generated by this indicator can be used in two primary ways:
Breakout Trading: A trader may enter a long position on a "Break Up" signal or a short position on a "Break Down" signal. A common risk management practice is to use the opposite OR level (ORL for long trades, ORH for short trades) as a stop-loss reference.
Faded Breakout / Reversal Trading: Look for the yellow "Reversal Up" or "Reversal Down" signals. These signals indicate a rejection of the OR level, and a trader may take a counter-trend position with the expectation that the price will return to the consolidation range or move toward the opposite OR level.
⚠️ Educational Disclaimer
This indicator is for educational and illustrative purposes only. It provides technical signals based on mathematical calculation of price action and should not be construed as financial advice, trading advice, or a solicitation to buy or sell any financial instrument. Trading carries a high level of risk, and you may lose more than your initial deposit. Past performance is not indicative of future results. Always consult with a qualified financial professional before making any investment decisions.
ORB Pressure (Futures) Your TradingView script is an ORB “pressure + confirmation” indicator built for futures that anchors the Opening Range to the NY cash open and then manages the day in three phases. First, it constructs the Opening Range high/low starting at 09:30 NY for a user-selectable duration (3/5/15/30/60 minutes) and draws those levels forward on the chart. Second, once the range is set, it computes a real-time break likelihood score (0–100) plus a directional lean (UP/DOWN/NEUTRAL) using a blend of factors traders care about: proximity to the OR edges, ATR-based compression, repeated “touches” near ORH/ORL, EMA stacking and VWAP positioning/slope, and relative volume vs a baseline. Third, it enforces a clean signal structure: it triggers a one-shot event only when a candle closes outside ORH/ORL, logs the break details (direction, price, ticks beyond the range, and time), and prevents repeat firing; however, if price closes back inside the range within a configurable number of candles, the script treats it as a failed break and resets so it can re-arm. A compact dashboard displays the live state (building/set/armed), score, lean, and it preserves the break statistics after a trigger so you can review the day’s breakout behavior at a glance.
Options Pivot Smile## Options Pivot Smile
**Options Pivot Smile** is a visual market-structure indicator that transforms classic daily pivot levels into a smooth, bell-shaped “smile curve.” It is designed to help traders understand price equilibrium, directional bias, and volatility expansion using historically anchored support and resistance zones.
The script is optimized for discretionary analysis, options structure mapping, and futures market context.
---
### Core Concept
This indicator calculates **previous-day Pivot, S1, S2, R1, and R2** levels and projects them backward across configurable historical widths. These anchor points are then connected using a **Catmull–Rom spline**, producing a smooth bell-shaped curve that represents market balance and skew.
The result is a **visual distribution of price pressure**, rather than static horizontal levels.
---
### Key Features
#### 1. Daily Pivot-Based Levels
* Uses **previous daily High, Low, Close**
* Calculates:
* Pivot (P)
* Support: S1, S2
* Resistance: R1, R2
* Optional **pivot shift** for futures or synthetic instruments
* Optional **spread rounding** for options strike alignment
---
#### 2. Historical Anchor Projection
Each level is placed at a different historical distance:
* **R2 / S2** → farthest back
* **R1 / S1** → medium range
* **Pivot** → nearest anchor
This spacing creates the structural foundation for the bell curve.
---
#### 3. Smile / Bell Curve Visualization
* Smooth curve generated using **Catmull–Rom spline interpolation**
* Adjustable smoothness (number of curve segments)
* Customizable color and line width
* Represents equilibrium, skew, and volatility structure
---
#### 4. Structural Aids
Optional visual components include:
* Horizontal projection lines to the current bar
* Dotted straight connecting lines between anchor points
* Anchor dots at each pivot level
* Adaptive-width level boxes scaled by ATR
---
#### 5. Professional Styling Controls
* Line style: Solid / Dotted / Dashed
* Adjustable strike line width
* Independent colors for:
* S2, S1
* Pivot
* R1, R2
* Box opacity, borders, and label text colors
---
### Use Cases
* Market balance and mean-reversion analysis
* Options strike clustering and distribution framing
* Futures pivot bias visualization
* Contextual support/resistance mapping
* Intraday and swing structure reference
---
### Notes & Limitations
* This is a **visual analytical tool**, not a trading strategy
* Does not generate buy/sell signals
* Best used in conjunction with price action, volume, or volatility tools
* Requires sufficient historical bars to render the full structure
---
### Recommended Timeframes
* Intraday (5m–30m) for structure context
* H1–H4 for swing equilibrium
* Works on all symbols with daily data availability
---
**Options Pivot Smile** converts traditional pivot math into an intuitive visual distribution, helping traders see market structure as a curve rather than isolated lines.
DMI Direction TableCompact table for Directional Movement Index (DMI) built to stay readable and configurable.
What it shows
DI+ and DI– from a fixed timeframe via request.security (default 4H), independent of the chart timeframe.
Trend text: Bullish/Bearish/Sideways with strength bucket (Mild/Normal/Strong/Very Strong) derived from the absolute gap |DI+ − DI–|, not ADX.
Values printed with two decimals, no percent sign.
Key controls
Fixed Timeframe (for DMI): choose any resolution; the label auto-displays as 1m/5m/1H/4H/1D/1W/1M.
Gap thresholds: Sideways, Mild, Normal, Strong, Very Strong.
Table Position: top/middle/bottom × left/center/right.
Font Size: tiny/small/normal/large/huge.
Styling
Full manual palette for headers and value cells.
Separate background and text colors for Bullish, Bearish, and Sideways trend states.
Independent colors for DI+ and DI– cells.
Deliberate omissions
No RSI.
No ADX; strength comes solely from the DI gap.
Purpose
Quick, at-a-glance DMI state that remains consistent across timeframes while letting you tune thresholds and visuals to your chart.
NQ bands 50/65.5/100this is a indicator that puts lines 50 points above and below price, 65.5 points above and below price and 100 points above and below price for the Nasdaq Futures.





















