ابوفيصلالقنلء السعرية
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
Grafik Desenleri
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.
---
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.
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.
Commodity Channel Index - Black GUIA Commodity Channel Index (CCI)-based strategy that buys when the CCI crosses above -100 (indicating oversold conditions) and sells when it crosses below 100 (indicating overbought conditions).
The strategy uses a black-themed GUI for better visibility.
You can customize the length of the CCI using the input parameter.
This strategy is effective for identifying potential reversal points in the market.
Always backtest the strategy before applying it to live trading.
Visit - for more such strategies.
Money Flow Index - Black GUIA Money Flow Index (MFI)-based strategy that buys when the MFI crosses above 20 (indicating oversold conditions) and sells when it crosses below 80 (indicating overbought conditions).
The strategy uses a black-themed GUI for better visibility.
You can customize the length of the MFI using the input parameter.
This strategy is effective for identifying potential reversal points in the market by incorporating volume into the analysis.
Always backtest the strategy before applying it to live trading.
Visit - for more such strategies.
Williams %R StrategyA Williams %R-based strategy that buys when the Williams %R crosses above -80 (indicating oversold conditions) and sells when it crosses below -20 (indicating overbought conditions).
The strategy uses a black-themed GUI for better visibility.
You can customize the length of the Williams %R using the input parameter.
This strategy is effective for identifying potential reversal points in the market. Always backtest the strategy before applying it to live trading.
Visit - for more such strategies.
Ichimoku Cloud Breakout - Black GUIAn Ichimoku Cloud breakout strategy that buys when the price closes above the Ichimoku cloud and sells when it closes below.
The strategy features a black-themed GUI for enhanced visibility.
You can customize the input parameters for the Ichimoku calculation.
This strategy is effective for identifying strong trends in the market.
Always backtest the strategy before applying it to live trading.
Visit - for more such strategies.
Triple EMA Crossover - Black GUIA triple EMA crossover strategy that uses three EMAs (fast, medium, and slow) for more accurate trend detection.
The strategy buys when the fast EMA crosses above the medium EMA while the medium EMA is above the slow EMA, and sells when the opposite occurs.
The strategy features a black-themed GUI for enhanced visibility.
You can adjust the lengths of the EMAs using the input parameters.
This strategy is useful for capturing longer-term trends in the market.
Always backtest the strategy before applying it to live trading.
Visit - for more such strategies.
Double EMA Crossover - Black GUIA strategy that uses a double EMA crossover approach, buying when the fast EMA (9) crosses above the slow EMA (21) and selling when the opposite occurs.
The strategy features a black-themed GUI for enhanced visibility.
You can adjust the lengths of the fast and slow EMAs using the input parameters.
This strategy is useful for capturing short to medium-term trends in the market.
Always backtest the strategy before applying it to live trading.
Visit - for more such strategies.
Price Crosses EMA - Black GUIA simple strategy that buys when the price crosses above the 20-period EMA and sells when it crosses below.
The strategy features a black-themed GUI for enhanced visibility.
You can adjust the length of the EMA using the input parameter.
This strategy is useful for identifying trend changes in the market.
Always backtest the strategy before applying it to live trading.
Visit - for more such strategies.
Stochastic Oscillator - Black GUIA Stochastic Oscillator-based strategy that buys when the %K line crosses above 20 (indicating oversold conditions) and sells when it crosses below 80 (indicating overbought conditions).
The strategy uses a black-themed GUI for better visibility.
You can customize the lengths of the %K and %D lines using the input parameters.
This strategy is effective for identifying potential reversal points in the market.
Always backtest the strategy before applying it to live trading.
Visit - for more such strategies.
RSI Divergence Filtered by ZigZag RatiosRSI Divergence Filtered by ZigZag Ratios
This indicator is designed to help traders identify potential trend reversals by finding RSI divergence and then confirming it with a unique filter based on price movements. It draws two ZigZag lines on your chart to visually represent these patterns.
Core Functionality
The indicator works by doing three main things:
Price ZigZag (Blue Line): ZigZag line directly on the price chart. This line connects the significant high and low points of the price action, based on the ZigZag Deviation % you set. It's a way to simplify the trend and clearly see the "legs" or swings of the market.
RSI ZigZag (Orange Line): It also draws a separate ZigZag line, colored orange, that follows the movement of the RSI indicator. This helps you visually track the highs and lows of the RSI at the same time as the price.
Divergence Detection: The indicator continuously looks for divergence between the price ZigZag and the RSI.
The Key Filter: ZigZag Ratio
This is what makes the indicator unique. When a potential divergence is found, it doesn't just display a signal immediately. It performs an extra check:
It compares the size of the most recent price swing (the "last leg") to the size of the previous swing in the same direction. It then calculates a ratio. If the most recent swing is significantly smaller than the previous one, it confirms the signal and displays a label.
This filtering mechanism aims to weed out weak signals and highlight divergences that occur after a period of slowing momentum.
Bullish/Bearish Div Labels: When a valid, filtered divergence is found, the indicator will place a green Bullish Div label at the bottom of a low swing or a red Bearish Div label at the top of a high swing.
User Inputs
ZigZag Deviation %: This is the minimum percentage change required to form a new ZigZag pivot. The default value is set to 0.3618, which is a popular number in technical analysis. A lower value will capture more minor swings, while a higher value will focus only on larger, more significant ones.
RSI Length: The number of bars used to calculate the RSI. The default is 6, but you can adjust this to your preference.
MACD Signal Line Crossover - Black GUIA MACD-based strategy that buys when the MACD line crosses above the signal line and sells when it crosses below.
The strategy uses a black-themed GUI for better visibility.
You can customize the lengths of the MACD and signal line using the input parameters.
This strategy is effective for identifying trend changes and momentum shifts in the market.
Always backtest the strategy before applying it to live trading.
Visit - for more such strategies.
RSI Overbought/Oversold - Black GUIAn RSI-based strategy that buys when the RSI drops below 30 (indicating oversold conditions) and sells when it rises above 70 (indicating overbought conditions).
The strategy features a black-themed GUI for enhanced visibility. You can adjust the RSI length using the input parameter.
This strategy is useful for identifying potential reversal points in the market.
Always backtest the strategy before applying it to live trading.
Visit - for more such strategies.
Rbpov1 – Opening Range Multi-Actifs Final📌 Strategy Bio – Rbpov1 Opening Range Pro
🎯 Core Concept
The Rbpov1 Opening Range Pro is an advanced algorithmic trading system built around the opening range breakout concept.
It is based on the observation that, after a period of consolidation (the opening range), markets often generate strong directional moves once the range is broken.
This strategy is designed to be multi-asset (Forex, indices, commodities, crypto) and multi-timeframe, with the following key principles:
A reference range (default: 03:00 → 06:00 UTC+2, customizable).
Trade entries are taken only after the range closes.
Smart filtering (trend, volatility, volume) to reduce false signals.
Strict risk management in USD, with Stop Loss and Take Profit defined in multiples of R.
Automatic end-of-day flat rule: all positions are closed by session end.
⚙️ Filters & Conditions
🔹 1. Trend Filter (EMA HTF)
A 21-period EMA is applied to a higher timeframe (default: H4).
If price is above EMA, only longs are allowed.
If price is below EMA, only shorts are allowed.
👉 This aligns intraday trades with the dominant trend.
🔹 2. Volatility Filter (ATR)
Uses a 14-period ATR to validate range conditions.
Opening range is valid only if:
Range > minATR × ATR
Range < maxATR × ATR
Default: minATR = 0.2, maxATR = 6.0.
👉 Filters out noise (tiny ranges) or overextended volatility.
🔹 3. Volume Filter (Optional)
Breakout candle must show higher volume than the average (default SMA 20).
Prevents low-liquidity breakouts.
🔹 4. Session & Trading Rules
No trades during weekends (Forex).
Maximum X trades per day (default: 2).
Positions are force-closed at EOD (default: 19:00 UTC+2).
💰 Risk Management
Dynamic position sizing in USD (capital × risk%).
Stop Loss automatically set at the opposite side of the range (with optional buffer).
Take Profit in multiples of R (default: 1.5R).
Equity-based recalculation ensures consistency as account grows.
📊 Key Benefits
✅ Professional and modular architecture.
✅ Works across Forex, indices, gold, and crypto.
✅ Smart filtering for cleaner signals.
✅ Robust and consistent risk management.
✅ Automatic end-of-day flattening (no overnight risk).
✅ Modern and visual dashboard interface for readability.
🏆 Use Cases
Forex (USD/JPY, EUR/USD, GBP/USD) → Asian session ranges.
Indices (NAS100, US30, DAX) → NYSE opening ranges.
Gold (XAU/USD) → Tokyo or pre-London ranges.
Crypto (BTC, ETH) → Tailored to volatility peaks.
VWAP Executor — v6 (VWAP fix)tarek helishPractical scalping plan with high-rate (sometimes reaching 70–85% in a quiet market)
Concept: “VWAP bounce with a clear trend.”
Tools: 1–3-minute chart for entry, 5-minute trend filter, VWAP, EMA(50) on 5M, ATR(14) on 1M, volume.
When to trade: London session or early New York session; avoid 10–15 minutes before/after high-impact news.
Entry rules (buy for example):
Trend: Price is above the EMA(50) on 5M and has an upward trend.
Entry zone: First bounce to VWAP (or a ±1 standard deviation channel around it).
Signal: Bullish rejection/engulfing candle on 1M with increasing volume, and RSI(2) has exited oversold territory (optional).
Order: Entry after the confirmation candle closes or a limit close to VWAP.
Trade Management:
Stop: Below the bounce low or 0.6xATR(1M) (strongest).
Target: 0.4–0.7xATR(1M) or the previous micro-high (small return to increase success rate).
Trigger: Move the stop to breakeven after +0.25R; close manually if the 1M candle closes strongly against you.
Filter: Do not trade if the spread widens, or the price "saws" around VWAP without a trend.
Sell against the rules in a downtrend.
Why this plan raises the heat-rate? You buy a "small discount" within an existing trend and near the institutional average price (VWAP), with a small target price.
مواقعي شركة الماسة للخدمات المنزلية
شركة تنظيف بالرياض
نقل عفش بالرياض