Smoothed Log RSIMain purpose is to identify the regime change from trend to ranging/choppy environment.
For example if the logRSI turns green , there's good chances the downtrend will be less aggressive.
If the logRSI turns red , there's good chances we don't continue to pump aggressively.
Basically high risk of longing or shorting the asset once it turns green/red.
指标和策略
RealBody Donchian ChannelsThis is an enhancement of the built-in TradingView Donchian Channel indicator.A technical variation of the standard DC, it utilizes candlestick real body data. Instead of using the absolute high and low (shadows) for extreme value calculation, this indicator derives the channel boundaries from the highest Max(Open, Close) and the lowest Min(Open, Close) within the specified length. This approach filters out noise from wicks/shadows, providing a cleaner look at sustained price ranges defined by buying and selling pressure between the open and close.
tdxh short/ This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at mozilla.org
// © ChartPrime & User Customized
// 抗插针版:引入实体止损逻辑,专治影线扫损
//@version=5
indicator("SR空单指标 (抗插针版)", shorttitle="SR Anti-Wick", overlay=true, max_boxes_count=500, max_labels_count=500)
辰锋// This Pine Script® code is subject to the terms of the Mozilla Public License 2.0 at mozilla.org
// © chenfwng88888
//@version=6
indicator("辰锋", shorttitle="辰锋", overlay=true)
// 关键EMA均线组
plot(ta.ema(close, 12), title="13", color=color.rgb(230, 202, 58), linewidth=1) // 黄色
plot(ta.ema(close, 24), title="24", color=color.rgb(208, 35, 208), linewidth=1) // 粉色
plot(ta.ema(close, 36), title="38", color=color.rgb(129, 169, 238), linewidth=1) // 墨绿
plot(ta.ema(close, 52), title="52", color=color.rgb(39, 208, 226), linewidth=1) // 蓝绿色
plot(ta.ema(close, 104), title="104", color=color.rgb(222, 109, 57), linewidth=1) // 棕色
// Vegas Channel (added EMAs)
ema144 = ta.ema(close, 144)
ema169 = ta.ema(close, 169)
plot(ema144, title="EMA 144", color=color.new(#e3ebf7, 0), linewidth=1)
plot(ema169, title="EMA 169", color=color.new(#e7e7f5, 0), linewidth=1)
// Fill between EMA 144 and EMA 169 with light blue background
fill(plot1 = plot(ema144, display=display.none),
plot2 = plot(ema169, display=display.none),
color = color.new(#deeff4, 70), title = "144-169 Area")
// Colored candles based on volume and price movement
isUp = close > open
isDown = close < open
highVolume = volume > ta.sma(volume, 50) * 3 // 50-period average + 50% threshold
// Define colors
bullishColor = color.new(#a5f1a5, 0) // Light green
bearishColor = color.new(#f2b661, 0) // Orange
// Plot candles
barcolor(isUp and highVolume ? bullishColor : isDown and highVolume ? bearishColor : na)
辰锋// This Pine Script® code is subject to the terms of the Mozilla Public License 2.0 at mozilla.org
// © chenfwng88888
//@version=6
indicator("辰锋", shorttitle="辰锋", overlay=true)
// 关键EMA均线组
plot(ta.ema(close, 12), title="13", color=color.rgb(230, 202, 58), linewidth=1) // 黄色
plot(ta.ema(close, 24), title="24", color=color.rgb(208, 35, 208), linewidth=1) // 粉色
plot(ta.ema(close, 36), title="38", color=color.rgb(129, 169, 238), linewidth=1) // 墨绿
plot(ta.ema(close, 52), title="52", color=color.rgb(39, 208, 226), linewidth=1) // 蓝绿色
plot(ta.ema(close, 104), title="104", color=color.rgb(222, 109, 57), linewidth=1) // 棕色
// Vegas Channel (added EMAs)
ema144 = ta.ema(close, 144)
ema169 = ta.ema(close, 169)
plot(ema144, title="EMA 144", color=color.new(#e3ebf7, 0), linewidth=1)
plot(ema169, title="EMA 169", color=color.new(#e7e7f5, 0), linewidth=1)
// Fill between EMA 144 and EMA 169 with light blue background
fill(plot1 = plot(ema144, display=display.none),
plot2 = plot(ema169, display=display.none),
color = color.new(#deeff4, 70), title = "144-169 Area")
// Colored candles based on volume and price movement
isUp = close > open
isDown = close < open
highVolume = volume > ta.sma(volume, 50) * 3 // 50-period average + 50% threshold
// Define colors
bullishColor = color.new(#a5f1a5, 0) // Light green
bearishColor = color.new(#f2b661, 0) // Orange
// Plot candles
barcolor(isUp and highVolume ? bullishColor : isDown and highVolume ? bearishColor : na)
Swing High-Low Line ConnectorSwing High-Low Line Connector is a simple and intuitive tool that automatically detects swing highs and swing lows using fractal-style pivot logic and connects them with clean, continuous lines. This indicator helps traders visualize market structure, trend shifts, and swing-based support/resistance levels at a glance.
The script identifies each confirmed swing point based on a user-defined lookback window (left/right bars). When a new swing is confirmed, the indicator updates the previous leg or creates a new one, effectively drawing the classic “zigzag-style” connections used in discretionary trading and price-action analysis.
A dynamic tail extension is included to show the most recent swing extending toward the current price. By default, the tail follows a ZigZag-style logic—extending upward after a swing low and downward after a swing high—but users can also anchor it to Close, High, Low, or HL2.
Features
Automatic detection of swing highs and swing lows
Clean line connections between swings (similar to discretionary market-structure mapping)
Proper consolidation handling: weaker highs/lows are ignored
Optional ZigZag-style dynamic tail extension
Fully customizable lookback window, line color, and line width
Works on any market and timeframe
Use Cases
Identifying market structure (HH, HL, LH, LL)
Visualizing trend transitions
Spotting breakout levels and swing-based support/resistance
Aiding discretionary swing trading, trend following, or pattern recognition
This indicator keeps the logic simple and visual—ideal for traders who prefer clean chart structure without unnecessary noise.
45 Seconds SMA Using multi-second, multi-timeframe Simple Moving Averages (SMA) — from 5 seconds up to 45 seconds with periods ranging from 30 to 900 candles — allows for an ultra-granular view of market microstructure.
This setup helps to:
Capture momentum shifts and micro-trends that occur before they appear on standard 1-minute or higher charts.
Identify accumulation and distribution zones in near real-time, as each second-based timeframe smooths out only its own volatility pocket.
Observe SMA alignment and divergence patterns to detect the earliest trend confirmations or exhaustion points.
Build a hierarchical structure of market flow, where short SMAs show reaction speed and longer SMAs show sustained intent.
Essentially, this template acts as a microscopic trend-tracking system, bridging the gap between tick data and minute-based analysis — invaluable for scalpers and high-frequency decision models.
HTF Hollow Candle overlayoverlays HTF candle ontop of price so you can watch m1 chart filling up an h4 bar
TenUp Bots S R - Fixed (ta.highest)//@version=5
indicator("TenUp Bots S R - Fixed (ta.highest)", overlay = true)
// Inputs
a = input.int(10, "Sensitivity (bars)", minval = 1, maxval = 9999)
d_pct = input.int(85, "Transparency (%)", minval = 0, maxval = 100)
// Convert 0-100% to 0-255 transparency (color.new uses 0..255)
transp = math.round(d_pct * 255 / 100)
// Colors with transparency applied
resColor = color.new(color.red, transp)
supColor = color.new(color.blue, transp)
// Helper (calculations only)
getRes(len) => ta.highest(high, len)
getSup(len) => ta.lowest(low, len)
// === PLOTS (all in global scope) ===
plot(getRes(a*1), title="Resistance 1", color=resColor, linewidth=2)
plot(getSup(a*1), title="Support 1", color=supColor, linewidth=2)
plot(getRes(a*2), title="Resistance 2", color=resColor, linewidth=2)
plot(getSup(a*2), title="Support 2", color=supColor, linewidth=2)
plot(getRes(a*3), title="Resistance 3", color=resColor, linewidth=2)
plot(getSup(a*3), title="Support 3", color=supColor, linewidth=2)
plot(getRes(a*4), title="Resistance 4", color=resColor, linewidth=2)
plot(getSup(a*4), title="Support 4", color=supColor, linewidth=2)
plot(getRes(a*5), title="Resistance 5", color=resColor, linewidth=2)
plot(getSup(a*5), title="Support 5", color=supColor, linewidth=2)
plot(getRes(a*6), title="Resistance 6", color=resColor, linewidth=2)
plot(getSup(a*6), title="Support 6", color=supColor, linewidth=2)
plot(getRes(a*7), title="Resistance 7", color=resColor, linewidth=2)
plot(getSup(a*7), title="Support 7", color=supColor, linewidth=2)
plot(getRes(a*8), title="Resistance 8", color=resColor, linewidth=2)
plot(getSup(a*8), title="Support 8", color=supColor, linewidth=2)
plot(getRes(a*9), title="Resistance 9", color=resColor, linewidth=2)
plot(getSup(a*9), title="Support 9", color=supColor, linewidth=2)
plot(getRes(a*10), title="Resistance 10", color=resColor, linewidth=2)
plot(getSup(a*10), title="Support 10", color=supColor, linewidth=2)
plot(getRes(a*15), title="Resistance 15", color=resColor, linewidth=2)
plot(getSup(a*15), title="Support 15", color=supColor, linewidth=2)
plot(getRes(a*20), title="Resistance 20", color=resColor, linewidth=2)
plot(getSup(a*20), title="Support 20", color=supColor, linewidth=2)
plot(getRes(a*25), title="Resistance 25", color=resColor, linewidth=2)
plot(getSup(a*25), title="Support 25", color=supColor, linewidth=2)
plot(getRes(a*30), title="Resistance 30", color=resColor, linewidth=2)
plot(getSup(a*30), title="Support 30", color=supColor, linewidth=2)
plot(getRes(a*35), title="Resistance 35", color=resColor, linewidth=2)
plot(getSup(a*35), title="Support 35", color=supColor, linewidth=2)
plot(getRes(a*40), title="Resistance 40", color=resColor, linewidth=2)
plot(getSup(a*40), title="Support 40", color=supColor, linewidth=2)
plot(getRes(a*45), title="Resistance 45", color=resColor, linewidth=2)
plot(getSup(a*45), title="Support 45", color=supColor, linewidth=2)
plot(getRes(a*50), title="Resistance 50", color=resColor, linewidth=2)
plot(getSup(a*50), title="Support 50", color=supColor, linewidth=2)
plot(getRes(a*75), title="Resistance 75", color=resColor, linewidth=2)
plot(getSup(a*75), title="Support 75", color=supColor, linewidth=2)
plot(getRes(a*100), title="Resistance 100", color=resColor, linewidth=2)
plot(getSup(a*100), title="Support 100", color=supColor, linewidth=2)
plot(getRes(a*150), title="Resistance 150", color=resColor, linewidth=2)
plot(getSup(a*150), title="Support 150", color=supColor, linewidth=2)
plot(getRes(a*200), title="Resistance 200", color=resColor, linewidth=2)
plot(getSup(a*200), title="Support 200", color=supColor, linewidth=2)
plot(getRes(a*250), title="Resistance 250", color=resColor, linewidth=2)
plot(getSup(a*250), title="Support 250", color=supColor, linewidth=2)
plot(getRes(a*300), title="Resistance 300", color=resColor, linewidth=2)
plot(getSup(a*300), title="Support 300", color=supColor, linewidth=2)
plot(getRes(a*350), title="Resistance 350", color=resColor, linewidth=2)
plot(getSup(a*350), title="Support 350", color=supColor, linewidth=2)
plot(getRes(a*400), title="Resistance 400", color=resColor, linewidth=2)
plot(getSup(a*400), title="Support 400", color=supColor, linewidth=2)
plot(getRes(a*450), title="Resistance 450", color=resColor, linewidth=2)
plot(getSup(a*450), title="Support 450", color=supColor, linewidth=2)
plot(getRes(a*500), title="Resistance 500", color=resColor, linewidth=2)
plot(getSup(a*500), title="Support 500", color=supColor, linewidth=2)
plot(getRes(a*750), title="Resistance 750", color=resColor, linewidth=2)
plot(getSup(a*750), title="Support 750", color=supColor, linewidth=2)
plot(getRes(a*1000), title="Resistance 1000", color=resColor, linewidth=2)
plot(getSup(a*1000), title="Support 1000", color=supColor, linewidth=2)
plot(getRes(a*1250), title="Resistance 1250", color=resColor, linewidth=2)
plot(getSup(a*1250), title="Support 1250", color=supColor, linewidth=2)
plot(getRes(a*1500), title="Resistance 1500", color=resColor, linewidth=2)
plot(getSup(a*1500), title="Support 1500", color=supColor, linewidth=2)
TenUp Bots S R - Fixed (ta.highest)//@version=5
indicator("TenUp Bots S R - Fixed (ta.highest)", overlay = true)
// Inputs
a = input.int(10, "Sensitivity (bars)", minval = 1, maxval = 9999)
d_pct = input.int(85, "Transparency (%)", minval = 0, maxval = 100)
// Convert 0-100% to 0-255 transparency (color.new uses 0..255)
transp = math.round(d_pct * 255 / 100)
// Colors with transparency applied
resColor = color.new(color.red, transp)
supColor = color.new(color.blue, transp)
// Helper (calculations only)
getRes(len) => ta.highest(high, len)
getSup(len) => ta.lowest(low, len)
// === PLOTS (all in global scope) ===
plot(getRes(a*1), title="Resistance 1", color=resColor, linewidth=2)
plot(getSup(a*1), title="Support 1", color=supColor, linewidth=2)
plot(getRes(a*2), title="Resistance 2", color=resColor, linewidth=2)
plot(getSup(a*2), title="Support 2", color=supColor, linewidth=2)
plot(getRes(a*3), title="Resistance 3", color=resColor, linewidth=2)
plot(getSup(a*3), title="Support 3", color=supColor, linewidth=2)
plot(getRes(a*4), title="Resistance 4", color=resColor, linewidth=2)
plot(getSup(a*4), title="Support 4", color=supColor, linewidth=2)
plot(getRes(a*5), title="Resistance 5", color=resColor, linewidth=2)
plot(getSup(a*5), title="Support 5", color=supColor, linewidth=2)
plot(getRes(a*6), title="Resistance 6", color=resColor, linewidth=2)
plot(getSup(a*6), title="Support 6", color=supColor, linewidth=2)
plot(getRes(a*7), title="Resistance 7", color=resColor, linewidth=2)
plot(getSup(a*7), title="Support 7", color=supColor, linewidth=2)
plot(getRes(a*8), title="Resistance 8", color=resColor, linewidth=2)
plot(getSup(a*8), title="Support 8", color=supColor, linewidth=2)
plot(getRes(a*9), title="Resistance 9", color=resColor, linewidth=2)
plot(getSup(a*9), title="Support 9", color=supColor, linewidth=2)
plot(getRes(a*10), title="Resistance 10", color=resColor, linewidth=2)
plot(getSup(a*10), title="Support 10", color=supColor, linewidth=2)
plot(getRes(a*15), title="Resistance 15", color=resColor, linewidth=2)
plot(getSup(a*15), title="Support 15", color=supColor, linewidth=2)
plot(getRes(a*20), title="Resistance 20", color=resColor, linewidth=2)
plot(getSup(a*20), title="Support 20", color=supColor, linewidth=2)
plot(getRes(a*25), title="Resistance 25", color=resColor, linewidth=2)
plot(getSup(a*25), title="Support 25", color=supColor, linewidth=2)
plot(getRes(a*30), title="Resistance 30", color=resColor, linewidth=2)
plot(getSup(a*30), title="Support 30", color=supColor, linewidth=2)
plot(getRes(a*35), title="Resistance 35", color=resColor, linewidth=2)
plot(getSup(a*35), title="Support 35", color=supColor, linewidth=2)
plot(getRes(a*40), title="Resistance 40", color=resColor, linewidth=2)
plot(getSup(a*40), title="Support 40", color=supColor, linewidth=2)
plot(getRes(a*45), title="Resistance 45", color=resColor, linewidth=2)
plot(getSup(a*45), title="Support 45", color=supColor, linewidth=2)
plot(getRes(a*50), title="Resistance 50", color=resColor, linewidth=2)
plot(getSup(a*50), title="Support 50", color=supColor, linewidth=2)
plot(getRes(a*75), title="Resistance 75", color=resColor, linewidth=2)
plot(getSup(a*75), title="Support 75", color=supColor, linewidth=2)
plot(getRes(a*100), title="Resistance 100", color=resColor, linewidth=2)
plot(getSup(a*100), title="Support 100", color=supColor, linewidth=2)
plot(getRes(a*150), title="Resistance 150", color=resColor, linewidth=2)
plot(getSup(a*150), title="Support 150", color=supColor, linewidth=2)
plot(getRes(a*200), title="Resistance 200", color=resColor, linewidth=2)
plot(getSup(a*200), title="Support 200", color=supColor, linewidth=2)
plot(getRes(a*250), title="Resistance 250", color=resColor, linewidth=2)
plot(getSup(a*250), title="Support 250", color=supColor, linewidth=2)
plot(getRes(a*300), title="Resistance 300", color=resColor, linewidth=2)
plot(getSup(a*300), title="Support 300", color=supColor, linewidth=2)
plot(getRes(a*350), title="Resistance 350", color=resColor, linewidth=2)
plot(getSup(a*350), title="Support 350", color=supColor, linewidth=2)
plot(getRes(a*400), title="Resistance 400", color=resColor, linewidth=2)
plot(getSup(a*400), title="Support 400", color=supColor, linewidth=2)
plot(getRes(a*450), title="Resistance 450", color=resColor, linewidth=2)
plot(getSup(a*450), title="Support 450", color=supColor, linewidth=2)
plot(getRes(a*500), title="Resistance 500", color=resColor, linewidth=2)
plot(getSup(a*500), title="Support 500", color=supColor, linewidth=2)
plot(getRes(a*750), title="Resistance 750", color=resColor, linewidth=2)
plot(getSup(a*750), title="Support 750", color=supColor, linewidth=2)
plot(getRes(a*1000), title="Resistance 1000", color=resColor, linewidth=2)
plot(getSup(a*1000), title="Support 1000", color=supColor, linewidth=2)
plot(getRes(a*1250), title="Resistance 1250", color=resColor, linewidth=2)
plot(getSup(a*1250), title="Support 1250", color=supColor, linewidth=2)
plot(getRes(a*1500), title="Resistance 1500", color=resColor, linewidth=2)
plot(getSup(a*1500), title="Support 1500", color=supColor, linewidth=2)
15 Seconds SMA Using multi-second, multi-timeframe Simple Moving Averages (SMA) — from 5 seconds up to 45 seconds with periods ranging from 30 to 900 candles — allows for an ultra-granular view of market microstructure.
This setup helps to:
Capture momentum shifts and micro-trends that occur before they appear on standard 1-minute or higher charts.
Identify accumulation and distribution zones in near real-time, as each second-based timeframe smooths out only its own volatility pocket.
Observe SMA alignment and divergence patterns to detect the earliest trend confirmations or exhaustion points.
Build a hierarchical structure of market flow, where short SMAs show reaction speed and longer SMAs show sustained intent.
Essentially, this template acts as a microscopic trend-tracking system, bridging the gap between tick data and minute-based analysis — invaluable for scalpers and high-frequency decision models.
Z Score k3x3// ===================================
// Z-Score Indicator with Enhanced Visualization
//
// Description:
// This indicator calculates the Z-Score (standard score) of price movements,
// highlighting extreme overbought and oversold conditions with visual alerts.
//
// Features:
// - Dynamic color gradients based on Z-Score values
// - Visual alerts for extreme zones (|Z| > 2)
// - Background highlighting for overbought/oversold areas
// - Shape markers for extreme conditions
// - Customizable period length and standard deviation levels
//
// Interpretation:
// Z > +2: Extreme overbought (red alert)
// Z < -2: Extreme oversold (green alert)
// |Z| < 1: Normal range (neutral colors)
// ===================================
Chỉ báo Engulfing (Lọc EMA & K%)chỉ báo engulfing nhằm tìm kiếm tín hiệu đảo chiều với hệ số phủ thân nến là K%
Dresteghamat:Adaptive Multi-TF Decision Engine**Dresteghamat: Adaptive Multi-Timeframe Decision Engine**
This open-source indicator is an algorithmic decision-support system designed to filter market noise by quantifying three core market dimensions: **Regime**, **Direction**, and **Exhaustion**.
**⚠️ Technical Note on Originality:**
This script solves the "Timeframe Irrelevance" problem found in standard dashboards. Instead of using static HTF references, it implements a custom **"Adaptive Context Engine"** (see lines 245-270 in source code). It calculates the user's current `timeframe.multiplier` and dynamically maps the mathematically relevant Higher Timeframes.
* *Innovation:* A 5m chart automatically weights 15m/1H structure, whereas a 1H chart weights 4H/Daily structure. This dynamic logic is proprietary and ensures contextual accuracy.
---
### 🛠️ Logic & Calculation Methodology
The script does not simply overlay indicators. It processes raw market data through a **Weighted Scoring Engine** (lines 275-285) to output a unified market state.
**1. Regime Identification (Volatility Normalized)**
We calculate a custom "Volatility Ratio" to distinguish Trend vs. Range regimes.
* **Logic:** `Range / Smoothed_ATR`.
* **Function:** If Ratio > 2.0, the market is in Expansion (Trend). If < 1.2, it is in Compression (Range). This normalizes volatility across assets (Crypto/Forex/Stocks).
**2. Directional Bias (Composite Metric)**
Direction is calculated via a voting system of three sub-components (lines 80-130):
* **Structural Pivots:** Detects Swing Highs/Lows using a 25-bar lookback to define market structure.
* **Cumulative Body Delta:** Tracks the net buying/selling pressure within candle bodies.
* **Micro-Flow:** A short-term (5-bar) momentum filter to detect immediate order flow shifts.
**3. Exhaustion Model (Risk Management)**
The script prevents late entries by calculating an "Exhaustion Score" (lines 150-200). It aggregates:
* **VRSD (Volatility Regime Shift):** Detects when volatility expands > 2 standard deviations (Mean Reversion risk).
* **Volume Decay (VEFF):** Identifies Divergence where price makes new highs on declining Volume MA.
* **RSI/Impulse Divergence:** Standard momentum divergence logic.
**4. The Decision Output (MODE)**
The dashboard renders a final signal based on a hierarchical algorithm:
* **BUY/SELL ONLY:** Triggered when Current Momentum aligns with the Dynamically Selected HTF Structure AND the Exhaustion Score is low.
* **PULLBACK:** Triggered when HTF Structure is bullish, but Current Momentum is bearish (indicating a corrective phase).
* **HTF EXHAUST:** Overrides signals when the Higher Timeframe metrics hit extreme levels.
* **WAIT:** Default state during Range Regimes or conflicting signals.
---
### 📊 Usage Guide
1. Apply to chart (Auto-adapts to any timeframe).
2. **Status Column:** Shows the raw health of the trend (Strong/Weakening/Exhausted).
3. **MODE Column:** Displays the final actionable bias based on the scoring algorithm.
**Disclaimer:** This tool provides statistical analysis based on historical data. It does not guarantee future results.
Mars Signals - Ultimate Institutional Suite v3.0(Joker)Comprehensive Trading Manual
Mars Signals – Ultimate Institutional Suite v3.0 (Joker)
## Chapter 1 – Philosophy & System Architecture
This script is not a simple “buy/sell” indicator.
Mars Signals – UIS v3.0 (Joker) is designed as an institutional-style analytical assistant that layers several methodologies into a single, coherent framework.
The system is built on four core pillars:
1. Smart Money Concepts (SMC)
- Detection of Order Blocks (professional demand/supply zones).
- Detection of Fair Value Gaps (FVGs) (price imbalances).
2. Smart DCA Strategy
- Combination of RSI and Bollinger Bands
- Identifies statistically discounted zones for scaling into spot positions or exiting shorts.
3. Volume Profile (Visible Range Simulation)
- Distribution of volume by price, not by time.
- Identification of POC (Point of Control) and high-/low-volume areas.
4. Wyckoff Helper – Spring
- Detection of bear traps, liquidity grabs, and sharp bullish reversals.
All four pillars feed into a Confluence Engine (Scoring System).
The final output is presented in the Dashboard, with a clear, human-readable signal:
- STRONG LONG 🚀
- WEAK LONG ↗
- NEUTRAL / WAIT
- WEAK SHORT ↘
- STRONG SHORT 🩸
This allows the trader to see *how many* and *which* layers of the system support a bullish or bearish bias at any given time.
## Chapter 2 – Settings Overview
### 2.1 General & Dashboard Group
- Show Dashboard Panel (`show_dash`)
Turns the dashboard table in the corner of the chart ON/OFF.
- Show Signal Recommendation (`show_rec`)
- If enabled, the textual signal (STRONG LONG, WEAK SHORT, etc.) is displayed.
- If disabled, you only see feature status (ON/OFF) and the current price.
- Dashboard Position (`dash_pos`)
Determines where the dashboard appears on the chart:
- `Top Right`
- `Bottom Right`
- `Top Left`
### 2.2 Smart Money (SMC) Group
- Enable SMC Strategy (`show_smc`)
Globally enables or disables the Order Block and FVG logic.
- Order Block Pivot Lookback (`ob_period`)
Main parameter for detecting key pivot highs/lows (swing points).
- Default value: 5
- Concept:
A bar is considered a pivot low if its low is lower than the lows of the previous 5 and the next 5 bars.
Similarly, a pivot high has a high higher than the previous 5 and the next 5 bars.
These pivots are used as anchors for Order Blocks.
- Increasing `ob_period`:
- Fewer levels.
- But levels tend to be more significant and reliable.
- In highly volatile markets (major news, war events, FOMC, etc.),
using values 7–10 is recommended to filter out weak levels.
- Show Fair Value Gaps (`show_fvg`)
Enables/disables the drawing of FVG zones (imbalances).
- Bullish OB Color (`c_ob_bull`)
- Color of Bullish Order Blocks (Demand Zones).
- Default: semi-transparent green (transparency ≈ 80).
- Bearish OB Color (`c_ob_bear`)
- Color of Bearish Order Blocks (Supply Zones).
- Default: semi-transparent red.
- Bullish FVG Color (`c_fvg_bull`)
- Color of Bullish FVG (upward imbalance), typically yellow.
- Bearish FVG Color (`c_fvg_bear`)
- Color of Bearish FVG (downward imbalance), typically purple.
### 2.3 Smart DCA Strategy Group
- Enable DCA Zones (`show_dca`)
Enables the Smart DCA logic and visual labels.
- RSI Length (`rsi_len`)
Lookback period for RSI (default: 14).
- Shorter → more sensitive, more noise.
- Longer → fewer signals, higher reliability.
- Bollinger Bands Length (`bb_len`)
Moving average period for Bollinger Bands (default: 20).
- BB Multiplier (`bb_mult`)
Standard deviation multiplier for Bollinger Bands (default: 2.0).
- For extremely volatile markets, values like 2.5–3.0 can be used so that only extreme deviations trigger a DCA signal.
### 2.4 Volume Profile (Visible Range Sim) Group
- Show Volume Profile (`show_vp`)
Enables the simulated Volume Profile bars on the right side of the chart.
- Volume Lookback Bars (`vp_lookback`)
Number of bars used to compute the Volume Profile (default: 150).
- Higher values → broader historical context, heavier computation.
- Row Count (`vp_rows`)
Number of vertical price segments (rows) to divide the total price range into (default: 30).
- Width (%) (`vp_width`)
Relative width of each volume bar as a percentage.
In the code, bar widths are scaled relative to the row with the maximum volume.
> Technical note: Volume Profile calculations are executed only on the last bar (`barstate.islast`) to keep the script performant even on higher timeframes.
### 2.5 Wyckoff Helper Group
- Show Wyckoff Events (`show_wyc`)
Enables detection and plotting of Wyckoff Spring events.
- Volume MA Length (`vol_ma_len`)
Length of the moving average on volume.
A bar is considered to have Ultra Volume if its volume is more than 2× the volume MA.
## Chapter 3 – Smart Money Strategy (Order Blocks & FVG)
### 3.1 What Is an Order Block?
An Order Block (OB) represents the footprint of large institutional orders:
- Bullish Order Block (Demand Zone)
The last selling region (bearish candle/cluster) before a strong upward move.
- Bearish Order Block (Supply Zone)
The last buying region (bullish candle/cluster) before a strong downward move.
Institutions and large players place heavy orders in these regions. Typical price behavior:
- Price moves away from the zone.
- Later returns to the same zone to fill unfilled orders.
- Then continues the larger trend.
In the script:
- If `pl` (pivot low) forms → a Bullish OB is created.
- If `ph` (pivot high) forms → a Bearish OB is created.
The box is drawn:
- From `bar_index ` to `bar_index`.
- Between `low ` and `high `.
- `extend=extend.right` extends the OB into the future, so it acts as a dynamic support/resistance zone.
- Only the last 4 OB boxes are kept to avoid clutter.
### 3.2 Order Block Color Guide
- Semi-transparent Green (`c_ob_bull`)
- Represents a Bullish Order Block (Demand Zone).
- Interpretation: a price region with a high probability of bullish reaction.
- Semi-transparent Red (`c_ob_bear`)
- Represents a Bearish Order Block (Supply Zone).
- Interpretation: a price region with a high probability of bearish reaction.
Overlap (Multiple OBs in the Same Area)
When two or more Order Blocks overlap:
- The shared area appears visually denser/stronger.
- This suggests higher order density.
- Such zones can be treated as high-priority levels for entries, exits, and stop-loss placement.
### 3.3 Demand/Supply Logic in the Scoring Engine
is_in_demand = low <= ta.lowest(low, 20)
is_in_supply = high >= ta.highest(high, 20)
- If current price is near the lowest lows of the last 20 bars, it is considered in a Demand Zone → positive impact on score.
- If current price is near the highest highs of the last 20 bars, it is considered in a Supply Zone → negative impact on score.
This logic complements Order Blocks and helps the Dashboard distinguish whether:
- Market is currently in a statistically cheap (long-friendly) area, or
- In a statistically expensive (short-friendly) area.
### 3.4 Fair Value Gaps (FVG)
#### Concept
When the market moves aggressively:
- Some price levels are skipped and never traded.
- A gap between wicks/shadows of consecutive candles appears.
- These regions are called Fair Value Gaps (FVGs) or Imbalances.
The market generally “dislikes” imbalance and often:
- Returns to these zones in the future.
- Fills the gap (rebalance).
- Then resumes its dominant direction.
#### Implementation in the Code
Bullish FVG (Yellow)
fvg_bull_cond = show_smc and show_fvg and low > high and close > high
if fvg_bull_cond
box.new(bar_index , high , bar_index, low, ...)
Core condition:
`low > high ` → the current low is above the high of two bars ago; the space between them is an untraded gap.
Bearish FVG (Purple)
fvg_bear_cond = show_smc and show_fvg and high < low and close < low
if fvg_bear_cond
box.new(bar_index , low , bar_index, high, ...)
Core condition:
`high < low ` → the current high is below the low of two bars ago; again a price gap exists.
#### FVG Color Guide
- Transparent Yellow (`c_fvg_bull`) – Bullish FVG
Often acts like a magnet for price:
- Price tends to retrace into this zone,
- Fill the imbalance,
- And then continue higher.
- Transparent Purple (`c_fvg_bear`) – Bearish FVG
Price tends to:
- Retrace upward into the purple area,
- Fill the imbalance,
- And then resume downward movement.
#### Trading with FVGs
- FVGs are *not* standalone entry signals.
They are best used as:
- Targets (take-profit zones), or
- Reaction areas where you expect a pause or reversal.
Examples:
- If you are long, a bearish FVG above is often an excellent take-profit zone.
- If you are short, a bullish FVG below is often a good cover/exit zone.
### 3.5 Core SMC Trading Templates
#### Reversal Long
1. Price trades down into a green Order Block (Demand Zone).
2. A bullish confirmation candle (Close > Open) forms inside or just above the OB.
3. If this zone is close to or aligned with a bullish FVG (yellow), the signal is reinforced.
4. Entry:
- At the close of the confirmation candle, or
- Using a limit order near the upper boundary of the OB.
5. Stop-loss:
- Slightly below the OB.
- If the OB is broken decisively and price consolidates below it, the zone loses validity.
6. Targets:
- The next FVG,
- Or the next red Order Block (Supply Zone) above.
#### Reversal Short
The mirror scenario:
- Price rallies into a red Order Block (Supply).
- A bearish confirmation candle forms (Close < Open).
- FVG/premium structure above can act as a confluence.
- Stop-loss goes above the OB.
- Targets: lower FVGs or subsequent green OBs below.
## Chapter 4 – Smart DCA Strategy (RSI + Bollinger Bands)
### 4.1 Smart DCA Concept
- Classic DCA = buying at fixed time intervals regardless of price.
- Smart DCA = scaling in only when:
- Price is statistically cheaper than usual, and
- The market is in a clear oversold condition.
Code logic:
rsi_val = ta.rsi(close, rsi_len)
= ta.bb(close, bb_len, bb_mult)
dca_buy = show_dca and rsi_val < 30 and close < bb_lower
dca_sell = show_dca and rsi_val > 70 and close > bb_upper
Conditions:
- DCA Buy – Smart Scale-In Zone
- RSI < 30 → oversold.
- Close < lower Bollinger Band → price has broken below its typical volatility envelope.
- DCA Sell – Overbought/Distribution Zone
- RSI > 70 → overbought.
- Close > upper Bollinger Band → price is extended far above the mean.
### 4.2 Visual Representation on the Chart
- Green “DCA” Label Below Candle
- Shape: `labelup`.
- Color: lime background, white text.
- Meaning: statistically attractive level for laddered spot entries or short exits.
- Red “SELL” Label Above Candle
- Warning that the market is in an extended, overbought condition.
- Suitable for profit-taking on longs or considering short entries (with proper confluence and risk management).
- Light Green Background (`bgcolor`)
- When `dca_buy` is true, the candle background turns very light green (high transparency).
- This helps visually identify DCA Zones across the chart at a glance.
### 4.3 Practical Use in Trading
#### Spot Trading
Used to build a better average entry price:
- Every time a DCA label appears, allocate a fixed portion of capital (e.g., 2–5%).
- Combining DCA signals with:
- Green OBs (Demand Zones), and/or
- The Volume Profile POC
makes the zone structurally more important.
#### Futures Trading
- Longs
- Use DCA Buy signals as low-risk zones for opening or adding to longs when:
- Price is inside a green OB, or
- The Dashboard already leans LONG.
- Shorts
- Use DCA Sell signals as:
- Exit zones for longs, or
- Areas to initiate shorts with stops above structural highs.
## Chapter 5 – Volume Profile (Visible Range Simulation)
### 5.1 Concept
Traditional volume (histogram under the chart) shows volume over time.
Volume Profile shows volume by price level:
- At which prices has the highest trading activity occurred?
- Where did buyers and sellers agree the most (High Volume Nodes – HVNs)?
- Where did price move quickly due to low participation (Low Volume Nodes – LVNs)?
### 5.2 Implementation in the Script
Executed only when `show_vp` is enabled and on the last bar:
1. The last `vp_lookback` bars (default 150) are processed.
2. The minimum low and maximum high over this window define the price range.
3. This price range is divided into `vp_rows` segments (e.g., 30 rows).
4. For each row:
- All bars are scanned.
- If the mid-price `(high + low ) / 2` falls inside a row, that bar’s volume is added to the row total.
5. The row with the greatest volume is stored as `max_vol_idx` (the POC row).
6. For each row, a volume box is drawn on the right side of the chart.
### 5.3 Color Scheme
- Semi-transparent Orange
- The row with the maximum volume – the Point of Control (POC).
- Represents the strongest support/resistance level from a volume perspective.
- Semi-transparent Blue
- Other volume rows.
- The taller the bar → the higher the volume → the stronger the interest at that price band.
### 5.4 Trading Applications
- If price is above POC and retraces back into it:
→ POC often acts as support, suitable for long setups.
- If price is below POC and rallies into it:
→ POC often acts as resistance, suitable for short setups or profit-taking.
HVNs (Tall Blue Bars)
- Represent areas of equilibrium where the market has spent time and traded heavily.
- Price tends to consolidate here before choosing a direction.
LVNs (Short or Nearly Empty Bars)
- Represent low participation zones.
- Price often moves quickly through these areas – useful for targeting fast moves.
## Chapter 6 – Wyckoff Helper – Spring
### 6.1 Spring Concept
In the Wyckoff framework:
- A Spring is a false break of support.
- The market briefly trades below a well-defined support level, triggers stop losses,
then sharply reverses upward as institutional buyers absorb liquidity.
This movement:
- Clears out weak hands (retail sellers).
- Provides large players with liquidity to enter long positions.
- Often initiates a new uptrend.
### 6.2 Code Logic
Conditions for a Spring:
1. The current low is lower than the lowest low of the previous 50 bars
→ apparent break of a long-standing support.
2. The bar closes bullish (Close > Open)
→ the breakdown was rejected.
3. Volume is significantly elevated:
→ `volume > 2 × volume_MA` (Ultra Volume).
When all conditions are met and `show_wyc` is enabled:
- A pink diamond is plotted below the bar,
- With the label “Spring” – one of the strongest long signals in this system.
### 6.3 Trading Use
- After a valid Spring, markets frequently enter a meaningful bullish phase.
- The highest quality setups occur when:
- The Spring forms inside a green Order Block, and
- Near or on the Volume Profile POC.
Entries:
- At the close of the Spring bar, or
- On the first pullback into the mid-range of the Spring candle.
Stop-loss:
- Slightly below the Spring’s lowest point (wick low plus a small buffer).
## Chapter 7 – Confluence Engine & Dashboard
### 7.1 Scoring Logic
For each bar, the script:
1. Resets `score` to 0.
2. Adjusts the score based on different signals.
SMC Contribution
if show_smc
if is_in_demand
score += 1
if is_in_supply
score -= 1
- Being in Demand → `+1`
- Being in Supply → `-1`
DCA Contribution
if show_dca
if dca_buy
score += 2
if dca_sell
score -= 2
- DCA Buy → `+2` (strong, statistically driven long signal)
- DCA Sell → `-2`
Wyckoff Spring Contribution
if show_wyc
if wyc_spring
score += 2
- Spring → `+2` (entry of strong money)
### 7.2 Mapping Score to Dashboard Signal
- score ≥ 2 → STRONG LONG 🚀
Multiple bullish conditions aligned.
- score = 1 → WEAK LONG ↗
Some bullish bias, but only one layer clearly positive.
- score = 0 → NEUTRAL / WAIT
Rough balance between buying and selling forces; staying flat is usually preferable.
- score = -1 → WEAK SHORT ↘
Mild bearish bias, suited for cautious or short-term plays.
- score ≤ -2 → STRONG SHORT 🩸
Convergence of several bearish signals.
### 7.3 Dashboard Structure
The dashboard is a two-column table:
- Row 0
- Column 0: `"Mars Signals"` – black background, white text.
- Column 1: `"UIS v3.0"` – black background, yellow text.
- Row 1
- Column 0: `"Price:"` (light grey background).
- Column 1: current closing price (`close`) with a semi-transparent blue background.
- Row 2
- Column 0: `"SMC:"`
- Column 1:
- `"ON"` (green) if `show_smc = true`
- `"OFF"` (grey) otherwise.
- Row 3
- Column 0: `"DCA:"`
- Column 1:
- `"ON"` (green) if `show_dca = true`
- `"OFF"` (grey) otherwise.
- Row 4
- Column 0: `"Signal:"`
- Column 1: signal text (`status_txt`) with background color `status_col`
(green, red, teal, maroon, etc.)
- If `show_rec = false`, these cells are cleared.
## Chapter 8 – Visual Legend (Colors, Shapes & Actions)
For quick reading inside TradingView, the visual elements are described line by line instead of a table.
Chart Element: Green Box
Color / Shape: Transparent green rectangle
Core Meaning: Bullish Order Block (Demand Zone)
Suggested Trader Response: Look for longs, Smart DCA adds, closing or reducing shorts.
Chart Element: Red Box
Color / Shape: Transparent red rectangle
Core Meaning: Bearish Order Block (Supply Zone)
Suggested Trader Response: Look for shorts, or take profit on existing longs.
Chart Element: Yellow Area
Color / Shape: Transparent yellow zone
Core Meaning: Bullish FVG / upside imbalance
Suggested Trader Response: Short take-profit zone or expected rebalance area.
Chart Element: Purple Area
Color / Shape: Transparent purple zone
Core Meaning: Bearish FVG / downside imbalance
Suggested Trader Response: Long take-profit zone or temporary supply region.
Chart Element: Green "DCA" Label
Color / Shape: Green label with white text, plotted below the candle
Core Meaning: Smart ladder-in buy zone, DCA buy opportunity
Suggested Trader Response: Spot DCA entry, partial short exit.
Chart Element: Red "SELL" Label
Color / Shape: Red label with white text, plotted above the candle
Core Meaning: Overbought / distribution zone
Suggested Trader Response: Take profit on longs, consider initiating shorts.
Chart Element: Light Green Background (bgcolor)
Color / Shape: Very transparent light-green background behind bars
Core Meaning: Active DCA Buy zone
Suggested Trader Response: Treat as a discount zone on the chart.
Chart Element: Orange Bar on Right
Color / Shape: Transparent orange horizontal bar in the volume profile
Core Meaning: POC – price with highest traded volume
Suggested Trader Response: Strong support or resistance; key reference level.
Chart Element: Blue Bars on Right
Color / Shape: Transparent blue horizontal bars in the volume profile
Core Meaning: Other volume levels, showing high-volume and low-volume nodes
Suggested Trader Response: Use to identify balance zones (HVN) and fast-move corridors (LVN).
Chart Element: Pink "Spring" Diamond
Color / Shape: Pink diamond with white text below the candle
Core Meaning: Wyckoff Spring – liquidity grab and potential major bullish reversal
Suggested Trader Response: One of the strongest long signals in the suite; look for high-quality long setups with tight risk.
Chart Element: STRONG LONG in Dashboard
Color / Shape: Green background, white text in the Signal row
Core Meaning: Multiple bullish layers in confluence
Suggested Trader Response: Consider initiating or increasing longs with strict risk management.
Chart Element: STRONG SHORT in Dashboard
Color / Shape: Red background, white text in the Signal row
Core Meaning: Multiple bearish layers in confluence
Suggested Trader Response: Consider initiating or increasing shorts with a logical, well-placed stop.
## Chapter 9 – Timeframe-Based Trading Playbook
### 9.1 Timeframe Selection
- Scalping
- Timeframes: 1M, 5M, 15M
- Objective: fast intraday moves (minutes to a few hours).
- Recommendation: focus on SMC + Wyckoff.
Smart DCA on very low timeframes may introduce excessive noise.
- Day Trading
- Timeframes: 15M, 1H, 4H
- Provides a good balance between signal quality and frequency.
- Recommendation: use the full stack – SMC + DCA + Volume Profile + Wyckoff + Dashboard.
- Swing Trading & Position Investing
- Timeframes: Daily, Weekly
- Emphasis on Smart DCA + Volume Profile.
- SMC and Wyckoff are used mainly to fine-tune swing entries within larger trends.
### 9.2 Scenario A – Scalping Long
Example: 5-Minute Chart
1. Price is declining into a green OB (Bullish Demand).
2. A candle with a long lower wick and bullish close (Pin Bar / Rejection) forms inside the OB.
3. A Spring diamond appears below the same candle → very strong confluence.
4. The Dashboard shows at least WEAK LONG ↗, ideally STRONG LONG 🚀.
5. Entry:
- On the close of the confirmation candle, or
- On the first pullback into the mid-range of that candle.
6. Stop-loss:
- Slightly below the OB.
7. Targets:
- Nearby bearish FVG above, and/or
- The next red OB.
### 9.3 Scenario B – Day-Trading Short
Recommended Timeframes: 1H or 4H
1. The market completes a strong impulsive move upward.
2. Price enters a red Order Block (Supply).
3. In the same zone, a purple FVG appears or remains unfilled.
4. On a lower timeframe (e.g., 15M), RSI enters overbought territory and a DCA Sell signal appears.
5. The main timeframe Dashboard (1H) shows WEAK SHORT ↘ or STRONG SHORT 🩸.
Trade Plan
- Open a short near the upper boundary of the red OB.
- Place the stop above the OB or above the last swing high.
- Targets:
- A yellow FVG lower on the chart, and/or
- The next green OB (Demand) below.
### 9.4 Scenario C – Swing / Investment with Smart DCA
Timeframes: Daily / Weekly
1. On the daily or weekly chart, each time a green “DCA” label appears:
- Allocate a fixed fraction of your capital (e.g., 3–5%) to that asset.
2. Check whether this DCA zone aligns with the orange POC of the Volume Profile:
- If yes → the quality of the entry zone is significantly higher.
3. If the DCA signal sits inside a daily green OB, the probability of a medium-term bottom increases.
4. Always build the position laddered, never all-in at a single price.
Exits for investors:
- Near weekly red OBs or large purple FVG zones.
- Ideally via partial profit-taking rather than closing 100% at once.
### 9.5 Case Study 1 – BTCUSDT (15-Minute)
- Context: Price has sold off down towards 65,000 USD.
- A green OB had previously formed at that level.
- Near the lower boundary of this OB, a partially filled yellow FVG is present.
- As price returns to this region, a Spring appears.
- The Dashboard shifts from NEUTRAL / WAIT to WEAK LONG ↗.
Plan
- Enter a long near the OB low.
- Place stop below the Spring low.
- First target: a purple FVG around 66,200.
- Second (optional) target: the first red OB above that level.
### 9.6 Case Study 2 – Meme Coin (PEPE – 4H)
- After a strong pump, price enters a corrective phase.
- On the 4H chart, RSI drops below 30; price breaks below the lower Bollinger Band → a DCA label prints.
- The Volume Profile shows the POC at approximately the same level.
- The Dashboard displays STRONG LONG 🚀.
Plan
- Execute laddered buys in the combined DCA + POC zone.
- Place a protective stop below the last significant swing low.
- Target: an expected 20–30% upside move towards the next red OB or purple FVG.
## Chapter 10 – Risk Management, Psychology & Advanced Tuning
### 10.1 Risk Management
No signal, regardless of its strength, replaces risk control.
Recommendations:
- In futures, do not expose more than 1–3% of account equity to risk per trade.
- Adjust leverage to the volatility of the instrument (lower leverage for highly volatile altcoins).
- Place stop-losses in zones where the idea is clearly invalidated:
- Below/above the relevant Order Block or Spring, not randomly in the middle of the structure.
### 10.2 Market-Specific Parameter Tuning
- Calmer Markets (e.g., major FX pairs)
- `ob_period`: 3–5.
- `bb_mult`: 2.0 is usually sufficient.
- Highly Volatile Markets (Crypto, news-driven assets)
- `ob_period`: 7–10 to highlight only the most robust OBs.
- `bb_mult`: 2.5–3.0 so that only extreme deviations trigger DCA.
- `vol_ma_len`: increase (e.g., to ~30) so that Spring triggers only on truly exceptional
volume spikes.
### 10.3 Trading Psychology
- STRONG LONG 🚀 does not mean “risk-free”.
It means the probability of a successful long, given the model’s logic, is higher than average.
- Treat Mars Signals as a confirmation and context system, not a full replacement for your own decision-making.
- Example of disciplined thinking:
- The Dashboard prints STRONG LONG,
- But price is simultaneously testing a multi-month macro resistance or a major negative news event is imminent,
- In such cases, trade smaller, widen stops appropriately, or skip the trade.
## Chapter 11 – Technical Notes & FAQ
### 11.1 Does the Script Repaint?
- Order Blocks and Springs are based on completed pivot structures and confirmed candles.
- Until a pivot is confirmed, an OB does not exist; after confirmation, behavior is stable under classic SMC assumptions.
- The script is designed to be structurally consistent rather than repainting signals arbitrarily.
### 11.2 Computational Load of Volume Profile
- On the last bar, the script processes up to `vp_lookback` bars × `vp_rows` rows.
- On very low timeframes with heavy zooming, this can become demanding.
- If you experience performance issues:
- Reduce `vp_lookback` or `vp_rows`, or
- Temporarily disable Volume Profile (`show_vp = false`).
### 11.3 Multi-Timeframe Behavior
- This version of the script is not internally multi-timeframe.
All logic (OB, DCA, Spring, Volume Profile) is computed on the active timeframe only.
- Practical workflow:
- Analyze overall structure and key zones on higher timeframes (4H / Daily).
- Use lower timeframes (15M / 1H) with the same tool for timing entries and exits.
## Conclusion
Mars Signals – Ultimate Institutional Suite v3.0 (Joker) is a multi-layer trading framework that unifies:
- Price structure (Order Blocks & FVG),
- Statistical behavior (Smart DCA via RSI + Bollinger),
- Volume distribution by price (Volume Profile with POC, HVN, LVN),
- Liquidity events (Wyckoff Spring),
into a single, coherent system driven by a transparent Confluence Scoring Engine.
The final output is presented in clear, actionable language:
> STRONG LONG / WEAK LONG / NEUTRAL / WEAK SHORT / STRONG SHORT
The system is designed to support professional decision-making, not to replace it.
Used together with strict risk management and disciplined execution,
Mars Signals – UIS v3.0 (Joker) can serve as a central reference manual and operational guide
for your trading workflow, from scalping to swing and investment positioning.
Coin Jin Multi SMA+ BB+ SMA forecast Ver2.02This script provides a complete trend-analysis system based on the
5 / 20 / 60 / 112 / 224 / 448 / 896 SMAs.
It precisely detects bullish/bearish alignment and automatically identifies
12 advanced trend-shift signals (Start, End, and Reversal).
Key Features:
● 9 SMA lines (including custom X1 & X2)
Each SMA supports custom color, width, and style (Line/Step/Circles).
● Bollinger Bands with customizable options
Fully adjustable length, source, width, style, fill transparency, and more.
● SMA Forecast (curved projection)
– Slope computed via linear regression
– Predicts up to 30 future bars
– Forced dotted style ensures visibility at all zoom levels
● 12 Advanced Trend Signals (alertcondition)
Automatically detects:
Start of full alignment (with/without SMA 896)
End of alignment
Bull ↔ Bear transitions
Perfect for momentum trading, trend-following, reversal detection, or automated alert systems.
● Labeling last value of each SMA
Each SMA prints a label such as "5", “20”, “60”, “896”, or custom lengths at the latest bar.
이 스크립트는 5 / 20 / 60 / 112 / 224 / 448 / 896 이동평균선을 기반으로
정배열·역배열 상태를 정밀하게 분석하고,
총 12가지 고급 추세 신호(시작·종료·전환) 를 자동으로 감지하는 통합 추세 분석 도구입니다.
주요 기능:
● 9개의 SMA 표시 (커스텀 X1, X2 포함)
각 SMA는 색상·굵기·형태(Line/Step/Circle)를 개별 설정할 수 있습니다.
● 볼린저밴드 표시 및 채우기 옵션
BB 길이, 소스, 타입, 두께, 투명도 등을 자유롭게 조절 가능.
● SMA Forecast (미래 방향 곡선 예측)
– 기울기 기반 선형회귀 슬로프 계산
– 곡선 형태로 미래 30봉까지 예측
– 점선(Dotted) 강제 적용으로 어떤 배율에서도 선명하게 표시
● 12가지 고급 추세 신호(alertcondition)
정배열·역배열의
Start (처음 완성될 때)
End (깨질 때)
Switch (전환)
을 모두 자동 탐지하여 트레이딩뷰 알림으로 받을 수 있음.
● SMA 마지막 가격 라벨 표시
각 SMA 끝 지점에 “5 / 20 / 60 / ... / 896” 식으로 라벨 표시.
coinjin 정·역배열 대시보드 (Progress+Events)This script analyzes trend alignment using the 5 / 20 / 60 / 112 / 224 / 448 / 896 SMAs,
providing highly precise detection of bullish and bearish stack conditions,
and identifies 12 advanced trend-reversal signals through a multi-timeframe dashboard.
이 스크립트는 5 / 20 / 60 / 112 / 224 / 448 / 896 SMA 기준으로
정배열·역배열 상태를 매우 정교하게 분석하고,
12가지 고급 추세 전환 시그널을 자동 탐지하는 멀티타임프레임 대시보드입니다.
EMA 5/10/20/34/55/60/120/255Overview
- Plots eight Exponential Moving Averages on the price chart: EMA(5/10/20/34/55/60/120/255) .
- Designed for light (white) theme with high-contrast colors and uniform linewidth=1 .
- Written in Pine Script v6 ( overlay=true ), no alerts or extra visuals.
Why These Lengths
- 5, 10 : Short-term momentum and intraday rhythm.
- 20, 34 : Swing trend and pullback structure (34 is Fibonacci-based).
- 55, 60 : Deeper swing/weekly alignment commonly used by trend traders.
- 120, 255 : Mid/long-term trend filters (~half-year and ~annual trading days).
How To Read
- Trend filter: Price above EMA(120/255) favors bullish context; below favors bearish.
- Alignment: Strong bull trend when 5 > 10 > 20 > 34 > 55 > 60 > 120 > 255 and slopes up; inverse for bear trends.
- Pullbacks: Shallow pullbacks often respect 5/10 ; standard pullbacks 20/34 ; deeper tests 55/60 .
- Slope matters: Up/flat/down slopes of the longer EMAs ( 120/255 ) reflect trend strength more reliably than single crossovers.
Typical Use Cases
- Trend following: Trade in the direction of 120/255 and the stacked EMA order.
- Pullback entries: Look for stabilizing price action around 20/34 within a trend.
- Breakout confirmation: Sustain above/below a key EMA, then retest and hold.
- Risk management: Place stops beyond nearby EMAs, optionally buffered by ATR.
Tips
- Use the Data Window to identify each EMA line by its title ( EMA(5) , EMA(10) , etc.).
- Combine with volatility/strength filters (e.g., ATR, ADX) to reduce range-bound noise.
- Multi-timeframe consistency (e.g., higher TF EMA(255) aligned with current TF EMA(55/60) ) improves selectivity.
Limitations
- All moving averages are lagging by design; expect delayed signals.
- In consolidations, frequent crossovers can create whipsaws; apply filters or focus on slope and structure.
Disclaimer
- For educational purposes only. Not financial advice. Always validate on your instruments and timeframes and manage risk accordingly.
Five Moving Averages (5, 10, 21, 50, 200)This helps to use multiple Moving averages . Using this indicator you can able to user 5 time frames at time .
Time-Decay Liquidity Zones [BackQuant]Time-Decay Liquidity Zones
A dynamic liquidity map that turns single-bar exhaustion events into fading, color-graded zones, so you can see where trapped traders and unfinished business still matter, and when those areas have finally stopped pulling price.
What this is
This indicator detects unusually strong impulsive moves into wicks, converts them into supply or demand “zones,” then lets those zones decay over time. Each zone carries a strength score that fades bar by bar. Zones that stop attracting or rejecting price are gradually de-emphasized and eventually removed, while the most relevant areas stay bright and obvious.
Instead of static rectangles that live forever, you get a living liquidity map where:
Zones are born from objective criteria: volatility, wick size, and optional volume spikes.
Zones “age” using a configurable decay factor and maximum lifetime.
Zone color and opacity reflect current relative strength on a unified clear → green → red gradient.
Zones freeze when broken, so you can distinguish “active reaction areas” from “historical levels that have already given way”.
Conceptual idea
Large wicks with strong volatility often mark areas where aggressive orders met hidden liquidity and got absorbed. Price may revisit these areas to test leftover interest or to relieve trapped positions. However, not every wick matters for long. As time passes and more bars print, the market “forgets” some areas.
Time-Decay Liquidity Zones turns that idea into a rule-based system:
Find bars that likely reflect strong aggressive flows into liquidity.
Mark a zone around the wick using ATR-based thickness.
Assign a strength score of 1.0 at birth.
Each bar, reduce that score by a decay factor and remove zones that fall below a threshold or live too long.
Color all surviving zones from weak to strong using a single gradient scale and a visual legend.
How events are detected
Detection lives in the Event Detection group. The script combines range, wick size, and optional volume filters into simple rules.
Volatility filter
ATR Length — computes a rolling ATR over your chosen window. This is the volatility baseline.
Min range in ATRs — bar range (High–Low) must exceed this multiple of ATR for an event to be considered. This avoids tiny bars triggering zones.
Wick filters
For each bar, the script splits the candle into body and wicks:
Upper wick = High minus the max(Open, Close).
Lower wick = min(Open, Close) minus Low.
Then it tests:
Upper wick condition — upper wick must be larger than Min wick size in ATRs × ATR.
Lower wick condition — lower wick must be larger than Min wick size in ATRs × ATR.
Only bars with a sufficiently long wick relative to volatility qualify as candidate “liquidity events”.
Volume filter
Optionally, the script requires a volume spike:
Use volume filter — if enabled, volume must exceed a rolling volume SMA by a configurable multiplier.
Volume SMA length — period for the volume average.
Volume spike multiplier — how many times above the SMA current volume needs to be.
This lets you focus only on “heavy” tests of liquidity and ignore quiet bars.
Event types
Putting it together:
Upper event (potential supply / long liquidation, etc.)
Occurs when:
Upper wick is large in ATR terms.
Full bar range is large in ATR terms.
Volume is above the spike threshold (if enabled).
Lower event (potential demand / short liquidation, etc.)
Symmetric conditions using the lower wick.
How zones are constructed
Zone geometry lives in Zone Geometry .
When an event is detected, the script builds a rectangular box that anchors to the wick and extends in the appropriate direction by an ATR-based thickness.
For upper (supply-type) zones
Bottom of the zone = event bar high.
Top of the zone = event bar high + Zone thickness in ATRs × ATR.
The zone initially spans only the event bar on the x-axis, but is extended to the right as new bars appear while the zone is active.
For lower (demand-type) zones
Top of the zone = event bar low.
Bottom of the zone = event bar low − Zone thickness in ATRs × ATR.
Same extension logic: box starts on the event bar and grows rightward while alive.
The result is a band around the wick that scales with volatility. On high-ATR charts, zones are thicker. On calm charts, they are narrower and more precise.
Zone lifecycle, decay, and removal
All lifecycle logic is controlled by the Decay & Lifetime group.
Each zone carries:
Score — a floating-point “importance” measure, starting at 1.0 when created.
Direction — +1 for upper zones, −1 for lower zones.
Birth index — bar index at creation time.
Active flag — whether the zone is still considered unbroken and extendable.
1) Active vs broken
Each confirmed bar, the script checks:
For an upper zone , the zone is counted as “broken” when the close moves above the top of the zone.
For a lower zone , the zone is counted as “broken” when the close moves below the bottom of the zone.
When a zone breaks:
Its right edge is frozen at the previous bar (no further extension).
The zone remains on the chart, but is no longer updated by price interaction. It still decays in score until removal.
This lets you see where a major level was overrun, while naturally fading its influence over time.
2) Time decay
At each confirmed bar:
Score := Score × Score decay per bar .
A decay value close to 1.0 means very slow decay and long-lived zones.
Lower values (closer to 0.9) mean faster forgetting and more current-focused zones.
You are controlling how quickly the market “forgets” past events.
3) Age and score-based removal
Zones are removed when either:
Age in bars exceeds Max bars a zone can live .
This is a hard lifetime cap.
Score falls below Minimum score before removal .
This trims zones that have decayed into irrelevance even if their age is still within bounds.
When a zone is removed, its box is deleted and all associated state is freed to keep performance and visuals clean.
Unified gradient and color logic
Color control lives in Gradient & Color . The indicator uses a single continuous gradient for all zones, above and below price, so you can read strength at a glance without guessing what palette means what.
Base colors
You set:
Mid strength color (green) — used for mid-level strength zones and as the “anchor” in the gradient.
High strength color (red) — used for the strongest zones.
Max opacity — the maximum visual opacity for the solid part of the gradient. Lower values here mean more solid; higher values mean more transparent.
The script then defines three internal points:
Clear end — same as mid color, but with a high alpha (close to transparent).
Mid end — mid color at the strongest allowed opacity.
High end — high color at the strongest allowed opacity.
Strength normalization
Within each update:
The script finds the maximum score among all existing zones.
Each zone’s strength is computed as its score divided by this maximum.
Strength is clamped into .
This means a zone with strength 1.0 is currently the strongest zone on the chart. Other zones are colored relative to that.
Piecewise gradient
Color is assigned in two stages:
For strength between 0.0 and 0.5: interpolate from “clear” green to solid green.
Weak zones are barely visible, mid-strength zones appear as solid green.
For strength between 0.5 and 1.0: interpolate from solid green to solid red.
The strongest zones shift toward the red anchor, clearly separating them from everything else.
Strength scale legend
To make the gradient readable, the indicator draws a vertical legend on the right side of the chart:
About 15 cells from top (Strong) to bottom (Weak).
Each cell uses the same gradient function as the zones themselves.
Top cell is labeled “Strong”; bottom cell is labeled “Weak”.
This legend acts as a fixed reference so you can instantly map a zone’s color to its approximate strength rank.
What it plots
At a glance, the indicator produces:
Upper liquidity zones above price, built from large upper wick events.
Lower liquidity zones below price, built from large lower wick events.
All zones colored by relative strength using the same gradient.
Zones that freeze when price breaks them, then fade out via decay and removal.
A strength scale legend on the right to interpret the gradient.
There are no extra lines, labels, or clutter. The focus is the evolving structure of liquidity zones and their visual strength.
How to read the zones
Bright red / bright green zones
These are your current “major” liquidity areas. They have high scores relative to other zones and have not yet decayed. Expect meaningful reactions, absorption attempts, or spillover moves when price interacts with them.
Faded zones
Pale, nearly transparent zones are either old, decayed, or minor. They can still matter, but priority is lower. If these are in the middle of a long consolidation, they often become background noise.
Broken but still visible zones
Zones whose extension has stopped have been overrun by closing price. They show where a key level gave way. You can use them as context for regime shifts or failed attempts.
Absence of zones
A chart with few or no zones means that, under your current thresholds, there have not been strong enough liquidity events recently. Either tighten the filters or accept that recent price action has been relatively balanced.
Use cases
1) Intraday liquidity hunting
Run the indicator on lower timeframes (e.g., 1–15 minute) with moderately fast decay.
Use the upper zones as potential sell reaction areas, the lower zones as potential buy reaction areas.
Combine with order flow, CVD, or footprint tools to see whether price is absorbing or rejecting at each zone.
2) Swing trading context
Increase ATR length and range/wick multipliers to focus only on major spikes.
Set slower decay and higher max lifetime so zones persist across multiple sessions.
Use these zones as swing inflection areas for larger setups, for example anticipating re-tests after breakouts.
3) Stop placement and invalidation
For longs, place invalidation beyond a decaying lower zone rather than in the middle of noise.
For shorts, place invalidation beyond strong upper zones.
If price closes through a strong zone and it freezes, treat that as additional evidence your prior bias may be wrong.
4) Identifying trapped flows
Upper zones formed after violent spikes up that quickly fail can mark trapped longs.
Lower zones formed after violent spikes down that quickly reverse can mark trapped shorts.
Watching how price behaves on the next touch of those zones can hint at whether those participants are being rescued or squeezed.
Settings overview
Event Detection
Use volume filter — enable or disable the volume spike requirement.
Volume SMA length — rolling window for average volume.
Volume spike multiplier — how aggressive the volume spike filter is.
ATR length — period for ATR, used in all size comparisons.
Min wick size in ATRs — minimum wick size threshold.
Min range in ATRs — minimum bar range threshold.
Zone Geometry
Zone thickness in ATRs — vertical size of each liquidity zone, scaled by ATR.
Decay & Lifetime
Score decay per bar — multiplicative decay factor for each zone score per bar.
Max bars a zone can live — hard cap on lifetime.
Minimum score before removal — score cut-off at which zones are deleted.
Gradient & Color
Mid strength color (green) — base color for mid-level zones and the lower half of the gradient.
High strength color (red) — target color for the strongest zones.
Max opacity — controls the most solid end of the gradient (0 = fully solid, 100 = fully invisible).
Tuning guidance
Fast, session-only liquidity
Shorter ATR length (e.g., 20–50).
Higher wick and range multipliers to focus only on extreme events.
Decay per bar closer to 0.95–0.98 and moderate max lifetime.
Volume filter enabled with a decent multiplier (e.g., 1.5–2.0).
Slow, structural zones
Longer ATR length (e.g., 100+).
Moderate wick and range thresholds.
Decay per bar very close to 1.0 for slow fading.
Higher max lifetime and slightly higher min score threshold so only very weak zones disappear.
Noisy, high-volatility instruments
Increase wick and range ATR multipliers to avoid over-triggering.
Consider enabling the volume filter with stronger settings.
Keep decay moderate to avoid the chart getting overloaded with old zones.
Notes
This is a structural and contextual tool, not a complete trading system. It does not account for transaction costs, execution slippage, or your specific strategy rules. Use it to:
Highlight where liquidity has recently been tested hard.
Rank these areas by decaying strength.
Guide your attention when layering in separate entry signals, risk management, and higher-timeframe context.
Time-Decay Liquidity Zones is designed to keep your chart focused on where the market has most recently “cared” about price, and to gradually forget what no longer matters. Adjust the detection, geometry, decay, and gradient to fit your product and timeframe, and let the zones show you which parts of the tape still have unfinished business.
Exchanges OpeningProvides an indicator 5 minutes before New York, London, Frankfurt, Tokyo, Hong Kong or Sydney Stock exchanges open with optional alerts if you create one for the script.
Advanced Triple Strategy ScalperHere are the three scalping strategies presented in the video "3 Scalping Strategies That Work Every Day (Backtested & Proven)" by Asia Forex Mentor – Ezekiel Chew:
### Scalper’s Trend Filter (Triple EMA)
This strategy uses three EMAs (25, 50, 100) on the 5-minute chart to filter high-probability trades aligned with momentum .
- Only trade when all three EMAs are angled in the same direction and clearly separated (no crossing or tangling) .
- Enter when price pulls back toward the 25 or 50 EMA and then bounces back toward the 25 EMA, but do not enter if price closes below the 100 EMA .
- Set stop-loss just below the 50 EMA or swing low and aim for a risk-to-reward ratio of 1:1.5 .
### Flip Zone Trap (Reversal Catching)
This method identifies precise reversal moments where market structure shifts from weakness to strength .
- Use the 15-min chart to locate key support or resistance zones where price previously reacted .
- Wait for price to stop making lower lows and begin making higher highs (or vice versa for shorts); confirm with a trendline break AND follow-through (higher lows & highs within 5-7 candles) .
- Use confirmation candles (bullish engulfing, pin bar rejection) at the zone before entry .
### Liquidity Shift Trigger (Smart Money Trap)
This system leverages institutional stop hunts and liquidity sweeps at key zones for sniper entries .
- Start with a 15-min chart to identify structure breaks and points of interest (order blocks, flip zones, demand zones) .
- Drop to 1-min chart and wait for price to enter the refined zone and sweep liquidity (sharp wick/spike below/above key level) .
- Once liquidity is swept, wait for a clean structure shift (break of most recent internal high or low) within 5–6 candles—if confirmed, refine entry to the candle that caused the break and enter when price returns to that candle with a strong reaction .
***
### Practical Application
- These strategies are systematic, rule-based, and designed to cut out fake moves, avoid early stop-outs, and align entries with momentum and institutional activity .
- Perfect for short timeframes and volatile pairs like XAUUSD, especially if paired with additional confirmation from other technical analysis tools .
All three strategies emphasize filtering noise, waiting for momentum/trend confirmation, and avoiding impulsive entries—key principles for consistent scalping success






















