LT's RSI Invalidation Targets//@version=5
indicator("Triple RSI Divergence", overlay=true)
// === INPUTS ===
rsiLength = input.int(14, title="RSI Length")
src = input.source(close, "Source")
lookback = input.int(50, title="Lookback Period")
// === RSI ===
rsi = ta.rsi(src, rsiLength)
// === Find local peaks and troughs ===
isTop = ta.pivothigh(rsi, 5, 5)
isBottom = ta.pivotlow(rsi, 5, 5)
var float rsiTroughs = array.new_float()
var float priceTroughs = array.new_float()
var int rsiTroughBars = array.new_int()
if isBottom
array.unshift(rsiTroughs, rsi )
array.unshift(priceTroughs, low )
array.unshift(rsiTroughBars, bar_index )
if array.size(rsiTroughs) > 3
array.pop(rsiTroughs)
array.pop(priceTroughs)
array.pop(rsiTroughBars)
// === Check for triple bullish divergence ===
bullDiv = false
if array.size(rsiTroughs) == 3
r1 = array.get(rsiTroughs, 2)
r2 = array.get(rsiTroughs, 1)
r3 = array.get(rsiTroughs, 0)
p1 = array.get(priceTroughs, 2)
p2 = array.get(priceTroughs, 1)
p3 = array.get(priceTroughs, 0)
// Price: Lower lows, RSI: Higher lows
if p1 > p2 and p2 > p3 and r1 < r2 and r2 < r3
bullDiv := true
label.new(array.get(rsiTroughBars, 0), low, "Triple Bullish Divergence", style=label.style_label_up, color=color.green, textcolor=color.white)
// === Same for triple bearish divergence ===
var float rsiPeaks = array.new_float()
var float pricePeaks = array.new_float()
var int rsiPeakBars = array.new_int()
if isTop
array.unshift(rsiPeaks, rsi )
array.unshift(pricePeaks, high )
array.unshift(rsiPeakBars, bar_index )
if array.size(rsiPeaks) > 3
array.pop(rsiPeaks)
array.pop(pricePeaks)
array.pop(rsiPeakBars)
bearDiv = false
if array.size(rsiPeaks) == 3
r1 = array.get(rsiPeaks, 2)
r2 = array.get(rsiPeaks, 1)
r3 = array.get(rsiPeaks, 0)
p1 = array.get(pricePeaks, 2)
p2 = array.get(pricePeaks, 1)
p3 = array.get(pricePeaks, 0)
// Price: Higher highs, RSI: Lower highs
if p1 < p2 and p2 < p3 and r1 > r2 and r2 > r3
bearDiv := true
label.new(array.get(rsiPeakBars, 0), high, "Triple Bearish Divergence", style=label.style_label_down, color=color.red, textcolor=color.white)
Indicatori e strategie
RSI Momentum ScalperOverview
The "RSI Momentum Scalper" is a Pine Script v5 strategy crafted for trading highly volatile markets, with a special focus on newly listed cryptocurrencies. This strategy harnesses the Relative Strength Index (RSI) alongside volume analysis and momentum thresholds to pinpoint short-term trading opportunities. It supports both long and short trades, managed with customizable take profit, stop loss, and trailing stop levels, which are visually plotted on the chart for easy tracking.
Why I Created This Strategy
I developed the "RSI Momentum Scalper" because I was seeking a reliable trading strategy tailored to newly listed, highly volatile cryptocurrencies. These assets often experience rapid price fluctuations, rendering traditional strategies less effective. I aimed to create a tool that could exploit momentum and volume spikes while managing risk through adaptable exit parameters. This strategy is designed to address that need, offering a flexible approach for traders in dynamic crypto markets.
How It Works
The strategy utilizes RSI to identify momentum shifts, combined with volume confirmation, to trigger long or short entries. Trades are controlled with take profit, stop loss, and trailing stop levels, which adjust dynamically as the price moves in your favor. The trailing stop helps lock in profits, while the plotted exit levels provide clear visual cues for trade management.
Customizable Settings
The script is highly customizable, allowing you to adjust it to various market conditions and trading styles. Here’s a brief overview of the key settings:
Trade Mode: Select "Both," "Long Only," or "Short Only" to determine the trade direction.
(Default: Both)
RSI Length: Sets the lookback period for the RSI calculation (2 to 30).
(Default: 8)
A shorter length increases RSI sensitivity, suitable for volatile assets.
RSI Overbought: Defines the upper RSI threshold (60 to 99) for short entries.
(Default: 90)
Higher values signal stronger overbought conditions.
RSI Oversold: Defines the lower RSI threshold (1 to 40) for long entries.
(Default: 10)
Lower values indicate stronger oversold conditions.
RSI Momentum Threshold: Sets the minimum RSI momentum change (1 to 15) to trigger entries.
(Default: 14)
Adjusts the sensitivity to price momentum.
Volume Multiplier: Multiplies the volume moving average to filter high-volume bars (1.0 to 3.0).
(Default: 1)
Higher values require stronger volume confirmation.
Volume MA Length: Sets the lookback period for the volume moving average (5 to 50).
(Default: 13)
Influences the volume trend sensitivity.
Take Profit %: Sets the profit target as a percentage of the entry price (0.1 to 10.0).
(Default: 4.15)
Determines when to close a winning trade.
Stop Loss %: Sets the loss limit as a percentage of the entry price (0.1 to 6.0).
(Default: 1.85)
Protects against significant losses.
Trailing Stop %: Sets the trailing stop distance as a percentage (0.1 to 4.0).
(Default: 2.55)
Locks in profits as the price moves favorably.
Visual Features
Exit Levels: Take profit (green), fixed stop loss (red), and trailing stop (orange) levels are plotted when in a position.
Performance Table: Displays win rate, total trades, and net profit in the top-right corner.
How to Use
Add the strategy to your chart in TradingView.
Adjust the input settings based on the cryptocurrency and timeframe you’re trading.
Monitor the plotted exit levels for trade management.
Use the performance table to assess the strategy’s performance over time.
Notes
Test the strategy on a demo account or with historical data before live trading.
The strategy is optimized for short-term scalping; adjust settings for longer timeframes if needed.
RSI DivergenceStrat WCredit to faytterro. Buy when RSI is staying flat or going up while the ticker price is going down. Sell when RSI is staying flat or going down while the ticker price is going up.
Previous Day Close (PDC)pdc price just watch how it reacts it will say if bearish or bullish on day or can get a good entry took a while to make who likes it
Ultra High-Prob MTF BO Signals for binary take returnUltra High-Prob MTF BO Signals for binary take return
30-10-3 MAX,min dinamici Supported timeframes: The script works only on timeframes of 1 minute or lower (including second-based timeframes).
Displayed levels: The highs and lows of the last closed candle are plotted for the 30-minute, 10-minute, and 3-minute timeframes.
Updates: The levels update only when a candle closes in the respective timeframe (e.g., every 30 minutes for the 30m levels).
Visualization: Dashed lines for highs and lows (blue for 30m, green for 10m, red for 3m).
Labels indicating "Max 30m", "Min 30m", etc., positioned above the highs and below the lows.
Gemini RSI Divergence SignalsLolLol
Lol
Lol
Lol
Lol
Lol
Lol
Lol
Lol
Lol
Lol
Lol
Lol
Lol
Lol
Lol
Lol
Lol
Lol
Lol
Lol
Lol
Lol
by Gadirov Hybrid BO Strategy Risk Weighting for binaryby Gadirov Hybrid BO Strategy Risk Weighting for binary
By Gadirov Reliable 3M Binary Signals for binary codeBy Gadirov Reliable 3M Binary Signals for binary code
Repulse OB/OS Z-Score (v3)🔹 What this script does
This indicator is an enhanced version of the Repulse, originally developed by Eric Lefort. The Repulse measures bullish and bearish pressure in the market by analyzing price momentum and crowd behavior.
In this version, I introduce a Z-Score transformation to the Repulse values. The Z-Score converts raw outputs into a standardized statistical scale, allowing traders to identify when pressure is abnormally high or low relative to historical conditions.
🔹 How it works
Repulse Core: The original Repulse calculation compares buying vs. selling pressure, highlighting shifts in momentum.
Z-Scoring Method: Repulse values are normalized around their mean and scaled by standard deviation. This transforms the indicator into a dimensionless metric, where:
Positive Z-Scores indicate stronger-than-usual bullish pressure.
Negative Z-Scores indicate stronger-than-usual bearish pressure.
Bands: Thresholds such as ±1 or ±2 Z-Scores can help detect when pressure is stretched, potentially signaling exhaustion or reversal points.
🔹 Why it’s useful
Statistical Clarity: Traders can instantly see whether current pressure is normal or extreme.
Cross-Asset Comparisons: Because Z-Scores are standardized, signals can be compared across different markets or timeframes.
Mean Reversion Tool: Extreme Z-Score values often precede turning points, making this a versatile addition to trend and momentum analysis.
🔹 How to use it
Apply the indicator to any chart and timeframe.
Watch for Z-Scores above +2 (possible overheated bullish pressure) or below –2 (possible oversold/exhaustion).
Use these levels as contextual signals, not standalone triggers. Best results come from combining with price structure, support/resistance, or volume analysis.
⚠️ Note: This script does not predict price. It highlights statistical extremes in pressure to support decision-making. Always use in combination with other tools and risk management practices.
2nd 1H: Midpoints (white=2nd mid, blue=2-candle range mid)2nd 1H: Midpoints (white=2nd mid, blue=2-candle range mid)
ORB 15m + MAs (v4.1)Session ORB Live Pro — Pre-Market Boxes & MA Suite (v4.1)
What it is
A precision Opening Range Breakout (ORB) tool that anchors every session to one specific 15-minute candle—then projects that same high/low onto lower timeframes so your 1m/5m levels always match the source 15m bar. Perfect for scalpers who want session structure without drift.
What it draws
Asia, Pre-London, London, Pre-New York, New York session boxes.
On 15m: only the high/low of the first 15-minute bar of each window (optionally persists for extra bars).
On 5m: mirrors the same 15m range, visible up to 10 bars.
On 1m: mirrors the same 15m range, visible up to 15 bars.
Levels update live while the 15m candle is forming, then lock.
Fully editable windows (easy UX)
Change session times with TradingView’s native input.session fields using the familiar format HHMM-HHMM:1234567. You can tweak each window independently:
Asia
Pre-London
London
Pre-New York
New York
Multi-TF logic (no guesswork)
Designed to show only on 1m, 5m, 15m (by default).
15m = ground truth. Lower timeframes never “recalculate a different range”—they mirror the 15m bar for that session, exactly.
Alerts
Optional breakout alerts when price closes above/below the session range.
Clean visuals
Per-session color controls (box + lines). Boxes extend only for the configured number of bars per timeframe, keeping charts uncluttered.
Built-in MA suite
SMA 50 and RMA 200.
Three extra MAs (SMA/EMA/RMA/WMA/HMA) with selectable color, width, and style (line, stepline, circles).
Why traders like it
Consistency: Lower-TF ranges always match the 15m source bar.
Speed: You see structure immediately—no waiting for N bars.
Control: Edit session times directly; tune how long boxes stay on chart per TF.
Clarity: Minimal, purposeful plotting with alerts when it matters.
Quick start
Set your session times via the five input.session fields.
Choose how long boxes persist on 1m/5m/15m.
Enable alerts if you want instant breakout notifications.
(Optional) Configure the MA suite for trend/bias context.
Best for
Intraday traders and scalpers who rely on repeatable session behavior and demand exact cross-TF alignment of ORB levels.
InsideBarPlus - Alpha GroupInside bar is a great strategy for prop firm evaluations. Since it's a short scalp.
In this version, the target and stops are ATR based.
The reason is that the volatility measurement on that specific moment, makes more sense to measure SL or TP sizing.
I hope you all enjoy. (Backtest it considering slippage, spreads and commissions), on higher timeframes the performance is better, since the spread size "becomes tiny".
NY 14:30 High/Low - 1mThis indicator automatically draws horizontal lines for the High (green) and Low (red) of the 14:30 (Lisbon) candle on the 1-minute chart.
It is designed for traders who want to quickly identify the New York open levels (NY Open), allowing you to:
Visualize the NY market opening zone.
Use these levels as intraday support or resistance.
Plan entries and exits based on breakouts or pullbacks.
Features:
Works on any 1-minute chart.
Lines are drawn immediately after the 14:30 candle closes.
Lines extend automatically to the right.
Simple and lightweight, no complex variables or external dependencies.
Daily reset, always showing the current day’s levels.
Recommended Use:
Combine with support/resistance zones, order blocks, or fair value gaps.
Monitor price behavior during the NY open to identify breakout or rejection patterns.
Double Top/Bottom Screener - Today Only v3 //@version=6
indicator("Double Top/Bottom Screener - Today Only", overlay=true, max_lines_count=500)
// Inputs
leftBars = input.int(5, "Left Bars")
rightBars = input.int(5, "Right Bars")
tolerance = input.float(0.02, "Max Difference (e.g., 0.02 for 2 cents)", step=0.01)
atrLength = input.int(14, "ATR Length for Normalized Distance", minval=1)
requiredPeaks = input.int(3, "Required Identical Peaks", minval=2, maxval=5)
// Declarations of persistent variables and arrays
var array resistanceLevels = array.new(0)
var array resistanceCounts = array.new(0)
var array supportLevels = array.new(0)
var array supportCounts = array.new(0)
var array resLines = array.new(0)
var array supLines = array.new(0)
var bool hasDoubleTop = false
var bool hasDoubleBottom = false
var float doubleTopLevel = na
var float doubleBottomLevel = na
var int todayStart = na
var float nearestDoubleLevel = na // Explicitly declared as na by default
// Step 1: Identify Swing Highs/Lows
swingHigh = ta.pivothigh(high, leftBars, rightBars)
swingLow = ta.pivotlow(low, leftBars, rightBars)
// Today's premarket start (04:00 AM ET)
todayStart := timestamp(syminfo.timezone, year, month, dayofmonth, 4, 0, 0)
// Clear arrays and delete lines on the first bar or new day
if barstate.isfirst or (dayofmonth != dayofmonth and time >= todayStart)
// Delete all existing lines only if arrays are not empty
if array.size(resLines) > 0
for i = array.size(resLines) - 1 to 0
line.delete(array.get(resLines, i))
if array.size(supLines) > 0
for i = array.size(supLines) - 1 to 0
line.delete(array.get(supLines, i))
// Clear arrays
array.clear(resistanceLevels)
array.clear(supportLevels)
array.clear(resistanceCounts)
array.clear(supportCounts)
array.clear(resLines)
array.clear(supLines)
// Reset flags and levels
hasDoubleTop := false
hasDoubleBottom := false
doubleTopLevel := na
doubleBottomLevel := na
nearestDoubleLevel := na // Ensure reset on new day
// Add new swings only if today and after premarket
if not na(swingHigh) and time >= todayStart and dayofmonth == dayofmonth
bool isEqualHigh = false
int peakIndex = -1
float prevLevel = na
if array.size(resistanceLevels) > 0
for i = 0 to array.size(resistanceLevels) - 1
prevLevel := array.get(resistanceLevels, i)
if math.abs(swingHigh - prevLevel) <= tolerance
isEqualHigh := true
peakIndex := i
break
if isEqualHigh and peakIndex >= 0
array.set(resistanceCounts, peakIndex, array.get(resistanceCounts, peakIndex) + 1)
if array.get(resistanceCounts, peakIndex) == requiredPeaks
hasDoubleTop := true
doubleTopLevel := prevLevel
else
array.push(resistanceLevels, swingHigh)
array.push(resistanceCounts, 1)
line newResLine = line.new(bar_index - rightBars, swingHigh, bar_index, swingHigh, color=color.red, width=2, extend=extend.none)
array.push(resLines, newResLine)
if not na(swingLow) and time >= todayStart and dayofmonth == dayofmonth
bool isEqualLow = false
int peakIndex = -1
float prevLevel = na
if array.size(supportLevels) > 0
for i = 0 to array.size(supportLevels) - 1
prevLevel := array.get(supportLevels, i)
if math.abs(swingLow - prevLevel) <= tolerance
isEqualLow := true
peakIndex := i
break
if isEqualLow and peakIndex >= 0
array.set(supportCounts, peakIndex, array.get(supportCounts, peakIndex) + 1)
if array.get(supportCounts, peakIndex) == requiredPeaks
hasDoubleBottom := true
doubleBottomLevel := prevLevel
else
array.push(supportLevels, swingLow)
array.push(supportCounts, 1)
line newSupLine = line.new(bar_index - rightBars, swingLow, bar_index, swingLow, color=color.green, width=2, extend=extend.none)
array.push(supLines, newSupLine)
// Monitor and remove broken levels/lines; reset pattern if the equal level breaks
if array.size(resistanceLevels) > 0
for i = array.size(resistanceLevels) - 1 to 0
float level = array.get(resistanceLevels, i)
if close > level
line.delete(array.get(resLines, i))
array.remove(resLines, i)
array.remove(resistanceLevels, i)
array.remove(resistanceCounts, i)
if level == doubleTopLevel
hasDoubleTop := false
doubleTopLevel := na
nearestDoubleLevel := na // Reset if level breaks
if array.size(supportLevels) > 0
for i = array.size(supportLevels) - 1 to 0
float level = array.get(supportLevels, i)
if close < level
line.delete(array.get(supLines, i))
array.remove(supLines, i)
array.remove(supportLevels, i)
array.remove(supportCounts, i)
if level == doubleBottomLevel
hasDoubleBottom := false
doubleBottomLevel := na
nearestDoubleLevel := na // Reset if level breaks
// Limit arrays (after removals)
if array.size(resistanceLevels) > 10
line oldLine = array.shift(resLines)
line.delete(oldLine)
array.shift(resistanceLevels)
array.shift(resistanceCounts)
if array.size(supportLevels) > 10
line oldLine = array.shift(supLines)
line.delete(oldLine)
array.shift(supportLevels)
array.shift(supportCounts)
// Pattern Signal: 1 only if the exact required number of peaks is met
patternSignal = (hasDoubleTop or hasDoubleBottom) ? 1 : 0
// New: Nearest Double Level Price - Only update if pattern is active today
if time >= todayStart and dayofmonth == dayofmonth // Restrict to today
if (hasDoubleTop and not na(doubleTopLevel)) or (hasDoubleBottom and not na(doubleBottomLevel))
if hasDoubleTop and not na(doubleTopLevel)
nearestDoubleLevel := doubleTopLevel
if hasDoubleBottom and not na(doubleBottomLevel)
nearestDoubleLevel := na(nearestDoubleLevel) ? doubleBottomLevel : (math.abs(close - doubleBottomLevel) < math.abs(close - nearestDoubleLevel) ? doubleBottomLevel : nearestDoubleLevel)
else
nearestDoubleLevel := na // Reset to na if no pattern today
else
nearestDoubleLevel := na // Reset for historical bars
// New: Distance to Nearest Level (using ATR for normalization)
var float atr = ta.atr(atrLength)
var float distanceNormalizedATR = na
if not na(nearestDoubleLevel) and not na(atr) and atr > 0
distanceNormalizedATR := math.abs(close - nearestDoubleLevel) / atr
// Outputs
plot(patternSignal, title="Pattern Signal", color=patternSignal == 1 ? color.purple : na, style=plot.style_circles)
plot(nearestDoubleLevel, title="Nearest Double Level Price", color=color.orange)
plot(distanceNormalizedATR, title="Normalized Distance (ATR)", color=color.green)
bgcolor(patternSignal == 1 ? color.new(color.purple, 80) : na)
if patternSignal == 1 and barstate.isconfirmed
alert("Double Pattern detected on " + syminfo.ticker + " at " + str.tostring(close), alert.freq_once_per_bar_close)
if barstate.islast
var table infoTable = table.new(position.top_right, 1, 3, bgcolor=color.new(color.black, 50))
table.cell(infoTable, 0, 0, "Pattern: " + str.tostring(patternSignal), bgcolor=patternSignal == 1 ? color.purple : color.gray)
table.cell(infoTable, 0, 1, "Level: " + str.tostring(nearestDoubleLevel, "#.##"), bgcolor=color.orange)
table.cell(infoTable, 0, 2, "ATR Dist: " + str.tostring(distanceNormalizedATR, "#.##"), bgcolor=color.green)
CCI vs Two EMAs + Trendlines + Breakout HighlightPerfect indicator which analyzes the cci4000 & 2 EMAS.
Capitulation DayThe idea is that when US indexes are >10% below their 50,100,200sma it is a capitulation day.
Multi-Asset Arbitrage CalculatorMulti-Asset Arbitrage Calculator
📊 Overview
A comprehensive Pine Script indicator designed to identify and monitor arbitrage opportunities across multiple trading pairs in real-time. This tool calculates potential profit percentages from various transaction paths while accounting for trading fees and market inefficiencies.
🎯 Purpose
- Arbitrage Detection : Automatically identifies price discrepancies between related trading pairs
- Multi-Path Analysis : Supports up to 10 simultaneous arbitrage loops with different transaction sequences
- Fee Integration : Incorporates comprehensive fee structures for realistic profit calculations
- Real-Time Monitoring : Provides continuous monitoring with customizable alert thresholds
🚀 Key Features
Flexible Transaction Paths
- Triangular Arbitrage : A→B→C→A patterns for three-asset opportunities
- Direct Pairs : Simple A→B conversions
- Reverse Paths : Inverse transaction sequences
- Custom Routing : Multiple path options for diverse market scenarios
Comprehensive Fee Structure
- Start/End transaction fees
- Deposit/Withdrawal fees
- Inter-asset conversion fees
- Configurable percentage-based calculations
Professional Tools
- Moving Average Smoothing: Reduces noise with configurable MA periods
- Alert System : Individual and combined alert conditions
- Weekend Detection : Visual highlighting for market hours
- Clean Interface : Organized input groups for easy configuration
📋 Supported Transaction Types
1. `A→B→C→A` - Standard triangular arbitrage
2. `B→A→C→A` - Reverse entry triangular
3. `A→B→A→C` - Split conversion path
4. `A→C→B→A` - Alternative triangular route
5. `A→C→A→B` - Modified split path
6. `A→B` - Direct pair conversion
7. `A→B (Inverse)` - Inverse direct conversion
8. `B→A (Inverse)` - Reverse inverse conversion
🛠️ Configuration Options
General Settings
- Alert threshold percentage
- Moving average period
- Enable/disable individual loops
Per Loop Settings
- Transaction path selection
- Three symbol inputs (A, B, C)
- Six fee parameters (Start, Deposit, Step1, Step2, End, Withdraw)
- Individual on/off controls
📈 Use Cases
- Cross-Exchange Arbitrage : Identify price differences between exchanges
- Currency Triangulation : Find inefficiencies in forex/crypto triangular paths
- Fee Analysis : Understand the impact of trading costs on profitability
- Market Research : Study price relationships and correlations
⚙️ Technical Specifications
- Pine Script Version : v6
- Chart Type : Oscillator (overlay=false)
- Data Source : Real-time price feeds via TradingView
- Calculations : Percentage-based profit/loss with fee adjustments
- Alerts : TradingView alert system integration
📊 Visual Elements
- Clean Charts : Plots hidden by default for uncluttered interface
- Weekend Highlighting : Yellow background during market closures
- Color Coding : Distinct colors for each arbitrage loop
- MA Overlay : Optional moving average display
🔧 Installation & Setup
1. Add indicator to TradingView chart
2. Configure desired number of arbitrage loops
3. Set symbol pairs for each active loop
4. Adjust fee parameters based on your broker/exchange
5. Set alert threshold percentage
6. Enable alerts for desired loops
⚠️ Important Notes
- Real-time Data : Requires live market data for accurate calculations
- Fee Accuracy : Ensure fee parameters match your actual trading costs
- Market Hours : Consider exchange operating hours and liquidity
- Risk Management : This is an analysis tool, not investment advice
Price–MA Separation (Z-Score)Price–MA Separation (Z-Score + Shading)
This indicator measures how far price is from a chosen moving average and shows it in a separate pane.
It helps traders quickly spot overextended moves and mean-reversion opportunities.
⸻
What it does
• Calculates the separation between price and a moving average (MA):
• In Points (Price − MA)
• In Percent ((Price / MA − 1) × 100%)
• Converts that separation into a Z-Score (statistical measure of deviation):
• Z = (Separation − Mean) ÷ StdDev
• Highlights when price is unusually far from the MA relative to its recent history.
⸻
Visuals
• Histogram bars:
• Green = above the MA,
• Orange = below the MA.
• Intensity increases with larger Z-Scores.
• Zero line: red baseline (price = MA).
• Z threshold lines:
• +T1 = light red (mild overbought)
• +T2 = dark red (strong overbought)
• −T1 = light green (mild oversold)
• −T2 = dark green (strong oversold)
• Default thresholds: ±1 and ±2.
⸻
Settings
• MA Type & Length: Choose between SMA, EMA, WMA, VWMA, or SMMA (RMA).
• Units: Show separation in Points or Percent.
• Plot Mode:
• Raw = distance in points/percent.
• Z-Score = standardized deviation (default).
• Absolute Mode: Show only magnitude (ignore direction).
• Smoothing: Overlay a smoothed line on the histogram.
• Z-Bands: Visual guides at ± thresholds.
⸻
How to use
• Look for large positive Z-Scores (red zones): price may be stretched far above its MA.
• Look for large negative Z-Scores (green zones): price may be stretched far below its MA.
• Use as a mean-reversion signal or to confirm trend exhaustion.
• Works well with:
• Swing entries/exits
• Overbought/oversold conditions
• Filtering other signals (RSI, MACD, VWAP)
⸻
Notes
• Z-Scores depend on the lookback window (default = 100 bars). Adjust for shorter/longer memory.
• Strong deviations don’t always mean reversal—combine with other tools for confirmation.
• Not financial advice. Always manage risk.
⸻
Try adjusting the MA length and Z-Score thresholds to fit your trading style.
Bitcoin Lagging (N Days)This indicator overlays Bitcoin’s price on any chart with a user-defined N-day lag. You can select the BTC symbol and timeframe (daily recommended), choose which price source to use (open, high, low, close, hlc3, ohlc4), and shift the series by a chosen number of days. An option to normalize the series to 100 at the first visible value is also available, along with the ability to display the original BTC line for comparison.
It is designed for traders and researchers who want to test lagging relationships between Bitcoin and other assets, observe correlation changes, or visualize how BTC’s past prices might align with current market movements. The lagging is calculated based on daily candles, so even if applied on intraday charts, the shift remains in daily units.
이 지표는 비트코인 가격을 원하는 차트 위에 N일 지연된 상태로 표시해 줍니다. 심볼과 타임프레임(일봉 권장)을 선택할 수 있으며, 가격 소스(시가, 고가, 저가, 종가, hlc3, ohlc4)도 설정 가능합니다. 또한 시리즈를 첫 값 기준으로 100에 맞춰 정규화하거나, 원래의 비트코인 가격선을 함께 표시할 수도 있습니다.
비트코인과 다른 자산 간의 시차 효과를 분석하거나 상관관계 변화를 관찰할 때 유용하게 활용할 수 있습니다. 지연은 일봉 기준으로 계산되므로, 분·시간 차트에 적용해도 항상 일 단위로 반영됩니다.
Adjustable Day MarkersPlaces vertical dashed lines for each new day at midnight in light grey, so you have a visual reference on the chart rather than having to look at the time at the bottom.
To adjust it to your time zone: go to settings , then give a - or + value for " Timezone Offset ".
I'm at GMT+2, so I set it to 2 .
If you rather have the line appear at the beginning of your trading day, then that's also possible. Say I start every day at 8 AM, I would have to set it to +10 (since I'm currently GMT +2).
Oversold & Overbought Signal with RSISimple RSI overbought/oversold signals. Signals overbought when RSI > 80 and oversold when RSI < 30.
MajorTop DeltaVol ma5-52wThe idea is to identify major tops on the weekly when both are above 0 at the same time; to look just for mkt tops.
Major tops use to drag on for a little with increasing volatility before crashing.
green is 5-52sma
fuchsia 3-9sma
Sma are on the candle's range ratio on the close.