5,8,10,13 EMA Cluster CrossThis is a rough cross signal or signals for the 5,8,10,13 emas to be bullish or bearish, a secondary caution indicator is programed in for the 5,8,10 cross like a yellow caution light. This is not timeframe specific and this indicator is meant to show momentum changes near pivotal points.
Any updates and improvement welcome.
Penunjuk dan strategi
Top 3 Largest RTH CandlesThis simply marks the top three sized candles to show potential momentum changes or swings.
Bullish & Bearish Wick MarkerMarks bullish and bearish engulfing candles
Bullish engulfing candle:
when the low is lower than the previous candle low and the body close is higher than the previous candle body
Bearish engulfing cande:
when the high is higher than the previous candle high and the body close is lower than the previous candle body
Institutional Momentum Scanner [IMS]Institutional Momentum Scanner - Professional Momentum Detection System
Hunt explosive price movements like the professionals. IMS identifies maximum momentum displacement within 10-bar windows, revealing where institutional money commits to directional moves.
KEY FEATURES:
▪ Scans for strongest momentum in rolling 10-bar windows (institutional accumulation period)
▪ Adaptive filtering reduces false signals using efficiency ratio technology
▪ Three clear states: LONG (green), SHORT (red), WAIT (gray)
▪ Dynamic volatility-adjusted thresholds (8% ATR-scaled)
▪ Visual momentum flow with glow effects for signal strength
BASED ON:
- Pocket Pivot concept (O'Neil/Morales) applied to price momentum
- Adaptive Moving Average principles (Kaufman KAMA)
- Market Wizards momentum philosophy
- Institutional order flow patterns (5-day verification window)
HOW IT WORKS:
The scanner finds the maximum price displacement in each 10-bar window - where the market showed its hand. An adaptive filter (5-bar regression) separates real moves from noise. When momentum exceeds the volatility-adjusted threshold, states change.
IDEAL FOR:
- Momentum traders seeking explosive moves
- Swing traders (especially 4H timeframe)
- Position traders wanting institutional footprints
- Anyone tired of false breakout signals
Default parameters (10,5) optimized for 4H charts but adaptable to any timeframe. Remember: The market rewards patience and punishes heroes. Wait for clear signals.
"The market is honest. Are you?"
Short-Term Holder MVRVThis script calculates and visualizes the Market Value to Realized Value (MVRV) ratio for Bitcoin, specifically focusing on short-term holders (STH). The MVRV ratio is a key on-chain metric that compares Bitcoin's market cap to its realized cap (the aggregate cost basis of all coins). It helps traders identify overbought and oversold conditions in the market.
Key Features
1. Moving Averages (Customizable)
The script allows users to apply different moving averages to smooth the MVRV data:
EMA (Exponential Moving Average)
SMA (Simple Moving Average)
SMMA/RMA (Smoothed/Rolling Moving Average)
WMA (Weighted Moving Average)
VWMA (Volume-Weighted Moving Average)
HMA (Hull Moving Average)
2. Core Calculation
Fetches BTC_MVRV data from TradingView's security function.
Computes a moving average (default: 238-period WMA) of the MVRV values.
Calculates the Ratio_MVRV as:
text
Ratio_MVRV = Current MVRV / Moving Average of MVRV
A bullish signal is generated when Ratio_MVRV > 1 (market is heating up).
A bearish signal is generated when Ratio_MVRV < 1 (market is cooling down).
3. Visual Output
Main Plot:
A line chart showing Ratio_MVRV.
Orange when bullish (Ratio_MVRV > 1).
Purple when bearish (Ratio_MVRV < 1).
Horizontal Line:
A dotted white line at 1.0, acting as a threshold.
Table Display:
A small table in the top-right corner showing "↑ Bull" (green) or "↓ Bear" (red) based on the current market state.
4. Alerts
Triggers TradingView alerts when the market state changes between bullish and bearish.
Interpretation & Trading Signals
When Ratio_MVRV > 1 (Bullish):
Suggests Bitcoin is gaining momentum, possibly entering an overbought phase.
Could indicate a good time to hold or accumulate, but extreme highs may signal a potential top.
When Ratio_MVRV < 1 (Bearish):
Suggests Bitcoin is undervalued, possibly in an oversold phase.
Could indicate a buying opportunity, but prolonged lows may signal further downside.
Default Settings & Customization
Length: 238 (adjustable, default based on common long-term trend analysis).
Moving Average Type: WMA (Weighted Moving Average).
Users can modify these settings in the Inputs menu in TradingView.
Use Case
Helps traders identify market cycles by tracking short-term holder behavior.
Works best as a confirmation tool alongside other indicators (e.g., RSI, MACD).
Useful for swing traders and long-term investors looking for trend reversals.
Jumping watermark# Jumping watermark
## Function description
- Dynamic watermark: Mainly used to add dynamic watermarks to prevent theft and transfer when recording videos.
- Static watermark: Sharing opinions can easily include information such as trading pairs, cycles, current time, and individual signatures.
### Static watermark:
Display the watermark related to the current trading pair in the center of the chart.
- Configuration items:
- You can choose to configure the display content: current trading pair code and name, cycle, date, time, and individual signature content
### Dynamic watermark
Display the configured watermark content in a dynamic random position.
- Configuration items:
- Turn on or off the display of watermark jumping
- Modify the display text content and style by yourself
----- 中文简介-----
# 跳动水印
## 功能描述
- 动态水印: 主要可用于视频录制时添加动态水印防盗、防搬运。
- 静态水印:观点分享是可方便的带上交易对、周期、当前时间、个签等信息。
### 静态水印:
在图表中心位置显示当前交易对相关信息水印。
- 配置项:
- 可选择配置显示内容:当前交易对代码及名称、周期、日期、时间、个签内容
### 动态水印
动态随机位置显示配置水印内容。
- 配置项:
- 开启或关闭显示水印跳动
- 自行修改配置显示文字内容和样式
15min intervalsindicator displays 4 15 minute intervals within the hour. this simple indicator can be used for effective scalping.
Candles by Day, Time, Month + StatsThis Pine Script allows you to filter and display candles based on:
📅 Specific days of the week
🕒 Custom intraday time ranges (e.g., 9:15 to 10:30)
📆 Selected months
📊 Shows stats for each filtered block:
🔼 Range (High – Low)
📏 Average candle body size
⚙️ Key Features:
✅ Filter by day, time, and month
🎛 Toggle to show/hide the stats label
🟩 Candles are drawn only for selected conditions
📍 Stats label is positioned above session high (adjustable)
⚠️ Important Setup Instructions:
✅ 1. Use it on a blank chart
To avoid overlaying with default candles:
Open the chart of your preferred symbol
Click on the chart type (top toolbar: "Candles", "Bars", etc.)
Select "Blank" from the dropdown (this will hide all native candles)
Apply this indicator
This ensures only the filtered candles from the script are visible.
Adjust for your local timezone
This script uses a hardcoded timezone: "Asia/Kolkata"
If you are in a different timezone, change it to your own (e.g. "America/New_York", "Europe/London", etc.) in all instances of:
time(timeframe.period, "Asia/Kolkata")
timestamp("Asia/Kolkata", ...)
Use Cases:
Opening range behavior on specific weekdays/months
Detecting market anomalies during exact windows
Building visual logs of preferred trade hours
Repeating Trend HighlighterThis custom indicator helps you see when the current price trend is similar to a past trend over the same number of candles. Think of it like checking whether the market is repeating itself.
You choose three settings:
• Lookback Period: This is how many candles you want to measure. For example, if you set it to 10, it looks at the price change over the last 10 bars.
• Offset Bars Ago: This tells the indicator how far back in time to look for a similar move. If you set it to 50, it compares the current move to what happened 50 bars earlier.
• Tolerance (%): This is how closely the moves must match to be considered similar. A smaller number means you only get a signal if the moves are almost the same, while a larger number allows more flexibility.
When the current price move is close enough to the past move you picked, the background of your chart turns light green. This makes it easy to spot repeating trends without studying numbers manually.
You’ll also see two lines under your chart if you enable them: a blue line showing the percentage change of the current move and an orange line showing the change in the past move. These help you compare visually.
This tool is useful in several ways. You can use it to confirm your trading setups, for example if you suspect that a strong rally or pullback is happening again. You can also use it to filter trades by combining it with other indicators, so you only enter when trends repeat. Many traders use it as a learning tool, experimenting with different lookback periods and offsets to understand how often similar moves happen.
If you are a scalper working on short timeframes, you can set the lookback to a small number like 3–5 bars. Swing traders who prefer daily or weekly charts might use longer lookbacks like 20–30 bars.
Keep in mind that this indicator doesn’t guarantee price will move the same way again—it only shows similarity in how price changed over time. It works best when you use it together with other signals or market context.
In short, it’s like having a simple spotlight that tells you: “This move looks a lot like what happened before.” You can then decide if you want to act on that information.
If you’d like, I can help you tweak the settings or combine it with alerts so it notifies you when these patterns appear.
Bollinger Bands ±2σ & ±3σBollinger Band 2 & 3 standard deviation, clubbed together, so that you can take trade on BKP & BKT.
// This Pine Script plots Bollinger Bands with both ±2σ and ±3σ levels for enhanced volatility analysis.
// Users can customize the moving average type, length, and standard deviation multipliers directly in the settings.
// The indicator overlays a shaded ±2σ region and semi-transparent ±3σ bands to highlight extreme price movements.
Heiken Ashi Candles - CustomizableHeiken Ashi Candles – Customizable Overlay
This TradingView indicator displays accurate Heiken Ashi candles directly on your price chart, perfectly synced with TradingView’s built-in Heiken Ashi source. It’s ideal for traders who want to backtest or analyze Heiken Ashi structure without switching chart types. The indicator also includes full customization of candle body and wick colors for both bullish and bearish candles—perfect for tailoring your chart visuals to your preferences.
Byquan ADX RSI EMA9 Cross AlertThis indicator is used when the ADX exceeds the 40 threshold to look for potential reversals, confirmed by the crossover between the RSI and the RSI-based moving average, as well as the EMA 9.
6-Month Average High/Lows Trend LineThis is an indicator that tracks the 6 month high/low average as a MA and the 6 month high/low average as a flat line.
I added alerts if the price action crosses the high or low line. Also makes a great dynamic channel.
If combined with other confirming indicator like the RSI and/or MACD this could be a very effective tool with respect to levels and 6 month high/lows
Greer Book Value Yield📘 Script Title
Greer Book Value Yield – Valuation Insight Based on Balance Sheet Strength
🧾 Description
Greer Book Value Yield is a valuation-focused indicator in the Greer Financial Toolkit, designed to evaluate how much net asset value (book value) a company provides per share relative to its current market price. This script calculates the Book Value Per Share Yield (BV%) using the formula:
Book Value Yield (%) = Book Value Per Share ÷ Stock Price × 100
This yield helps investors assess whether a stock is trading at a discount or premium to its underlying assets. It dynamically highlights when the yield is:
🟢 Above its historical average (potentially undervalued)
🔴 Below its historical average (potentially overvalued)
🔍 Use Case
Analyze valuation through asset-based metrics
Identify buy opportunities when book value yield is historically high
Combine with other scripts in the Greer Financial Toolkit:
📘 Greer Value – Tracks year-over-year growth consistency across six key metrics
📊 Greer Value Yields Dashboard – Visualizes multiple valuation-based yields
🟢 Greer BuyZone – Highlights long-term technical buy zones
🛠️ Inputs & Data
Uses Book Value Per Share (BVPS) from TradingView’s financial database (Fiscal Year)
Calculates and compares against a static average yield to assess historical valuation
Clean visual feedback via dynamic coloring and overlays
⚠️ Disclaimer
This tool is for educational and informational purposes only and should not be considered financial advice. Always conduct your own research before making investment decisions.
AV BTC Top Cap ModelThe Bitcoin Top Cap
Developed by Willy Woo to identify market cycle tops. Top Cap is calculated by multiplying the Average Cap by 35. Average cap is calculated by taking the cumulative sum of daily market cap divided by the age of market in days. Additional Top Cap using 15x multiplier is included to show sensitivity and to gauge the effect of diminishing returns.
For the use on BTC Market Cap Chart : No changes necessary. Switching to logarithmic scale in recommended.
For the use on BTC Price Chart : After adding the indicator, enable Convert to price setting.
Customization of multipliers is enabled in the settings.
Data sources used: GLASSNODE:BTC_MARKETCAP and GLASSNODE:BTC_SUPPLY (for price conversion)
Note: Use with caution. I coded this for learning. This model might be past it's usefulness date. I am also seeing single digit % difference between this indicator values and top cap indicators available online.
VWEMA-Based Trend Strength IndicatorThis script plots the strength and direction of a trend as the percentage difference between two volume weighted EMAs.
Low Price RSI CrossoverThis Pine Script indicator is a Multi-Timeframe Low RSI Crossover system that combines three key filtering criteria to identify high-probability buy signals. Here's what it does:
Core Concept
The indicator only generates buy signals when all three conditions are met simultaneously:
Price at Multi-Period Low: Current price must be at or near the lowest point within your selected timeframe (1 week to 5 years, or custom)
RSI Momentum Shift: The smoothed RSI must cross above its signal line (EMA), indicating upward momentum
Below Threshold Entry: Both the RSI and its signal line must be below your threshold level (default 50) when the crossover occurs
Key Features
RSI Smoothing: Uses Hull Moving Average (HMA) to smooth the raw RSI, reducing noise and false signals while maintaining responsiveness.
Flexible Timeframes: Choose from predefined periods (1W, 2W, 3W, 1M, 2M, 3M, 6M, 9M, 1Y, 2Y, 3Y, 5Y) or set a custom number of bars.
Visual Feedback:
Plots the smoothed RSI (blue line) and its signal line (red line)
Shows threshold and overbought levels
Highlights signal bars with green background
Displays tiny green triangles at signal points
Real-time status table showing all conditions
Trading Logic
This is essentially a mean-reversion strategy that waits for:
Price to reach significant lows (value zone)
Momentum to start shifting upward (RSI crossover)
Entry from oversold/neutral territory (below 50 RSI)
Why This Works
By requiring price to be at multi-period lows, you avoid buying during downtrends or sideways chop. The RSI crossover confirms that selling pressure is starting to ease, while the threshold filter ensures you're not buying into overbought conditions.
The combination of these filters should significantly reduce false signals compared to using any single indicator alone.
Greer EPS Yield📘 Script Title
Greer EPS Yield – Valuation Insight Based on Earnings Productivity
🧾 Description
Greer EPS Yield is a valuation-focused indicator from the Greer Financial Toolkit, designed to evaluate how efficiently a company generates earnings relative to its current stock price. This script calculates the Earnings Per Share Yield (EPS%), using the formula:
EPS Yield (%) = Earnings Per Share ÷ Stock Price × 100
This yield metric provides a quick snapshot of valuation through the lens of profitability per share. It dynamically highlights when the EPS yield is:
🟢 Above its historical average (potentially undervalued)
🔴 Below its historical average (potentially overvalued)
🔍 Use Case
Quickly assess valuation attractiveness based on earnings yield.
Identify potential buy opportunities when EPS% is above its long-term average.
Combine with other indicators in the Greer Financial Toolkit for a fundamentals-driven investment strategy:
📘 Greer Value – Tracks year-over-year growth consistency across six key metrics
📊 Greer Value Yields Dashboard – Visualizes valuation-based yield metrics
🟢 Greer BuyZone – Highlights long-term technical buy zones
🛠️ Inputs & Data
Uses fiscal year EPS data from TradingView’s built-in financial database.
Tracks a static average EPS Yield to compare current valuation to historical norms.
Clean, intuitive visual with automatic color coding.
⚠️ Disclaimer
This tool is for educational and informational purposes only and should not be considered financial advice. Always conduct your own research before making investment decisions.
Normalized Reserve Risk (Proxy Z-Score)normalised version of the reserve risk indicator on btc magazine because the btc magazine one is poo .
3Commas DCA Long Short3Commas DCA Long/Short Manager – SuperTrend-Powered
This script turns TradingView SuperTrend signals into fully-automated 3Commas actions. On each confirmed bar-close trend flip it:
• Starts the chosen Long or Short DCA bot
• Closes & stops the opposite bot to keep only one side running
Key features
• SuperTrend core – ATR Length & Factor are user-tunable
• Dual-bot control – independent IDs for Long and Short bots, each can be toggled on/off
• Safety first – ignores the very first bar to avoid repaint artefacts
• Email/webhook ready – alerts output compact JSON compatible with 3Commas; optional delay seconds parameter included
• One-click deployment – drop on any chart, set an “Any alert() function call” alert, paste your 3Commas email address / webhook, and trade hands-free.
Back-test thoroughly and use paper trading before going live. Happy automating!
3.RSI LIJO 45*55//@version=6
indicator(title="3.RSI LIJO 45*55", shorttitle="RSI-LIJO-45-55", format=format.price, precision=2, timeframe="", timeframe_gaps=true)
rsiLengthInput = input.int(9, minval=1, title="RSI Length", group="RSI Settings")
rsiSourceInput = input.source(close, "Source", group="RSI Settings")
calculateDivergence = input.bool(false, title="Calculate Divergence", group="RSI Settings", display=display.data_window, tooltip="Calculating divergences is needed in order for divergence alerts to fire.")
change = ta.change(rsiSourceInput)
up = ta.rma(math.max(change, 0), rsiLengthInput)
down = ta.rma(-math.min(change, 0), rsiLengthInput)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
// Change RSI line color based on bands
rsiColor = rsi > 50 ? color.green : rsi < 50 ? color.red : color.white
rsiPlot = plot(rsi, "RSI", color=rsiColor)
rsiUpperBand = hline(55, "RSI Upper Band", color=color.rgb(5, 247, 22))
midline = hline(50, "RSI Middle Band", color=color.new(#787B86, 50))
rsiLowerBand = hline(45, "RSI Lower Band", color=color.rgb(225, 18, 14))
fill(rsiUpperBand, rsiLowerBand, color=color.rgb(126, 87, 194, 90), title="RSI Background Fill")
midLinePlot = plot(50, color=na, editable=false, display=display.none)
fill(rsiPlot, midLinePlot, 100, 55, top_color=color.new(color.green, 0), bottom_color=color.new(color.green, 100), title="Overbought Gradient Fill")
fill(rsiPlot, midLinePlot, 45, 0, top_color=color.new(color.red, 100), bottom_color=color.new(color.red, 0), title="Oversold Gradient Fill")
// Smoothing MA inputs
GRP = "Smoothing"
TT_BB = "Only applies when 'SMA + Bollinger Bands' is selected. Determines the distance between the SMA and the bands."
maTypeInput = input.string("SMA", "Type", options= , group=GRP, display=display.data_window)
maLengthInput = input.int(31, "Length", group=GRP, display=display.data_window)
bbMultInput = input.float(2.0, "BB StdDev", minval=0.001, maxval=50, step=0.5, tooltip=TT_BB, group=GRP, display=display.data_window)
var enableMA = maTypeInput != "None"
var isBB = maTypeInput == "SMA + Bollinger Bands"
// Smoothing MA Calculation
ma(source, length, MAtype) =>
switch MAtype
"SMA" => ta.sma(source, length)
"SMA + Bollinger Bands" => ta.sma(source, length)
"EMA" => ta.ema(source, length)
"SMMA (RMA)" => ta.rma(source, length)
"WMA" => ta.wma(source, length)
"VWMA" => ta.vwma(source, length)
// Smoothing MA plots
smoothingMA = enableMA ? ma(rsi, maLengthInput, maTypeInput) : na
smoothingStDev = isBB ? ta.stdev(rsi, maLengthInput) * bbMultInput : na
plot(smoothingMA, "RSI-based MA", color=color.yellow, display=enableMA ? display.all : display.none, editable=enableMA)
bbUpperBand = plot(smoothingMA + smoothingStDev, title="Upper Bollinger Band", color=color.green, display=isBB ? display.all : display.none, editable=isBB)
bbLowerBand = plot(smoothingMA - smoothingStDev, title="Lower Bollinger Band", color=color.green, display=isBB ? display.all : display.none, editable=isBB)
fill(bbUpperBand, bbLowerBand, color=isBB ? color.new(color.green, 90) : na, title="Bollinger Bands Background Fill", display=isBB ? display.all : display.none, editable=isBB)
// Divergence
lookbackRight = 5
lookbackLeft = 5
rangeUpper = 60
rangeLower = 5
bearColor = color.red
bullColor = color.green
textColor = color.white
noneColor = color.new(color.white, 100)
_inRange(bool cond) =>
bars = ta.barssince(cond)
rangeLower <= bars and bars <= rangeUpper
plFound = false
phFound = false
bullCond = false
bearCond = false
rsiLBR = rsi
if calculateDivergence
//------------------------------------------------------------------------------
// Regular Bullish
// rsi: Higher Low
plFound := not na(ta.pivotlow(rsi, lookbackLeft, lookbackRight))
rsiHL = rsiLBR > ta.valuewhen(plFound, rsiLBR, 1) and _inRange(plFound )
// Price: Lower Low
lowLBR = low
priceLL = lowLBR < ta.valuewhen(plFound, lowLBR, 1)
bullCond := priceLL and rsiHL and plFound
//------------------------------------------------------------------------------
// Regular Bearish
// rsi: Lower High
phFound := not na(ta.pivothigh(rsi, lookbackLeft, lookbackRight))
rsiLH = rsiLBR < ta.valuewhen(phFound, rsiLBR, 1) and _inRange(phFound )
// Price: Higher High
highLBR = high
priceHH = highLBR > ta.valuewhen(phFound, highLBR, 1)
bearCond := priceHH and rsiLH and phFound
plot(
plFound ? rsiLBR : na,
offset = -lookbackRight,
title = "Regular Bullish",
linewidth = 2,
color = (bullCond ? bullColor : noneColor),
display = display.pane,
editable = calculateDivergence)
plotshape(
bullCond ? rsiLBR : na,
offset = -lookbackRight,
title = "Regular Bullish Label",
text = " Bull ",
style = shape.labelup,
location = location.absolute,
color = bullColor,
textcolor = textColor,
display = display.pane,
editable = calculateDivergence)
plot(
phFound ? rsiLBR : na,
offset = -lookbackRight,
title = "Regular Bearish",
linewidth = 2,
color = (bearCond ? bearColor : noneColor),
display = display.pane,
editable = calculateDivergence)
plotshape(
bearCond ? rsiLBR : na,
offset = -lookbackRight,
title = "Regular Bearish Label",
text = " Bear ",
style = shape.labeldown,
location = location.absolute,
color = bearColor,
textcolor = textColor,
display = display.pane,
editable = calculateDivergence)
alertcondition(bullCond, title='Regular Bullish Divergence', message="Found a new Regular Bullish Divergence, Pivot Lookback Right number of bars to the left of the current bar.")
alertcondition(bearCond, title='Regular Bearish Divergence', message='Found a new Regular Bearish Divergence, Pivot Lookback Right number of bars to the left of the current bar.')