AbdulLibraryLibrary "AbdulLibrary"
The library consists of three sections:
Technical Analysis Functions - A collection of tools commonly used by day traders
Trading Setup Filters Functions - A number of filters that help day traders to screen trading signals
Candlestick Pattern Detection Functions - To detect different candlestick patterns that are used in day trading setups
Note that this would have been possible without the help of @ZenAndTheArtOfTrading as I build-up this library after completing his pine script mastery course so big thanks to him
The content of the library are:-
fibLevels(preDayClose, preDayHigh, preDayLow) Calculates Daily Pivot Point and Fibonacci Key Levels
Parameters:
preDayClose : The previous day candle close
preDayHigh : The previous day candle high
preDayLow : The previous day candle low
Returns: Returns Daily Pivot Point and Fibonacci Key Levels as a tuple
bullishFib(canHigh, canLow, fibLevel) Calculates Fibonacci Levels in Bullish move
Parameters:
canHigh : The high of the move
canLow : The low of the move
fibLevel : The Fib level as % you want to calculate
Returns: Returns The Fib level for the Bullish move
bearishFib(canHigh, canLow, fibLevel) Calculates Fibonacci Levels in Bearish move
Parameters:
canHigh : The high of the move
canLow : The low of the move
fibLevel : The Fib level as % you want to calculate
Returns: Returns The Fib level for the Bearish move
getCandleSize() Calculates the size of candle (high - low) in points
Returns: Returns candle size in points
getCandleBodySize() Calculates the size of candle (close - open) in points
Returns: Returns candle body size in points
getHighWickSize() Calculates the high wick size of candle in points
Returns: Returns The high wick size of candle in points
getLowWickSize() Calculates the low wick size of candle in points
Returns: Returns The low wick size of candle in points
getBodyPercentage() Calculates the candle body size as % of overall candle size
Returns: Returns The candle body size as % of overall candle size
isSwingHigh(period) Checks if the price has created new swing high over a period of time
Parameters:
period : The lookback time we want to check for swing high
Returns: Returns True if the current candle or the previous candle is a swing high
isSwingLow(period) Checks if the price has created new swing low over a period of time
Parameters:
period : The lookback time we want to check for swing low
Returns: Returns True if the current candle or the previous candle is a swing low
isDojiSwingHigh(period) Checks if a doji is a swing high over a period of time
Parameters:
period : The lookback time we want to check for swing high
Returns: Returns True if the doji is a swing high
isDojiSwingLow(period) Checks if a doji is a swing low over a period of time
Parameters:
period : The lookback time we want to check for swing low
Returns: Returns True if the doji is a swing low
isBigBody(atrFilter, atr, candleBodySize, multiplier) Checks if a candle has big body compared to ATR
Parameters:
atrFilter : Check if user wants to use ATR to filter candle-setup signals
atr : The ATR value to be used to compare candle body size
candleBodySize : The candle body size
multiplier : The multiplier to be used to compare candle body size
Returns: Returns Boolean true if the candle setup is big
isSmallBody(atrFilter, atr, candleBodySize, multiplier) Checks if a candle has small body compared to ATR
Parameters:
atrFilter : Check if user wants to use ATR to filter candle-setup signals
atr : The ATR value to be used to compare candle body size
candleBodySize : The candle body size
multiplier : The multiplier to be used to compare candle body size
Returns: Returns Boolean true if the candle setup is small
isHammer(fibLevel, colorMatch) Checks if a candle is a hammer based on user input parameters and candle conditions
Parameters:
fibLevel : Fib level to base candle body on
colorMatch : Checks if user needs for the candel to be green
Returns: Returns Boolean - True if the candle setup is hammer
isShootingStar(fibLevel, colorMatch) Checks if a candle is a shooting star based on user input parameters and candle conditions
Parameters:
fibLevel : Fib level to base candle body on
colorMatch : Checks if user needs for the candel to be red
Returns: Returns Boolean - True if the candle setup is star
isBullEngCan(allowance, period) Check if a candle is a bullish engulfing candle
Parameters:
allowance : How many points the candle open is allowed to be off (To allow for gaps)
period : The lookback period for swing low check
Returns: Boolean - True only if the candle is a bullish engulfing candle
isBearEngCan(allowance, period) Check if a candle is a bearish engulfing candle
Parameters:
allowance : How many points the candle open is allowed to be off (To allow for gaps)
period : The lookback period for swing high check
Returns: Boolean - True only if the candle is a bearish engulfing candle
isBullDoji(maxSize, wickLimit, colorFilter) Check if a candle is a bullish doji candle
Parameters:
maxSize : Maximum candle body size as % of total candle size to be considered as doji
wickLimit : Maximum wick size of one wick compared to the other wick
colorFilter : Checks if the doji is green
Returns: Boolean - True if the candle is a bullish doji
isBearDoji(maxSize, wickLimit, colorFilter) Check if a candle is a bearish doji candle
Parameters:
maxSize : Maximum candle body size as % of total candle size to be considered as doji
wickLimit : Maximum wick size of one wick compared to the other wick
colorFilter : Checks if the doji is red
Returns: Boolean - True if the candle is a bearish doji
isBullOutBar() Check if a candle is a bullish outside bar
Returns: Boolean - True if the candle is a bullish outside bar
isInsideBar() Check if a candle is an inside bar
Returns: Returns Boolean - True if a candle is an inside bar
"Candlestick"に関するスクリプトを検索
Circular Candlestick ChartAn original (but impractical) way to represent a candlestick chart using circles arc.
The most recent candles are further away from the circle origin. Note that OHLC values follow a clockwise direction. A higher arc length would indicate candles with a higher body or wick range.
The Length settings determine the number of past candles to be included in the circular candlestick chart. The Width setting control the width of the circular chart. The Spacing setting controls the space between each arcs. Finally, the Precision settings allow obtaining a more precise representation of candles, with lower values returning more precise results, however, more precision requires a higher amount of lines. Settings are quite hard to adjust, using a higher length might require a lower spacing value.
Additionally, the script includes two pointers indicating the location of the 75 (in blue) and 25 (in orange) percentiles. This allows obtaining an estimate of the current market sentiment, with the most recent arcs laying closer to the 75 percentile pointer indicating an up-trend.
This new way to represent candlesticks might be useful to more easily identify candles clusters or to find new price patterns. Who knows, we know that new ways to see prices always stimulate traders imagination.
See you next year.
Very Long Candlestick Alert 長いローソク足を検出It is an indicator that only detects long candlesticks.
May alert you when the market crashes
Depending on the chart, it may be necessary to adjust the Threshold of the setting
長いローソク足を検出するだけのインジケーターです
相場がクラッシュした時にアラートをならせるかもしれません
チャートによっては設定のThresholdを調整する必要があります
small channel in 5minThis indicator designed for 5min time-frame.
it detects a candlestick pattern in one hour time-frame and draw a channel based on the detected pattern, where two candles and are covered by the third one , in 5 min time-frame.
the bottom, middle and top of the channel are colored by green, gray and red respectively. this channel may help user to use it as a possible support and resistance region.
(the pattern is defined in line 11 to 13.)
enjoy it
Zigzag CandlesCan't deny that I am obsessed with zigzags. Been doing some crazy experiments with it and have many more in pipeline. I believe zigzag can be used to derive better trend following methods. Here is an attempt to visualize zigzag as candlesticks. Next steps probably to derive moving average, atr (although there was an attempt of AZR made earlier) and probably supertrend too ;)
Input parameters include ZigzagLength (to calculate zigzag) and CandleSize (number of zigzag pivots in each candle)
CandleSize can be 3 or more. Every time we collect pivots which are equal to CandleSize, we derive one candle. And when we derive a candle, we remove all old pivots except the last one. Becauase, the last pivot acts as open to the next bar and is required.
Body of the candle tells the start and end zigzag pivot in the range. And Wicks signify highest and lowest pivots in the range. High and Low wicks are placed at the pivot where high and lows are formed. Hence, you can see them at different positions each time.
Thanks to @RicardoSantos for suggesting boxes for candles - while I was trying to achieve this with plotbar
CSRS v2Candlesticked RSI v2 for price action traders!
See the True Momentum.
6 chart type, smooth RSI , add signal lines, find divergences, special alerts
This is 2nd version with major upgrade
Improved and more powerful
fully customizable.
features:
See RSI in 6 type of chart(Candles, Hollow Candles, Siwi Candles, Heikin Ashi, HL Bar, Line)
Monitor Up to 3 RSI , each one at desired resolution, source and length
Smooth each one of chart separately to remove noises
Add up to 3 signal line to primary chart in your desired source and type( SMA , EMA , WMA , HMA )
Find divergences which has special parameters
Gradient color adjustment of line chart
Add alert for reaching to important levels and detected divergences
CSRSCandlesticked RSI for price action traders!
See the True Momentum.
You can smooth RSI to remove noises and also find divergences.
fully customizable.
Engulfing/Inside BarsVery basic script to help discretionary traders with their candlestick pattern analysis
This script shows a colored arrow on top or below the candlestick indicating a bearish/bullish inside bar formation
also shows text with "bull" or "bear" on top of the candle when a bullish or bearish engulfing pattern surges.
big thanks to the pinescript reference manual & everyone that has open source codes bc i got stuck 50 bajillion times
Cheers.
Bearish Candlestick PatternsDoji
Black Spinning Top
White Spinning Top
Bearish Abandoned Baby
Bearish Advance Block
Bearish Below The Stomach
Bearish Belt Hold
Bearish Breakaway
Bearish Counter Attack Lines
Bearish Dark Cloud Cover
Bearish Deliberation Blok
Bearish Descending Hawk
Bearish Doji Star
Bearish Downside Gap Three Methods
Bearish Downside Tasuki Gap
Bearish Dragonfly Doji
Bearish Engulfing
Bearish Evening Doji Star
Bearish Evening Star
Bearish Falling Three Methods
Bearish Falling Window
Bearish Gravestone Doji
Bearish Hanging Man
Bearish Harami
Bearish Harami Cross
Bearish Hook Reversal
Bearish Identical Three Crows
Bearish In Neck
Bearish Island Reversal
Bearish Kicking
Bearish Ladder Top
Bearish Last Engulfing Top
Bearish Low Price Gapping Play
Bearish Mat Hold
Bearish Matching High
Bearish Meeting Line
Bearish On Neck
Bearish One Black Crow
Bearish Separating Lines
Bearish Shooting Star
Bearish Side by side White Lines
Bearish Three Black Crows
Bearish Three Gap Up
Bearish Three Inside Down
Bearish Three Line Strike
Bearish Three Outside Down
Bearish Three Stars in the North
Bearish Thrusting Line During Dowtrend
Bearish Tower Top
Bearish Tristar
Bearish Tweezers Top
Bearish Two Black Gapping
Bearish Two Crows
Bearish Upside Gap Two Crows
Bullish Candlestick PatternsBullish Abandone Baby
Bullish Above The Stomach
Bullish Belt Hold
Bullish Breakaway
Bullish Concealing Baby Swallow
Bullish Counterattack Lines
Bullish Deliberation Block
Bullish Descent Block
Bullish Doji Star
Bullish Downside Gap Two Rabbits
Bullish Dragonfly Doji
Bullish Engulfing
Bullish Hammer
Bullish Harami
Bullish Harami Cross
Bullish High Price Gapping Play
Bullish Homing Pigeon
Bullish Hook Reversal
Bullish Inverted Hammer
Bullish Island Reversal
Bullish Kicking
Bullish Ladder Bottom
Bullish Last Engulfing Bottom
Bullish Mat Hold
Bullish Matching Low
Bullish Meeting Line
Bullish Morning Doji Star
Bullish Morning Star
Bullish On Neck
Bullish One White Soldier
Bullish Piercing Line
Bullish Rising Three Methods
Bullish Rising Window
Bullish Separating Lines
Bullish Side by Side White Lines
Bullish Stick Sandwich
Bullish Takuri Line
Bullish Three Gap Downs
Bullish Three Inside Up
Bullish Three Line Strike
Bullish Three Outside Up
Bullish Three Stars in the South
Bullish Three White Soldiers
Bullish Thrusting Line During Uptrend
Bullish Tower Bottom
Bullish Tristar
Bullish Tweezers Bottom
Bullish Two Rabbits
Bullish Unique Three River Bottom
Bullish Upside Gap Three Methods
Bullish Upside Tasuki Gap
Renko CandlesticksRenko charts are awesome . They reduce noise by only painting a brick on the chart when price moves by a specified amount up/down. When the price reverses, it must go twice the specified amount before a brick is painted. Time is not a factor, just price movement. Sometimes however, you want the pros of a renko chart, but on a regular candlestick chart. This indicator attempts to do just that.
A band is placed around price action showing the upper and lower bounds of what would be the current renko brick. The band only goes up/down when the price action itself moves up/down by the amount you specify. There are several ways of specifying the amount:
Fixed Price Amount: As the name says, you enter the brick size amount, i.e. the amount the price has to move before being in a new brick.
% of Price: This method will calculate the amount the price has to move as a percentage of the price itself. This way as price goes up/down, your brick size will adjust accordingly. Recommended values would be around 1% or less.
% of ATR: This option will make the brick size a percentage of the Average True Range. You can specify the ATR time frame to be different from your current time frame as well as the ATR length. For instance you could be on a 10 minute chart but specify the ATR to be daily with a length of 3 and a percentage amount of 15. This would make your brick size 15% of the Average True Range for the last 3 days. Recommended values are 10 to 20%.
Use this indicator on any time frame, even the 1 minute as the renko bands span the price action the same way on any time frame easily letting you know whether or not the price has moved appreciably, regardless of how much time has passed.
You can also set alerts easily, simply set the alert to crossing and choose “Renko Candlesticks” instead of “Value”. You will then see the options for the renko upper and lower bounds.
Tested on Bitcoin with the following values:
Fixed Price Amount: 30 ($30)
% of Price: 0.45 (if Bitcoin is $7000 then the brick size would be $31.50)
% of ATR: 15%, ATR Time Frame: 1D, ATR Length: 3 (3 days)
LTF Distribution Analyzer█ OVERVIEW
LTF Distribution Analyzer reveals the hidden price distribution and order flow within each candle by sampling lower timeframe data. It visualizes where prices concentrated, how volume was distributed between buyers and sellers, and identifies divergences between price action and actual market participation.
Unlike traditional candlesticks showing only OHLC, this indicator exposes the statistical structure of price movement using quartile-based visualization combined with delta analysis.
█ CONCEPTS
The indicator is built on two core concepts:
1 — Statistical Price Distribution
Each candle contains many lower timeframe bars. By analyzing these bars, we calculate:
• Q1 (25th percentile) - 25% of prices traded below this level
• Q3 (75th percentile) - 75% of prices traded below this level
• Median - The middle price value
• IQR (Interquartile Range) - The Q3-Q1 spread containing 50% of all prices
2 — Volume Delta Analysis
Delta measures buying vs selling pressure:
• Delta = Buy Volume − Sell Volume
• Positive delta = More aggressive buying
• Negative delta = More aggressive selling
• Delta Ratio normalizes this as a percentage
█ HOW IT WORKS
The indicator fetches lower timeframe data using request.security_lower_tf() and processes it to create a statistical summary:
Step 1: Timeframe Calculation
• Auto mode: Chart timeframe ÷ Auto Divisor = LTF
• Example: 1H chart ÷ 1000 = ~3.6 second sampling
• Manual mode: User-specified timeframe
Step 2: Data Collection
• Collects all close prices from LTF bars within current candle
• Aggregates volume by candle direction (bullish/bearish)
Step 3: Statistical Analysis
• Calculates quartiles (Q1, Q3), median, and boundaries
• Identifies outliers using 1.5× and 3× IQR fences
• Finds Volume POC (price with highest volume)
Step 4: Delta Calculation
• Sums buy volume (from bullish LTF bars)
• Sums sell volume (from bearish LTF bars)
• Computes delta ratio for color determination
█ VISUAL ELEMENTS
┌─────────────────────────────────────────┐
│ ▲ Extreme outlier (3× IQR) │
│ △ Mild outlier (1.5× IQR) │
│ ─ Upper whisker cap │
│ ┊ Whisker line (dashed) │
│ ▄ IQR Box (Q1 to Q3 range) │
│ ━ Volume POC (highest volume) │
│ ● Median (green=bull, red=bear) │
│ ┊ Whisker line (dashed) │
│ ─ Lower whisker cap │
│ ▽ Mild outlier │
│ ▼ Extreme outlier │
└─────────────────────────────────────────┘
█ COLOR SYSTEM
Colors indicate the relationship between candle direction and order flow:
🟢 TEAL (Positive Flow)
Bullish candle + Positive delta
→ Strong buying confirmation
→ Trend continuation signal
🔴 RED (Negative Flow)
Bearish candle + Negative delta
→ Strong selling confirmation
→ Trend continuation signal
🟠 ORANGE (Mixed Signal A)
Bullish candle + Negative delta
→ Price up but sellers dominated
→ Potential weakness/reversal warning
🔵 BLUE (Mixed Signal B)
Bearish candle + Positive delta
→ Price down but buyers dominated
→ Potential accumulation/reversal signal
█ SETTINGS
Timeframe Settings
• LTF Mode — Auto or Manual selection
• Manual Timeframe — Specific LTF when in Manual mode
• Auto Divisor — Higher = finer granularity (default: 1000)
• Allow Sub-Minute — Requires Premium subscription
Visual Style
• Positive/Negative Flow colors — Customize the 4 flow colors
• Box Transparency — Opacity of the quartile box (0-100%)
Statistics Display
• Show Statistics Panel — Toggle on-chart stats table
• Show Timeframe Badge — Toggle LTF indicator badge
• Panel Position — Choose corner placement
• Panel Size — Text size selection
█ HOW TO USE
1. Divergence Detection
Look for color mismatches:
• Orange bars in uptrend = weakness, potential reversal
• Blue bars in downtrend = strength, potential reversal
• Multiple consecutive divergent bars strengthen signal
• Wait for confirmation before entry
2. Volume POC Trading
• POC marks where most volume traded
• POC clusters at similar levels = strong S/R zone
• Price often returns to POC before continuing
• Use POC for entry/exit targeting
3. Trend Confirmation
• Consecutive teal = strong uptrend
• Consecutive red = strong downtrend
• Median position shows intrabar momentum
• Wide boxes indicate high volatility
4. Outlier Analysis
• Extreme markers (▲▼) often mark stop hunts
• Consider fading extremes at key levels
• Mild markers (△▽) = areas to watch
█ RECOMMENDED SETTINGS
For different chart timeframes:
│ Chart TF │ Auto Divisor │ Resulting LTF │
├──────────┼──────────────┼───────────────┤
│ 15M │ 1500 │ ~1M │
│ 1H │ 1000 │ ~3-4s │
│ 4H │ 600 │ ~24s │
│ Daily │ 500 │ ~2-3M │
Tip: Check the TF badge to confirm active sampling timeframe.
█ BEST PRACTICES
Do:
✓ Use "Bars" chart style for cleanest display
✓ Combine with support/resistance analysis
✓ Wait for confirmation bars
✓ Note POC clusters across multiple bars
✓ Adjust divisor based on your timeframe
Avoid:
✗ Trading single bar signals alone
✗ Using during low volume periods
✗ Trading immediately after news releases
✗ Ignoring overall market context
█ LIMITATIONS
• Requires adequate market liquidity for reliable signals
• Sub-minute timeframes need Premium subscription
• Historical data depth depends on TradingView's data availability
• Delta calculation assumes volume direction matches candle direction
█ NOTES
This indicator works best on liquid markets (forex majors, major indices, popular stocks/crypto) where volume data is meaningful.
The gray dotted vertical line marks where LTF data becomes available - bars before this line won't display the indicator.
For questions or suggestions, leave a comment below.
MA SMART Angle
### 📊 WHAT IS MA SMART ANGLE?
**MA SMART Angle** is an advanced momentum and trend detection indicator that analyzes the angles (slopes) of multiple moving averages to generate clear, non-repainting BUY and SELL signals.
**Original Concept Credit:** This indicator builds upon the "MA Angles" concept originally created by **JD** (also known as Duyck). The core angle calculation methodology and Jurik Moving Average (JMA) implementation by **Everget** are preserved from the original open-source work. The angle calculation formula was contributed by **KyJ**. This enhanced version is published with respect to the open-source nature of the original indicator.
Original indicator reference: "ma angles - JD" by Duyck
---
## 🎯 ORIGINALITY & VALUE PROPOSITION
### **What Makes This Different from the Original:**
While the original "MA Angles" by **JD** provided excellent angle visualization, it lacked actionable entry signals. **MA SMART Angle** addresses this by adding:
**1. Clear Entry/Exit Signals**
- Explicit BUY/SELL arrows based on angle crossovers, momentum confirmation, and MA alignment
- No guessing when to enter trades - the indicator tells you exactly when conditions align
**2. Non-Repainting Logic**
- All signals use confirmed historical data (shifted by 2 bars minimum)
- Critical for backtesting reliability and live trading confidence
- Original indicator could repaint signals on current bar
**3. Dual Signal System**
- **Simple Mode:** More frequent signals based on angle crossovers + momentum (for active traders)
- **Strict Mode:** Requires full multi-MA alignment + momentum confirmation (for conservative traders)
- Adaptable to different trading styles and risk tolerances
**4. Smart Signal Filtering**
- **Anti-spam cooldown:** Prevents duplicate signals within configurable bar count
- **No-trade zone detection:** Filters out low-conviction sideways markets automatically
- **Multi-timeframe MA alignment:** Ensures all moving averages agree on direction before signaling
**5. Enhanced Visualization**
- Large, clear BUY/SELL arrows with descriptive labels
- Color-coded backgrounds for market states (trending vs. ranging)
- Momentum histogram showing acceleration/deceleration in real-time
- Live status table displaying trend strength, angle value, momentum, and MA alignment
**6. Professional Alert System**
- Four distinct alert conditions: BUY Signal, SELL Signal, Strong BUY, Strong SELL
- Enables automated trade notifications and strategy integration
**7. Modified MA Periods**
- Original used EMA(27), EMA(83), EMA(278)
- Enhanced version uses faster EMA(3), EMA(8), EMA(13) for more responsive signals
- Better suited for modern volatile markets and shorter timeframes
---
## 📐 HOW IT WORKS - TECHNICAL EXPLANATION
### **Core Methodology:**
The indicator calculates angles (slopes) for five key moving averages:
- **JMA (Jurik Moving Average)** - Smooth, lag-reduced trend line (original implementation by **Everget**)
- **JMA Fast** - Responsive momentum indicator with higher power parameter
- **MA27 (EMA 3)** - Primary fast-moving average for signal generation
- **MA83 (EMA 8)** - Medium-term trend confirmation
- **MA278 (EMA 13)** - Slower trend filter
### **Angle Calculation Formula (by KyJ):**
```
angle = arctan((MA - MA ) / ATR(14)) × (180 / π)
```
**Why ATR normalization?**
- Makes angles comparable across different instruments (forex, stocks, crypto)
- Makes angles comparable across different timeframes
- Accounts for volatility - a 10-point move in different assets has different significance
**Angle Interpretation:**
- **> 15°** = Strong trend (momentum accelerating)
- **0° to 15°** = Weak trend (momentum present but moderate)
- **-2° to +2°** = No-trade zone (sideways/choppy market)
- **< -15°** = Strong downtrend
### **Signal Generation Logic:**
#### **BUY Signal Conditions:**
1. MA27 angle crosses above 0° (upward momentum initiates)
2. All three EMAs (3, 8, 13) pointing upward (trend alignment confirmed)
3. Momentum is positive for 2+ bars (acceleration, not deceleration)
4. Angle exceeds minimum threshold (not in no-trade zone)
5. Cooldown period passed (prevents signal spam)
#### **SELL Signal Conditions:**
1. MA27 angle crosses below 0° (downward momentum initiates)
2. All three EMAs pointing downward (downtrend alignment)
3. Momentum is negative for 2+ bars
4. Angle below negative threshold (not in no-trade zone)
5. Cooldown period passed
#### **Strong BUY+ / SELL+ Signals:**
Additional entry opportunities when JMA Fast crosses JMA Slow while maintaining strong directional angle - indicates momentum acceleration within established trend.
---
## 🔧 HOW TO USE
### **Recommended Settings by Trading Style:**
**Scalpers / Day Traders:**
- Signal Type: **Simple**
- Minimum Angle: **3-5°**
- Cooldown Bars: **3-5 bars**
- Timeframes: 1m, 5m, 15m
**Swing Traders:**
- Signal Type: **Strict**
- Minimum Angle: **7-10°**
- Cooldown Bars: **8-12 bars**
- Timeframes: 1H, 4H, Daily
**Position Traders:**
- Signal Type: **Strict**
- Minimum Angle: **10-15°**
- Cooldown Bars: **15-20 bars**
- Timeframes: Daily, Weekly
### **Parameter Descriptions:**
**1. Source** (default: OHLC4)
- Price data used for MA calculations
- OHLC4 provides smoothest angles
- Close is more responsive but noisier
**2. Threshold for No-Trade Zones** (default: 2°)
- Angles below this are considered sideways/ranging
- Increase for stricter filtering of choppy markets
- Decrease to allow signals in quieter trending periods
**3. Signal Type** (Simple vs. Strict)
- **Simple:** Angle crossover OR (trend + momentum)
- **Strict:** Angle crossover AND all MAs aligned AND momentum confirmed
- Start with Simple, switch to Strict if too many false signals
**4. Minimum Angle for Signal** (default: 5°)
- Only generate signals when angle exceeds this threshold
- Higher values = stronger trends required
- Lower values = more sensitive to momentum changes
**5. Cooldown Bars** (default: 5)
- Minimum bars between consecutive signals
- Prevents spam during volatile chop
- Scale with your timeframe (higher TF = more bars)
**6. Color Bars** (default: true)
- Colors chart bars based on signal state
- Green = bullish conditions, Red = bearish conditions
- Can disable if you prefer clean price bars
**7. Background Colors**
- **Yellow background** = No-trade zone (low angle, ranging market)
- **Green flash** = BUY signal generated
- **Red flash** = SELL signal generated
- All customizable or can be disabled
---
## 📊 INTERPRETING THE INDICATOR
### **Visual Elements:**
**Main Chart Window:**
- **Thick Lime/Fuchsia Line** = MA27 angle (primary signal line)
- **Medium Green/Red Line** = MA83 angle (trend confirmation)
- **Thin Green/Red Line** = MA278 angle (slow trend filter)
- **Aqua/Orange Line** = JMA Fast (momentum detector)
- **Green/Red Area** = JMA slope (overall trend context)
- **Blue/Purple Histogram** = Momentum (angle acceleration/deceleration)
**Signal Arrows:**
- **Large Green ▲ "BUY"** = Primary buy signal (all conditions met)
- **Small Green ▲ "BUY+"** = Strong momentum buy (JMA fast cross)
- **Large Red ▼ "SELL"** = Primary sell signal (all conditions met)
- **Small Red ▼ "SELL+"** = Strong momentum sell (JMA fast cross)
**Status Table (Top Right):**
- **Angle:** Current MA27 angle in degrees
- **Trend:** Classification (STRONG UP/DOWN, UP/DOWN, FLAT)
- **Momentum:** Acceleration state (ACCEL UP/DN, Up/Down)
- **MAs:** Alignment status (ALL UP/DOWN, Mixed)
- **Zone:** Trading zone status (ACTIVE vs. NO TRADE)
- **Last:** Bars since last signal
### **Trading Strategies:**
**Strategy 1: Pure Signal Following**
- Enter LONG on BUY signal
- Exit on SELL signal
- Use stop-loss at recent swing low/high
- Works best on trending instruments
**Strategy 2: Confirmation with Price Action**
- Wait for BUY signal + bullish candlestick pattern
- Wait for SELL signal + bearish candlestick pattern
- Increases win rate by filtering premature signals
- Recommended for beginners
**Strategy 3: Momentum Acceleration**
- Use BUY+/SELL+ signals for adding to positions
- Only take these in direction of primary signal
- Scalp quick moves during momentum spikes
- For experienced traders
**Strategy 4: Mean Reversion in No-Trade Zones**
- When status shows "NO TRADE", fade extremes
- Wait for angle to exit no-trade zone for reversal
- Contrarian approach for range-bound markets
- Requires tight stops
---
## ⚠️ LIMITATIONS & DISCLAIMERS
**What This Indicator DOES:**
✅ Measures momentum direction and strength via angle analysis
✅ Generates signals when multiple conditions align
✅ Filters out low-conviction sideways markets
✅ Provides visual clarity on trend state
**What This Indicator DOES NOT:**
❌ Predict future price movements with certainty
❌ Guarantee profitable trades (no indicator can)
❌ Work equally well on all instruments/timeframes
❌ Replace proper risk management and position sizing
**Known Limitations:**
- **Lagging Nature:** Like all moving averages, signals occur after momentum begins
- **Whipsaw Risk:** Can generate false signals in volatile, directionless markets
- **Optimization Required:** Parameters need adjustment for different assets
- **Not a Complete System:** Should be combined with risk management, position sizing, and other analysis
**Best Performance Conditions:**
- Strong trending markets (crypto bull runs, stock breakouts)
- Liquid instruments (major forex pairs, large-cap stocks)
- Appropriate timeframe selection (match to trading style)
- Used alongside support/resistance and volume analysis
---
## 🔔 ALERT SETUP
The indicator includes four alert conditions:
**1. BUY SIGNAL**
- Message: "MA SMART Angle: BUY SIGNAL! Angle crossed up with momentum"
- Use for: Primary long entries
**2. SELL SIGNAL**
- Message: "MA SMART Angle: SELL SIGNAL! Angle crossed down with momentum"
- Use for: Primary short entries or long exits
**3. Strong BUY**
- Message: "MA SMART Angle: Strong BUY momentum - JMA fast crossed up"
- Use for: Adding to longs or aggressive entries
**4. Strong SELL**
- Message: "MA SMART Angle: Strong SELL momentum - JMA fast crossed down"
- Use for: Adding to shorts or aggressive exits
**Setting Up Alerts:**
1. Right-click indicator → "Add Alert on MA SMART Angle"
2. Select desired condition from dropdown
3. Choose notification method (popup, email, webhook)
4. Set alert expiration (typically "Once Per Bar Close")
---
## 📚 EDUCATIONAL VALUE
This indicator serves as an excellent learning tool for understanding:
**1. Angle-Based Momentum Analysis**
- Traditional indicators show MA crossovers
- This shows the *rate of change* (velocity) of MAs
- Teaches traders to think in terms of momentum acceleration
**2. Multi-Timeframe Confirmation**
- Shows how fast, medium, and slow MAs interact
- Demonstrates importance of trend alignment
- Helps develop patience for high-probability setups
**3. Signal Quality vs. Quantity Tradeoff**
- Simple mode = more signals, more noise
- Strict mode = fewer signals, higher quality
- Teaches discretionary filtering skills
**4. Market State Recognition**
- Visual distinction between trending and ranging markets
- Helps traders avoid trading choppy conditions
- Develops "market context" awareness
---
## 🔄 DIFFERENCES FROM OTHER MA INDICATORS
**vs. Traditional MA Crossovers:**
- Measures momentum (angle) rather than just price crossing MA
- Provides earlier signals as angles change before price crosses
- Filters better for sideways markets using no-trade zones
**vs. MACD:**
- Uses multiple MAs instead of just two
- ATR normalization makes it universal across instruments
- Visual angle representation more intuitive than histogram
**vs. Supertrend:**
- Not based on ATR bands but on MA slope analysis
- Provides graduated strength indication (not just binary trend)
- Less prone to whipsaw in low volatility
**vs. Original "MA Angles" by JD:**
- Adds explicit entry/exit signals (original had none)
- Implements no-repaint logic for reliability
- Includes signal filtering and quality controls
- Provides dual signal systems (Simple/Strict)
- Enhanced visualization and status monitoring
- Uses faster MA periods (3/8/13 vs 27/83/278) for modern markets
---
## 📖 CODE STRUCTURE (for Pine Script learners)
This indicator demonstrates:
**Advanced Pine Script Techniques:**
- Custom function implementation (JMA, angle calculation)
- Var declarations for stateful tracking
- Table creation for HUD display
- Multi-condition signal logic
- Alert system integration
- Proper use of historical references for no-repaint
**Code Organization:**
- Modular function definitions (JMA, angle)
- Clear separation of concerns (inputs, calculations, plotting, alerts)
- Extensive commenting for maintainability
- Best practices for Pine Script v5
**Learning Resources:**
- Study the JMA function to understand adaptive smoothing
- Examine angle calculation for ATR normalization technique
- Review signal logic for multi-condition confirmation patterns
- Analyze anti-spam filtering for state management
The code is open-source - feel free to study, modify, and improve upon it!
---
## 🙏 CREDITS & ATTRIBUTION
**Original Concepts:**
- **"ma angles - JD" by JD (Duyck)** - Core angle calculation methodology and indicator concept
Original open-source indicator on TradingView Community Scripts
- **JMA (Jurik Moving Average) implementation by Everget** - Smooth, low-lag moving average function
Acknowledged in original JD indicator code
- **Angle Calculation formula by KyJ** - Mathematical formula for converting MA slope to degrees using ATR normalization
Acknowledged in original JD indicator code comments
**Enhancements in This Version:**
- Signal generation logic - Original implementation for this indicator
- No-repaint confirmation system - Original implementation
- Dual signal modes (Simple/Strict) - Original implementation
- Visual enhancements and status table - Original implementation
- Alert system and signal filtering - Original implementation
- Modified MA periods (3/8/13 instead of 27/83/278) - Optimization for modern markets
**Open Source Philosophy:**
This indicator follows the open-source spirit of TradingView and the Pine Script community. The original "ma angles - JD" by JD (Duyck) was published as open-source, enabling this enhanced version. Similarly, this code is published as open-source to allow further community improvements.
---
## ⚡ QUICK START GUIDE
**For New Users:**
1. Add indicator to chart
2. Start with default settings (Simple mode)
3. Wait for BUY signal (green arrow)
4. Observe how price behaves after signal
5. Check status table to understand market state
6. Adjust parameters based on your instrument/timeframe
**For Experienced Traders:**
1. Switch to Strict mode for higher quality signals
2. Increase cooldown bars to reduce frequency
3. Raise minimum angle threshold for stronger trends
4. Combine with your existing strategy for confirmation
5. Set up alerts for desired signal types
6. Backtest on your preferred instruments
---
## 🎓 RECOMMENDED COMBINATIONS
**Works Well With:**
- **Volume Analysis:** Confirm signals with volume spikes
- **Support/Resistance:** Take signals near key levels
- **RSI/Stochastic:** Avoid overbought/oversold extremes
- **ATR:** Size positions based on volatility
- **Price Action:** Wait for candlestick confirmation
**Complementary Indicators:**
- Order Flow / Footprint (for institutional confirmation)
- Volume Profile (for identifying value areas)
- VWAP (for intraday mean reversion reference)
- Fibonacci Retracements (for target setting)
---
## 📈 PERFORMANCE EXPECTATIONS
**Realistic Win Rates:**
- Simple Mode: 45-55% (higher frequency, moderate accuracy)
- Strict Mode: 55-65% (lower frequency, higher accuracy)
- Combined with price action: 60-70%
**Best Asset Classes:**
1. **Cryptocurrencies** (strong trends, clear signals)
2. **Forex Major Pairs** (smooth price action, good angles)
3. **Large-Cap Stocks** (trending behavior, liquid)
4. **Index Futures** (trending instruments)
**Challenging Conditions:**
- Low volatility consolidation periods
- News-driven erratic movements
- Thin/illiquid instruments
- Counter-trending markets
---
## 🛡️ RISK DISCLAIMER
**IMPORTANT LEGAL NOTICE:**
This indicator is for **educational and informational purposes only**. It is **NOT financial advice** and does not constitute a recommendation to buy or sell any financial instrument.
**Trading Risks:**
- Trading carries substantial risk of loss
- Past performance does not guarantee future results
- No indicator can predict market movements with certainty
- You can lose more than your initial investment (especially with leverage)
**User Responsibilities:**
- Conduct your own research and due diligence
- Understand the instruments you trade
- Never risk more than you can afford to lose
- Use proper position sizing and risk management
- Consider consulting a licensed financial advisor
**Indicator Limitations:**
- Signals are based on historical data only
- No guarantee of accuracy or profitability
- Parameters must be optimized for your specific use case
- Results vary significantly by market conditions
By using this indicator, you acknowledge and accept all trading risks. The author is not responsible for any financial losses incurred through use of this indicator.
---
## 📧 SUPPORT & FEEDBACK
**Found a bug?** Please report it in the comments with:
- Chart symbol and timeframe
- Parameter settings used
- Description of unexpected behavior
- Screenshot if possible
**Have suggestions?** Share your ideas for improvements!
**Enjoying the indicator?** Leave a like and follow for updates!
Realtime Squeeze Box [CHE] Realtime Squeeze Box — Detects lowvolatility consolidation periods and draws trimmed price range boxes in realtime to highlight potential breakout setups without clutter from outliers.
Summary
This indicator identifies "squeeze" phases where recent price volatility falls below a dynamic baseline threshold, signaling potential energy buildup for directional moves. By requiring a minimum number of consecutive bars in squeeze, it reduces noise from fleeting dips, making signals more reliable than simple threshold crosses. The core innovation is realtime box visualization: during active squeezes, it builds and updates a box capturing the price range while ignoring extreme values via quantile trimming, providing a cleaner view of consolidation bounds. This differs from static volatility bands by focusing on trimmed ranges and suppressing overlapping boxes, which helps traders spot genuine setups amid choppy markets. Overall, it aids in anticipating breakouts by combining volatility filtering with visual containment of price action.
Motivation: Why this design?
Traders often face whipsaws during brief volatility lulls that mimic true consolidations, leading to premature entries, or miss setups because standard volatility measures lag in adapting to changing market regimes. This design addresses that by using a hold requirement on consecutive lowvolatility bars to denoise signals, ensuring only sustained squeezes trigger visuals. The core idea—comparing rolling standard deviation to a smoothed baseline—creates a responsive yet stable filter for lowenergy periods, while the trimmed box approach isolates the core price cluster, making it easier to gauge breakout potential without distortion from spikes.
What’s different vs. standard approaches?
Reference baseline: Traditional squeeze indicators like the Bollinger Band Squeeze or TTM Squeeze rely on fixed multiples of bands or momentum oscillators crossing zero, which can fire on isolated bars or ignore range compression nuances.
Architecture differences:
Realtime box construction that updates barbybar during squeezes, using arrays to track and trim price values.
Quantilebased outlier rejection to define box bounds, focusing on the bulk of prices rather than full range.
Overlap suppression logic that skips redundant boxes if the new range intersects heavily with the prior one.
Hold counter for consecutive bar validation, adding persistence before signaling.
Practical effect: Charts show fewer, more defined orange boxes encapsulating tight price action, with a horizontal line extension marking the midpoint postsqueeze—visibly reducing clutter in sideways markets and highlighting "coiled" ranges that standard plots might blur with full highs/lows. This matters for quicker visual scanning of multitimeframe setups, as boxes selflimit to recent history and avoid piling up.
How it works (technical)
The indicator starts by computing a rolling average and standard deviation over a userdefined length on the chosen source price series. This deviation measure is then smoothed into a baseline using either a simple or exponential average over a longer window, serving as a reference for normal volatility. A squeeze triggers when the current deviation dips below this baseline scaled by a multiplier less than one, but only after a minimum number of consecutive bars confirm it, which resets the counter on breaks.
Upon squeeze start, it clears a buffer and begins collecting source prices barbybar, limited to the first few bars to keep computation light. For visualization, if enabled, it sorts the buffer and finds a quantile threshold, then identifies the minimum value at or below that threshold to set upper and lower box bounds—effectively clamping the range to exclude tails above the quantile. The box draws from the start bar to the current one, updating its right edge and levels dynamically; if the new bounds overlap significantly with the last completed box, it suppresses drawing to avoid redundancy.
Once the hold limit or squeeze ends, the box freezes: its final bounds become the last reference, a midpoint line extends rightward from the end, and a tiny circle label marks the point. Buffers and states reset on new squeezes, with historical boxes and lines capped to prevent overload. All logic runs on every bar but uses confirmed historical data for calculations, with realtime updates only affecting the active box's position—no future peeking occurs. Initialization seeds with null values, building states progressively from the first bars.
Parameter Guide
Source: Selects the price series (e.g., close, hl2) for deviation and box building; influences sensitivity to wicks or bodies. Default: close. Tradeoffs/Tips: Use hl2 for balanced range view in volatile assets; stick to close for pure directional focus—test on your timeframe to avoid oversmoothing trends.
Length (Mean/SD): Sets window for average and deviation calculation; shorter values make detection quicker but noisier. Default: 20. Tradeoffs/Tips: Increase to 30+ for stability in higher timeframes, reducing false starts; below 10 risks overreacting to singlebar noise.
Baseline Length: Defines smoothing window for the deviation baseline; longer periods create a steadier reference, filtering regime shifts. Default: 50. Tradeoffs/Tips: Pair with Length at 1:2 ratio for calm markets; shorten to 30 if baselines lag during fast volatility drops, but watch for added whips.
Squeeze Multiplier (<1.0): Scales the baseline downward to set the squeeze threshold; lower values tighten criteria for rarer, stronger signals. Default: 0.8. Tradeoffs/Tips: Tighten to 0.6 for highvol assets like crypto to cut noise; loosen to 0.9 in forex for more frequent but shallower setups—balances hit rate vs. depth.
Baseline via EMA (instead of SMA): Switches baseline smoothing to exponential for faster adaptation to recent changes vs. equalweighted simple average. Default: false. Tradeoffs/Tips: Enable in trending markets for quicker baseline drops; disable for uniform history weighting in rangebound conditions to avoid overreacting.
SD: Sample (len1) instead of Population (len): Adjusts deviation formula to divide by length minus one for smallsample bias correction, slightly inflating values. Default: false. Tradeoffs/Tips: Use sample in short windows (<20) for more conservative thresholds; population suits long looks where bias is negligible, keeping signals tighter.
Min. Hold Bars in Squeeze: Requires this many consecutive squeeze bars before confirming; higher denoise but may clip early setups. Default: 1. Tradeoffs/Tips: Bump to 35 for intraday to filter ticks; keep at 1 for swings where quick consolidations matter—trades off timeliness for reliability.
Debug: Plot SD & Threshold: Toggles lines showing raw deviation and threshold for visual backtesting of squeeze logic. Default: false. Tradeoffs/Tips: Enable during tuning to eyeball crossovers; disable live to declutter—great for verifying multiplier impact without alerts.
Tint Bars when Squeeze Active: Overlays semitransparent color on bars during open box phases for quick squeeze spotting. Default: false. Tradeoffs/Tips: Pair with low opacity for subtlety; turn off if using boxes alone, as tint can obscure candlesticks in dense charts.
Tint Opacity (0..100): Controls background tint strength during active squeezes; higher values darken for emphasis. Default: 85. Tradeoffs/Tips: Dial to 60 for light touch; max at 100 risks hiding price action—adjust per chart theme for visibility.
Stored Price (during Squeeze): Price series captured in the buffer for box bounds; defaults to source but allows customization. Default: close. Tradeoffs/Tips: Switch to high/low for wider boxes in gappy markets; keep close for midline focus—impacts trim effectiveness on outliers.
Quantile q (0..1): Fraction of sorted prices below which tails are cut; higher q keeps more data but risks including spikes. Default: 0.718. Tradeoffs/Tips: Lower to 0.5 for aggressive trim in noisy assets; raise to 0.8 for fuller ranges—tune via debug to match your consolidation depth.
Box Fill Color: Sets interior shade of squeeze boxes; semitransparent for layering. Default: orange (80% trans.). Tradeoffs/Tips: Soften with more transparency in multiindicator setups; bold for standalone use—ensures boxes pop without overwhelming.
Box Border Color: Defines outline hue and solidity for box edges. Default: orange (0% trans.). Tradeoffs/Tips: Match fill for cohesion or contrast for edges; thin width keeps it clean—helps delineate bounds in zoomed views.
Keep Last N Boxes: Limits historical boxes/lines/labels to this count, deleting oldest for performance. Default: 10. Tradeoffs/Tips: Increase to 50 for weekly reviews; set to 0 for unlimited (risks lag)—balances history vs. speed on long charts.
Draw Box in Realtime (build/update): Enables live extension of boxes during squeezes vs. waiting for end. Default: true. Tradeoffs/Tips: Disable for confirmedonly views to mimic backtests; enable for proactive trading—adds minor repaint on live bars.
Box: Max First N Bars: Caps buffer collection to initial squeeze bars, freezing after for efficiency. Default: 15. Tradeoffs/Tips: Shorten to 510 for fast intraday; extend to 20 in dailies—prevents bloated arrays but may truncate long squeezes.
Reading & Interpretation
Squeeze phases appear as orange boxes encapsulating the trimmed price cluster during lowvolatility holds—narrow boxes signal tight consolidations, while wider ones indicate looser ranges within the threshold. The box's top and bottom represent the quantilecapped high and low of collected prices, with the interior fill shading the containment zone; ignore extremes outside for "true" bounds. Postsqueeze, a solid horizontal line extends right from the box's midpoint, acting as a reference level for potential breakout tests—drifting prices toward or away from it can hint at building momentum. Tiny orange circles at the line's start mark completion points for easy scanning. Debug lines (if on) show deviation hugging or crossing the threshold, confirming hold logic; a persistent hug below suggests prolonged calm, while spikes above reset counters.
Practical Workflows & Combinations
Trend following: Enter long on squeezeend close above the box top (or midpoint line) confirmed by higher high in structure; filter with rising 50period average to avoid countertrend traps. Use boxes as support/resistance proxies—short below bottom in downtrends.
Exits/Stops: Trail stops to the box midpoint during postsqueeze runs for conservative holds; go aggressive by exiting on retest of opposite box side. If debug shows repeated threshold grazes, tighten stops to curb drawdowns in ranging followups.
Multiasset/MultiTF: Defaults work across stocks, forex, and crypto on 15min+ frames; scale Length proportionally (e.g., x2 on hourly). Layer with highertimeframe boxes for confluence—e.g., daily squeeze + 1H box for entry timing. (Unknown/Optional: Specific multiTF scaling recipes beyond proportional adjustment.)
Behavior, Constraints & Performance
Repaint/confirmation: Core calculations use historical closes, confirming on bar close; active boxes repaint their right edge and levels live during squeezes if enabled, but freeze irrevocably on hold limit or end—mitigates via barbybar buffer adds without future leaks. No lookahead indexes.
security()/HTF: None used, so no external timeframe repaints; all native to chart resolution.
Resources: Caps at 300 boxes/lines/labels total; small arrays (up to 20 elements) and short loops in sorting/minfinding keep it light—suitable for 10k+ bar charts without throttling. Persistent variables track state across bars efficiently.
Known limits: May lag on ultrasharp volatility spikes due to baseline smoothing; gaps or thin markets can skew trims if buffer hits cap early; overlaps suppress visuals but might hide chained squeezes—(Unknown/Optional: Edge cases in nonstandard sessions).
Sensible Defaults & Quick Tuning
Start with defaults for most liquid assets on 1Hdaily: Length 20, Multiplier 0.8, Hold 1, Quantile 0.718—yields balanced detection without excess noise. For too many false starts (choppy charts), increase Hold to 3 and Baseline Length to 70 for stricter confirmation, reducing signals by 3050%. If squeezes feel sluggish or miss quick coils, shorten Length to 14 and enable EMA baseline for snappier adaptation, but monitor for added flips. In highvol environments like options, tighten Multiplier to 0.6 and Quantile to 0.6 to focus on core ranges; reverse for calm pairs by loosening to 0.95. Always backtest tweaks on your asset's history.
What this indicator is—and isn’t
This is a volatilityfiltered visualization tool for spotting and bounding consolidation phases, best as a signal layer atop price action and trend filters—not a standalone predictor of direction or strength. It highlights setups but ignores volume, momentum, or news context, so pair with discreteness rules like higher highs/lows. Never use it alone for entries; always layer risk management, such as 12% stops beyond box extremes, and position sizing based on account drawdown tolerance.
Disclaimer
The content provided, including all code and materials, is strictly for educational and informational purposes only. It is not intended as, and should not be interpreted as, financial advice, a recommendation to buy or sell any financial instrument, or an offer of any financial product or service. All strategies, tools, and examples discussed are provided for illustrative purposes to demonstrate coding techniques and the functionality of Pine Script within a trading context.
Any results from strategies or tools provided are hypothetical, and past performance is not indicative of future results. Trading and investing involve high risk, including the potential loss of principal, and may not be suitable for all individuals. Before making any trading decisions, please consult with a qualified financial professional to understand the risks involved.
By using this script, you acknowledge and agree that any trading decisions are made solely at your discretion and risk.
Do not use this indicator on HeikinAshi, Renko, Kagi, PointandFigure, or Range charts, as these chart types can produce unrealistic results for signal markers and alerts.
Best regards and happy trading
Chervolino
Pattern ScannerUltimate Pattern Scanner — multi-timeframe candlestick discovery tool (educational use only).
Purpose: This script scans user-selected timeframes for classical candlestick patterns (for example: engulfing, morning/evening stars, hammers, dojis, tasuki gaps, three soldiers/crows, tweezers, marubozu, and others) and reports pattern name, detection price, directional signal (Bull / Bear / Neutral), and a simple volume participation metric. It is intended as an idea-generation and training tool to help traders learn pattern mechanics, not as an automated trading system.
Main modules and rationale: 1) Pattern engine — applies classical candle structure rules to detect formations; 2) SMA trend filter (configurable length) — provides a directional bias to favor trade-with-trend setups; 3) Volume heuristic — approximates participation by separating candles into buy-like and sell-like volume and comparing total volume to a moving average; 4) Multi-timeframe aggregator — collects and presents pattern results from multiple timeframes; 5) Alerts — optional alerts list detected patterns and TFs. Combining these modules is intentional: patterns provide structure, SMA provides context, and volume supplies participation confirmation. Together they improve the educational value and practical relevance of each detected pattern.
How to use: Choose timeframes and SMA length that match your trading horizon. Use the scanner to locate pattern candidates, then confirm with higher-timeframe agreement and volume ratio before considering trade entry. Use structural stops (recent swing highs/lows or ATR-based stops) and define risk:reward rules. For learning, replay alerted bars and record outcomes over fixed horizons to build empirical statistics.
Limitations: Volume classification (close>open) is a heuristic and not a true bid/ask tape. SMA is a lagging trend proxy. Multi-timeframe agreement reduces but does not eliminate false signals, especially around news or in low-liquidity instruments. Use demo accounts and backtesting before live trading.
Inputs you can adjust: timeframe list, SMA length, volume MA length, which patterns to enable/disable, display options.
Compliance notes: This description explains why modules are combined and what the script does without exposing source code logic; it is non-promotional and contains no contact links. Remove any trademark symbols unless registration details are provided.
Risk Disclaimer: This tool is provided for education and analysis only. It is not financial advice and does not guarantee returns. Users assume all risk for trades made based on this script. Backtest thoroughly and use proper risk management.
Emre AOI Zonen Daily & Weekly (mit Alerts, max 60 Pips)This TradingView indicator automatically highlights Areas of Interest (AOI) for Forex or other markets on Daily and Weekly timeframes. It identifies zones based on the high and low of the previous period, but only includes zones with a width of 60 pips or less.
Features:
Daily AOI Zones in blue, Weekly AOI Zones in yellow with 20% opacity, so candlesticks remain visible.
Persistent zones: AOI boxes stay on the chart until the price breaks the zone.
Multiple zones: Supports storing multiple Daily and Weekly AOIs simultaneously.
Break Alerts: Sends alerts whenever a Daily or Weekly AOI is broken, helping traders spot key levels in real-time.
Fully automated: No manual drawing needed; zones are updated and extended automatically.
Use Case:
Ideal for traders using a top-down approach, combining Weekly trend analysis with Daily entry signals. Helps identify support/resistance, supply/demand zones, and critical price levels efficiently.
Highlight Candle Body ≤ 10 Ticks (Clean & Subtle)Purpose:
This indicator highlights candlesticks where the body size (difference between open and close) is 10 ticks or less, specifically for instruments like Crude Oil futures (CL) where 1 tick = 0.01.
How it works:
It calculates the body size: abs(close - open)
If the body is ≤ 0.10 (10 ticks), the candle is softly colored in muted orange.
Wicks are ignored — only the body is considered.
No additional shapes or markers — clean and minimal.
Use case:
Helps identify periods of indecision or low momentum — such as potential pause candles, traps, or setups just before volatility returns.
Mogwai Method with RSI and EMA - BTCUSD 15mThis is a custom TradingView indicator designed for trading Bitcoin (BTCUSD) on a 15-minute timeframe. It’s based on the Mogwai Method—a mean-reversion strategy—enhanced with the Relative Strength Index (RSI) for momentum confirmation. The indicator generates buy and sell signals, visualized as green and red triangle arrows on the chart, to help identify potential entry and exit points in the volatile cryptocurrency market.
Components
Bollinger Bands (BB):
Purpose: Identifies overextended price movements, signaling potential reversions to the mean.
Parameters:
Length: 20 periods (standard for mean-reversion).
Multiplier: 2.2 (slightly wider than the default 2.0 to suit BTCUSD’s volatility).
Role:
Buy signal when price drops below the lower band (oversold).
Sell signal when price rises above the upper band (overbought).
Relative Strength Index (RSI):
Purpose: Confirms momentum to filter out false signals from Bollinger Bands.
Parameters:
Length: 14 periods (classic setting, effective for crypto).
Overbought Level: 70 (price may be overextended upward).
Oversold Level: 30 (price may be overextended downward).
Role:
Buy signal requires RSI < 30 (oversold).
Sell signal requires RSI > 70 (overbought).
Exponential Moving Averages (EMAs) (Plotted but not currently in signal logic):
Purpose: Provides trend context (included in the script for visualization, optional for signal filtering).
Parameters:
Fast EMA: 9 periods (short-term trend).
Slow EMA: 50 periods (longer-term trend).
Role: Can be re-added to filter signals (e.g., buy only when Fast EMA > Slow EMA).
Signals (Triangles):
Buy Signal: Green upward triangle below the bar when price is below the lower Bollinger Band and RSI is below 30.
Sell Signal: Red downward triangle above the bar when price is above the upper Bollinger Band and RSI is above 70.
How It Works
The indicator combines Bollinger Bands and RSI to spot mean-reversion opportunities:
Buy Condition: Price breaks below the lower Bollinger Band (indicating oversold conditions), and RSI confirms this with a reading below 30.
Sell Condition: Price breaks above the upper Bollinger Band (indicating overbought conditions), and RSI confirms this with a reading above 70.
The strategy assumes that extreme price movements in BTCUSD will often revert to the mean, especially in choppy or ranging markets.
Visual Elements
Green Upward Triangles: Appear below the candlestick to indicate a buy signal.
Red Downward Triangles: Appear above the candlestick to indicate a sell signal.
Bollinger Bands: Gray lines (upper, middle, lower) plotted for reference.
EMAs: Blue (Fast) and Orange (Slow) lines for trend visualization.
How to Use the Indicator
Setup
Open TradingView:
Log into TradingView and select a BTCUSD chart from a supported exchange (e.g., Binance, Coinbase, Bitfinex).
Set Timeframe:
Switch the chart to a 15-minute timeframe (15m).
Add the Indicator:
Open the Pine Editor (bottom panel in TradingView).
Copy and paste the script provided.
Click “Add to Chart” to apply it.
Verify Display:
You should see Bollinger Bands (gray), Fast EMA (blue), Slow EMA (orange), and buy/sell triangles when conditions are met.
Trading Guidelines
Buy Signal (Green Triangle Below Bar):
What It Means: Price is oversold, potentially ready to bounce back toward the Bollinger Band middle line.
Action:
Enter a long position (buy BTCUSD).
Set a take-profit near the middle Bollinger Band (bb_middle) or a resistance level.
Place a stop-loss 1-2% below the entry (or based on ATR, e.g., ta.atr(14) * 2).
Best Context: Works well in ranging markets; avoid during strong downtrends.
Sell Signal (Red Triangle Above Bar):
What It Means: Price is overbought, potentially ready to drop back toward the middle line.
Action:
Enter a short position (sell BTCUSD) or exit a long position.
Set a take-profit near the middle Bollinger Band or a support level.
Place a stop-loss 1-2% above the entry.
Best Context: Effective in ranging markets; avoid during strong uptrends.
Trend Filter (Optional):
To reduce false signals in trending markets, you can modify the script:
Add and ema_fast > ema_slow to the buy condition (only buy in uptrends).
Add and ema_fast < ema_slow to the sell condition (only sell in downtrends).
Check the Fast EMA (blue) vs. Slow EMA (orange) alignment visually.
Tips for BTCUSD on 15-Minute Charts
Volatility: BTCUSD can be erratic. If signals are too frequent, increase bb_mult (e.g., to 2.5) or adjust RSI levels (e.g., 75/25).
Confirmation: Use volume spikes or candlestick patterns (e.g., doji, engulfing) to confirm signals.
Time of Day: Mean-reversion works best during low-volume periods (e.g., Asian session in crypto).
Backtesting: Use TradingView’s Strategy Tester (convert to a strategy by adding entry/exit logic) to evaluate performance with historical BTCUSD data up to March 13, 2025.
Risk Management
Position Size: Risk no more than 1-2% of your account per trade.
Stop Losses: Always use stops to protect against BTCUSD’s sudden moves.
Avoid Overtrading: Wait for clear signals; don’t force trades in choppy or unclear conditions.
Example Scenario
Chart: BTCUSD, 15-minute timeframe.
Buy Signal: Price drops to $58,000, below the lower Bollinger Band, RSI at 28. A green triangle appears.
Action: Buy at $58,000, target $59,000 (middle BB), stop at $57,500.
Sell Signal: Price rises to $60,500, above the upper Bollinger Band, RSI at 72. A red triangle appears.
Action: Sell at $60,500, target $59,500 (middle BB), stop at $61,000.
This indicator is tailored for mean-reversion trading on BTCUSD. Let me know if you’d like to tweak it further (e.g., add filters, alerts, or alternative indicators)!
ImbalancesThis Pine Script is a trading indicator designed to identify imbalances in the market, specifically on candlestick charts. An imbalance refers to situations where there is a significant difference between buyers and sellers, which can create gaps or areas of inefficiency in the price. These imbalances often act as zones where price may return to "fill" or correct these inefficiencies.
1. Identifying Imbalances
The script analyzes candlestick patterns to detect imbalances based on the relationship between the highs, lows, and closes of consecutive candles. Specifically, it looks for:
Top Imbalances (Bearish): Areas where selling pressure has dominated, causing inefficiencies in the price. These are represented by patterns like multiple consecutive bearish candles or bearish gaps.
Bottom Imbalances (Bullish): Areas where buying pressure has dominated, leading to bullish gaps or inefficiencies.
When an imbalance is detected, the script highlights the area using visual boxes on the chart.
2. Visual Representation
The indicator uses colored boxes to show imbalances directly on the chart:
Top (Bearish) Imbalances: Highlighted using shades of red.
Bottom (Bullish) Imbalances: Highlighted using shades of green.
The boxes are further categorized into three states based on their level of mitigation:
Unmitigated: The imbalance has not been "filled" by price yet.
Partially Mitigated: Price has entered the imbalance zone but not completely filled it.
Fully Mitigated: Price has completely filled the imbalance zone.
3. Mitigation Logic
The concept of mitigation refers to the price revisiting an imbalance zone to correct the inefficiency:
If price fully or partially revisits an imbalance zone, the box's color changes to indicate the mitigation level (e.g., from unmitigated to partially/fully mitigated).
Fully mitigated boxes may be removed or recolored, depending on user preferences.
4. User Customization
The script provides several inputs to customize its behavior:
Enable or disable top and bottom imbalance detection.
Color settings: Users can define different colors for unmitigated, partially mitigated, and fully mitigated imbalances.
Mitigation display options: Users can choose whether to show fully mitigated imbalances on the chart or remove them.
5. Key Calculations
Imbalance Size: The size of the imbalance is calculated as the price difference between a candle's high and low across the relevant pattern.
Pattern Detection: The script checks for specific candlestick patterns (e.g., three consecutive bearish candles) to identify potential imbalances.
6. Practical Use Case
This indicator is useful for traders who:
Rely on supply and demand zones for their trading strategies.
Look for areas where price is likely to return (retesting unmitigated imbalances can signal potential trade setups).
Want to visually track market inefficiencies over time.
In Summary
The "Imbalances" indicator highlights and tracks price inefficiencies on candlestick charts. It marks zones where buying or selling pressure was dominant, and it dynamically updates these zones based on price action to indicate their mitigation status. This tool is particularly helpful for traders who use price action and market structure in their strategies.
Dynamic Trading Strategy with Key Levels, Entry/Exit ManagementThis indicator provides a complete rule-based trading system, combining key levels, entry conditions, stop loss (SL), and take profit (TP) management. It’s designed to dynamically adapt to market conditions by identifying crucial support and resistance zones, determining entry points based on price action and volume, and calculating risk-based exit targets.
Key Features
Key Level Identification:
The indicator automatically identifies support and resistance levels based on recent price highs and lows within a customizable lookback period.
It adds a dynamic buffer around these levels using the Average True Range (ATR) to account for market volatility, ensuring the zones adjust to changing conditions.
Entry Conditions:
Bullish Entry: Triggers near the support zone when there’s upward price action, confirmed by volume spikes and bullish candlestick patterns (e.g., hammers, engulfing candles).
Bearish Entry: Triggers near the resistance zone when signs of rejection appear, confirmed by volume spikes and bearish candlestick patterns (e.g., shooting stars, bearish engulfing).
Entry zones are highlighted visually on the chart using green (bullish) and red (bearish) shaded boxes.
Stop Loss (SL) and Take Profit (TP):
Stop Loss: Calculated based on ATR multipliers, allowing you to set a volatility-adjusted risk level beyond the entry range.
Take Profit: Includes two profit-taking levels (TP1 and TP2), allowing for partial position exits. TP levels are calculated based on a reward-to-risk ratio, ensuring consistent profitability targets.
SL and TP levels are clearly marked with horizontal lines and labeled as SL, TP1, and TP2, helping you manage trade exits effectively.
Market Context Adaptability:
The indicator adapts to both trending and ranging market conditions. In trending markets, it favors trades that follow the trend, while in ranging markets, it focuses on reversals within the range boundaries.
Visual Aids:
Entry zones are highlighted with shaded boxes to indicate potential buy/sell regions.
SL, TP1, and TP2 levels are clearly drawn with labels, allowing for easy identification of exit points.
How to Use
Identify Key Levels: Look for support and resistance zones highlighted by the indicator on your chart.
Wait for Entry Conditions: When the price enters the entry range (marked by green or red boxes), wait for confirmation signals—such as volume spikes and candlestick patterns.
Manage Exits: Use the SL, TP1, and TP2 levels for structured trade management. Consider scaling out partially at TP1 and exiting fully at TP2.
Ideal For:
This indicator is suitable for traders who prefer a systematic approach to trading, with clear entry and exit rules. It is particularly helpful for those looking to balance risk and reward with well-defined take profit and stop loss levels.
Simple FVGSimple FVG - Fair Value Gap Indicator
Overview:
The "Simple FVG" script is designed for use with TradingView to identify and visually display Fair Value Gaps (FVG) on a trading chart. This indicator highlights both bullish and bearish imbalances based on specific candlestick patterns, helping traders to quickly identify potential trading opportunities.
Key Features:
Bullish and Bearish Imbalances:
Bullish Imbalances: This script identifies bullish imbalances where the price exhibits a gap upward. The conditions for detecting a bullish imbalance are:
The high of the second candle is greater than the high of the first candle.
The low of the third candle is greater than the high of the first candle.
Bearish Imbalances: This script identifies bearish imbalances where the price exhibits a gap downward. The conditions for detecting a bearish imbalance are:
The low of the second candle is less than the low of the first candle.
The high of the third candle is less than the low of the first candle.
Customizable Display:
Bullish Blocks: Users can toggle the display of bullish imbalance blocks with customizable colors and border settings.
Bearish Blocks: Users can toggle the display of bearish imbalance blocks with customizable colors and border settings.
Color and Border Settings: Adjust the color, border color, and border width of the blocks for both bullish and bearish imbalances according to user preferences.
Visual Representation:
Drawing Blocks: The script draws filled boxes on the chart to represent identified imbalances. These blocks span from the start of the first candlestick to the end of the third candlestick, providing a clear visual indicator of the price gap.
How It Works:
Identification Logic:
The script analyzes three consecutive candles to determine if an imbalance exists.
It compares the highs and lows of these candles to establish bullish or bearish conditions.
Drawing Mechanism:
Once an imbalance condition is met, the script calculates the top and bottom levels of the imbalance block based on the high of the first candle and the low of the third candle for bullish imbalances, and vice versa for bearish imbalances.
It then draws these blocks on the chart using the specified colors and border settings.
Usage Instructions:
Add the Indicator:
Apply the "Simple FVG" indicator to your TradingView chart.
Customize Settings:
Use the input options to enable or disable the display of bullish and bearish blocks.
Adjust the colors and border settings for the imbalance blocks as needed.
Interpret Imbalances:
Look for the drawn blocks to identify potential areas where price imbalances have occurred.
Use this information to inform your trading decisions.
Originality and Value:
The "Simple FVG" script offers a unique approach to visualizing Fair Value Gaps by focusing on specific candlestick patterns. It provides traders with a tool to easily identify and analyze price imbalances, enhancing chart analysis and trading strategy development.
Chart Information:
Ensure to show the complete symbol, timeframe, and script name information on your chart for clarity and reference.
For further details and usage guidelines, refer to the TradingView House Rules.
Note: This script adheres to TradingView's guidelines for originality and usefulness, offering a practical tool for traders seeking to enhance their chart analysis.
This description adheres to TradingView's requirements by providing a detailed explanation of the script's functionality, how it works, and how users can benefit from it.
Candle Body Support/Resistance [LuxAlgo]The Candle Body Support/Resistance indicator is a tool that provides Support/Resistance levels from high-volatility candles, a concept originally described by Steve Nison in "Beyond Candlesticks".
Users can define the candle body percentage used to set the detected support/resistance levels. Occurrences of price testing the returned levels are highlighted using user-customizable dots.
🔶 USAGE
Support/Resistance levels are drawn from volatile candles, that is candles having a body (range between opening and closing price) whose magnitude is larger than the Volatility Threshold , which is determined by the multiplicative factor of an ATR (Average True Range) using a user set length.
The level starts from the opening price +/- a percentage of the open-close range. Users can adjust the percentage of the candle body used as support/resistance levels respectively, with higher percentage values returning levels prone to get reached sooner by the price.
A test is considered valid when a wick passes through the Support/Resistance level while the closing price is not breaking it.
Two modes are included, Trailing and Historical , both affecting the displayed elements of the indicator, these are described in the sub-section below.
🔹 Historical
The Historical Mode will draw a separate line from every Volatile Candle . When this line is tested, a dot will be drawn.
In the above example, the red resistance line was tested once until a bullish volatile candle formed, which closed just below the resistance level. The resistance level was tested again, after which the newly created support level was broken quickly, and the price decreased. These levels proved helpful later, acting as resistance/support levels (illustrated by the extra manually drawn dashed white lines).
To prevent cluttering Support/Resistance , lines will be deleted when the line is mitigated and hasn't been tested.
When a Support/Resistance line reaches its Maximum Line Length , it will also be deleted when it has not been tested.
🔹 Trailing
When a new volatile candle of the same type (bullish/bearish) appears while the Support/Resistance isn't broken, this line will be updated with the values of the new volatile candle. This creates a trailing line and a less cluttered chart.
Unlike the Historical mode , a line will not be deleted after a while or when it is mitigated. Instead, the line won't be updated anymore. A new line will start from the next found volatile candle.
Using the same situation as the Historical Mode example, we can note the future significance of old support/resistance levels (illustrated by the extra manually drawn dashed white lines).
The user can switch between these 2 modes, each offering a unique perspective on the market. This provides a more in-depth examination of the market, enhancing the user's trading analysis.
Using a copy of our indicator while using both modes can also be helpful.
🔶 DETAILS
The Support level is the opening price of a bullish volatile candle plus a user-set percentage of the candle's body, while the Resistance level is the opening price of a bearish volatile candle minus a percentage of the candle's body.
The following example illustrates the ATR with the multiplicative factor (Volatility Threshold) where the body of Volatile candles exceeds the ATR limits. Changing the Volatility Threshold and ATR length gives users extra flexibility to adjust to their needs.
🔹 Max Line Length
When using the Historical Mode and the duration of a displayed level reaches the user-set Max Line Length value, the level will return to the last test or be deleted when it has not been tested.
🔶 SETTINGS
Display Mode: Display mode of the indicator.
Support %: Sets the distance of the Support Line from the opening price relative to the candle body.
Resistance %: Sets the distance of the Resistance Line from the opening price relative to the candle body.
🔹 Filter
Length ATR: Amount of bars for the calculation of the Average True Range.
Volatility Threshold: multiplicative factor of ATR.
Max Line Length: Maximum allowed duration/length (in bars) of a Support/Resistance level.
BINANCE-BYBIT Cross Chart: Spot-Perpetual CorrelationName: "Binance-Bybit Cross Chart: Spot-Perpetual Correlation"
Category: Scalping, Trend Analysis
Timeframe: 1M, 5M, 30M, 1D (depending on the specific technique)
Technical analysis: This indicator facilitates a comparison between the price movements shown on the Binance spot chart and the Bybit perpetual chart, with the aim of discerning the correlation between the two charts and identifying the dominant market trends. It automatically generates the corresponding chart based on the ticker selected in the primary chart. When a Binance pair is selected in the main chart, the indicator replicates the Bybit perpetual chart for the same pair and timeframe, and vice versa, selecting the Bybit perpetual chart as the primary chart generates the Binance spot chart.
Suggested use: You can utilize this tool to conduct altcoin trading on Binance or Bybit, facilitating the comparison of price actions and real-time monitoring of trigger point sensitivity across both exchanges. We recommend prioritizing the Binance Spot chart in the main panel due to its typically longer historical data availability compared to Bybit.
The primary objective is to efficiently and automatically manage the following three aspects:
- Data history analysis for higher timeframes, leveraging the extensive historical data of the Binance spot market. Variations in indicators such as slow moving averages may arise due to differences in historical data between exchanges.
- Assessment of coin liquidity on both exchanges by observing candlestick consistency on smaller timeframes or the absence of gaps. In the crypto market, clean charts devoid of gaps indicate dominance and offer enhanced reliability.
- Identification of precise trigger point levels, including daily, previous day, or previous week highs and lows, which serve as sensitive areas for breakout or reversal operations.
All-Time High (ATH) and All-Time Low (ATL) levels may vary significantly across exchanges due to disparities in historical data series.
This tool empowers traders to make informed decisions by leveraging historical data, liquidity insights, and precise trigger point identification across Binance Spot and Bybit Perpetual market.
Configuration:
EMA length:
- EMA 1: Default 5, user configurable
- EMA 2: Default 10, user configurable
- EMA 3: Default 60, user configurable
- EMA 4: Default 223, user configurable
- Additional Average: Optional display of an additional average, such as a 20-period average.
Chart Elements:
- Session separator: Indicates the beginning of the current session (in blue)
- Background: Indicates an uptrend (60 > 223) with a green background and a downtrend (60 < 223) with a red background.
Instruments:
- EMA Daily: Shows daily averages on an intraday timeframe.
- EMA levels 1h - 30m: Shows the levels of the 1g-30m EMAs.
- EMA Levels Highest TF: Provides the option to select additional EMA levels from the major timeframes, customizable via the drop-down menu.
- "Hammer Detector: Marks hammers with a green triangle and inverted hammers with a red triangle on the chart
- "Azzeramento" signal on TF > 30m: Indicates a small candlestick on the EMA after a dump.
- "No Fomo" signal on TF < 30m: Indicates a hyperextended movement.
Trigger Points:
- Today's highs and lows: Shows the opening price of the day's candlestick, along with the day's highs and lows (high in purple, low in red, open in green).
- Yesterday's highs and lows: Displays the opening price of the daily candlestick, along with the previous day's highs and lows (high in yellow, low in red).
You can customize the colors in "Settings" > "Style".
It is best used with the Scalping The Bull indicator on the main panel.
Credits:
@tumiza999: for tests and suggestions.
Thanks for your attention, happy to support the TradingView community.






















