HTF Candle Extremes Zigzag (Drawn on LTF)HTF Candle Extremes Zigzag (Drawn on LTF)
This indicator plots zigzag lines connecting the extremes (highs and lows) of Higher Timeframe (HTF) candles directly on your lower timeframe (LTF) chart. It visually highlights trend changes and HTF candle structure by drawing colored lines representing uptrends and downtrends based on HTF candle extremes.
"Key Features"
Higher Timeframe Tracking: Select any HTF to track candle extremes using the built-in security function.
Zigzag Lines: Connects HTF candle lows to highs in an intuitive zigzag pattern.
Trend Indication: Uptrend lines are green, downtrend lines are red (customizable colors).
Customizable Line Width: Adjust the thickness of the zigzag lines for better visibility.
Drawn on Lower Timeframe: All lines appear on your active lower timeframe chart, allowing easy visual correlation.
"How It Works"
The script fetches the open, high, low, close, and time data of the specified HTF candle. It detects new HTF bars and identifies trend direction changes by comparing the highs and lows of consecutive HTF candles.
- When an uptrend is detected, vertical lines are drawn from low to high of the HTF candle, connected to the previous extreme low.
- When a downtrend is detected, vertical lines are drawn from high to low, connected to the previous extreme high.
- Transitions between trends are highlighted by connecting the last extreme of the previous trend to the current extreme, creating a clean zigzag pattern.
Usage Notes:
Ideal for traders who want to visualize HTF market structure and trend changes while analyzing price action on lower timeframes.
---
© The_Forex_Steward
(mozilla.org)
Penunjuk dan strategi
MonthlyProfitTable# Monthly Profit Table Library
**Automatically create beautiful monthly profit/loss tables for your Pine Script strategies with just 3 lines of code!**
## 🎯 What It Does
This library automatically tracks your strategy's performance and displays it in a clean, professional monthly profit table similar to what you see in institutional trading reports. No manual calculations required - just import and use!
## ✨ Key Features
- **🚀 Super Easy Setup**: Just 3 lines of code to get started
- **📊 Automatic Tracking**: Monitors your strategy's P&L automatically
- **📅 Monthly & Yearly Breakdown**: Shows profits/losses by month and year
- **🎨 Customizable Colors**: Choose your own color scheme
- **📍 Flexible Positioning**: Place the table anywhere on your chart
- **💯 Percentage & Dollar Values**: Shows both absolute and percentage returns
- **🔄 Real-time Updates**: Updates automatically as your strategy runs
## 🛠️ How to Use
// Import the library
import your_username/MonthlyProfitTable/1 as mpt
// In your strategy:
// Step 1: Create a profit tracker
var profitData = mpt.newProfitData()
// Step 2: Update tracking data
profitData := mpt.updateProfitData(profitData)
// Step 3: Display the table
mpt.showSimpleProfitTable(profitData)
## 🎨 Customization Options
- **Precision**: Control decimal places for numbers
- **Colors**: Customize header, cell, positive, and negative colors
- **Position**: Place table in any corner of your chart
- **Styling**: Choose between simple or custom styling
## 💡 Perfect For
- Strategy backtesting analysis
- Performance monitoring
- Professional strategy presentations
- Trading journals and reports
- Risk management analysis
## 📈 Example Output
Creates a table showing:
- Monthly profits/losses for each month
- Yearly totals and percentages
- Color-coded positive (green) and negative (red) values
- Clean, professional appearance
Transform your strategy analysis from basic equity curves to professional-grade monthly breakdowns!
**Compatible with all Pine Script v6 strategies. Works with any timeframe and symbol.**
RSI Zones - Directional Entry StrictRSI Zones - Directional Entry Strict
When RSI returns to the 60–65 zone from above, momentum is weakening and a sell is valid; above 65 suggests the zone may break. The same applies for buys at 35–40: returning from below signals momentum loss, while below 35 indicates likely breakout. Only consider divergence above 65 or below 35 for high-probability reversal setups.
Fair Value Gap & Liquidity Zones [Combined]mixed FVG and buyside and sellside liquidity
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Estilo Pako Mejorado - Tendencia, Liquidez y ConfirmaciónThis indicator is designed to replicate the entry logic used in high-accuracy institutional-style trading, specifically inspired by strategies used on XAU/USD (gold) in 15-minute timeframes.
It generates high-probability trade signals based on the following key conditions:
Clear market trend: Identified using the 20 EMA and 50 EMA crossover (trend confirmation).
Liquidity sweep detection: Triggers when price takes out recent highs/lows (20-bar lookback), suggesting stop-hunt behavior.
Candle confirmation: Requires a bullish or bearish engulfing candle as price reverts after the sweep.
Optional visual features include:
Order Blocks (OB): Displays the last opposite candle before a strong market move.
Liquidity zones: Marks recent swing highs/lows where liquidity likely sits.
The indicator only plots entry signals when all three conditions are aligned, aiming to reduce false positives and improve trade precision.
Best used on:
XAU/USD or major FX pairs
15-minute timeframe
In trending markets with clean structure
You can combine this indicator with alerts or automation tools to build a semi-automated or fully automated trading system.
Smart BB Reversal + Tick Volume Table [NR]This script combines:
Smart Bollinger Band Reversal Detection to identify high-probability reversal zones,
A real-time tick volume table showing Buy vs Sell strength over the last 10 trades (ticks),
Color-coded candles for trend clarity,
Buy/Sell signals based on volume pressure and support/resistance touches.
✅ Ideal for intraday and scalping traders.
✅ Works best on Nifty, BankNifty, and Gold.
✅ No repaint.
✅ Clear entry & exit with visual confirmations.
Use with Bollinger Band and MACD confirmation for best results.
Neuracap Gap AnalysisThe Neuracap Gap Analysis indicator is a comprehensive tool designed to identify and track price gaps, special candlestick patterns, and high-volume breakout signals. It combines multiple trading strategies into one powerful indicator for gap trading, pattern recognition, and momentum analysis.
🎯 What This Indicator Does
1. Gap Detection & Tracking
Automatically identifies price gaps (up and down)
Tracks gap fills with visual boxes that extend until closed
Manages gap history with customizable limits
Color-coded visualization (Green = Gap Up, Red = Gap Down)
2. Upside Tasuki Gap Pattern
Identifies the bullish continuation pattern
Colors candles yellow when pattern is detected
Confirms trend continuation signals
3. Episodic Pivot Detection
High-volume breakout identification
EMA filter ensures signals only in uptrends
Strong momentum confirmation
Fuchsia-colored candles with arrow markers
🔍 How to Use for Trading
📈 Gap Trading Strategy
Gap Up Trading:
Wait for gap up (green box appears)
Check volume - Higher volume = stronger signal
Entry options:
Aggressive: Enter at market open
Conservative: Wait for pullback to gap level
Stop loss: Below the gap fill level
Target: Previous resistance or 2:1 risk/reward
Gap Down Trading:
Identify gap down (red box appears)
Look for bounce opportunities
Entry: When price shows reversal signs
Stop: Below recent lows
Target: Gap fill level
💫 Tasuki Gap Strategy
Yellow candle indicates bullish continuation
Confirms uptrend is likely to continue
Entry: On next candle after pattern
Stop: Below the gap low
Target: Next resistance level
🚀 Episodic Pivot Strategy
Fuchsia candle + arrow = High probability breakout
All conditions met:
Price above EMA 20, 50, 200
High volume (2x+ average)
Strong price move (4%+)
Entry: At close or next open
Stop: Below EMA 20 or recent swing low
Target: Measured move or next resistance
📊 Reading the Visual Signals
Gap Boxes
🟢 Green Box: Gap up - potential bullish continuation
🔴 Red Box: Gap down - potential bounce or bearish continuation
Box extends until gap is filled
Box disappears when gap closes
Candle Colors
🟡 Yellow: Tasuki gap pattern (bullish continuation)
🟪 Fuchsia: Episodic pivot (high-volume breakout)
⬜ Normal: No special pattern detected
Arrows & Markers
⬆️ Triangle Arrow: Episodic pivot confirmation
💡 Trading Tips & Best Practices
✅ Do's
Combine with trend analysis - Trade gaps in direction of trend
Check volume - Higher volume = more reliable signals
Use multiple timeframes - Confirm on higher timeframes
Risk management - Always set stop losses
Wait for confirmation - Don't chase, let signals develop
❌ Don'ts
Don't trade all gaps - Focus on high-quality setups
Avoid low volume - Weak volume = unreliable signals
Don't ignore trend - Counter-trend trading is risky
Don't overtrade - Quality over quantity
Don't ignore context - Consider market conditions
⚠️ Risk Management
Position sizing: Risk 1-2% per trade
Stop losses: Always define before entry
Target levels: Set realistic profit targets
Market conditions: Avoid trading in choppy markets
📈 Performance Optimization
For Conservative Traders:
Increase minimum gap size to 1%
Set volume multiplier to 3.0x
Only trade episodic pivots in strong uptrends
Wait for gap fill confirmation
For Aggressive Traders:
Decrease minimum gap size to 0.3%
Set volume multiplier to 1.5x
Trade both gap types
Enter on pattern confirmation
🚨 Alert Setup
The indicator provides alerts for:
Gap Up Detected
Gap Down Detected
Upside Tasuki Gap
Episodic Pivot
Recommended: Enable all alerts and filter manually based on your strategy.
📝 Summary
This indicator excels at identifying high-probability trading opportunities through gap analysis, pattern recognition, and momentum confirmation. Use it as part of a complete trading system with proper risk management for best results.
Bitcoin 12/26 EMA Crossover with ADX Filter [5min Intraday]A trend-following strategy for Bitcoin on a 5-minute intraday chart, using 12/26 EMA crossovers with ADX and volume filters to reduce false signals in ranging markets.
Key Features:
Entries: Long: 12 EMA crosses above 26 EMA, ADX > 25, volume > 1.5x 20-period average.
Short: 12 EMA crosses below 26 EMA, ADX > 25, volume > 1.5x 20-period average.
Exits: Long: 2% stop loss or 12 EMA crosses below 26 EMA.
Short: 2% stop loss, 3% take profit, or 12 EMA crosses above 26 EMA.
Filters: ADX (14-period) > 25 ensures trending markets; volume filter confirms strong participation.
Multi-TF Candle Pattern Table — last 3 + formingUsing strat pattern, including 4 timeframe, you can directly modify timeframe on code. The up means it is a 2 candle, and separate them between 2U and 2D
Bank Nifty VWAP + RSI Alert//@version=5
indicator("Bank Nifty VWAP + RSI Alert", overlay=true)
// VWAP
vwapValue = ta.vwap
// RSI
rsiValue = ta.rsi(close, 14)
// Conditions
longCondition = close > vwapValue and rsiValue > 60
shortCondition = close < vwapValue and rsiValue < 40
// Plot signals on chart
plotshape(longCondition, style=shape.labelup, color=color.green, text="CALL")
plotshape(shortCondition, style=shape.labeldown, color=color.red, text="PUT")
// Alert conditions
alertcondition(longCondition, title="CALL Alert", message="Bank Nifty crossed above VWAP + RSI > 60 - Consider Call")
alertcondition(shortCondition, title="PUT Alert", message="Bank Nifty crossed below VWAP + RSI < 40 - Consider Put")
PulsePoint SqueezePulsePoint Squeeze™ is a dynamic momentum compression and divergence detection system built to help traders identify high-pressure zones before breakout moves. Combining RSI-based thresholds, price compression zones, and divergence cues, it offers high-clarity insights with minimal noise — ideal for intraday precision and swing positioning.
EMA Slope FilterEMA SLOPE FILTER....50EMA....You’ll see a line oscillating around zero; when it’s within ±0.1, treat the market as “flat.”
[FREE] Multiple Indicators Screener [NASAlgoTrading] Multiple Indicators Screener indicator is designed to help traders quickly scan multiple cryptocurrencies across different timeframes using a combination of proven technical indicators. It provides a comprehensive, at-a-glance view of market conditions to help identify high-probability trading opportunities.
How It Helps Traders Maximize Profits
✅ Saves Time – No need to switch between charts; all key metrics are displayed in one place.
✅ Confirms Trends – Combines multiple indicators to filter high-probability setups.
✅ Multi-Timeframe Alignment – Finds trades where short-term and long-term trends agree.
✅ Overbought/Oversold Alerts – Helps spot potential reversals using RSI, Stochastic, and TSI.
✅ Trend Strength Validation – ADX and Supertrend confirm whether a trend is worth trading.
Why Use This Script?
✔ Completely Free – No hidden costs or premium upgrades.
✔ Easy to Use – No complex setup; works out of the box.
✔ Customizable – Adjust timeframes, indicators, and assets to fit your strategy.
Best For:
Swing Traders – Identify trends across multiple timeframes.
Day Traders – Quickly scan for intraday opportunities.
Crypto Traders – Optimized for popular cryptocurrency pairs.
Start using this powerful screener today to enhance your trading efficiency and spot the best setups with ease! 🚀
Check List RSI Đồng Thuận Liền Kề + Gợi ý + Âm thanh + Vùngvào lệnh khung m15 Vợi sự đồng thuận của RSI ở các khung lớn hơn và nhỏ hơn liền kề : m5, m15,h1,h4
6868//@version=5
indicator(title='6868', shorttitle='ICHI', overlay=true)
// Version 1.1
// Created by NgheTrader
TS_D1 = input.int(9, minval=1, title='Tenkan-sen')
KS_D1 = input.int(17, minval=1, title='Kijun-sen')
TS_D2 = input.int(65, minval=1, title='Tenkan-sen')
KS_D2 = input.int(129, minval=1, title='Kijun-sen')
Chikou_Displacement = input.int(25, minval=1, title='Chikou-span')
SB = input.int(26, minval=1, title='Senko Span B')
donchian(len) =>
math.avg(ta.lowest(len), ta.highest(len))
Tenkan = donchian(TS_D1)
Kijun = donchian(KS_D1)
KumoA = math.avg(Tenkan, Kijun)
KumoB = donchian(SB)
DG65 = donchian(TS_D2)
DG129 = donchian(KS_D2)
plot(Tenkan, color=color.new(#0fc7db, 10), title='Tenkan-sen', linewidth=2)
plot(Kijun, color=color.new(#f00f0f, 10), title='Kijun-sen', linewidth=2)
plot(DG65, color=color.new(#f8e804e6, 10), title='dg65', linewidth=2)
plot(DG129, color=color.new(#f99b04, 10), title='DG129', linewidth=2)
plot(close, offset=-Chikou_Displacement, color=color.new(#9c27b0, 10), title='Chikou-span', linewidth=2)
p1 = plot(KumoA, offset=Chikou_Displacement, color=color.new(#0cb71a, 0), linewidth=1, title='Span A')
p2 = plot(KumoB, offset=Chikou_Displacement, color=color.new(#afaaaac5,0), linewidth=1, title='Span B')
fill(p1, p2, color=KumoA > KumoB ? color.new(#106323,80) : color.new(#e4e1e1,0), title='Kumo Cloud')
// Plot Future Lines
Midpoint_future1(len) =>
math.avg(ta.highest(len - 1), ta.lowest(len - 1))
Midpoint_future2(len) =>
math.avg(ta.highest(len - 2), ta.lowest(len - 2))
Midpoint_future3(len) =>
math.avg(ta.highest(len - 3), ta.lowest(len - 3))
Midpoint_future4(len) =>
math.avg(ta.highest(len - 4), ta.lowest(len - 4))
Midpoint_future5(len) =>
math.avg(ta.highest(len - 5), ta.lowest(len - 5))
Midpoint_future6(len) =>
math.avg(ta.highest(len - 6), ta.lowest(len - 6))
Midpoint_future7(len) =>
math.avg(ta.highest(len - 7), ta.lowest(len - 7))
Midpoint_future8(len) =>
math.avg(ta.highest(len - 8), ta.lowest(len - 8))
Midpoint_future9(len) =>
math.avg(ta.highest(len - 9), ta.lowest(len - 9))
Midpoint_future10(len) =>
math.avg(ta.highest(len - 10), ta.lowest(len - 10))
Midpoint_future11(len) =>
math.avg(ta.highest(len - 11), ta.lowest(len - 11))
Midpoint_future12(len) =>
math.avg(ta.highest(len - 12), ta.lowest(len - 12))
Midpoint_future13(len) =>
math.avg(ta.highest(len - 13), ta.lowest(len - 13))
Midpoint_future14(len) =>
math.avg(ta.highest(len - 14), ta.lowest(len - 14))
// Plot Future Daily Kijun
KJ_Next_1 = Midpoint_future1(KS_D1)
KJ_Next_2 = Midpoint_future2(KS_D1)
KJ_Next_3 = Midpoint_future3(KS_D1)
KJ_Next_4 = Midpoint_future4(KS_D1)
KJ_Next_5 = Midpoint_future5(KS_D1)
KJ_Next_6 = Midpoint_future6(KS_D1)
KJ_Next_7 = Midpoint_future7(KS_D1)
KJ_Next_8 = Midpoint_future8(KS_D1)
KJ_Next_9 = Midpoint_future9(KS_D1)
KJ_Next_10 = Midpoint_future10(KS_D1)
plot(KJ_Next_1, color=color.new(#f00f0f, 10), linewidth=1, offset=1, show_last=1, style=plot.style_circles)
plot(KJ_Next_2, color=color.new(#f00f0f, 10), linewidth=1, offset=2, show_last=1, style=plot.style_circles)
plot(KJ_Next_3, color=color.new(#f00f0f, 10), linewidth=1, offset=3, show_last=1, style=plot.style_circles)
plot(KJ_Next_4, color=color.new(#f00f0f, 10), linewidth=1, offset=4, show_last=1, style=plot.style_circles)
plot(KJ_Next_5, color=color.new(#f00f0f, 10), linewidth=1, offset=5, show_last=1, style=plot.style_circles)
plot(KJ_Next_6, color=color.new(#f00f0f, 10), linewidth=1, offset=6, show_last=1, style=plot.style_circles)
plot(KJ_Next_7, color=color.new(#f00f0f, 10), linewidth=1, offset=7, show_last=1, style=plot.style_circles)
plot(KJ_Next_8, color=color.new(#f00f0f, 10), linewidth=1, offset=8, show_last=1, style=plot.style_circles)
plot(KJ_Next_9, color=color.new(#f00f0f, 10), linewidth=1, offset=9, show_last=1, style=plot.style_circles)
plot(KJ_Next_10,color=color.new(#f00f0f, 10), linewidth=1, offset=10, show_last=1, style=plot.style_circles)
// Plot Future Daily Tenkan
TS_Next_1 = Midpoint_future1(TS_D1)
TS_Next_2 = Midpoint_future2(TS_D1)
TS_Next_3 = Midpoint_future3(TS_D1)
TS_Next_4 = Midpoint_future4(TS_D1)
TS_Next_5 = Midpoint_future5(TS_D1)
TS_Next_6 = Midpoint_future6(TS_D1)
TS_Next_7 = Midpoint_future7(TS_D1)
TS_Next_8 = Midpoint_future8(TS_D1)
plot(TS_Next_1, color=color.new(#0fc7db, 10), linewidth=1, offset=1, show_last=1, style=plot.style_circles)
plot(TS_Next_2, color=color.new(#0fc7db, 10), linewidth=1, offset=2, show_last=1, style=plot.style_circles)
plot(TS_Next_3, color=color.new(#0fc7db, 10), linewidth=1, offset=3, show_last=1, style=plot.style_circles)
plot(TS_Next_4, color=color.new(#0fc7db, 10), linewidth=1, offset=4, show_last=1, style=plot.style_circles)
plot(TS_Next_5, color=color.new(#0fc7db, 10), linewidth=1, offset=5, show_last=1, style=plot.style_circles)
plot(TS_Next_6, color=color.new(#0fc7db, 10), linewidth=1, offset=6, show_last=1, style=plot.style_circles)
plot(TS_Next_7, color=color.new(#0fc7db, 10), linewidth=1, offset=7, show_last=1, style=plot.style_circles)
plot(TS_Next_8, color=color.new(#0fc7db, 10), linewidth=1, offset=8, show_last=1, style=plot.style_circles)
// Plot Future Kumo A
Next_KumoA_1 = Midpoint_future1(TS_D2)
Next_KumoA_2 = Midpoint_future2(TS_D2)
Next_KumoA_3 = Midpoint_future3(TS_D2)
Next_KumoA_4 = Midpoint_future4(TS_D2)
Next_KumoA_5 = Midpoint_future5(TS_D2)
Next_KumoA_6 = Midpoint_future6(TS_D2)
Next_KumoA_7 = Midpoint_future7(TS_D2)
Next_KumoA_8 = Midpoint_future8(TS_D2)
Next_KumoA_9 = Midpoint_future9(TS_D2)
plot(Next_KumoA_1, color=color.new(#f8e804e6, 10), linewidth=1, offset=1, show_last=1, style=plot.style_circles)
plot(Next_KumoA_2, color=color.new(#f8e804e6, 10), linewidth=1, offset=2, show_last=1, style=plot.style_circles)
plot(Next_KumoA_3, color=color.new(#f8e804e6, 10), linewidth=1, offset=3, show_last=1, style=plot.style_circles)
plot(Next_KumoA_4, color=color.new(#f8e804e6, 10), linewidth=1, offset=4, show_last=1, style=plot.style_circles)
plot(Next_KumoA_5, color=color.new(#f8e804e6, 10), linewidth=1, offset=5, show_last=1, style=plot.style_circles)
plot(Next_KumoA_6, color=color.new(#f8e804e6, 10), linewidth=1, offset=6, show_last=1, style=plot.style_circles)
plot(Next_KumoA_7, color=color.new(#f8e804e6, 10), linewidth=1, offset=7, show_last=1, style=plot.style_circles)
plot(Next_KumoA_8, color=color.new(#f8e804e6, 10), linewidth=1, offset=8, show_last=1, style=plot.style_circles)
plot(Next_KumoA_9, color=color.new(#f8e804e6, 10), linewidth=1, offset=9, show_last=1, style=plot.style_circles)
// Plot Future Kumo B
KB_Next_1 = Midpoint_future1(KS_D2)
KB_Next_2 = Midpoint_future2(KS_D2)
KB_Next_3 = Midpoint_future3(KS_D2)
KB_Next_4 = Midpoint_future4(KS_D2)
KB_Next_5 = Midpoint_future5(KS_D2)
KB_Next_6 = Midpoint_future6(KS_D2)
KB_Next_7 = Midpoint_future7(KS_D2)
KB_Next_8 = Midpoint_future8(KS_D2)
KB_Next_9 = Midpoint_future9(KS_D2)
KB_Next_10 = Midpoint_future10(KS_D2)
KB_Next_11 = Midpoint_future11(KS_D2)
KB_Next_12 = Midpoint_future12(KS_D2)
KB_Next_13 = Midpoint_future13(KS_D2)
KB_Next_14 = Midpoint_future14(KS_D2)
plot(KB_Next_1, color=color.rgb(253, 173, 0), linewidth=1, offset=1, show_last=1, style=plot.style_circles)
plot(KB_Next_2, color=color.rgb(253, 173, 0), linewidth=1, offset=2, show_last=1, style=plot.style_circles)
plot(KB_Next_3, color=color.rgb(253, 173, 0), linewidth=1, offset=3, show_last=1, style=plot.style_circles)
plot(KB_Next_4, color=color.rgb(253, 173, 0), linewidth=1, offset=4, show_last=1, style=plot.style_circles)
plot(KB_Next_5, color=color.rgb(253, 173, 0), linewidth=1, offset=5, show_last=1, style=plot.style_circles)
plot(KB_Next_6, color=color.rgb(253, 173, 0), linewidth=1, offset=6, show_last=1, style=plot.style_circles)
plot(KB_Next_7, color=color.rgb(253, 173, 0), linewidth=1, offset=7, show_last=1, style=plot.style_circles)
plot(KB_Next_8, color=color.rgb(253, 173, 0), linewidth=1, offset=8, show_last=1, style=plot.style_circles)
plot(KB_Next_9, color=color.rgb(253, 173, 0), linewidth=1, offset=9, show_last=1, style=plot.style_circles)
plot(KB_Next_10, color=color.rgb(253, 173, 0), linewidth=1, offset=10, show_last=1, style=plot.style_circles)
plot(KB_Next_11, color=color.rgb(253, 173, 0), linewidth=1, offset=11, show_last=1, style=plot.style_circles)
plot(KB_Next_12, color=color.rgb(253, 173, 0), linewidth=1, offset=12, show_last=1, style=plot.style_circles)
plot(KB_Next_13, color=color.rgb(253, 173, 0), linewidth=1, offset=13, show_last=1, style=plot.style_circles)
plot(KB_Next_14, color=color.rgb(253, 173, 0), linewidth=1, offset=14, show_last=1, style=plot.style_circles)
var line greenLine = na
var line redLine = na
xGreen = bar_index - 8
xRed = bar_index - 16
// Dùng khoảng 100 nến gần nhất để lấy phạm vi giá hiện hành
lookback = 100
top = ta.highest(high, lookback)
bottom = ta.lowest(low, lookback)
if bar_index > 17
line.delete(greenLine)
line.delete(redLine)
greenLine := line.new( x1 = xGreen, y1 = top, x2 = xGreen, y2 = bottom, color=color.new(#0fc7db, 85), width = 4)
redLine := line.new( x1 = xRed, y1 = top, x2 = xRed, y2 = bottom,color =color.new(#f00f0f, 85), width = 4 )
10/50 EMA Cloud + 21 EMA + VWAP + FractalsThis indicator is designed for active traders and combines several popular technical analysis tools into a single, easy-to-use overlay. It helps traders identify trend direction, dynamic support and resistance, and potential reversal points, all while providing optional fractal signals for added clarity.
Features and Components
1. EMA Cloud (10/50 EMA)
10-period EMA (Exponential Moving Average): Tracks short-term price momentum.
50-period EMA: Represents a longer-term trend.
Cloud Visualization: The area between the 10 and 50 EMA is filled with color:
Green cloud when the 10 EMA is above the 50 EMA, signaling bullish momentum.
Red cloud when the 10 EMA is below the 50 EMA, signaling bearish momentum.
Purpose: Quickly visualize the prevailing trend and potential trend shifts.
2. 21-period EMA
21 EMA: Plotted as a blue line, this moving average is widely used to gauge intermediate-term trend and dynamic support/resistance.
Purpose: Acts as a reference for trend-following entries and exits.
3. VWAP (Volume Weighted Average Price)
VWAP Line: Plotted in orange, VWAP gives the average price weighted by volume for the session.
Purpose: Useful for identifying fair value, potential bounce/reversal zones, and institutional interest levels.
4. Fractals (Toggleable)
User Option: A setting allows the user to turn fractal signals on or off.
Fractal Logic: Uses a 5-bar pattern:
Up Fractal: Plots a green triangle above the bar if the high of the middle bar (2 bars ago) is higher than the highs of the two bars before and after.
Down Fractal: Plots a red triangle below the bar if the low of the middle bar (2 bars ago) is lower than the lows of the two bars before and after.
Purpose: Highlights potential short-term reversal points or swing highs/lows.
5. Volume Bars
Volume Histogram: Plotted in gray at the bottom of the chart.
Purpose: Provides context for price action, helping to confirm breakouts or identify exhaustion.
How to Use This Indicator
Trend Identification: Use the EMA cloud and 21 EMA to determine the prevailing trend. Trade in the direction of the cloud color and EMA alignment.
VWAP Strategies: Look for price reactions at the VWAP for possible rebounds, breakouts, or reversals.
Fractal Signals: Enable fractals to spot potential reversal zones or to fine-tune entries/exits at swing points.
Volume Confirmation: Use volume bars to validate the strength of moves, especially near key EMAs or VWAP.
Customization
Fractals On/Off: Easily toggle fractal signals in the indicator settings to reduce chart clutter or focus on other signals as needed.
Multiple MAs for Daily and IntradayMultiple DMAs (5, 8, 10, 21, 50, 65, 200) and their equivalent in lower timeframes (3min, 30min, 65min) with the options to select from SMA or EMA.
Price - MA DifferencePlots the difference between the closing price and a moving average (either SMA or EMA) in a separate pane. It includes:
Dropdown to choose between SMA and EMA
Adjustable length (default 21)
Yellow color as default for the plot
8/21 EMA Early Buy/Sell + Golden CrossThis is a a really easy 8/21 EMA Buy/Sell Indicator with a Golden/Death Cross warning plus the ability to adjust and add Early Buy/Sell's
How it works:
Standard BUY/SELL: 8/21 EMA cross as usual.
EARLY SELL: After a strong price up move, EMA8 still above EMA21, and EMA8 turns down.
EARLY BUY: After a strong price down move, EMA8 still below EMA21, and EMA8 turns up.
Golden/Death Cross: From daily 50/200 SMA.
Recommended Colours:
8 EMA Red
21 EMA Blue
50 SMA Purple
200 SMA White
CVD Signal (Above/Below Zero Line)CVD Long or Short Signal when the CVD is above or below zero line.