Top-secret Golden Mentor (Jorge's Algo)Description:
INTRODUCTION The Top-secret Golden Mentor is an institutional trading system engineered for surgical precision on Gold (XAUUSD) and other volatile assets. This indicator goes beyond simple entry signals; it automatically filters market traps (fakeouts) by aligning every volume anomaly with the macro market structure.
The main objective is simple: Stop trading against the trend and pinpoint exactly where institutions have injected capital.
KEY FEATURES
1. X-Ray Candles (True Volume Pressure) Move beyond traditional Japanese candlesticks. This indicator "undresses" the price action:
Grey Border: Represents the price range.
Color Fill (Green/Red): Reveals who actually won the internal volume battle (Delta).
Benefit: You can spot candles that look bullish on the outside but are "hollow" (empty of buyers) on the inside.
2. Smart Trend Filter (The Trap Detector) The core upgrade of V18. The system analyzes market structure in real-time.
If a BUY signal appears during a BEARISH structure, the system instantly marks it with a Grey "X".
Signal with "X" = MARKET TRAP (Absorption).
This prevents you from entering fake pullbacks that are about to be absorbed by the main trend.
3. Sniper Signals & Institutional Gaps (FVG) When the system detects a massive volume injection:
It plots a Volume Dot (Alert).
It automatically projects the 50% Retracement Line of the candle body (Institutional Equilibrium).
It draws a Subtle Box (Gap/FVG) marking the price inefficiency where institutions often return to mitigate.
4. Dynamic Structure Panel A visual dashboard in the top corner that instantly displays the current timeframe bias (BULLISH or BEARISH), removing subjective guesswork.
HOW TO USE THIS STRATEGY
Check the Panel: Is the bias BULLISH or BEARISH?
Wait for the Signal: Look for the Volume Dot.
Filter the Trap:
If the dot has a Grey "X" on top: DO NOT TRADE. It is a counter-trend trap.
If the dot has NO "X" and lines are drawn: VALID SIGNAL.
Execution: Place your Limit Order at the dotted 50% line or inside the Institutional Gap Box.
RECOMMENDED SETTINGS
Assets: Optimized for XAUUSD (Gold), but works on Forex and Futures.
Timeframes: Highly effective on 1H for direction and 5m for sniper entries.
DISCLAIMER This indicator is a technical analysis assistance tool based on Smart Money Concepts (SMC). It does not guarantee future profits. Always use proper risk management.
Indicateurs d'étendue
Pro Intraday Reaction Levels🔥 Pro Intraday Reaction Levels
Maps yesterday’s range into today’s highest-probability intraday reaction zones.
Pro Intraday Reaction Levels is a professional market structure tool built for intraday traders who want clear context, smarter trade location, and high-probability reaction areas — without clutter.
Instead of plotting simple previous day lines, this indicator visualizes the entire prior day range and builds adaptive reaction zones where price is statistically more likely to stall, reject, or reverse.
It helps you stop trading blindly into extremes — and start trading with structure.
🧭 What It Shows on Your Chart
📦 Previous Day Range Box
Clearly displays yesterday’s full high–low range so you instantly know whether price is:
• Trading inside value
• Testing extremes
• Breaking into expansion
🔥 Adaptive Reaction Zones
Dynamic zones around the previous day high and low where intraday reactions commonly occur.
These zones automatically adjust to volatility (ATR):
Higher volatility → tighter zones
Lower volatility → wider zones
This keeps levels relevant in both quiet and fast markets.
⚖ Range Midpoint (Optional)
Marks the equilibrium level of the prior day — a common decision area for intraday traders.
⏹ Previous Day Close (Optional)
Displays a key reference level often respected as support/resistance or bias confirmation.
🧠 Why Traders Love It
Markets frequently react at previous day extremes due to liquidity, trapped traders, and institutional positioning.
This tool helps you:
✔ Spot potential reversal zones
✔ Identify breakout acceptance vs rejection
✔ Frame intraday bias using higher timeframe structure
✔ Avoid entering trades directly into reaction areas
It’s not just levels — it’s location and context.
⚙ Smart Features
🔹 Automatic Volatility Adjustment
Reaction zones scale dynamically using ATR so they stay meaningful in all conditions.
🔹 Session Mode
Choose how levels are projected:
• RTH Only – Focus on regular trading hours
• All Sessions – Use full 24-hour structure
🔹 Theme-Adaptive Visuals
Clean, Contrast, and Minimal themes automatically adjust colors for both dark and light charts.
🔹 Customizable Opacity & Colors
Fine-tune visibility without cluttering your chart.
🎯 Who This Is For
Ideal for traders who use:
• Intraday price action
• Futures and index trading
• Forex day trading
• Crypto intraday trading
• Support & resistance strategies
• Liquidity and reaction-based setups
Works on any market where previous day structure influences intraday behavior.
💡 How Many Traders Use It
Common approaches include:
• Looking for reversal patterns inside reaction zones
• Managing trades near PDH/PDL instead of chasing breakouts
• Combining zones with volume, order flow, or candlestick signals
• Using the midpoint and PDC as bias confirmation levels
FX-CLINIC/ICT/FVG&IFVGICT Indicator
Automatic show FVG
Automatic changed to IFVG when break 100% by candle body
Automatic delete IFVG when break 100% by candle body
Working in all timeframes
Created by FX-CLINIC
Moving Average Exponential//@version=6
indicator(title="Moving Average Exponential", shorttitle="EMA", overlay=true, timeframe="", timeframe_gaps=true)
len = input.int(9, minval=1, title="Length")
src = input(close, title="Source")
offset = input.int(title="Offset", defval=0, minval=-500, maxval=500, display = display.data_window)
out = ta.ema(src, len)
plot(out, title="EMA", color=color.blue, offset=offset)
// Smoothing MA inputs
GRP = "Smoothing"
TT_BB = "Only applies when 'SMA + Bollinger Bands' is selected. Determines the distance between the SMA and the bands."
maTypeInput = input.string("None", "Type", options = , group = GRP, display = display.data_window)
var isBB = maTypeInput == "SMA + Bollinger Bands"
maLengthInput = input.int(14, "Length", group = GRP, display = display.data_window, active = maTypeInput != "None")
bbMultInput = input.float(2.0, "BB StdDev", minval = 0.001, maxval = 50, step = 0.5, tooltip = TT_BB, group = GRP, display = display.data_window, active = isBB)
var enableMA = maTypeInput != "None"
// Smoothing MA Calculation
ma(source, length, MAtype) =>
switch MAtype
"SMA" => ta.sma(source, length)
"SMA + Bollinger Bands" => ta.sma(source, length)
"EMA" => ta.ema(source, length)
"SMMA (RMA)" => ta.rma(source, length)
"WMA" => ta.wma(source, length)
"VWMA" => ta.vwma(source, length)
// Smoothing MA plots
smoothingMA = enableMA ? ma(out, maLengthInput, maTypeInput) : na
smoothingStDev = isBB ? ta.stdev(out, maLengthInput) * bbMultInput : na
plot(smoothingMA, "EMA-based MA", color=color.yellow, display = enableMA ? display.all : display.none, editable = enableMA)
bbUpperBand = plot(smoothingMA + smoothingStDev, title = "Upper Bollinger Band", color=color.green, display = isBB ? display.all : display.none, editable = isBB)
bbLowerBand = plot(smoothingMA - smoothingStDev, title = "Lower Bollinger Band", color=color.green, display = isBB ? display.all : display.none, editable = isBB)
fill(bbUpperBand, bbLowerBand, color= isBB ? color.new(color.green, 90) : na, title="Bollinger Bands Background Fill", display = isBB ? display.all : display.none, editable = isBB)
Accumulation & Distribution Days HistogramWHAT IT TRACKS:
• Distribution Days (Selling Pressure): Price closes down >0.2% on higher volume than previous day
• Accumulation Days (Buying Pressure): Price closes up >0.2% on higher volume than previous day
HOW IT WORKS:
The histogram displays a rolling count of distribution and accumulation days within your chosen lookback period (default: 20 bars). Green bars show accumulation days above the zero line, while red bars show distribution days below the zero line. A white line plots the net difference (accumulation minus distribution) to show the overall balance.
SETTINGS:
• Lookback Period: Number of bars to count (default: 20)
• Price Threshold: Minimum % move required (default: 0.2%)
• Colors: Fully customizable histogram colors
USAGE:
Use this to gauge the balance between buying and selling pressure. When accumulation exceeds distribution, it suggests bullish pressure. When distribution exceeds accumulation, it suggests bearish pressure.
The indicator can also serve as a market health filter:
• 0-3 Distribution Days: Bullish market condition - healthy for long positions
• 4-5 Distribution Days: Cautious - monitor for potential trend change
• 6+ Distribution Days: Bearish signal - institutional selling intensifying
Other potential uses to explore:
• Divergence analysis: Price making new highs while distribution days cluster
• Sector rotation: Compare distribution/accumulation across different sectors
• Entry timing: Wait for accumulation to exceed distribution before entering
• Risk management: Reduce position size as distribution days increase
Experiment with different lookback periods and thresholds to match your trading timeframe and style.
If you discover effective ways to use this indicator, please share in the comments below - your insights could help others, enjoy.
ADR% - Average Daily Range % by TrinhDuongSMWThe ADR% (Average Daily Range Percentage) is a volatility measurement tool designed to help traders understand the typical price movement of a stock over a specific period. Unlike the standard ATR (Average True Range) which uses absolute price points, ADR% expresses volatility as a percentage of the stock's price, making it easier to compare volatility across different tickers regardless of their share price.
Core IC 2.0
## 📌 NIFTY Weekly Option Seller — Core Regime & Risk Framework
This indicator is designed for **systematic weekly option selling on NIFTY**, focused on **Iron Condors (IC), Put Credit Spreads (PCS), and Call Credit Spreads (CCS)**.
It is **not a scalping tool** and **not a signal generator**.
Instead, it provides a **structured decision framework** to help option sellers decide:
* *What structure to deploy* (IC / PCS / CCS)
* *How aggressive to be* (position size & distance)
* *When to adjust* (defend / harvest / regime change)
---
## 🔍 What the Indicator Does
### 1️⃣ Market Regime Detection
The script continuously evaluates the market and classifies it into one of three regimes:
* **IC (Range / Mixed)** – neutral, mean-reverting conditions
* **PCS (Trend Up)** – bullish trend continuation
* **CCS (Trend Down)** – bearish trend continuation
Regime selection is based on:
* EMA structure
* ADX (trend strength)
* VWAP positioning
* Higher timeframe (daily) trend alignment
---
### 2️⃣ Independent Conviction Scores
The indicator computes **three independent scores (0–5)**:
```
IC / PCS / CCS
```
These scores represent **conviction strength**, not trade signals.
* Higher score = stronger suitability for that structure
* All three scores are always visible for transparency
Only **one active score** (based on the current regime) is used for:
* Position sizing
* Strike distance suggestions
* Risk management logic
---
### 3️⃣ Risk-First Position Guidance
Based on the active score, the indicator suggests:
* **Position Size** (100% / 50% / 25%)
* **Short strike distance** (ATR-based, dynamic)
* **Defend / Harvest conditions**
* **Regime change alerts**
This helps traders remain **consistent and disciplined**, especially during volatile weeks.
---
### 4️⃣ Visual Decision Panel
A compact panel displays all key information at a glance:
* Regime (IC / PCS / CCS)
* ATR & ADX
* Suggested size
* Suggested short distance
* IC / PCS / CCS scores
* Key reference levels (H3 / L3, VWAP)
No guesswork, no over-trading.
---
## 🕒 Recommended Usage
* **Best timeframe:** 1H or 4H
* **Ideal style:** End-of-day or limited-check traders
* **Designed for:** Weekly option sellers (not intraday scalpers)
Adjustments are intended to be made **at fixed checkpoints**, not every candle.
---
## ⚠️ Important Notes
* This is **not financial advice**
* The indicator does **not place trades**
* Works best when combined with:
* Defined stop-loss rules
* Fixed risk-reward discipline
* Proper position sizing
---
## 🎯 Who This Is For
✔ Rule-based option sellers
✔ Traders focused on consistency over excitement
✔ Professionals who value structure and risk control
❌ Not for discretionary scalpers
❌ Not for beginners without options knowledge
Samuele. Institutional Decision Dashboard h4Ecco la legenda completa da inserire nel tuo documento per l'operatività mattutina:
A. Pannello Insight (I mattoni della strategia)
COT/Trend Macro:
BULLISH (Verde): Mercato sano, istituzionali presenti.
BEARISH (Rosso): Mercato pericoloso, meglio stare alla finestra o cercare Short.
Relative Strength (Forza Relativa):
STRONG (Blu): Il tuo asset è un "leader" del mercato.
WEAK (Rosso): L'asset è un "follower" pigro. Non tradarlo.
Vol Pressure (Pressione Volumi):
BUYING (Verde): Accumulazione aggressiva in corso.
SELLING (Rosso): Distribuzione (vendita) in corso.
B. Pannello Operatività (Il verdetto)
FULL POWER: LONG (Verde): Tutte le luci sono accese. È il setup ad alta probabilità.
EXHAUSTION: WAIT (Arancio): Trend stanco. Indica una struttura terminale (eccesso di volatilità). Rischio inversione alto.
ACCUMULATION: WAIT (Grigio): Tipico box di Wyckoff o triangolo. Forza neutrale. Si attende il breakout.
RED ZONE: NO TRADE (Rosso): Condizioni avverse. Il sistema protegge il tuo capitale vietando l'ingresso.
Here is the complete legend to include in your document for morning operations:
A. Insight Panel (The building blocks of strategy)
COT/Macro Trend:
BULLISH (Green): Healthy market, institutions are active.
BEARISH (Red): Dangerous market, better to wait on the sidelines or look for Shorts.
Relative Strength:
STRONG (Blue): Your asset is a market "leader".
WEAK (Red): The asset is a lazy "follower". Do not trade it.
Vol Pressure:
BUYING (Green): Aggressive accumulation in progress.
SELLING (Red): Distribution (selling) in progress.
B. Operations Panel (The Verdict)
FULL POWER: LONG (Green): All the lights are on. This is a high-probability setup.
EXHAUSTION: WAIT (Orange): Tired trend. Indicates a terminal structure (volatility spike). High risk of reversal.
ACCUMULATION: WAIT (Gray): Typical Wyckoff box or triangle. Neutral strength. Awaiting breakout.
RED ZONE: NO TRADE (Red): Adverse conditions. The system protects your capital.
Multi-MA Crossover Alert by Funded RelayMulti-MA Crossover Alert is a simple yet powerful trend-following indicator that combines three moving averages to help identify trend direction and potential reversal points.
What it shows:
• Fast SMA (default 20 periods) – reacts quickly to price changes
• Medium EMA (default 50 periods) – smoother medium-term trend
• Slow SMA (default 200 periods) – long-term trend reference (often called the "death/golden cross" level)
Features:
• Dynamic coloring: Lines turn green when above the slow SMA (bullish bias) or red when below (bearish bias). The slow SMA stays gray for clear reference.
• Background tint: Light green/red background highlights the overall trend based on Fast SMA vs Slow SMA.
• Crossover alerts: Triggers notifications when the Medium EMA crosses above/below the Slow SMA (classic trend change signal).
How to interpret the signals:
• Bullish trend: Fast and Medium lines are green and above the Slow SMA → price is in an uptrend. Look for buying opportunities on pullbacks.
• Bearish trend: Fast and Medium lines are red and below the Slow SMA → price is in a downtrend. Look for selling/short opportunities on rallies.
• Bullish crossover (alert): Medium EMA crosses ABOVE Slow SMA → potential start of stronger uptrend or reversal from downtrend.
• Bearish crossover (alert): Medium EMA crosses BELOW Slow SMA → potential start of stronger downtrend or reversal from uptrend.
How to use it correctly:
1. Add the indicator to your chart via "Indicators" → Community Scripts.
2. Adjust the input lengths to match your timeframe and style:
- Shorter periods (e.g. 10/30/100) → better for intraday / scalping
- Longer periods (e.g. 50/100/200) → better for swing / position trading
3. Enable "Enable Crossover Alerts" if you want TradingView notifications (set alerts via the alert menu: condition = "alert() function calls only").
4. Use in combination with:
- Support/resistance levels
- Volume confirmation
- Other indicators (RSI for overbought/oversold, candlestick patterns)
5. Best on higher timeframes (1H, 4H, Daily) to reduce noise. On very low timeframes, false signals increase — always confirm with price action.
Important notes:
• This is NOT a standalone "buy/sell" system — no indicator is 100% accurate. Always use risk management (stop-loss, position sizing).
• Backtest on your assets/timeframes before live trading.
• Works on all markets: stocks, forex, crypto, futures, etc.
Open-source and free — feel free to modify and improve!
Happy trading!
RICH SCANNER PRO this scanner for rich club only not for everyone.
Rich Scanner is an intelligent market scanning and analysis system, designed to help traders identify the highest-probability trading opportunities with speed and precision.
It relies on advanced analytical algorithms that automatically filter the market to deliver clear, data-driven signals — with no randomness or guesswork.
🚀 What does Rich Scanner offer?
🔍 Real-time market scanning to detect strong opportunities
🎯 Precise entry and exit signals with built-in risk filtering
⏱️ Support for multiple timeframes and different trading styles
📊 Suitable for Scalping, Intraday, and Swing Trading
🧠 Reduced noise and confusion, turning analysis into clear decisions
💎 Why Rich Scanner?
Because it doesn’t just display data — it transforms data into executable opportunities, giving you a clearer market perspective and helping you trade with confidence and discipline.
Rich Scanner — Trade Smarter, Decide Clearer, Achieve Stronger Results. 📈✨
EMA Envelope and deviationEMA Envelope with Deviation is a trend-following indicator that plots an Exponential Moving Average (EMA) with dynamic upper and lower bands based on a user-defined deviation. The bands can be calculated either as a fixed percentage distance from the EMA or using statistical standard deviation, allowing traders to visualize volatility and potential overbought or oversold zones. It is commonly used to identify breakout strength, pullback entries, and mean-reversion opportunities. The indicator is fully customizable, supports different price sources, and can optionally display crossover signals when price interacts with the envelope boundaries.
Multi-Layer Density Zones (Trend, Horizontal, Parabolic)**Title:** Multi-Layer Density Zones (Trend, Horizontal, Parabolic)
**Summary:**
This advanced indicator visualizes market structure by identifying "Price Density Zones" across three different geometries simultaneously. Unlike standard Support/Resistance indicators, it calculates where price action has historically clustered relative to a baseline, using statistical distribution (Quantile) logic.
**Key Features:**
* **3 Distinct Layers:**
1. **Trend Layer (Oblique):** Automatically detects trend channels using Linear Regression or classic Start-End points. Ideal for identifying dynamic support/resistance in trending markets.
2. **Horizontal Layer:** Scans for classic static price levels where price has spent the most time.
3. **Parabolic Layer (Matrix-Based):** Uses advanced **Matrix Mathematics** to solve Polynomial Regression (up to degree 4). It fits curves ("U" or "S" shapes) to price action, capturing non-linear market cycles.
* **Quantile vs. Linear Mode:**
* *Quantile (Density Focused):* Zones are spaced based on data density. Areas with high price activity become narrower and more defined.
* *Linear:* Creates equally spaced parallel channels.
* **Interactive History:** You can select specific starting dates directly from the chart to analyze specific market phases.
* **Dynamic Visualization:** Uses gradient shading (`linefill`) to highlight zones; denser areas can be made more visible while sparse areas remain transparent.
**How to Use:**
Use the **Parabolic Layer** to catch market reversals where linear trends fail. Use the **Trend Layer** for channel trading and the **Horizontal Layer** for key breakout levels.
Ozgur TELEK Elite ScalperBreakout Strategy: If the price breaks above the Red Resistance line with a high-volume candle and the “BUY” signal lights up at the same time, this is the trade with the highest success rate.
Support Reversal: If the price touches the Green Support line and bounces upward while the “BUY” signal is lit, you can enter the trade with a very short stop distance (just below the support).
False Signal Filter: If the “BUY” signal is lit but the price is just below the Red Resistance line, do not enter without waiting for the breakout. It may reverse from the resistance.
Translated with DeepL.com (free version)
Trend Indicator (Advanced Multi-Filter Swing)//@version=6
indicator("Trend Indicator (Advanced Multi-Filter Swing)", overlay=true)
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// INPUTS — MA ENGINE
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ma_type = input.string('EMA', 'MA Type',
, group='Setup')
ma_period = input.int(9, 'MA Period', minval=1, group='Setup')
alma_offset = input.float(0.85, 'ALMA Shift', 0, 1, 0.05, group='ALMA')
alma_sigma = input.int(6, 'ALMA Deviation', minval=1, group='ALMA')
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// INPUTS — SIGNAL LOGIC
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
momentumThreshold = input.int(25, "Momentum Threshold (Confirm)", group="Signal Logic")
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// INPUTS — NOISE FILTERS
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
useSlopeFilter = input.bool(true, "Stronger Slope Filter", group="Noise Filters")
useVolatility = input.bool(true, "ATR Volatility Filter", group="Noise Filters")
useRangeFilter = input.bool(true, "Dead-Zone Filter", group="Noise Filters")
useBarFilter = input.bool(true, "Bar Structure Filter", group="Noise Filters")
useHTFProxy = input.bool(true, "HTF Proxy Slope Filter", group="Noise Filters")
deadZone = input.int(8, "Dead-Zone Value", group="Noise Filters")
atrLen = input.int(14, "ATR Length", group="Noise Filters")
atrMaLen = input.int(20, "ATR MA Length", group="Noise Filters")
htfProxyLen = input.int(6, "HTF Proxy Slope EMA Length", group="Noise Filters")
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// INPUTS — ADX / DI FILTERS
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
useADX = input.bool(true, "Use ADX Filter", group="ADX / DI Filter")
useDI = input.bool(true, "Use DI+/DI− Filter", group="ADX / DI Filter")
adxLen = input.int(14, "ADX Length", group="ADX / DI Filter")
adxMin = input.int(20, "Minimum ADX", group="ADX / DI Filter")
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// INPUTS — RSI FILTER
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
useRSI = input.bool(true, "Use RSI Filter", group="RSI Filter")
rsiLen = input.int(14, "RSI Length", group="RSI Filter")
rsiMid = input.int(50, "RSI Midline", group="RSI Filter")
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// FUNCTIONS
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
f_ma(x) =>
switch ma_type
'ALMA' => ta.alma(x, ma_period, alma_offset, alma_sigma)
'HMA' => ta.hma(x, ma_period)
'SMA' => ta.sma(x, ma_period)
'SWMA' => ta.swma(x)
'VWMA' => ta.vwma(x, ma_period)
'WMA' => ta.wma(x, ma_period)
'ZLEMA' => ta.ema(x + x - x , ma_period)
=> ta.ema(x, ma_period)
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// HEIKIN-ASHI MA ENGINE
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ha_open = f_ma(request.security(ticker.heikinashi(syminfo.tickerid), timeframe.period, open))
ha_close = f_ma(request.security(ticker.heikinashi(syminfo.tickerid), timeframe.period, close))
ha_high = f_ma(request.security(ticker.heikinashi(syminfo.tickerid), timeframe.period, high))
ha_low = f_ma(request.security(ticker.heikinashi(syminfo.tickerid), timeframe.period, low))
trend = 100 * (ha_close - ha_open) / (ha_high - ha_low)
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// COLORS
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
bull = input.color(#26A69A, "Bullish", group="Colors")
bear = input.color(#EF5350, "Bearish", group="Colors")
neutral = input.color(#808080, "Neutral", group="Colors")
trendColor = trend > 0 ? bull : bear
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// VISUALS — TREND INDICATOR A
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
pOpen = plot(ha_open, display=display.none)
pClose = plot(ha_close, color=trendColor, linewidth=2)
pHigh = plot(ha_high, display=display.none)
pLow = plot(ha_low, display=display.none)
pHighBody = plot(math.max(ha_open, ha_close), display=display.none)
pLowBody = plot(math.min(ha_open, ha_close), display=display.none)
fill(pOpen, pClose, color.new(trendColor, 50))
fill(pHigh, pHighBody, color.new(neutral, 87))
fill(pLowBody, pLow, color.new(neutral, 87))
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// FILTER CALCULATIONS
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
trendSlope = trend - trend
slopeStrong = math.abs(trendSlope) > math.abs(trendSlope )
bullSlopeOK = trendSlope > 0
bearSlopeOK = trendSlope < 0
atr = ta.atr(atrLen)
atrMA = ta.sma(atr, atrMaLen)
volatilityOK = atr > atrMA
rangeOK = math.abs(trend) > deadZone
bullBar = close > open
bearBar = close < open
proxySlope = ta.ema(trendSlope, htfProxyLen)
proxyBullOK = proxySlope > 0
proxyBearOK = proxySlope < 0
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// ADX / DI FILTERS (Pine v6 FINAL FIX)
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
= ta.dmi(adxLen, adxLen)
adxOK = adxVal > adxMin
diBullOK = diPlus > diMinus
diBearOK = diMinus > diPlus
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// RSI FILTER
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
rsiVal = ta.rsi(close, rsiLen)
rsiBullOK = rsiVal > rsiMid
rsiBearOK = rsiVal < rsiMid
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// TWO-STAGE · ONE-SIGNAL-PER-SWING LOGIC
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
baseBull = ta.crossover(trend, 0)
baseBear = ta.crossunder(trend, 0)
earlyBull =
baseBull
and (not useSlopeFilter or (bullSlopeOK and slopeStrong))
and (not useVolatility or volatilityOK)
and (not useRangeFilter or rangeOK)
and (not useBarFilter or bullBar)
and (not useHTFProxy or proxyBullOK)
and (not useADX or adxOK)
and (not useRSI or rsiBullOK)
and (not useDI or diBullOK)
earlyBear =
baseBear
and (not useSlopeFilter or (bearSlopeOK and slopeStrong))
and (not useVolatility or volatilityOK)
and (not useRangeFilter or rangeOK)
and (not useBarFilter or bearBar)
and (not useHTFProxy or proxyBearOK)
and (not useADX or adxOK)
and (not useRSI or rsiBearOK)
and (not useDI or diBearOK)
confirmBull = trend > 0 and math.abs(trend) > momentumThreshold
confirmBear = trend < 0 and math.abs(trend) > momentumThreshold
var int swingDir = 0
var bool confirmed = false
earlyBUY = earlyBull and swingDir != 1
earlySELL = earlyBear and swingDir != -1
if earlyBUY
swingDir := 1
confirmed := false
else if earlySELL
swingDir := -1
confirmed := false
confirmedBUY = swingDir == 1 and not confirmed and confirmBull
confirmedSELL = swingDir == -1 and not confirmed and confirmBear
if confirmedBUY or confirmedSELL
confirmed := true
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// SIGNAL PLOTS
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
plotshape(earlyBUY, "BUY Early", shape.triangleup,
location=location.belowbar, size=size.tiny, color=bull, text="BUY")
plotshape(earlySELL, "SELL Early", shape.triangledown,
location=location.abovebar, size=size.tiny, color=bear, text="SELL")
plotshape(confirmedBUY, "BUY Confirmed", shape.labelup,
location=location.belowbar, color=bull, text="BUY✔")
plotshape(confirmedSELL, "SELL Confirmed", shape.labeldown,
location=location.abovebar, color=bear, text="SELL✔")
STRAT+SMCYou will see the Strat Numbers plus the Market Structure Bos and Chochs included. The Table will show current Strat combos and 50% rule.
UNIVERSAL Position Size Calculator ALL Brokers mobil brokers//@version=5
indicator("UNIVERSAL Risk & Position Size Calculator (ALL Brokers)", overlay=true)
// =====================
// USER INPUTS
// =====================
accountBalance = input.float(100000, "Account Balance")
riskPercent = input.float(1.0, "Risk % per Trade", step=0.1)
// =====================
// EXECUTION TYPE (ONE LINE – PINE SAFE)
// =====================
executionType = input.string("MT4 / MT5 / cTrader", "Execution Type", options= )
// =====================
// LOT / CONTRACT DEFINITION (MANUAL)
// =====================
lotDefinition = input.float(100000, "Units per Lot / Contract")
// =====================
// ENTRY & STOP
// =====================
entryPrice = input.float(0.0, "Entry Price")
stopPrice = input.float(0.0, "Stop Loss Price")
// =====================
// SYMBOL DATA (AUTO)
// =====================
tickSize = syminfo.mintick
tickValue = syminfo.pointvalue * syminfo.mintick
// =====================
// CORE CALCULATIONS
// =====================
riskAmount = accountBalance * (riskPercent / 100)
stopDistance = math.abs(entryPrice - stopPrice)
ticks = stopDistance / tickSize
riskPerUnit = ticks * tickValue
unitsAllowed = riskPerUnit > 0 ? riskAmount / riskPerUnit : na
rawPosition = unitsAllowed / lotDefinition
// Futures = whole contracts only
finalPosition = executionType == "Futures" ? math.floor(rawPosition) : rawPosition
// =====================
// DISPLAY PANEL
// =====================
var table t = table.new(position.top_right, 2, 13, border_width=1)
table.cell(t, 0, 0, "Execution Type")
table.cell(t, 1, 0, executionType)
table.cell(t, 0, 1, "Account Balance")
table.cell(t, 1, 1, str.tostring(accountBalance))
table.cell(t, 0, 2, "Risk %")
table.cell(t, 1, 2, str.tostring(riskPercent) + "%")
table.cell(t, 0, 3, "Risk Amount ($)")
table.cell(t, 1, 3, str.tostring(riskAmount))
table.cell(t, 0, 4, "Entry Price")
table.cell(t, 1, 4, str.tostring(entryPrice))
table.cell(t, 0, 5, "Stop Loss Price")
table.cell(t, 1, 5, str.tostring(stopPrice))
table.cell(t, 0, 6, "Stop Distance")
table.cell(t, 1, 6, str.tostring(stopDistance))
table.cell(t, 0, 7, "Risk per 1 Unit ($)")
table.cell(t, 1, 7, str.tostring(riskPerUnit))
table.cell(t, 0, 8, "Units Allowed")
table.cell(t, 1, 8, str.tostring(unitsAllowed, "#.##"))
table.cell(t, 0, 9, "Units per Lot / Contract")
table.cell(t, 1, 9, str.tostring(lotDefinition))
table.cell(t, 0, 10, "POSITION SIZE TO ENTER")
table.cell(t, 1, 10, str.tostring(finalPosition, "#.##"))
table.cell(t, 0, 11, "Broker Tip")
table.cell(t, 1, 11, "Copy this value into broker")
table.cell(t, 0, 12, "Symbol")
table.cell(t, 1, 12, syminfo.ticker)
UNIVERSAL Position Size Calculator ALL Brokers mobil//@version=5
indicator("UNIVERSAL Risk & Position Size Calculator (ALL Brokers)", overlay=true)
// =====================
// USER INPUTS
// =====================
accountBalance = input.float(100000, "Account Balance")
riskPercent = input.float(1.0, "Risk % per Trade", step=0.1)
// =====================
// EXECUTION TYPE (ONE LINE – PINE SAFE)
// =====================
executionType = input.string("MT4 / MT5 / cTrader", "Execution Type", options= )
// =====================
// LOT / CONTRACT DEFINITION
// (CHANGE THIS TO MATCH ANY BROKER)
// =====================
lotDefinition =
executionType == "MT4 / MT5 / cTrader" ? 100000 :
executionType == "CFD (Units)" ? 1 :
1
// =====================
// ENTRY & STOP
// =====================
entryPrice = input.float(0.0, "Entry Price")
stopPrice = input.float(0.0, "Stop Loss Price")
// =====================
// SYMBOL DATA (AUTO)
// =====================
tickSize = syminfo.mintick
tickValue = syminfo.pointvalue * syminfo.mintick
// =====================
// CORE CALCULATIONS
// =====================
riskAmount = accountBalance * (riskPercent / 100)
stopDistance = math.abs(entryPrice - stopPrice)
ticks = stopDistance / tickSize
riskPerUnit = ticks * tickValue
unitsAllowed = riskPerUnit > 0 ? riskAmount / riskPerUnit : na
rawPosition = unitsAllowed / lotDefinition
// Futures = whole contracts only
finalPosition = executionType == "Futures" ? math.floor(rawPosition) : rawPosition
// =====================
// DISPLAY PANEL
// =====================
var table t = table.new(position.top_right, 2, 13, border_width=1)
table.cell(t, 0, 0, "Execution Type")
table.cell(t, 1, 0, executionType)
table.cell(t, 0, 1, "Account Balance")
table.cell(t, 1, 1, str.tostring(accountBalance))
table.cell(t, 0, 2, "Risk %")
table.cell(t, 1, 2, str.tostring(riskPercent) + "%")
table.cell(t, 0, 3, "Risk Amount ($)")
table.cell(t, 1, 3, str.tostring(riskAmount))
table.cell(t, 0, 4, "Entry Price")
table.cell(t, 1, 4, str.tostring(entryPrice))
table.cell(t, 0, 5, "Stop Loss Price")
table.cell(t, 1, 5, str.tostring(stopPrice))
table.cell(t, 0, 6, "Stop Distance")
table.cell(t, 1, 6, str.tostring(stopDistance))
table.cell(t, 0, 7, "Risk per 1 Unit ($)")
table.cell(t, 1, 7, str.tostring(riskPerUnit))
table.cell(t, 0, 8, "Units Allowed")
table.cell(t, 1, 8, str.tostring(unitsAllowed, "#.##"))
table.cell(t, 0, 9, "Units per Lot / Contract")
table.cell(t, 1, 9, str.tostring(lotDefinition))
table.cell(t, 0, 10, "POSITION SIZE TO ENTER")
table.cell(t, 1, 10, str.tostring(finalPosition, "#.##"))
table.cell(t, 0, 11, "Broker Tip")
table.cell(t, 1, 11, "Use this value in broker")
table.cell(t, 0, 12, "Symbol")
table.cell(t, 1, 12, syminfo.ticker)
Position Size Calculator Forex Futures TW//@version=5
indicator("AUTO Risk & Position Size Calculator – Forex + Futures", overlay=true)
// === INPUTS ===
accountBalance = input.float(100000, "Account Balance")
riskPercent = input.float(1.0, "Risk % per Trade", step=0.1)
// === TRADE TYPE ===
// Forex/CFD = decimaler tilladt
// Futures = hele kontrakter
tradeType = input.string("Forex / CFD", "Market Type", options= )
// === ENTRY & STOP (MANUAL) ===
entryPrice = input.float(0.0, "Entry Price")
stopPrice = input.float(0.0, "Stop Loss Price")
// === SYMBOL DATA (AUTO FROM TRADINGVIEW) ===
tickSize = syminfo.mintick
tickValue = syminfo.pointvalue * syminfo.mintick
// === CALCULATIONS ===
riskAmount = accountBalance * (riskPercent / 100)
stopDistance = math.abs(entryPrice - stopPrice)
// ticks mellem entry & stop
ticks = stopDistance / tickSize
// risiko pr. 1 unit / lot / kontrakt
riskPerUnit = ticks * tickValue
// rå position size
rawPositionSize = riskPerUnit > 0 ? riskAmount / riskPerUnit : na
// === FINAL POSITION SIZE ===
finalPositionSize = tradeType == "Futures" ? math.floor(rawPositionSize) : rawPositionSize
// === DISPLAY ===
var table t = table.new(position.top_right, 2, 10, border_width=1)
table.cell(t, 0, 0, "Symbol")
table.cell(t, 1, 0, syminfo.ticker)
table.cell(t, 0, 1, "Market Type")
table.cell(t, 1, 1, tradeType)
table.cell(t, 0, 2, "Account Balance")
table.cell(t, 1, 2, str.tostring(accountBalance))
table.cell(t, 0, 3, "Risk %")
table.cell(t, 1, 3, str.tostring(riskPercent) + "%")
table.cell(t, 0, 4, "Risk Amount ($)")
table.cell(t, 1, 4, str.tostring(riskAmount))
table.cell(t, 0, 5, "Entry Price")
table.cell(t, 1, 5, str.tostring(entryPrice))
table.cell(t, 0, 6, "Stop Loss Price")
table.cell(t, 1, 6, str.tostring(stopPrice))
table.cell(t, 0, 7, "Risk per 1 Unit ($)")
table.cell(t, 1, 7, str.tostring(riskPerUnit))
table.cell(t, 0, 8, "Raw Position Size")
table.cell(t, 1, 8, str.tostring(rawPositionSize, "#.##"))
table.cell(t, 0, 9, "FINAL SIZE TO TRADE")
table.cell(t, 1, 9, str.tostring(finalPositionSize, "#.##"))
Position Size Calculator CFD Forex Futures//@version=5
indicator("AUTO Risk & Position Size Calculator – Forex + Futures", overlay=true)
// === INPUTS ===
accountBalance = input.float(100000, "Account Balance")
riskPercent = input.float(1.0, "Risk % per Trade", step=0.1)
// === TRADE TYPE ===
// Forex/CFD = decimaler tilladt
// Futures = hele kontrakter
tradeType = input.string("Forex / CFD", "Market Type", options= )
// === ENTRY & STOP (MANUAL) ===
entryPrice = input.float(0.0, "Entry Price")
stopPrice = input.float(0.0, "Stop Loss Price")
// === SYMBOL DATA (AUTO FROM TRADINGVIEW) ===
tickSize = syminfo.mintick
tickValue = syminfo.pointvalue * syminfo.mintick
// === CALCULATIONS ===
riskAmount = accountBalance * (riskPercent / 100)
stopDistance = math.abs(entryPrice - stopPrice)
// ticks mellem entry & stop
ticks = stopDistance / tickSize
// risiko pr. 1 unit / lot / kontrakt
riskPerUnit = ticks * tickValue
// rå position size
rawPositionSize = riskPerUnit > 0 ? riskAmount / riskPerUnit : na
// === FINAL POSITION SIZE ===
finalPositionSize = tradeType == "Futures" ? math.floor(rawPositionSize) : rawPositionSize
// === DISPLAY ===
var table t = table.new(position.top_right, 2, 10, border_width=1)
table.cell(t, 0, 0, "Symbol")
table.cell(t, 1, 0, syminfo.ticker)
table.cell(t, 0, 1, "Market Type")
table.cell(t, 1, 1, tradeType)
table.cell(t, 0, 2, "Account Balance")
table.cell(t, 1, 2, str.tostring(accountBalance))
table.cell(t, 0, 3, "Risk %")
table.cell(t, 1, 3, str.tostring(riskPercent) + "%")
table.cell(t, 0, 4, "Risk Amount ($)")
table.cell(t, 1, 4, str.tostring(riskAmount))
table.cell(t, 0, 5, "Entry Price")
table.cell(t, 1, 5, str.tostring(entryPrice))
table.cell(t, 0, 6, "Stop Loss Price")
table.cell(t, 1, 6, str.tostring(stopPrice))
table.cell(t, 0, 7, "Risk per 1 Unit ($)")
table.cell(t, 1, 7, str.tostring(riskPerUnit))
table.cell(t, 0, 8, "Raw Position Size")
table.cell(t, 1, 8, str.tostring(rawPositionSize, "#.##"))
table.cell(t, 0, 9, "FINAL SIZE TO TRADE")
table.cell(t, 1, 9, str.tostring(finalPositionSize, "#.##"))






















