MOV MVRV BTC FREEDescription
MOV MVRV BTC FREE is a simple and user-friendly indicator for analyzing the relative overvaluation or undervaluation of Bitcoin (BTC) price, utilizing a modified MVRV (Market Value to Realized Value) logic with dynamic thresholds for different market regimes.
The indicator allows you to quickly assess whether BTC is currently undervalued, balanced, or overvalued compared to historical prices. This helps to identify optimal zones for mid-term decisions:
• when the price is too low (potential accumulation zone),
• or, on the contrary, too high (potential risk/profit-taking zone).
⸻
What does the indicator show?
• MVRV Line: The ratio of the current price to the moving average price over the selected period (adapts to the market).
• Realized Price: The average price at which coins were last moved (based on VWAP).
• Cost Basis: The volume-weighted “cost basis” of positions for the period.
• Colored background: Automatically highlights areas of strong imbalance (overvaluation/undervaluation).
⸻
Modes
The indicator allows you to choose between two modes:
• BTC 1D Active: For active markets and short- to mid-term signals.
• BTC 1D Global: For broader market state assessment and long-term cycles.
⸻
Settings
• Mode: Switch between “BTC 1D Active” and “BTC 1D Global”.
• Show MVRV Line: Enable/disable the main indicator line.
• Show Realized Price: Enable/disable the Realized Price line.
• Show Cost Basis: Enable/disable the cost basis line.
Most of the indicator’s advanced features are hidden. In the simplified version, only the basic BTC analysis parameters are available.
⸻
How to interpret:
• Green background: BTC is undervalued (historically a favorable zone for accumulation).
• Red background: BTC is overvalued (risk zone for new purchases).
• Blue and purple lines: Help compare the current price with actual averages.
⸻
MOV MVRV BTC FREE is simple, informative, and ideal for portfolio decision-making, without unnecessary and confusing settings.
⸻
P.S.
The indicator can be displayed directly on the price chart, or in a separate window. Available on TradingView.
MOV MVRV BTC FREE — це простий і зручний індикатор для аналізу відносної переоцінки або недооцінки ціни Bitcoin (BTC) через логіку модифікованого MVRV (Market Value to Realized Value) із динамічними порогами для різних ринкових режимів.
Індикатор дозволяє швидко оцінити, чи знаходиться BTC у стані недооцінки, балансу чи переоцінки відносно історичних цін. Це допомагає знаходити оптимальні зони для середньострокових рішень:
• коли ціна є надто низькою (потенційна зона для накопичення),
• або навпаки — надто високою (потенційна зона ризику/фіксації прибутку).
⸻
Що показує індикатор?
• Лінія MVRV: співвідношення поточної ціни до скользячої середньої ціни за вибраний період (адаптується до ринку).
• Realized Price: середня ціна, за якою монети переміщались востаннє (на основі VWAP).
• Cost Basis: середньозважена “собівартість” позицій за період (з урахуванням обсягу).
• Кольоровий фон: автоматично підсвічує зони сильного дисбалансу (переоцінка/недооцінка).
⸻
Режими роботи
В індикаторі можна вибрати один із двох режимів:
• BTC 1D Активний: Для активного ринку, коротко- і середньострокових сигналів.
• BTC 1D Глобальний: Для більш глобальних оцінок стану ринку та довгострокових циклів.
⸻
Налаштування
• Режим налаштувань: Вибір між “BTC 1D Активний” і “BTC 1D Глобальний”.
• Показати MVRV лінію: Вмикати/вимикати основну лінію індикатора.
• Показати Realized Price: Вмикати/вимикати лінію Realized Price.
• Показати Cost Basis: Вмикати/вимикати лінію середньої собівартості.
Більшість функцій які дає індикатор скриті. В спрощеній версії доступні тількі базові параметри для роботи з BTC
⸻
Як інтерпретувати?
• Зелений фон: BTC перебуває у недооцінці (історично вигідна зона для накопичення).
• Червоний фон: BTC у переоцінці (зона ризику для нових покупок).
• Сині та фіолетові лінії: допомагають порівняти поточну ціну з реальними середніми.
⸻
MOV MVRV BTC FREE — простий, інформативний, ідеально підходить для портфельних рішень, без зайвого “перекручування” налаштувань.
⸻
P.S.
Відображення на графіку. Є окремий для відображення в окремому вікні. Також доданий в ТВ.
Cicli
Asian Session + Break & Retest Helperbrake and retest helper, it helps to see what levels are goin to break to the up or downside etc.
RLMC TMAS ALPHABOT by SAMOEDEFIferas gang
made by samoedefi
for rlmcrew
ict concepts with bos breaks
Advanced Market Cycle Detector## 🔄 Advanced Market Cycle Detector (AMCD)
**Purpose:**
The AMCD is a comprehensive tool designed to identify the four major phases of market cycles — **Accumulation (Stage 1)**, **Markup (Stage 2)**, **Distribution (Stage 3)**, and **Markdown (Stage 4)** — using a multi-factor scoring system based on trend, momentum, volume, and volatility indicators. This helps traders align entries and exits with broader market regimes.
---
### 📊 Features
* **Multi-Timeframe Analysis**
Combine signals from your primary and higher timeframes for robust stage confirmation.
* **Adaptive Scoring Engine**
Weights dynamically shift based on market conditions (trend strength, volatility, and volume), allowing the model to respond to changing environments.
* **Composite Confidence System**
A proprietary scoring model assigns confidence values to each stage transition to reduce noise and increase reliability.
* **Visual and Table-Based Feedback**
See stage changes with color-coded backgrounds and an optional floating table for quick reference.
* **Built-in Alerts**
Get notified instantly when stage transitions occur, including:
* 📈 Markup (Stage 2): Trend-following opportunities
* 📉 Markdown (Stage 4): Risk-off signals
* 💰 Accumulation (Stage 1): Early positioning phases
* ⚠️ Distribution (Stage 3): Take-profit zones
---
### 🔍 Indicators Used
* **Trend:** 20/50/200 SMA relationships
* **Momentum:** RSI, MACD, CCI, DPO
* **Volume:** OBV analysis with divergence and trend detection
* **Volatility:** ATR-based adjustments
* **Market Regime Detection:** Determines whether to prioritize trend or mean-reversion indicators
---
### 🧠 Stage Logic
* **Stage 1 – Accumulation:** Price stabilizing below long MAs, improving OBV
* **Stage 2 – Markup:** Price rising above MAs, strong momentum, increasing volume
* **Stage 3 – Distribution:** High RSI, OBV weakening, possible divergences
* **Stage 4 – Markdown:** Breakdown below MAs, bearish momentum, volume spikes
---
### ✅ How to Use
* **Trend Traders:** Focus on entering during Stage 2 and exiting or reducing risk in Stage 3 or early Stage 4.
* **Reversion Traders:** Look for Stage 1 setups with rising OBV and fading volatility.
* **Long-Term Investors:** Combine with fundamentals or higher timeframes for positioning across cycles.
---
### ⚙️ Settings Highlights
* Customizable MA periods and momentum lengths
* Enable/disable volatility and volume weighting
* Adjustable confidence thresholds for filtering noise
* Table placement options (top/bottom left/right)
---
### ⚠️ Disclaimer
This tool is for **informational and educational purposes only** and does not constitute financial advice or a trading signal. Always use proper risk management and combine with your own analysis before making trading decisions.
---
**Author Note:**
If you find this tool helpful, consider leaving feedback or a comment. Your support helps improve future versions! 🙌
---
Let me know if you'd like a **private-use** version of this description (e.g., shortened, branded, or embedded in a script), or if you want to **add usage examples**, such as how to integrate with strategies or backtests.
Liquidity Hunter ProLiquidity Hunter Pro
The Liquidity Hunter Pro is an indicator designed to identify a specific, high-probability trading setup based on the concept of institutional liquidity hunts. The core philosophy is that major market moves are often initiated after large players engineer liquidity by sweeping obvious swing highs or lows, tricking retail traders before revealing their true direction.
This tool automates the detection of this entire sequence, acting as your assistant to filter out market noise and highlight moments of clear institutional intent. It's designed for precision on lower timeframes (like M1) but is fully customizable for any trading style.
Key Features
Multi-Timeframe (MTF) Bias: A simple, on-chart panel shows you the dominant trend from a higher timeframe (default: 15min). This acts as your master filter, ensuring you always trade with the larger market flow.
Intelligent Sweep Detection: Instead of flagging every minor break, the LHP identifies significant liquidity sweeps below/above confirmed swing points, marking them with a minimalist 🧹 icon.
Momentum-Filtered CHoCH: A simple break of structure isn't enough. A Change of Character (CHoCH) is only confirmed if the breakout candle has strong momentum, filtering out weak and indecisive reversals.
Clear Visual Cues: The indicator plots clean, minimalist lines for both the swept level (dashed) and the CHoCH confirmation (solid), giving you a clear visual map of the setup.
High-Probability FVG Detection: Automatically highlights Fair Value Gaps (FVGs) that are created during the powerful CHoCH move, pinpointing an A+ entry zone.
Customizable Alerts: Never miss a setup. Set alerts for two key events: an early warning on a Liquidity Sweep and the main Setup Ready alert once a sweep is confirmed by a CHoCH.
How to Use: The Optimal Entry Method (A Quick Guide)
The "Liquidity Hunter Pro" is designed to be used with a disciplined, step-by-step approach.
Step 1: Follow the Bias
Look at the HTF Bias Panel in the top-right corner.
If BULLISH, you are ONLY looking for long (buy) setups.
If BEARISH, you are ONLY looking for short (sell) setups.
Step 2: Wait for the Sweep (The Trigger)
Patiently wait for the indicator to plot the 🧹 icon and a dashed horizontal line. This signals that liquidity has been taken and a potential setup is forming.
Step 3: Get Confirmation (The Validation)
You must wait for the indicator to print the solid horizontal CHoCH line and label. This validates that the reversal after the sweep has strength. If no CHoCH appears, the setup is invalid.
Step 4: Identify Your Point of Interest (The Entry Zone)
Once the CHoCH is confirmed, it's time to find your entry.
A+ Entry: The indicator will automatically draw a colored FVG Box if a valid one is created. This is your highest-probability entry zone.
B+ Entry: If no FVG appears, your next best entry zone is the "Inducement Order Block" (the last opposite-colored candle right before the sweep occurred).
*** DISCLAIMER ***
This indicator is a tool for analysis and education; it is not financial advice or a signal service. Trading financial markets involves substantial risk and is not suitable for every investor. Past performance is not indicative of future results. Always use proper risk management and never risk more than you are prepared to lose. The author is not responsible for any profits or losses that may result from using this tool.
Sniper Radar Indicator (SRI)🔍 Sniper Radar Indicator (SRI) — Official Description
The Sniper Radar Indicator (SRI) is a clean, real-time flow detection tool designed to spot high-confluence shifts in market behavior — before price makes its move.
This tool does not use or copy any other indicator, and is built from scratch to monitor three key behaviors:
1. High Inflow (White Dots) – Detects real-time bursts of volume and momentum entering the market. When you see white, buyers are stepping in aggressively.
2. Bearish Drain (Purple Dots) – Tracks subtle exits in money flow where price hasn’t dropped yet, but buyers are drying up. These are early warnings for potential weakness.
3. Heavy Sell Impulse (Red Dots) – Flags aggressive sell pressure. Volume is high, candles are large, and money is rushing out fast.
To keep your chart clean:
• All signals are shown as low-opacity colored dots
• Background shading lightly marks temporary “flow zones” so you know where action just built up or drained out
• The script uses adaptive filters to ignore noise and focus only on meaningful shifts in buyer or seller interest
⸻
🧠 Who It’s For:
Whether you’re a scalper, swing trader, or just watching price unfold, SRI helps you catch early signs of big moves without crowding your chart.
• No fancy names
• No waves
• Just dots, zones, and real-time momentum
⸻
✅ Key Features:
• 100% original — built from scratch by Snipers-R-Us
• Real-time volume + money flow + impulse detection
• Lightweight visual style with minimal noise
• Works on any coin or asset, any timeframe
Intraday Spark Chart [AstrideUnicorn]The Intraday Spark Chart (ISC) is a minimalist yet powerful tool designed to track an asset’s performance relative to its daily opening price. Inspired by Nasdaq’s real-time analytics analog dashboards. It visualizes intraday percentage changes as a color-coded sparkline, helping traders quickly gauge momentum and session bias.
Ideal for: Day traders, scalpers, and multi-asset monitors.
Best paired with: 1m to 4H timeframes (auto-warns on higher TFs).
Key metrics:
Real-time % change from daily open.
Final daily % change (updated at session close).
Daily open price labels for orientation.
HOW TO USE
Visual Guide
Sparkline Plot:
A green area/line indicates price is above the daily open (bullish).
A red area/line signals price is below the daily open (bearish).
The baseline (0%) represents the daily open price.
Session Markers:
The dotted vertical lines separate trading days.
Gray labels near the baseline show the exact daily open price at the start of each session.
Dynamic Labels:
The labels in the upper left corner of each session range display the current (or final) daily % change. Color matches the trend (green/red) for instant readability.
Practical Use Cases
Opening Range Breakouts: Spot early momentum by observing how price reacts to the daily open.
Multi-Asset Screening: Compare intraday strength across symbols by applying the indicator to multiple charts.
Session Close Prep: Anticipate daily settlement by tracking the final % change (useful for futures/swing traders).
SETTINGS
Asset (Input Symbol): Defaults to the current chart symbol. Switch to monitor other assets.
Mercurio Retrógrado y CorrelaciónUser Guide: "Mercury Retrograde and Correlation" Indicator
This custom indicator for TradingView is designed to explore possible relationships between astrological Mercury Retrograde periods and market behavior. TradingView is a versatile platform that allows you to analyze markets and use custom tools like this one.
The indicator combines two tools in one:
Mercury Retrograde Period Display: Automatically highlights on the chart the dates when Mercury is retrograde.
Correlation Analysis: Measures and displays how synchronized the movement of the asset you are monitoring is with another asset of your choice (e.g., the S&P 500).
What do you see on the chart?
When you apply this indicator to your chart in TradingView, you will see the following elements:
Purple Background: The purple shaded areas show you exactly when the Mercury Retrograde periods occurred or will occur in 2024 and 2025. This allows you to identify at a glance if a specific candle or price movement occurred during one of these events.
Correlation Line (Orange): This line, displayed on the main panel, measures the relationship between the asset on your chart and the asset you choose in the settings.
Near +1.0: It means the two assets are moving in the same direction (if one goes up, the other goes down).
Near -1.0: It means they are moving in opposite directions (if one goes up, the other goes down).
Near 0: There is no clear relationship in their movements.
Reference Lines (Green and Red): The dotted lines at +0.7 (green) and -0.7 (red) help you quickly identify when the correlation is strong, either positive or negative.
Weekly Separator (gnstd)Base indicator for adding weekly separators, taking into account X bars from the past to add the separators.
The separator is created every Friday, allowing you to modify the total number of bars you want to add, the closing time (you must consider the timeframe you want to use to configure an existing time), the UTC, and the separator styles.
Multi-EMA Bullish Crossover alertAlert on EMA crossovers
10 above 20 - first sign of bullishness
20 above 50 - second
50 above 200 - stage 2 stock
Sessions HH/LLSessions HH and LL everything marked with lines, sessions start and finish, compatible with every timeframe and you can hide whole sessions or just little parts of them.
Momentum & stoch rsimomentum and stochastic rsi indicator ideal for day trading. momenum is set to 80 for a smooth and safe analysis.
Session Backgrounds (Asia, London, US) - Weekdays Onlythis is to mark asia, london, us session so we can easily see what is current session while trading
Session HL + Candles + AMD (Nephew_Sam_)Session HL + Candles + AMD (Nephew_Sam_)
This indicator marks out intraday sessions summarized into single candles, with an additional option to mark out the HL of each session. Perfect for understanding AMD within a glance (accumulation-manipulation-distribution)
Features:
Session High/Low lines with customizable colors and labels
Optional session candles displayed on the right side of the chart
Timezone support for global traders
Customizable bull/bear candle colors
Works on timeframes up to 1 hour
Perfect for:
Identifying session liquidity levels
Tracking session ranges and breakouts
Multi-timeframe session analysis
ICT methodology traders
Settings:
Choose your timezone for accurate session detection
Toggle session candles and HL lines independently
Customize colors, line styles, and labels
Set maximum timeframe (up to 1 hour)
Liquidity Hunter PRO FINAL ✅Liquidity Hunter PRO ✅ is a smart tool designed for traders who want to spot key liquidity sweeps and hunt stop runs with precision.
🔑 How it works:
Automatically plots significant swing highs and lows (liquidity levels) using pivots.
Monitors these levels in real-time and detects when price sweeps above highs or below lows.
Draws clear lines, boxes, and sweep zones to visualize where liquidity was grabbed.
Highlights BUY/SELL opportunities after stop hunts with clean triangle markers and labels.
Fully customizable: set pivot lookback, maximum levels, line age, buffer zone, and visual style.
📌 Features:
✔️ Automatic swing high/low detection
✔️ Dynamic liquidity sweep boxes
✔️ BUY/SELL labels and triangle signals
✔️ Alerts for sweeps above highs and below lows
✔️ Adjustable buffer and line lifetime
✔️ Lightweight, clear and easy to use
💡 Idea: This script helps traders follow Smart Money Concepts (SMC) by showing where the market hunts liquidity before reversals. Combine with your own confluence and strategy for powerful entries.
⚠️ Reminder: Always use this tool with proper risk management — it does not guarantee entries by itself.
Ultra BUY SELL//@version=5
indicator("Ultra BUY SELL", overlay = false)
// Inputs
src = input(close, "Source", group = "Main settings")
p = input.int(180, "Trend period", group = "Main settings", tooltip = "Changes STRONG signals' sensitivity.", minval = 1)
atr_p = input.int(155, "ATR Period", group = "Main settings", minval = 1)
mult = input.float(2.1, "ATR Multiplier", step = 0.1, group = "Main settings", tooltip = "Changes sensitivity: higher period = higher sensitivty.")
mode = input.string("Type A", "Signal mode", options = , group = "Mode")
use_ema_smoother = input.string("No", "Smooth source with EMA?", options = , group = "Source")
src_ema_period = input(3, "EMA Smoother period", group = "Source")
color_bars = input(true, "Color bars?", group = "Addons")
signals_view = input.string("All", "Signals to show", options = , group = "Signal's Addon")
signals_shape = input.string("Labels", "Signal's shape", options = , group = "Signal's Addon")
buy_col = input(color.rgb(0, 255, 8), "Buy colour", group = "Signal's Addon", inline = "BS")
sell_col = input(color.rgb(255, 0, 0), "Sell colour", group = "Signal's Addon", inline = "BS")
// Calculations
src := use_ema_smoother == "Yes" ? ta.ema(src, src_ema_period) : src
// Source;
h = ta.highest(src, p)
// Highest of src p-bars back;
l = ta.lowest(src, p)
// Lowest of src p-bars back.
d = h - l
ls = ""
// Tracker of last signal
m = (h + l) / 2
// Initial trend line;
m := bar_index > p ? m : m
atr = ta.atr(atr_p)
// ATR;
epsilon = mult * atr
// Epsilon is a mathematical variable used in many different theorems in order to simplify work with mathematical object. Here it used as sensitivity measure.
change_up = (mode == "Type B" ? ta.cross(src, m + epsilon) : ta.crossover(src, m + epsilon)) or src > m + epsilon
// If price breaks trend line + epsilon (so called higher band), then it is time to update the value of a trend line;
change_down = (mode == "Type B" ? ta.cross(src, m - epsilon) : ta.crossunder(src, m - epsilon)) or src < m - epsilon
// If price breaks trend line - epsilon (so called higher band), then it is time to update the value of a trend line.
sb = open < l + d / 8 and open >= l
ss = open > h - d / 8 and open <= h
strong_buy = sb or sb or sb or sb or sb
strong_sell = ss or ss or ss or ss or ss
m := (change_up or change_down) and m != m ? m : change_up ? m + epsilon : change_down ? m - epsilon : nz(m , m)
// Updating the trend line.
ls := change_up ? "B" : change_down ? "S" : ls
// Last signal. Helps avoid multiple labels in a row with the same signal;
colour = ls == "B" ? buy_col : sell_col
// Colour of the trend line.
buy_shape = signals_shape == "Labels" ? shape.labelup : shape.triangleup
sell_shape = signals_shape == "Labels" ? shape.labeldown : shape.triangledown
// Plottings
// Signals with label shape
plotshape(signals_shape == "Labels" and (signals_view == "All" or signals_view == "Buy/Sell") and change_up and ls != "B" and not strong_buy, "Buy signal" , color = colour, style = buy_shape , location = location.belowbar, size = size.normal, text = "BUY", textcolor = color.white, force_overlay=true)
// Plotting the BUY signal;
plotshape(signals_shape == "Labels" and (signals_view == "All" or signals_view == "Buy/Sell") and change_down and ls != "S" and not strong_sell, "Sell signal" , color = colour, style = sell_shape, size = size.normal, text = "SELL", textcolor = color.white, force_overlay=true)
// Plotting the SELL signal.
plotshape(signals_shape == "Labels" and (signals_view == "All" or signals_view == "Strong") and change_up and ls != "B" and strong_buy, "Strong Buy signal" , color = colour, style = buy_shape , location = location.belowbar, size = size.normal, text = "STRONG", textcolor = color.white, force_overlay=true)
// Plotting the STRONG BUY signal;
plotshape(signals_shape == "Labels" and (signals_view == "All" or signals_view == "Strong") and change_down and ls != "S" and strong_sell, "Strong Sell signal" , color = colour, style = sell_shape, size = size.normal, text = "STRONG", textcolor = color.white, force_overlay=true)
// Plotting the STRONG SELL signal.
// Signal with arrow shape
plotshape(signals_shape == "Arrows" and (signals_view == "All" or signals_view == "Buy/Sell") and change_up and ls != "B" and not strong_buy, "Buy signal" , color = colour, style = buy_shape , location = location.belowbar, size = size.tiny, force_overlay=true)
// Plotting the BUY signal;
plotshape(signals_shape == "Arrows" and (signals_view == "All" or signals_view == "Buy/Sell") and change_down and ls != "S" and not strong_sell, "Sell signal" , color = colour, style = sell_shape, size = size.tiny, force_overlay=true)
// Plotting the SELL signal.
plotshape(signals_shape == "Arrows" and (signals_view == "All" or signals_view == "Strong") and change_up and ls != "B" and strong_buy, "Strong Buy signal" , color = colour, style = buy_shape , location = location.belowbar, size = size.tiny, force_overlay=true)
// Plotting the STRONG BUY signal;
plotshape(signals_shape == "Arrows" and (signals_view == "All" or signals_view == "Strong") and change_down and ls != "S" and strong_sell, "Strong Sell signal" , color = colour, style = sell_shape, size = size.tiny, force_overlay=true)
// Plotting the STRONG SELL signal.
barcolor(color_bars ? colour : na)
// Bar coloring
// Alerts
matype = input.string(title='MA Type', defval='EMA', options= )
ma_len1 = input(title='Short EMA1 Length', defval=5)
ma_len2 = input(title='Long EMA1 Length', defval=7)
ma_len3 = input(title='Short EMA2 Length', defval=5)
ma_len4 = input(title='Long EMA2 Length', defval=34)
ma_len5 = input(title='Short EMA3 Length', defval=98)
ma_len6 = input(title='Long EMA3 Length', defval=45)
ma_len7 = input(title='Short EMA4 Length', defval=7)
ma_len8 = input(title='Long EMA4 Length', defval=11)
ma_len9 = input(title='Short EMA5 Length', defval=11)
ma_len10 = input(title='Long EMA5 Length', defval=15)
ma_offset = input(title='Offset', defval=0)
//res = input(title="Resolution", type=resolution, defval="240")
f_ma(malen) =>
float result = 0
if matype == 'EMA'
result := ta.ema(src, malen)
result
if matype == 'SMA'
result := ta.sma(src, malen)
result
result
htf_ma1 = f_ma(ma_len1)
htf_ma2 = f_ma(ma_len2)
htf_ma3 = f_ma(ma_len3)
htf_ma4 = f_ma(ma_len4)
htf_ma5 = f_ma(ma_len5)
htf_ma6 = f_ma(ma_len6)
htf_ma7 = f_ma(ma_len7)
htf_ma8 = f_ma(ma_len8)
htf_ma9 = f_ma(ma_len9)
htf_ma10 = f_ma(ma_len10)
//plot(out1, color=green, offset=ma_offset)
//plot(out2, color=red, offset=ma_offset)
//lengthshort = input(8, minval = 1, title = "Short EMA Length")
//lengthlong = input(200, minval = 2, title = "Long EMA Length")
//emacloudleading = input(50, minval = 0, title = "Leading Period For EMA Cloud")
//src = input(hl2, title = "Source")
showlong = input(false, title='Show Long Alerts')
showshort = input(false, title='Show Short Alerts')
showLine = input(false, title='Display EMA Line')
ema1 = input(true, title='Show EMA Cloud-1')
ema2 = input(true, title='Show EMA Cloud-2')
ema3 = input(true, title='Show EMA Cloud-3')
ema4 = input(true, title='Show EMA Cloud-4')
ema5 = input(true, title='Show EMA Cloud-5')
emacloudleading = input.int(0, minval=0, title='Leading Period For EMA Cloud')
mashort1 = htf_ma1
malong1 = htf_ma2
mashort2 = htf_ma3
malong2 = htf_ma4
mashort3 = htf_ma5
malong3 = htf_ma6
mashort4 = htf_ma7
malong4 = htf_ma8
mashort5 = htf_ma9
malong5 = htf_ma10
cloudcolour1 = mashort1 >= malong1 ? color.rgb(0, 255, 0) : color.rgb(255, 0, 0)
cloudcolour2 = mashort2 >= malong2 ? #4caf4f47 : #ff110047
cloudcolour4 = mashort4 >= malong4 ? #4caf4f52 : #f2364652
cloudcolour5 = mashort5 >= malong5 ? #33ff0026 : #ff000026
//03abc1
mashortcolor1 = mashort1 >= mashort1 ? color.olive : color.maroon
mashortcolor2 = mashort2 >= mashort2 ? color.olive : color.maroon
mashortcolor3 = mashort3 >= mashort3 ? color.olive : color.maroon
mashortcolor4 = mashort4 >= mashort4 ? color.olive : color.maroon
mashortcolor5 = mashort5 >= mashort5 ? color.olive : color.maroon
mashortline1 = plot(ema1 ? mashort1 : na, color=showLine ? mashortcolor1 : na, linewidth=1, offset=emacloudleading, title='Short Leading EMA1', force_overlay=true)
mashortline2 = plot(ema2 ? mashort2 : na, color=showLine ? mashortcolor2 : na, linewidth=1, offset=emacloudleading, title='Short Leading EMA2', force_overlay=true)
mashortline3 = plot(ema3 ? mashort3 : na, color=showLine ? mashortcolor3 : na, linewidth=1, offset=emacloudleading, title='Short Leading EMA3', force_overlay=true)
mashortline4 = plot(ema4 ? mashort4 : na, color=showLine ? mashortcolor4 : na, linewidth=1, offset=emacloudleading, title='Short Leading EMA4', force_overlay=true)
mashortline5 = plot(ema5 ? mashort5 : na, color=showLine ? mashortcolor5 : na, linewidth=1, offset=emacloudleading, title='Short Leading EMA5', force_overlay=true)
malongcolor1 = malong1 >= malong1 ? color.green : color.red
malongcolor2 = malong2 >= malong2 ? color.green : color.red
malongcolor3 = malong3 >= malong3 ? color.green : color.red
malongcolor4 = malong4 >= malong4 ? color.green : color.red
malongcolor5 = malong5 >= malong5 ? color.green : color.red
malongline1 = plot(ema1 ? malong1 : na, color=showLine ? malongcolor1 : na, linewidth=3, offset=emacloudleading, title='Long Leading EMA1', force_overlay=true)
malongline2 = plot(ema2 ? malong2 : na, color=showLine ? malongcolor2 : na, linewidth=3, offset=emacloudleading, title='Long Leading EMA2', force_overlay=true)
malongline3 = plot(ema3 ? malong3 : na, color=showLine ? malongcolor3 : na, linewidth=3, offset=emacloudleading, title='Long Leading EMA3', force_overlay=true)
malongline4 = plot(ema4 ? malong4 : na, color=showLine ? malongcolor4 : na, linewidth=3, offset=emacloudleading, title='Long Leading EMA4', force_overlay=true)
malongline5 = plot(ema5 ? malong5 : na, color=showLine ? malongcolor5 : na, linewidth=3, offset=emacloudleading, title='Long Leading EMA5', force_overlay=true)
fill(mashortline1, malongline1, color=cloudcolour1, title='MA Cloud1', transp=45)
fill(mashortline2, malongline2, color=cloudcolour2, title='MA Cloud2', transp=65)
fill(mashortline4, malongline4, color=cloudcolour4, title='MA Cloud4', transp=65)
fill(mashortline5, malongline5, color=cloudcolour5, title='MA Cloud5', transp=65)
leftBars = input(15, title='Left Bars ')
rightBars = input(15, title='Right Bars')
volumeThresh = input(20, title='Volume Threshold')
//
highUsePivot = fixnan(ta.pivothigh(leftBars, rightBars) )
lowUsePivot = fixnan(ta.pivotlow(leftBars, rightBars) )
r1 = plot(highUsePivot, color=ta.change(highUsePivot) ? na : #FF0000, linewidth=3, offset=-(rightBars + 1), title='Resistance', force_overlay=true)
s1 = plot(lowUsePivot, color=ta.change(lowUsePivot) ? na : #00ff0d, linewidth=3, offset=-(rightBars + 1), title='Support', force_overlay=true)
//Volume %
short = ta.ema(volume, 5)
long = ta.ema(volume, 10)
osc = 100 * (short - long) / long
//For bull / bear wicks
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at mozilla.org
// © divudivu600
// Developer By ALCON ALGO
//telegram : @harmonicryptosignals
//@version = 5
//indicator(shorttitle='Oscillator Vision', title='Alcon Oscillator Vision', overlay=false)
n1 = input(10, 'Channel length')
n2 = input(21, 'Average length')
reaction_wt = input.int(defval=1, title='Reaction in change of direction', minval=1)
nsc = input.float(53, 'Levels About Buys', minval=0.0)
nsv = input.float(-53, 'Levels About Sells', maxval=-0.0)
Buy_sales = input(true, title='Only Smart Buy Reversal')
Sell_sales = input(true, title='Only Smart Sell Reversal')
Histogram = input(true, title='Show Histogarm')
//Trendx = input(false, title='Show Trendx')
barras = input(true, title='Divergence on chart(Bars)')
divregbull = input(true, title='Regular Divergence Bullish')
divregbear = input(true, title='Regular Divergence Bearish')
divhidbull = input(true, title='Show Divergence Hidden Bullish')
divhidbear = input(true, title='Show Divergence Hidden Bearish')
Tags = input(true, title='Show Divergence Lable')
amme = input(false, title='Activar media movil Extra para WT')
White = #FDFEFE
Black = #000000
Bearish = #e91e62
Bullish = #18e0ff
Strong_Bullish = #2962ff
Bullish2 = #00bedc
Blue1 = #00D4FF
Blue2 = #009BBA
orange = #FF8B00
yellow = #FFFB00
LEZ = #0066FF
purp = #FF33CC
// Colouring
tf(_res, _exp, gaps_on) =>
gaps_on == 0 ? request.security(syminfo.tickerid, _res, _exp) : gaps_on == true ? request.security(syminfo.tickerid, _res, _exp, barmerge.gaps_on, barmerge.lookahead_off) : request.security(syminfo.tickerid, _res, _exp, barmerge.gaps_off, barmerge.lookahead_off)
ha_htf = ''
show_ha = input.bool(true, "Show HA Plot/ Market Bias", group="HA Market Bias")
ha_len = input(7, 'Period', group="HA Market Bias")
ha_len2 = input(10, 'Smoothing', group="HA Market Bias")
// Calculations {
o = ta.ema(open, ha_len)
c = ta.ema(close, ha_len)
h1 = ta.ema(high, ha_len)
l1 = ta.ema(low, ha_len)
haclose = tf(ha_htf, (o + h1 + l1 + c) / 4, 0)
xhaopen = tf(ha_htf, (o + c) / 2, 0)
haopen = na(xhaopen ) ? (o + c) / 2 : (xhaopen + haclose ) / 2
hahigh = math.max(h1, math.max(haopen, haclose))
halow = math.min(l1, math.min(haopen, haclose))
o2 = tf(ha_htf, ta.ema(haopen, ha_len2), 0)
c2 = tf(ha_htf, ta.ema(haclose, ha_len2), 0)
h2 = tf(ha_htf, ta.ema(hahigh, ha_len2), 0)
l2 = tf(ha_htf, ta.ema(halow, ha_len2), 0)
ha_avg = (h2 + l2) / 2
// }
osc_len = 8
osc_bias = 100 *(c2 - o2)
osc_smooth = ta.ema(osc_bias, osc_len)
sigcolor =
(osc_bias > 0) and (osc_bias >= osc_smooth) ? color.new(Bullish, 35) :
(osc_bias > 0) and (osc_bias < osc_smooth) ? color.new(Bullish2, 75) :
(osc_bias < 0) and (osc_bias <= osc_smooth) ? color.new(Bearish, 35) :
(osc_bias < 0) and (osc_bias > osc_smooth) ? color.new(Bearish, 75) :
na
// }
nsc1 = nsc
nsc2 = nsc + 5
nsc3 = nsc + 10
nsc4 = nsc + 15
nsc5 = nsc + 20
nsc6 = nsc + 25
nsc7 = nsc + 30
nsc8 = nsc + 35
nsv1 = nsv - 5
nsv2 = nsv - 10
nsv3 = nsv - 15
nsv4 = nsv - 20
nsv5 = nsv - 25
nsv6 = nsv - 30
nsv7 = nsv - 35
nsv8 = nsv - 40
ap = hlc3
esa = ta.ema(ap, n1)
di = ta.ema(math.abs(ap - esa), n1)
ci = (ap - esa) / (0.015 * di)
tci = ta.ema(ci, n2)
wt1 = tci
wt2 = ta.sma(wt1, 4)
direction = 0
direction := ta.rising(wt1, reaction_wt) ? 1 : ta.falling(wt1, reaction_wt) ? -1 : nz(direction )
Change_of_direction = ta.change(direction, 1)
pcol = direction > 0 ? Strong_Bullish : direction < 0 ? Bearish : na
obLevel1 = input(60, 'Over Bought Level 1')
obLevel2 = input(53, 'Over Bought Level 2')
osLevel1 = input(-60, 'Over Sold Level 1')
osLevel2 = input(-53, 'Over Sold Level 2')
rsi = ta.rsi(close,14)
color greengrad = color.from_gradient(rsi, 10, 90, #00ddff, #007d91)
color redgrad = color.from_gradient(rsi, 10, 90, #8b002e, #e91e62)
ob1 = plot(obLevel1, color=#e91e6301)
os1 = plot(osLevel1, color=#00dbff01)
ob2 = plot(obLevel2, color=#e91e6301)
os2 = plot(osLevel2, color=#00dbff01)
p1 = plot(wt1, color=#00dbff01)
p2 = plot(wt2, color=#e91e6301)
plot(wt1 - wt2, color=wt2 - wt1 > 0 ? redgrad : greengrad, style=plot.style_columns)
// fill(p1,p2,color = wt2 - wt1 > 0 ? redgrad: greengrad) // old
fill(p1,p2,color = sigcolor)
// new
fill(ob1,ob2,color = #e91e6350)
fill(os1,os2,color = #00dbff50)
midpoint = (nsc + nsv) / 2
ploff = (nsc - midpoint) / 8
BullSale = ta.crossunder(wt1, wt2) and wt1 >= nsc and Buy_sales == true
BearSale = ta.crossunder(wt1, wt2) and Buy_sales == false
Bullishh = ta.crossover(wt1, wt2) and wt1 <= nsv and Sell_sales == true
Bearishh = ta.crossover(wt1, wt2) and Sell_sales == false
plot(BullSale ? wt2 + ploff : na, style=plot.style_circles, color=color.new(Bearish, 0), linewidth=6, title='BuysG')
plot(BearSale ? wt2 + ploff : na, style=plot.style_circles, color=color.new(Bearish, 0), linewidth=6, title='SellsG')
plot(Bullishh ? wt2 - ploff : na, style=plot.style_circles, color=color.new(Strong_Bullish, 0), linewidth=6, title='Buys On Sale')
plot(Bearishh ? wt2 - ploff : na, style=plot.style_circles, color=color.new(Strong_Bullish, 0), linewidth=6, title='Sells on Sale')
//plot(Histogram ? wt1 - wt2 : na, style=plot.style_area, color=color.new(Blue2, 80), linewidth=1, title='Histograma')
//barcolor(barras == true and Bullishh == true or barras == true and Bearishh == true ? Bullish2 : na)
//barcolor(barras == true and BullSale == true or barras == true and BearSale == true ? Bearish : na)
/////// Divergence ///////
f_top_fractal(_src) =>
_src < _src and _src < _src and _src > _src and _src > _src
f_bot_fractal(_src) =>
_src > _src and _src > _src and _src < _src and _src < _src
f_fractalize(_src) =>
f_top_fractal(_src) ? 1 : f_bot_fractal(_src) ? -1 : 0
fractal_top1 = f_fractalize(wt1) > 0 ? wt1 : na
fractal_bot1 = f_fractalize(wt1) < 0 ? wt1 : na
high_prev1 = ta.valuewhen(fractal_top1, wt1 , 0)
high_price1 = ta.valuewhen(fractal_top1, high , 0)
low_prev1 = ta.valuewhen(fractal_bot1, wt1 , 0)
low_price1 = ta.valuewhen(fractal_bot1, low , 0)
regular_bearish_div1 = fractal_top1 and high > high_price1 and wt1 < high_prev1 and divregbear == true
hidden_bearish_div1 = fractal_top1 and high < high_price1 and wt1 > high_prev1 and divhidbear == true
regular_bullish_div1 = fractal_bot1 and low < low_price1 and wt1 > low_prev1 and divregbull == true
hidden_bullish_div1 = fractal_bot1 and low > low_price1 and wt1 < low_prev1 and divhidbull == true
col1 = regular_bearish_div1 ? Bearish : hidden_bearish_div1 ? Bearish : na
col2 = regular_bullish_div1 ? Strong_Bullish : hidden_bullish_div1 ? Strong_Bullish : na
//plot(title='Divergence Bearish', series=fractal_top1 ? wt1 : na, color=col1, linewidth=2, transp=0)
//plot(title='Divergence Bullish', series=fractal_bot1 ? wt1 : na, color=col2, linewidth=2, transp=0)
plotshape(regular_bearish_div1 and divregbear and Tags ? wt1 + ploff * 1 : na, title='Divergence Regular Bearish', text='Bear', location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.new(Bearish, 0), textcolor=color.new(White, 0))
plotshape(hidden_bearish_div1 and divhidbear and Tags ? wt1 + ploff * 1 : na, title='Divergence Hidden Bearish', text='H Bear', location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.new(Bearish, 0), textcolor=color.new(White, 0))
plotshape(regular_bullish_div1 and divregbull and Tags ? wt1 - ploff * 1 : na, title='Divergence Regular Bullish', text='Bull', location=location.absolute, style=shape.labelup, size=size.tiny, color=color.new(Strong_Bullish, 0), textcolor=color.new(White, 0))
plotshape(hidden_bullish_div1 and divhidbull and Tags ? wt1 - ploff * 1 : na, title='Divergence Hidden Bullish', text='H Bull', location=location.absolute, style=shape.labelup, size=size.tiny, color=color.new(Strong_Bullish, 0), textcolor=color.new(White, 0))
/////// Unfazed Alerts //////
////////////////////////////////////////////////-MISTERMOTA MOMENTUM-/////////////////////////////////////
source = input(close)
responsiveness = math.max(0.00001, input.float(0.9, minval=0.0, maxval=1.0))
periodd = input(50)
sd = ta.stdev(source, 50) * responsiveness
var worm = source
diff = source - worm
delta = math.abs(diff) > sd ? math.sign(diff) * sd : diff
worm += delta
ma = ta.sma(source, periodd)
raw_momentum = (worm - ma) / worm
current_med = raw_momentum
min_med = ta.lowest(current_med, periodd)
max_med = ta.highest(current_med, periodd)
temp = (current_med - min_med) / (max_med - min_med)
value = 0.5 * 2
value *= (temp - .5 + .5 * nz(value ))
value := value > .9999 ? .9999 : value
value := value < -0.9999 ? -0.9999 : value
temp2 = (1 + value) / (1 - value)
momentum = .25 * math.log(temp2)
momentum += .5 * nz(momentum )
//momentum := raw_momentum
signal = nz(momentum )
trend = math.abs(momentum) <= math.abs(momentum )
////////////////////////////////////////////////-GROWING/FAILING-//////////////////////////////////////////
length = input.int(title="MOM Period", minval=1, defval=14, group="MOM Settings")
srcc = input(title="MOM Source", defval=hlc3, group="MOM Settings")
txtcol_grow_above = input(#1a7b24, "Above Grow", group="MOM Settings", inline="Above")
txtcol_fall_above = input(#672ec5, "Fall", group="MOM Settings", inline="Above")
txtcol_grow_below = input(#F37121, "Below Grow", group="MOM Settings", inline="Below")
txtcol_fall_below = input(#be0606, "Fall", group="MOM Settings", inline="Below")
ma(source, length, type) =>
switch type
"SMA" => 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)
typeMA = input.string(title = "Method", defval = "SMA", options= , group="MA Settings")
smoothingLength = input.int(title = "Length", defval = 5, minval = 1, maxval = 100, group="MA Settings")
smoothingLine = ma(delta, smoothingLength, typeMA)
deltaText=(delta > 0 ? (delta > delta ? " MOM > 0 and ▲ Growing, MOM = " + str.tostring(delta , "#.##") :" MOM > 0 and ▼ Falling, MOM = " + str.tostring(delta , "#.##") ) : (delta > delta ? "MOM < 0 and ▲ Growing, MOM = " + str.tostring(delta , "#.##"): " MOM < 0 and ▼ Falling, MOM = " + str.tostring(delta , "#.##")))
oneDay = 24 * 60 * 60 * 1000
barsAhead = 3
tmf = if timeframe.ismonthly
barsAhead * oneDay * 30
else if timeframe.isweekly
barsAhead * oneDay * 7
else if timeframe.isdaily
barsAhead * oneDay
else if timeframe.isminutes
barsAhead * oneDay * timeframe.multiplier / 1440
else if timeframe.isseconds
barsAhead * oneDay * timeframe.multiplier / 86400
else
0
angle(_src) =>
rad2degree = 180 / 3.14159265359
//pi
ang = rad2degree * math.atan((_src - _src ) / ta.atr(14))
ang
emae = angle(smoothingLine)
emaanglestat = emae > emae ? "▲ Growing": "▼ Falling"
deltaTextxxx = "MOM MA/ATR angle value is " + str.tostring(emae, "#.##") + "° and is " + emaanglestat
deltacolorxxx = emae >0 and emae >=emae ? txtcol_grow_above : txtcol_fall_below
// Label
label lpt1 = label.new(time, -30, text=deltaTextxxx , color=deltacolorxxx, xloc=xloc.bar_time, style=label.style_label_left, textcolor=color.white, textalign=text.align_left, size=size.normal)
label.set_x(lpt1, label.get_x(lpt1) + tmf)
label.delete(lpt1 )
txtdeltaColors = (delta > 50 ? (delta < delta ? txtcol_grow_above : txtcol_fall_above) : (delta < delta ? txtcol_grow_below : txtcol_fall_below))
label ldelta1 = label.new(time, 30, text=deltaText , color=txtdeltaColors, xloc=xloc.bar_time, style=label.style_label_left, textcolor=color.white, textalign=text.align_left, size=size.normal)
label.set_x(ldelta1, label.get_x(ldelta1) + tmf)
label.delete(ldelta1 )
SCPEM - Socionomic Crypto Peak Model (0-85 Scale)SCPEM Indicator Overview
The SCPEM (Socionomic Crypto Peak Evaluation Model) indicator is a TradingView tool designed to approximate cycle peaks in cryptocurrency markets using socionomic theory, which links market behavior to collective social mood. It generates a score from 0-85 (where 85 signals extreme euphoria and high reversal risk) and plots it as a blue line on the chart for visual backtesting and real-time analysis.
#### How It Works
The indicator uses technical proxies to estimate social mood factors, as Pine Script cannot fetch external data like sentiment indices or social media directly. It calculates a weighted composite score on each bar:
- Proxies derive from price, volume, and volatility data.
- The raw sum of factor scores (max ~28) is normalized to 0-85.
- The score updates historically for backtesting, showing mood progression over time.
- Alerts trigger if the score exceeds 60, indicating high peak probability.
Users can adjust inputs (e.g., lengths for RSI or pivots) to fine-tune for different assets or timeframes.
Metrics Used (Technical Proxies)
Crypto-Specific Sentiment
Approximated by RSI (overbought levels indicate greed).
Social Media Euphoria
Based on volume relative to its SMA (spikes suggest herding/FOMO).
Broader Social Mood Proxies
Derived from ATR volatility (high values signal uncertain/mixed mood).
Search and Cultural Interest Proxied by OBV trend (rising accumulation implies growing interest).
Socionomic Wildcard
Uses Bollinger Band width (expansion for positive mood, contraction for negative).
Elliott Wave Position
Counts recent price pivots (more swings indicate later wave stages and exhaustion).
Price PivotsThis indicator tracks price pivots and displays the high / low value.
You can select the number of candles to look back.
You can select how many candles range before the next pivot is printed.
Text size and colours are user defined.
ICT & Zeussy Macro - Vertical Lines at Specific Times 1.0# ICT & Zeussy Macro - Vertical Lines at Specific Times 1.0
## Description
The **ICT & Zeussy Macro - Vertical Lines at Specific Times 1.0** is a Pine Script indicator designed for TradingView to plot vertical lines at user-defined times within each hour, making it a valuable tool for traders following ICT (Inner Circle Trader) and Zeussy macro strategies. The indicator allows users to mark specific times during the trading day with customizable vertical lines, helping to highlight key market moments such as macro times for analysis or trade planning.
## Key Features
- **Customizable Time Selection**: Choose specific hours (00:00 to 23:00) to display vertical lines using checkboxes in the settings.
- **Flexible Minute Inputs**: Define exact minutes for green and orange lines using comma-separated values (e.g., "45,15" for green lines at :45 and :15, or "50,0,10" for orange lines at :50, :00, :10).
- **Color and Style Customization**: Select colors for green and orange lines, as well as the line style (Solid, Dashed, or Dotted) to suit your chart preferences.
- **Historical and Future Plotting**: Configure the number of past and future days to display lines, allowing for analysis of historical patterns or planning for upcoming sessions.
- **Line Limit Management**: The indicator supports up to 500 lines to comply with TradingView's limits, with a warning label displayed if the maximum is reached.
## How It Works
The indicator plots vertical lines at specified minutes within selected hours for each chosen day:
- **Green Lines**: Drawn at user-defined minutes (default: :45 and :15 past the hour).
- **Orange Lines**: Drawn at user-defined minutes (default: :50, :00, and :10 past the hour).
- Users can enable or disable specific hours via checkboxes, and the lines are plotted for the specified number of past and future days.
- The indicator uses the chart's timezone to ensure accurate placement of lines relative to the market's session times.
## Usage
1. **Add to Chart**: Apply the indicator to your TradingView chart.
2. **Configure Settings**:
- In the "Hour Selection" group, check the boxes for the hours you want to display lines (e.g., 08:00 to 23:00 are enabled by default).
- In the "Green Minutes" and "Orange Minutes" fields, enter comma-separated minute values (e.g., "45,15" for green, "50,0,10" for orange).
- Adjust the "Days in Past" and "Days in Future" to control how many days the lines will cover.
- Customize the "Green Color", "Orange Color", and "Line Style" to match your chart aesthetics.
3. **Monitor Limits**: If you see a "Line limit reached (500 max)" warning, reduce the number of selected hours or days to stay within TradingView's line limit.
## Ideal For
- Traders using ICT or Zeussy macro strategies to identify key times for market analysis.
- Users who need to mark recurring time-based events on their charts.
- Technical analysts looking to visualize specific time intervals across multiple days.
## Notes
- Ensure that the number of selected hours and days does not exceed TradingView's 500-line limit to avoid missing lines.
- The indicator respects the chart's timezone, so verify that your chart's timezone aligns with your trading session.
- For optimal performance, limit the number of past and future days when using multiple hours to avoid hitting the line limit.
This indicator is perfect for traders who rely on precise timing for their strategies, offering a clean and customizable way to visualize critical market moments.
z-score-calkusi-v1.143z-scores incorporate the moment of N look-back bars to allow future price projection.
z-score = (X - mean)/std.deviation ; X = close
z-scores update with each new close print and with each new bar. Each new bar augments the mean and std.deviation for the N bars considered. The old Nth bar falls away from consideration with each new historical bar.
The indicator allows two other options for X: RSI or Moving Average.
NOTE: While trading use the "price" option only.
The other two options are provided for visualisation of RSI and Moving Average as z-score curves.
Use z-scores to identify tops and bottoms in the future as well as intermediate intersections through which a z-score will pass through with each new close and each new bar.
Draw lines from peaks and troughs in the past through intermediate peaks and troughs to identify projected intersections in the future. The most likely intersections are those that are formed from a line that comes from a peak in the past and another line that comes from a trough in the past. Try getting at least two lines from historical peaks and two lines from historical troughs to pass through a future intersection.
Compute the target intersection price in the future by clicking on the z-score indicator header to see a drag-able horizontal line to drag over the intersection. The target price is the last value displayed in the indicator's status bar after the closing price.
When the indicator header is clicked, a white horizontal drag-able line will appear to allow dragging the line over an intersection that has been drawn on the indicator for a future z-score projection and the associated future closing price.
With each new bar that appears, it is necessary to repeat the procedure of clicking the z-score indicator header to be able to drag the drag-able horizontal line to see the new target price for the selected intersection. The projected price will be different from the current close price providing a price arbitrage in time.
New intermediate peaks and troughs that appear require new lines be drawn from the past through the new intermediate peak to find a new intersection in the future and a new projected price. Since z-score curves are sort of cyclical in nature, it is possible to see where one has to locate a future intersection by drawing lines from past peaks and troughs.
Do not get fixated on any one projected price as the market decides which projected price will be realised. All prospective targets should be manually updated with each new bar.
When the z-score plot moves outside a channel comprised of lines that are drawn from the past, be ready to adjust to new market conditions.
z-score plots that move above the zero line indicate price action that is either rising or ranging. Similarly, z-score plots that move below the zero line indicate price action that is either falling or ranging. Be ready to adjust to new market conditions when z-scores move back and forth across the zero line.
A bar with highest absolute z-score for a cycle screams "reversal approaching" and is followed by a bar with a lower absolute z-score where close price tops and bottoms are realised. This can occur either on the next bar or a few bars later.
The indicator also displays the required N for a Normal(0,1) distribution that can be set for finer granularity for the z-score curve.This works with the Confidence Interval (CI) z-score setting. The default z-score is 1.96 for 95% CI.
Common Confidence Interval z-scores to find N for Normal(0,1) with a Margin of Error (MOE) of 1:
70% 1.036
75% 1.150
80% 1.282
85% 1.440
90% 1.645
95% 1.960
98% 2.326
99% 2.576
99.5% 2.807
99.9% 3.291
99.99% 3.891
99.999% 4.417
9-Jun-2025
Added a feature to display price projection labels at z-score levels 3, 2, 1, 0, -1, -2, 3.
This provides a range for prices available at the current time to help decide whether it is worth entering a trade. If the range of prices from say z=|2| to z=|1| is too narrow, then a trade at the current time may not be worth the risk.
Added plot for z-score moving average.
28-Jun-2025
Added Settings option for # of Std.Deviation level Price Labels to display. The default is 3. Min is 2. Max is 6.
This feature allows likelihood assessment for Fibonacci price projections from higher time frames at lower time frames. A Fibonacci price projection that falls outside |3.x| Std.Deviations is not likely.
Added Settings option for Chart Bar Count and Target Label Offset to allow placement of price labels for the standard z-score levels to the right of the window so that these are still visible in the window.
Target Label Offset allows adjustment of placement of Target Price Label in cases when the Target Price Label is either obscured by the price labels for the standard z-score levels or is too far right to be visible in the window.
9-Jul-2025
z-score 1.142 updates:
Displays in the status line before the close price the range for the selected Std. Deviation levels specified in Settings and |z-zMa|.
When |z-zMa| > |avg(z-zMa)| and zMa rising, |z-zMa| and zMa displays in aqua.
When |z-zMa| > |avg(z-zMa)| and zMa falling, |z-zMa| and zMa displays in red.
When |z-zMa| <= |avg(z-zMa)|, z and zMa display in gray.
z usually crosses over zMa when zMa is gray but not always. So if cross-over occurs when zMa is not gray, it implies a strong move in progress.
Practice makes perfect.
Use this indicator at your own risk