Support Resistance By VIPIN(30D • MTF • Safe v4)This script automatically detects and plots strong Support & Resistance levels based on pivot highs/lows within a custom lookback period.
Key features:
• Lookback window (days): Select how many past days to scan for pivots.
• Pivot strength: Adjustable left/right bars to filter minor vs. strong swings.
• Clustering: Nearby levels are merged using either ATR-based proximity or percentage proximity.
• Touches count: Each level records how many times it has been tested/retested.
• Ranking: Top N strongest support and resistance levels are highlighted.
• Multi-Timeframe (MTF): Option to detect levels from a higher timeframe while viewing a lower chart.
• Labels: Show price, touch count, and timeframe (optional), with ability to shift labels to the right of current price action.
• Custom styling: Colors, line width, and label placement are fully configurable.
This tool is designed for traders who want to quickly identify key zones of market reaction.
It is not a buy/sell signal generator, but an analytical aid to help you make better decisions alongside your own strategy.
⸻
🔹 How to use
1. Apply on your desired symbol and timeframe.
2. Adjust pivot length and lookback to control sensitivity.
3. Use ATR or % proximity for clustering based on market volatility.
4. Combine levels with your own price action, volume, or strategy confirmation.
This script is created for educational purposes to help traders understand how Support and Resistance zones are formed in the market.
It shows how price reacts to certain levels by:
• Identifying pivots (swing highs and lows).
• Merging nearby levels into zones using ATR or percentage-based proximity.
• Counting how many times a level has been tested or touched.
• Highlighting the most relevant zones with labels.
By studying these zones, traders can learn:
• How markets often respect previously tested levels.
• Why certain levels act as barriers (support or resistance).
• How different timeframes can show different key levels.
⚠️ Note:
This indicator is intended as a learning & analysis tool only. It does not provide buy/sell signals or guarantee results. Always combine it with your own knowledge, analysis, and risk management.
圖表形態
MTF RSI + ADX + ATR SL/TPThis strategy combines the power of multi-timeframe RSI filtering with ADX trend confirmation and ATR-based risk management to capture strong directional moves.
🔑 Entry Rules:
• Daily RSI > 60
• 4H RSI > 60
• 1H RSI > 60
• 10m RSI > 40
• ADX (current timeframe) > 20
When all conditions align, a long entry is triggered.
🛡 Risk Management:
• ATR-based Stop-Loss (customizable multiplier)
• Take-Profit defined as a Risk-Reward multiple of the ATR stop
🎯 Why this Strategy?
• Ensures alignment across higher timeframes before entering a trade
• Uses ADX to avoid choppy/range-bound markets
• Built-in ATR stop-loss & take-profit for disciplined risk control
• Fully customizable parameters
This strategy is designed for trend-following swing entries. It works best on liquid instruments such as indices, forex pairs, and large-cap stocks. Always optimize the parameters based on your preferred asset and timeframe.
Gap Up HighlighterIdentifies stocks which meet the following conditions
1) Todays Open > 1.03* Previous day high
2) Todays Close > 1.03* Previous day high
Consecutive Candle Body Expansion with VolumeConsecutive Candle Body Expansion with Volume
This tool is designed to help traders identify moments of strong directional momentum in the market. It highlights potential buy and sell opportunities by combining candlestick behavior with volume confirmation.
✨ Key Features
Detects when the market shows consistent momentum in one direction.
Filters signals with volume confirmation, avoiding low-activity noise.
Highlights possible continuation signals for both bullish and bearish moves.
Works on any asset and any timeframe — from scalping to swing trading.
🛠 How to Use
Green labels suggest potential buying opportunities.
Red labels suggest potential selling opportunities.
Best used in combination with your own risk management rules and other indicators (like support/resistance or moving averages).
⚠️ Note: This is not financial advice. Always backtest before applying in live trading.
Near New High ScreenerA simple indicator intended to be used in a pinescript scanner to find stocks that are re reaching highs after a pullback or base formation. To use add it as a favourite indicator so it can be selected in a pinescript scanner.
In the settings you can select whether to use the highest high or highest close for the previous high (defaults to close) and whether to use the all time high or the high from the last X days (defaults to 252 days).
Once opened in a pine scanner apply to a watchlist and scan. Stocks with a positive % have broken out from a previous high today, those with a negative % are that % away from the previous high.
You can sort by the “Pct from Prev High%” column or use the scanner filter to filter for stocks between two values, for example between 0 and -5% to find stocks near a new high, or >0 to find stocks that have broken out today.
Gold Buy Sell Signals V2* This custom **30-minute breakout indicator** is designed especially for **Gold (XAUUSD) traders**.
It highlights three key candles of the day (IST 5:30 AM, 1:30 PM, and 6:30 PM), marking their **high and low levels** as support and resistance zones.
👉 By following this structured breakout strategy, traders can consistently capture **40–50 pips** in Gold with high accuracy, while keeping trading decisions simple and rule-based.
---
ابوفيصلالقنلء السعرية
The Traders Trend Dashboard (ابوفصل) is a comprehensive trend analysis tool designed to assist traders in making informed trading decisions across various markets and timeframes. Unlike conventional trend-following scripts,ابو فيصل goes beyond simple trend detection by incorporating
Unicorn Model[Pro++]by TriummWhat is the Unicorn Model?
The Unicorn Model is an intraday trading setup taught by ICT that combines:
Liquidity raids (stop hunts)
Market structure shift (BOS/CHOCH)
Fair Value Gap (FVG) entry
Key time & session context
It’s called the “Unicorn” because it’s a rare but high-probability model that delivers very clean moves when it sets up correctly.
🔹 Core Components of the Unicorn Model
Liquidity Grab (Sweep)
Market first raids a key level (previous day’s high/low, session high/low, Asian range).
This removes liquidity and traps traders.
Market Structure Shift (MSS / CHoCH)
After the sweep, price breaks structure in the opposite direction.
This signals a shift in order flow.
Fair Value Gap (FVG) or Order Block Entry
Wait for price to retrace into the imbalance (FVG) or OB formed by the move.
Entry is taken here in line with the new direction.
Time & Session Context
Usually forms around London or New York Killzones (ICT emphasizes time of day).
Often tied to daily bias (using daily open, previous day high/low, etc.).
Target
Opposite liquidity pool (e.g., if raid was above → target below).
Often uses ADR levels, previous session lows, or equal lows/highs.
🔹 Example Flow (Bearish Unicorn)
Price trades above Asia High (liquidity sweep).
Then forms a market structure shift (BOS to downside).
A bearish FVG is left behind.
Price retraces into that FVG.
Entry short → target Asia Low or previous day low.
🔹 Why It’s Powerful
Filters fake breakouts → wait for liquidity + structure shift.
Adds precision → entry only on FVG retracement.
Works best when aligned with daily bias (discount/premium model).
🔹 Key Confluences for Unicorn
Session killzones (London Open, NY AM/PM).
Daily bias (above/below daily open).
Liquidity sweep (old highs/lows).
Fair Value Gap retracement.
Targets = liquidity pools.
✅ In short:
The ICT Unicorn Model = A “liquidity sweep + market structure shift + FVG retracement” setup, best taken in London/NY sessions, targeting opposite liquidity. It’s one of ICT’s cleanest intraday models for precision entries.
ict key level Pro++What Are ICT Key Levels?
ICT Key Levels are specific price reference points that institutions, market makers, and smart money use to set liquidity pools and trading ranges.
They aren’t random – they’re based on time, liquidity, and symmetry of price delivery.
Think of them like "road signs" in the market where big decisions happen (stop hunts, reversals, or continuations).
🔹 Major ICT Key Levels
Here are the most common ones:
1. Daily / Weekly / Monthly Highs & Lows
Previous day’s high/low
Previous week’s high/low
Previous month’s high/low
📌 Why important?
→ These act as liquidity pools. Stops gather here. Price often sweeps them before reversing.
2. Midpoint Levels (50% Equilibrium)
50% of the daily/weekly/monthly range.
ICT calls this equilibrium.
📌 Why important?
→ Above 50% = premium (expensive for buys, good for sells).
→ Below 50% = discount (cheap for buys, bad for sells).
3. Opening Price Levels
Daily Open → sets intraday bias.
Weekly Open → sets weekly bias.
Midnight Open (00:00 NY Time) → ICT uses this as a daily anchor.
📌 Why important?
→ If price stays above the daily/weekly open → bullish bias.
→ If below → bearish bias.
4. Session Highs & Lows
Asia Range High/Low
London Session High/Low
New York Session High/Low
📌 Why important?
→ Asia range often acts as liquidity for London to raid.
→ London high/low often becomes setup for NY session moves.
5. Yearly & Quarterly Highs/Lows
The yearly high/low is a massive liquidity pool.
Quarterly levels (Q1, Q2, Q3, Q4) also attract institutional activity.
📌 Why important?
→ Acts as long-term magnets for swing trading.
6. Figures & Round Numbers (Big Figures)
00.00, 50.00, 25.00, 75.00 levels.
Example: EURUSD → 1.1000, 1.1050, 1.1100.
📌 Why important?
→ Institutions like clean, even levels for orders.
🔹 How ICT Uses Key Levels
Liquidity Concept
Price raids old highs/lows to grab stops.
After liquidity grab → reversal or continuation.
Bias Filter
Above daily open? → bullish bias.
Below daily open? → bearish bias.
Confluence with Setups
Order blocks + Fair Value Gaps (FVGs) + Key Levels = high probability.
🔹 Example Trading Scenarios
London Judas Swing → Price raids Asian high (key level) then reverses for London trend.
Daily Bias → If price trades above daily open & rejects previous day’s low = bullish bias.
Weekly Expansion
Ict kill zone Pro++What is Season High / Low?
A Seasonal High/Low refers to price levels (highs or lows) that tend to form during specific times of the year (or season).
It’s based on the idea that markets have repeating cycles influenced by:
Economic reports (quarterly earnings, GDP releases, crop harvest cycles, etc.)
Institutional flows (quarterly rebalancing, end-of-year tax moves)
Natural/commodity cycles (oil demand in winter, crop harvest in fall, etc.)
🔹 Types of Seasonal Highs & Lows
Annual Season High/Low
Highest and lowest price of the year.
Example: EURUSD 2023 high/low.
Useful for long-term key levels.
Quarterly Season High/Low
Highs & lows of each 3-month quarter.
Institutions rebalance portfolios each quarter → causing strong moves.
Monthly Season High/Low
Highs & lows formed within each calendar month.
Often used for swing trading.
🔹 Why Season High/Low Matters
Liquidity Pools → Old highs/lows attract stop hunts (smart money loves to raid seasonal levels).
Bias Reference → If price is above yearly low but below yearly high → you know the market is “inside the yearly range.”
Institutional Targets → Many funds benchmark against yearly/quarterly levels.
Confluence → Combining OBs, FVGs, ADR, and seasonal highs/lows = stronger zones.
🔹 Example (ICT style use)
If price trades near the yearly low, expect either:
✅ A liquidity sweep (false break) before rally, or
✅ A breakdown continuation if institutions want discount pricing.
If price trades near the quarterly high, it’s often used as a “draw on liquidity” target.
🔹 How Traders Use Them
Mark Yearly High & Low (from January – December).
Mark Quarterly Highs/Lows (Q1, Q2, Q3, Q4).
Watch how price reacts when approaching these zones:
Liquidity sweeps
Reversals
Breakouts
✅ In short:
Season Highs & Lows = Key reference points from specific time periods (yearly, quarterly, monthly).
They act as institutional liquidity magnets and are critical for identifying long-term bias, liquidity raids, and market cycle transitions.
session High/Low (Triumm)// This Pine Script® code is subject to the terms of the Mozilla Public License 2.0 at mozilla.org
// © Triummm
//@version=6
indicator("Trading session High/Low (Triumm)", overlay=true)
//──────── Fixed timezone (NY clock = UTC‑4) ────────
sessTz = "Etc/GMT+4"
//──────── Toggle for swept-dot feature ─────────────
useSweepDots = input.bool(true, "Dot swept lines", tooltip="If ON, a level turns dotted once price sweeps it AFTER the session closes")
//──────── Session inputs ────────────────────────────────────────────────────
// Asia
showAsia = input.bool(true, "Show Asia", group="Asia Session")
asiaRange = input.session("1800-0300", "Asia Time (UTC‑4) 24h", group="Asia Session")
asiaCol = input.color(color.rgb(243, 33, 33), "Color", group="Asia Session")
asiaW = input.int(1, "Width", minval=1, maxval=5, group="Asia Session")
asiaStyleStr = input.string("Solid", "Line Style", options= , group="Asia Session")
asiaTransp = input.int(0, "Transparency (%)", minval=0, maxval=100, group="Asia Session")
// London
showLon = input.bool(true, "Show London", group="London Session")
lonRange = input.session("0300-0930", "London Time (UTC‑4) 24h", group="London Session")
lonCol = input.color(color.rgb(76, 153, 255), "Color", group="London Session")
lonW = input.int(1, "Width", minval=1, maxval=5, group="London Session")
lonStyleStr = input.string("Solid", "Line Style", options= , group="London Session")
lonTransp = input.int(0, "Transparency (%)", minval=0, maxval=100, group="London Session")
// New York
showNY = input.bool(true, "Show NY", group="NY Session")
nyRange = input.session("0930-1600", "NY Time (UTC‑4) 24h", group="NY Session")
nyCol = input.color(color.rgb(11, 173, 125), "Color", group="NY Session")
nyW = input.int(1, "Width", minval=1, maxval=5, group="NY Session")
nyStyleStr = input.string("Solid", "Line Style", options= , group="NY Session")
nyTransp = input.int(0, "Transparency (%)", minval=0, maxval=100, group="NY Session")
//──────── Helpers ───────────────────────────────────────────────────────────
styleFromStr(s) =>
s == "Dashed" ? line.style_dashed : s == "Dotted" ? line.style_dotted :line.style_solid
resetStyleIfNeeded(l, baseStyle) =>
if not na(l)
line.set_style(l, baseStyle)
// map styles
asiaStyle = styleFromStr(asiaStyleStr)
lonStyle = styleFromStr(lonStyleStr)
nyStyle = styleFromStr(nyStyleStr)
//──────── Asia state ────────────────────────────────────────────────────────
var float asia_hi = na
var float asia_lo = na
var int asia_hi_bi = na
var int asia_lo_bi = na
var line asia_hL = na
var line asia_lL = na
var bool asia_hi_sw = false
var bool asia_lo_sw = false
inAsia = not na(time(timeframe.period, asiaRange, sessTz))
newAsia = inAsia and not inAsia
if newAsia
line.delete(asia_hL), line.delete(asia_lL)
asia_hi := high, asia_lo := low
asia_hi_bi := na, asia_lo_bi := na
asia_hi_sw := false, asia_lo_sw := false
if showAsia and inAsia
if (na(asia_hi_bi) and bar_index > bar_index ) or high > asia_hi
asia_hi := high, asia_hi_bi := bar_index, asia_hi_sw := false
if na(asia_hL)
asia_hL := line.new(asia_hi_bi, asia_hi, asia_hi_bi + 1, asia_hi, xloc.bar_index, extend.right,color.new(asiaCol, asiaTransp), asiaStyle, asiaW)
else
line.set_xy1(asia_hL, asia_hi_bi, asia_hi)
line.set_xy2(asia_hL, asia_hi_bi + 1, asia_hi)
line.set_style(asia_hL, asiaStyle)
if (na(asia_lo_bi) and bar_index > bar_index ) or low < asia_lo
asia_lo := low, asia_lo_bi := bar_index, asia_lo_sw := false
if na(asia_lL)
asia_lL := line.new(asia_lo_bi, asia_lo, asia_lo_bi + 1, asia_lo, xloc.bar_index, extend.right,color.new(asiaCol, asiaTransp), asiaStyle, asiaW)
else
line.set_xy1(asia_lL, asia_lo_bi, asia_lo)
line.set_xy2(asia_lL, asia_lo_bi + 1, asia_lo)
line.set_style(asia_lL, asiaStyle)
// sweep detection AFTER session
canSweepAsia = useSweepDots and not inAsia
if showAsia
if canSweepAsia
if not asia_hi_sw and not na(asia_hi_bi) and high > asia_hi // strict break
line.set_style(asia_hL, line.style_dotted), asia_hi_sw := true
if not asia_lo_sw and not na(asia_lo_bi) and low < asia_lo // strict break
line.set_style(asia_lL, line.style_dotted), asia_lo_sw := true
else
resetStyleIfNeeded(asia_hL, asiaStyle)
resetStyleIfNeeded(asia_lL, asiaStyle)
if not showAsia
line.delete(asia_hL), line.delete(asia_lL)
asia_hL := na, asia_lL := na
//──────── London state ─────────────────────────────────────────────────────
var float lon_hi = na
var float lon_lo = na
var int lon_hi_bi = na
var int lon_lo_bi = na
var line lon_hL = na
var line lon_lL = na
var bool lon_hi_sw = false
var bool lon_lo_sw = false
inLon = not na(time(timeframe.period, lonRange, sessTz))
newLon = inLon and not inLon
if newLon
line.delete(lon_hL), line.delete(lon_lL)
lon_hi := high, lon_lo := low
lon_hi_bi := na, lon_lo_bi := na
lon_hi_sw := false, lon_lo_sw := false
if showLon and inLon
if (na(lon_hi_bi) and bar_index > bar_index ) or high > lon_hi
lon_hi := high, lon_hi_bi := bar_index, lon_hi_sw := false
if na(lon_hL)
lon_hL := line.new(lon_hi_bi, lon_hi, lon_hi_bi + 1, lon_hi,
xloc.bar_index, extend.right,
color.new(lonCol, lonTransp), lonStyle, lonW)
else
line.set_xy1(lon_hL, lon_hi_bi, lon_hi)
line.set_xy2(lon_hL, lon_hi_bi + 1, lon_hi)
line.set_style(lon_hL, lonStyle)
if (na(lon_lo_bi) and bar_index > bar_index ) or low < lon_lo
lon_lo := low, lon_lo_bi := bar_index, lon_lo_sw := false
if na(lon_lL)
lon_lL := line.new(lon_lo_bi, lon_lo, lon_lo_bi + 1, lon_lo,
xloc.bar_index, extend.right,
color.new(lonCol, lonTransp), lonStyle, lonW)
else
line.set_xy1(lon_lL, lon_lo_bi, lon_lo)
line.set_xy2(lon_lL, lon_lo_bi + 1, lon_lo)
line.set_style(lon_lL, lonStyle)
// sweep detection AFTER session
canSweepLon = useSweepDots and not inLon
if showLon
if canSweepLon
if not lon_hi_sw and not na(lon_hi_bi) and high > lon_hi
line.set_style(lon_hL, line.style_dotted), lon_hi_sw := true
if not lon_lo_sw and not na(lon_lo_bi) and low < lon_lo
line.set_style(lon_lL, line.style_dotted), lon_lo_sw := true
else
resetStyleIfNeeded(lon_hL, lonStyle)
resetStyleIfNeeded(lon_lL, lonStyle)
if not showLon
line.delete(lon_hL), line.delete(lon_lL)
lon_hL := na, lon_lL := na
//──────── New York state ───────────────────────────────────────────────────
var float ny_hi = na
var float ny_lo = na
var int ny_hi_bi = na
var int ny_lo_bi = na
var line ny_hL = na
var line ny_lL = na
var bool ny_hi_sw = false
var bool ny_lo_sw = false
inNY = not na(time(timeframe.period, nyRange, sessTz))
newNY = inNY and not inNY
if newNY
line.delete(ny_hL), line.delete(ny_lL)
ny_hi := high, ny_lo := low
ny_hi_bi := na, ny_lo_bi := na
ny_hi_sw := false, ny_lo_sw := false
if showNY and inNY
if (na(ny_hi_bi) and bar_index > bar_index ) or high > ny_hi
ny_hi := high, ny_hi_bi := bar_index, ny_hi_sw := false
if na(ny_hL)
ny_hL := line.new(ny_hi_bi, ny_hi, ny_hi_bi + 1, ny_hi,
xloc.bar_index, extend.right,
color.new(nyCol, nyTransp), nyStyle, nyW)
else
line.set_xy1(ny_hL, ny_hi_bi, ny_hi)
line.set_xy2(ny_hL, ny_hi_bi + 1, ny_hi)
line.set_style(ny_hL, nyStyle)
if (na(ny_lo_bi) and bar_index > bar_index ) or low < ny_lo
ny_lo := low, ny_lo_bi := bar_index, ny_lo_sw := false
if na(ny_lL)
ny_lL := line.new(ny_lo_bi, ny_lo, ny_lo_bi + 1, ny_lo,
xloc.bar_index, extend.right,
color.new(nyCol, nyTransp), nyStyle, nyW)
else
line.set_xy1(ny_lL, ny_lo_bi, ny_lo)
line.set_xy2(ny_lL, ny_lo_bi + 1, ny_lo)
line.set_style(ny_lL, nyStyle)
// sweep detection AFTER session
canSweepNY = useSweepDots and not inNY
if showNY
if canSweepNY
if not ny_hi_sw and not na(ny_hi_bi) and high > ny_hi
line.set_style(ny_hL, line.style_dotted), ny_hi_sw := true
if not ny_lo_sw and not na(ny_lo_bi) and low < ny_lo
line.set_style(ny_lL, line.style_dotted), ny_lo_sw := true
else
resetStyleIfNeeded(ny_hL, nyStyle)
resetStyleIfNeeded(ny_lL, nyStyle)
if not showNY
line.delete(ny_hL), line.delete(ny_lL)
ny_hL := na, ny_lL := na
OB old version by triummWhat is an Order Block?
In Smart Money Concepts (SMC), an order block (OB) is the last bullish or bearish candle before a strong impulsive move that breaks structure.
A Bullish OB → the last down candle before price moves strongly up.
A Bearish OB → the last up candle before price moves strongly down.
Order blocks represent areas where institutions or “smart money” placed large buy/sell orders.
🔹 What is a Volume Order Block?
A Volume Order Block adds a volume filter to standard order blocks.
Instead of just marking any OB, it highlights only those that are confirmed by abnormally high trading volume.
📌 Logic:
When banks/institutions create OBs, they usually inject big volume into the market.
Regular OBs may appear everywhere, but volume-based OBs filter out weak ones.
🔹 How to Identify a Volume Order Block
Find the OB normally (last opposite candle before strong move).
Check volume of that OB candle:
If volume is above average → strong OB (institutions active).
If volume is low/normal → weak OB (likely to fail).
🔹 Why Volume OB is Better
Filters fake OBs → many OBs form, but not all are institutional.
Higher probability zones → when price revisits that OB, it’s more likely to respect it.
Confluence with liquidity → strong OB + high volume often means liquidity grab + institutional entry.
🔹 Example (Bullish Volume OB)
Price is in a downtrend.
A bearish candle with unusually high volume forms.
Immediately after, price pushes up strongly, breaking structure.
That bearish candle is now a bullish volume order block.
When price returns to that level → strong buy reaction expected.
🔹 How Traders Use Volume OBs
Entries → wait for price to revisit the OB + volume support.
Stop Loss → usually below (bullish OB) or above (bearish OB).
Target → next liquidity pool, FVG, or imbalance.
Filtering → ignore OBs with low volume → less clutter on chart.
✅ In short:
A Volume Order Block = A normal OB + confirmed by unusually high volume.
It gives you higher quality supply & demand zones backed by institutional activity.
Pin Bar Reversal - Black GUIThe Pin Bar Reversal strategy is designed to identify and trade price rejection signals that occur at key support and resistance levels, which are often indicative of potential market reversals. This strategy detects bullish pin bars (candles with long lower shadows and small bodies at the top of the range) as buy signals, and bearish pin bars (candles with long upper shadows and small bodies at the bottom of the range) as sell signals.
The script calculates the body, range, tail, and head of each candle to determine if it meets the strict criteria for a pin bar. When a valid pin bar is found, the script plots a label on the chart for clear visualization. Entry signals are generated when the pin bar aligns with the expected price action (bullish pin bar closes higher than it opens, bearish pin bar closes lower). The strategy also includes logic to exit trades if the price moves against the pin bar's high or low, and plots exit labels for transparency.
The GUI uses a black-themed color scheme for enhanced visibility. This approach is particularly useful for traders who focus on price action and want to capture reversals at significant market levels.
Always thoroughly backtest this strategy before using it in live trading.
For more strategies and inspiration, visit:
Gold Buy-Sell 30 MinHere’s a short, clear **description** you can use for your indicator 👇
**📌 Indicator Brief**
This custom **30-minute breakout indicator** is designed especially for **Gold (XAUUSD) Traders**.
It highlights three key candles of the day (IST 5:30 AM, 1:30 PM, and 6:30 PM), marking their **high and low levels** as support and resistance zones.
👉 By following this structured breakout strategy, traders can consistently capture **40–50 pips** in Gold with high accuracy, while keeping trading decisions simple and rule-based.
---
Chart Patterns – [AlphaGroup.Live]
# 📈 Chart Patterns Indicator –
Stop guessing. This tool hunts down the **10 most powerful price action patterns** and prints them on your chart exactly where they happen — once. No spam. No noise.
### Patterns Detected:
- Ascending / Descending / Symmetrical Triangles
- Rising & Falling Wedges
- Bull & Bear Flags
- Bull & Bear Pennants
- Double Tops & Bottoms
- Head & Shoulders / Inverse Head & Shoulders
### Why Traders Use It:
- **Clean execution**: Labels appear once, exactly where the structure forms.
- **No clutter**: Lines are capped, anchored, and never stretch across your entire chart.
- **Control**: Adjustable lookback, label spacing, and style.
### How to Apply:
- Catch continuation setups before the breakout.
- Identify reversal structures before the crowd.
- Train your eyes to see what institutions use to move billions.
⚡ Want more?
Get **100 battle-tested trading strategies**:
👉 (alphagroup.live)
This isn’t theory. It’s structure recognition at scale. Use it — or keep drawing lines by hand and falling behind.
ATR Trailing Stop Loss - FixedAn ATR Trailing Stop Loss strategy that uses the Average True Range (ATR) to set dynamic stop loss levels.
The strategy buys when the price crosses above the previous high and sells when the price crosses below the trailing stop level.
The strategy features a black-themed GUI for enhanced visibility.
You can adjust the ATR length and multiplier using the input parameters.
This strategy is useful for managing risk while allowing profits to run in trending markets.
Always backtest the strategy before applying it to live trading.
Visit - for more such strategies.
BTC vs USDT Dominance + Info//@version=5
indicator("BTC vs USDT Dominance + Info", overlay=false)
// Ambil data BTCUSDT (Bybit)
btc = request.security("BYBIT:BTCUSDT", timeframe.period, close)
// Ambil data USDT Dominance (USDT.D)
usdtDom = request.security("CRYPTOCAP:USDT.D", timeframe.period, close)
// Normalisasi biar skalanya sama
btcNorm = (btc - ta.lowest(btc, 200)) / (ta.highest(btc, 200) - ta.lowest(btc, 200)) * 100
usdtNorm = (usdtDom - ta.lowest(usdtDom, 200)) / (ta.highest(usdtDom, 200) - ta.lowest(usdtDom, 200)) * 100
// Plot garis
plot(btcNorm, color=color.green, title="BTC (Normalized)", linewidth=2)
plot(usdtNorm, color=color.red, title="USDT Dominance (Normalized)", linewidth=2)
// Deteksi arah candle terakhir
btcUp = ta.change(btc) > 0
btcDown = ta.change(btc) < 0
// Label info otomatis
if btcUp
label.new(bar_index, btcNorm, "BTC Naik → USDT Dominance Turun",
color=color.green, textcolor=color.white, style=label.style_label_up)
if btcDown
label.new(bar_index, btcNorm, "BTC Turun → USDT Dominance Naik",
color=color.red, textcolor=color.white, style=label.style_label_down)
ATR Multiple from MAThe purpose of this indicator is to spot an over stretched price.
A stock that has price ratio of over 4x when measured from closing price to 50 SMA is considered as over stretched. An entry at this level post a higher risk of a pullback.
MA Dist/ATR of over 4x will be marked as Red color.