Fibonacci BB EMA SetupThe Fibonacci-BB-EMA setup is a hybrid technical indicator that marries three classic tools into one dynamic
Breadth Indicators
WaveNode [ParadoxAlgo]WaveNode is an open-source, multi-framework breakout tool that blends Donchian highs/lows, Bollinger-band volatility, volume spikes and an ATR buffer into one clean visual package. It ships with five one-click “Trading Style” presets (Scalping → Long-Term Investing) so users can drop it on any chart, pick a style, and immediately see context-aware breakout triangles and adaptive channels—no manual tuning required.
What the Indicator does
WaveNode tracks the previous bar’s highest high and lowest low to build a Donchian envelope, wraps price in a two-sigma Bollinger shell to gauge contraction/expansion, then confirms breakouts only when:
• Price closes beyond the prior Donchian extreme plus an ATR % buffer.
• Volume exceeds its moving-average × style-specific multiplier.
• Volatility is expanding (current BB width > its own average).
When all filters line up, a blue (bull) or red (bear) triangle prints on the bar. The channel body is softly filled with a neutral gradient so signals stay visible against any theme.
Inputs & presets
Trading Style
Scalping · Day Trading · Swing Trading · Short-Term Investing · Long-Term Investing
Dropdown auto-loads lengths, multipliers and buffers for the chosen horizon.
All other parameters are hard-coded inside each preset to keep the UI minimal; feel free to fork the code and expose more sliders if you prefer.
How to read it
1. Wait for expansion – when the shaded channel widens after a squeeze, conditions ripen for a move.
2. Watch the triangles – a triangle marks the bar where price, volume and volatility align.
3. Use your own risk plan – WaveNode is a signal generator, not a complete trading system.
Risk & compliance
WaveNode is released for educational purposes only. It does not provide financial advice or guarantees of future results. Always back-test and forward-test on demo before risking real capital. By using WaveNode you accept full responsibility for all trading decisions—past performance is not indicative of future returns.
MarketCap_FreeFloatGive you market cap and free float instantly..
Considers TOTAL_SHARES_OUTSTANDING & FLOAT_SHARES_OUTSTANDING
Multiplies by
// Calculate metrics in crores
MarketCap = Outstanding * close
FreeFloat = free_float * close
Values are in INR (Crores)
Session Highs and Lows IndicatorHighs and Lows Black Lettering. This shows you the highs and lows of the sessions of the current day.
Monday High/LowShows Monday High and Low throughout the week with tags to the trendlines. Updates every Monday and shows the two values constantly.
Perfect Daily Markers FINALsalamtak legamrey yessssssssss. very good indicator that helps you identefy the high and low of all days and mark the time: between 15:30 and 19:00
Live Repainting Swing Strategy (Trendlines + EMA)🔍 How It Works
Swing High/Low Detection (Repainting):
Detects unconfirmed, live swing highs and lows using a user-defined lookback length. These pivots repaint, updating as the chart evolves — just like a discretionary trader would.
Buy Entry:
New swing low appears
No recent signal in the last X bars (cooldown)
Entry is placed at the swing low
Sell Entry:
New swing high appears
Cooldown condition met
Entry is placed at the swing high
Exit Logic:
Configurable Take Profit and Stop Loss percentages
A marker is plotted when TP is hit (green for longs, orange for shorts)
✳️ Visual Elements
Marker Meaning
🔺 Green Buy signal at swing low
🔻 Red Sell signal at swing high
🟢 Lime Circle TP hit on a long
🟠 Orange Circle TP hit on a short
🔶 EMA Line Trend context (default: 50 EMA)
📏 Trendlines Repainting lines from last swing high/low to current price
⚙️ Configurable Inputs
Swing Length: Sensitivity of pivot detection
Cooldown: Min bars between signals to prevent overtrading
SL % and TP %: Risk-reward settings
EMA Length: Dynamic trend filter overlay
🚦 Designed For
5-minute to 1-hour charts
Price action traders
Real-time analysis and visual confirmation
Use with alerts or manual scalping
Labeled EMA 20/50/100/200Description:
This indicator plots four key Exponential Moving Averages—EMA 20, EMA 50, EMA 100, and EMA 200—clearly labeled and color-coded for better visual analysis.
Designed for intraday and positional traders, it helps:
• Identify short-, mid-, and long-term trends
• Spot crossover signals (e.g., EMA 20 crossing EMA 50)
• Recognize dynamic support and resistance zones
• Set precise alerts without dealing with unnamed "Plot" fields
Ideal for clean charting and strategy building across any timeframe.
1 BUY 2 SELL Loop – With ATR-Based SL/TPStrategy Overview:
This script is a scalping strategy tailored for the NASDAQ 100 (US100) on the 3-minute timeframe. It utilizes a "1 Buy 2 Sell" cycle logic, with every trade managed using ATR-based dynamic Stop Loss and Take Profit levels.
Core Features:
- Dual Entry Logic:
Enters 2 contracts; one is quickly exited to lock in minimal profit or loss, the other runs until SL/TP triggers.
- ATR Filter:
Volatility-based stop-loss and take-profit logic using a multiple of the Average True Range.
- Trade Direct:
Signals are derived from a simple RSI crossover/crossunder, but this can be replaced with your custom logic.
Optimized for:
- NAS100 / US100 Index
- 3-minute chart
- High-frequency manual or automated trading
Customization Ideas:
You can add trend filters (e.g., EMA confirmation), time filters, or trailing stop functions based on your own strategy needs.
Note:
This script is built for educational and testing purposes on TradingView and should not be considered financial advice.
MCMXCIX Sessions### **Trading Sessions**
Intraday trading is marked by clear time frames that
mark areas of increased volatility:
Custom Strategy//@version=5
strategy("Custom Strategy", overlay=true, margin_long=100, margin_short=100, process_orders_on_close=true)
// 参数设置
point_value = input.float(0.0001, title="点值(例如:0.0001代表1个点)")
backtest_date_start = input.time(title="回测开始日期", defval=timestamp("2020-01-01T00:00:00"))
// 多单逻辑变量
var float long_ref_open = na
var float long_ref_high = na
var bool long_condition1 = false
var bool long_condition2 = false
var int long_phase = 0
// 空单逻辑变量
var float short_ref_open = na
var float short_ref_high = na
var bool short_condition1 = false
var bool short_condition2 = false
var int short_phase = 0
// 多单条件检查
if time >= backtest_date_start
// 多单第一条件检查
if not long_condition1 and not long_condition2
if high - open >= 300 * point_value
if low <= high - 50 * point_value
strategy.entry("Long", strategy.long)
else
long_ref_open := open
long_ref_high := high
long_phase := 1
else if close - open < 300 * point_value
long_phase := 2
// 多单第二条件检查
if long_phase == 1
if low <= long_ref_open + 250 * point_value
strategy.entry("Long", strategy.long)
long_phase := 0
if long_phase == 2
if high - close >= 300 * point_value
if low <= high - 50 * point_value
strategy.entry("Long", strategy.long)
long_phase := 0
else
long_phase := 3
else
long_phase := 0
if long_phase == 3
if low <= open + 250 * point_value
strategy.entry("Long", strategy.long)
long_phase := 0
// 空单条件检查(反向逻辑)
if time >= backtest_date_start
// 空单第一条件检查
if not short_condition1 and not short_condition2
if open - low >= 300 * point_value
if high >= low + 50 * point_value
strategy.entry("Short", strategy.short)
else
short_ref_open := open
short_ref_high := low
short_phase := 1
else if open - close < 300 * point_value
short_phase := 2
// 空单第二条件检查
if short_phase == 1
if high >= short_ref_open - 250 * point_value
strategy.entry("Short", strategy.short)
short_phase := 0
if short_phase == 2
if close - low >= 300 * point_value
if high >= low + 50 * point_value
strategy.entry("Short", strategy.short)
short_phase := 0
else
short_phase := 3
else
short_phase := 0
if short_phase == 3
if high >= open - 250 * point_value
strategy.entry("Short", strategy.short)
short_phase := 0
// 止损止盈逻辑
if strategy.position_size > 0
strategy.exit("Long Exit", "Long", stop = strategy.position_avg_price - 301 * point_value,limit = close + 301 * point_value)
if strategy.position_size < 0
strategy.exit("Short Exit", "Short",stop = strategy.position_avg_price + 301 * point_value, limit = close - 301 * point_value)
Sector 50MA vs 200MA ComparisonThis TradingView indicator compares the 50-period Moving Average (50MA) and 200-period Moving Average (200MA) of a selected market sector or index, providing a visual and analytical tool to assess relative strength and trend direction. Here's a detailed breakdown of its functionality:
Purpose: The indicator plots the 50MA and 200MA of a chosen sector or index on a separate panel, highlighting their relationship to identify bullish (50MA > 200MA) or bearish (50MA < 200MA) trends. It also includes a histogram and threshold lines to gauge momentum and key levels.
Inputs:
Resolution: Allows users to select the timeframe for calculations (Daily, Weekly, or Monthly; default is Daily).
Sector Selection: Users can choose from a list of sectors or indices, including Tech, Financials, Consumer Discretionary, Utilities, Energy, Communication Services, Materials, Industrials, Health Care, Consumer Staples, Real Estate, S&P 500 Value, S&P 500 Growth, S&P 500, NASDAQ, Russell 2000, and S&P SmallCap 600. Each sector maps to specific ticker pairs for 50MA and 200MA data.
Data Retrieval:
The indicator fetches closing prices for the 50MA and 200MA of the selected sector using the request.security function, based on the chosen timeframe and ticker pairs.
Visual Elements:
Main Chart:
Plots the 50MA (blue line) and 200MA (red line) for the selected sector.
Fills the area between the 50MA and 200MA with green (when 50MA > 200MA, indicating bullishness) or red (when 50MA < 200MA, indicating bearishness).
Threshold Lines:
Horizontal lines at 0 (zero line), 20 (lower threshold), 50 (center), 80 (upper threshold), and 100 (upper limit) provide reference points for the 50MA's position.
Fills between 0-20 (green) and 80-100 (red) highlight key zones for potential overbought or oversold conditions.
Sector Information Table:
A table in the top-right corner displays the selected sector and its corresponding 50MA and 200MA ticker symbols for clarity.
Alerts:
Generates alert conditions for:
Bullish Crossover: When the 50MA crosses above the 200MA (indicating potential upward momentum).
Bearish Crossover: When the 50MA crosses below the 200MA (indicating potential downward momentum).
Use Case:
Traders can use this indicator to monitor the relative strength of a sector's short-term trend (50MA) against its long-term trend (200MA).
The visual fill between the moving averages and the threshold lines helps identify trend direction, momentum, and potential reversal points.
The sector selection feature allows for comparative analysis across different market segments, aiding in sector rotation strategies or market trend analysis.
This indicator is ideal for traders seeking to analyze sector performance, identify trend shifts, and make informed decisions based on moving average crossovers and momentum thresholds.
Market Warning Dashboard Enhanced📊 Market Warning Dashboard Enhanced
A powerful macro risk dashboard that tracks and visualizes early signs of market instability across multiple key indicators—presented in a clean, professional layout with a real-time thermometer-style danger gauge.
🔍 Included Macro Signals:
Yield Curve Inversion: 10Y-2Y and 10Y-3M spreads
Credit Spreads: High-yield (HYG) vs Investment Grade (LQD)
Volatility Structure: VIX/VXV ratio
Breadth Estimate: SPY vs 50-day MA (as a proxy)
🔥 Features:
Real-time Danger Score: 0 (Safe) to 100 (Extreme Risk)
Descriptive warnings for each signal
Color-coded thermometer gauge
Alert conditions for each macro risk
Background shifts on rising systemic risk
⚠️ This dashboard can save your portfolio by alerting you to macro trouble before it hits the headlines—ideal for swing traders, long-term investors, and anyone who doesn’t want to get blindsided by systemic risk.
ZHUZHUBLCKBKX MACDThis indicator is based on the standard Trading View MACD Indicator with added visual prompts to take the guess work out of buying and selling. Only use this indicator when you decide to get in or get out. Used in conjunction with "BLCKBOX Buying / Selling Sentiment" indicator.
GainzAlgo V2 [Alpha]// © GainzAlgo
//@version=5
indicator('GainzAlgo V2 ', overlay=true, max_labels_count=500)
show_tp_sl = input.bool(true, 'Display TP & SL', group='Techical', tooltip='Display the exact TP & SL price levels for BUY & SELL signals.')
rrr = input.string('1:2', 'Risk to Reward Ratio', group='Techical', options= , tooltip='Set a risk to reward ratio (RRR).')
tp_sl_multi = input.float(1, 'TP & SL Multiplier', 1, group='Techical', tooltip='Multiplies both TP and SL by a chosen index. Higher - higher risk.')
tp_sl_prec = input.int(2, 'TP & SL Precision', 0, group='Techical')
candle_stability_index_param = 0.7
rsi_index_param = 80
candle_delta_length_param = 10
disable_repeating_signals_param = input.bool(true, 'Disable Repeating Signals', group='Techical', tooltip='Removes repeating signals. Useful for removing clusters of signals and general clarity.')
GREEN = color.rgb(29, 255, 40)
RED = color.rgb(255, 0, 0)
TRANSPARENT = color.rgb(0, 0, 0, 100)
label_size = input.string('huge', 'Label Size', options= , group='Cosmetic')
label_style = input.string('text bubble', 'Label Style', , group='Cosmetic')
buy_label_color = input(GREEN, 'BUY Label Color', inline='Highlight', group='Cosmetic')
sell_label_color = input(RED, 'SELL Label Color', inline='Highlight', group='Cosmetic')
label_text_color = input(color.white, 'Label Text Color', inline='Highlight', group='Cosmetic')
stable_candle = math.abs(close - open) / ta.tr > candle_stability_index_param
rsi = ta.rsi(close, 14)
atr = ta.atr(14)
bullish_engulfing = close < open and close > open and close > open
rsi_below = rsi < rsi_index_param
decrease_over = close < close
var last_signal = ''
var tp = 0.
var sl = 0.
bull_state = bullish_engulfing and stable_candle and rsi_below and decrease_over and barstate.isconfirmed
bull = bull_state and (disable_repeating_signals_param ? (last_signal != 'buy' ? true : na) : true)
bearish_engulfing = close > open and close < open and close < open
rsi_above = rsi > 100 - rsi_index_param
increase_over = close > close
bear_state = bearish_engulfing and stable_candle and rsi_above and increase_over and barstate.isconfirmed
bear = bear_state and (disable_repeating_signals_param ? (last_signal != 'sell' ? true : na) : true)
round_up(number, decimals) =>
factor = math.pow(10, decimals)
math.ceil(number * factor) / factor
if bull
last_signal := 'buy'
dist = atr * tp_sl_multi
tp_dist = rrr == '2:3' ? dist / 2 * 3 : rrr == '1:2' ? dist * 2 : rrr == '1:4' ? dist * 4 : dist
tp := round_up(close + tp_dist, tp_sl_prec)
sl := round_up(close - dist, tp_sl_prec)
if label_style == 'text bubble'
label.new(bar_index, low, 'BUY', color=buy_label_color, style=label.style_label_up, textcolor=label_text_color, size=label_size)
else if label_style == 'triangle'
label.new(bar_index, low, 'BUY', yloc=yloc.belowbar, color=buy_label_color, style=label.style_triangleup, textcolor=TRANSPARENT, size=label_size)
else if label_style == 'arrow'
label.new(bar_index, low, 'BUY', yloc=yloc.belowbar, color=buy_label_color, style=label.style_arrowup, textcolor=TRANSPARENT, size=label_size)
label.new(show_tp_sl ? bar_index : na, low, 'TP: ' + str.tostring(tp) + ' SL: ' + str.tostring(sl), yloc=yloc.price, color=color.gray, style=label.style_label_down, textcolor=label_text_color)
if bear
last_signal := 'sell'
dist = atr * tp_sl_multi
tp_dist = rrr == '2:3' ? dist / 2 * 3 : rrr == '1:2' ? dist * 2 : rrr == '1:4' ? dist * 4 : dist
tp := round_up(close - tp_dist, tp_sl_prec)
sl := round_up(close + dist, tp_sl_prec)
if label_style == 'text bubble'
label.new(bear ? bar_index : na, high, 'SELL', color=sell_label_color, style=label.style_label_down, textcolor=label_text_color, size=label_size)
else if label_style == 'triangle'
label.new(bear ? bar_index : na, high, 'SELL', yloc=yloc.abovebar, color=sell_label_color, style=label.style_triangledown, textcolor=TRANSPARENT, size=label_size)
else if label_style == 'arrow'
label.new(bear ? bar_index : na, high, 'SELL', yloc=yloc.abovebar, color=sell_label_color, style=label.style_arrowdown, textcolor=TRANSPARENT, size=label_size)
label.new(show_tp_sl ? bar_index : na, low, 'TP: ' + str.tostring(tp) + ' SL: ' + str.tostring(sl), yloc=yloc.price, color=color.gray, style=label.style_label_up, textcolor=label_text_color)
alertcondition(bull or bear, 'BUY & SELL Signals', 'New signal!')
alertcondition(bull, 'BUY Signals (Only)', 'New signal: BUY')
alertcondition(bear, 'SELL Signals (Only)', 'New signal: SELL')
Macro Time Block 15mIndicator zeigt die Macrozeit 15 Minuten vor und 15 Minuten nach voller Stunde an.
Macro Time Block (15m przed i po)Indicator zeigt die Macrozeit 15 Minuten vor und 15 minuten nach voller Stunde.
RSI Gold Strategy - Risk-Based Lot//@version=5
strategy("RSI Gold Strategy - Risk-Based Lot", overlay=true)
// === User Inputs ===
startHour = input.int(2, "Trade Start Hour")
endHour = input.int(23, "Trade End Hour")
sl_pips = input.float(9.0, "Stop Loss in Gold Units")
tp_pips = input.float(16.5, "Take Profit in Gold Units")
riskPercent = input.float(1.0, "Risk Percent per Trade")
rsiOverbought = input.int(75, "RSI Overbought Level")
rsiOversold = input.int(43, "RSI Oversold Level")
rsiPeriod = input.int(14, "RSI Period")
// === RSI Calculation ===
rsi = ta.rsi(close, rsiPeriod)
// === Time Filter ===
currentHour = hour(time, "Etc/UTC")
withinTime = (currentHour >= startHour and currentHour < endHour)
// === Entry Conditions ===
buySignal = ta.crossover(rsi, rsiOversold) and withinTime
sellSignal = ta.crossunder(rsi, rsiOverbought) and withinTime
// === Risk-Based Position Sizing ===
capital = strategy.equity
riskAmount = capital * (riskPercent / 100)
slPoints = sl_pips / syminfo.mintick
// Tick value estimation (for Gold, assume 0.01 = $1)
tickValue = 1.0
contractSize = 1.0
positionSize = riskAmount / (sl_pips * tickValue)
// === Price Setup ===
long_sl = close - sl_pips
long_tp = close + tp_pips
short_sl = close + sl_pips
short_tp = close - tp_pips
// === Execute Trades ===
if (buySignal)
strategy.entry("Buy", strategy.long, qty=positionSize)
strategy.exit("Exit Buy", from_entry="Buy", stop=long_sl, limit=long_tp)
if (sellSignal)
strategy.entry("Sell", strategy.short, qty=positionSize)
strategy.exit("Exit Sell", from_entry="Sell", stop=short_sl, limit=short_tp)
// === Plot RSI ===
plot(rsi, title="RSI", color=color.orange)
hline(rsiOverbought, "Overbought", color=color.red)
hline(rsiOversold, "Oversold", color=color.green)
US Bank Earnings IndexThis indicator is a weighted average of the quarterly results of the largest banks in the United States.
EMA Trend Dashboardthis just shows what position the user defined EMAs are on 4 different TFs. also the TF are user defined. and the TXT size is user defined. if you have trouble with bias maybe this is the script you need.
Volume Sentiment Pro (NTY88)Volume Sentiment Edge: Smart Volume & RSI Trading System
Description:
Unlock the power of volume-driven market psychology combined with precision RSI analysis! This professional-grade indicator identifies high-probability trading opportunities through:
🔥 Key Features
1. Smart Volume Spike Detection
Auto-detects abnormal volume activity with adaptive threshold
Clear spike labels & multi-timeframe confirmation
RSI-Powered Sentiment Analysis
Real-time Bullish/Bearish signals based on RSI extremes
Combined volume-RSI scoring system (Strong Bull/Bear alerts)
2. Professional Dashboard
Instant sentiment status table (bottom-right)
Color-coded momentum strength visualization
Customizable themes for all chart styles
3. Institutional-Grade Tools
HTF (Daily/Weekly) volume confirmation
EMA trend-filtered momentum signals
Spike-to-Threshold ratio monitoring
4. Trade-Ready Alerts
Pre-configured "Bullish Setup" (Spike + Oversold RSI)
"Bearish Setup" (Spike + Overbought RSI)
Why Traders Love This:
✅ Real-Time Visual Alerts - SPIKE markers above bars + table updates
✅ Adaptive Thresholds - Self-adjusting to market volatility
✅ Multi-Timeframe Verification - Avoid false signals with HTF confirmation
✅ Customizable UI - 10+ color settings for perfect chart integration
Usage Scenarios:
Day Traders: Catch volume surges during key sessions
Swing Traders: Confirm reversals with RSI extremes
All Markets: Works equally well on stocks, forex & crypto
Confirmation Tool: Combine with your existing strategy
Sample Setup:
"Enter long when:
5. RED SPIKE label appears
Table shows 'Oversold RSI'
Momentum status turns 'Bullish'
Volume exceeds daily average (Confirmed)"
📈 Try Risk-Free Today!
Perfect for traders who want:
Clean, non-repainting signals
Institutional-level volume analysis
Professional visual feedback
Customizable trading rules
⚠️ Important: Works best on 15m-4h timeframes. Combine with price action for maximum effectiveness.
📜 Legal Disclaimer
By using this indicator, you agree to the following terms:
Not Financial Advice
This tool provides technical analysis only. It does NOT constitute investment advice, financial guidance, or solicitation to trade.
High Risk Warning
Trading financial instruments carries substantial risk. Past performance ≠ future results. Never risk capital you cannot afford to lose.
No Guarantees
Signals are based on historical data and mathematical models. Market conditions may change rapidly, rendering previous patterns ineffective.
User Responsibility
You alone bear 100% responsibility for trading decisions. We expressly disclaim liability for any profit/loss resulting from this tool's use.
Professional Consultation
Always consult a licensed financial advisor before taking positions. This tool should NEVER be used as sole decision-making criteria.
Educational Purpose
This indicator is provided "as is" for informational/educational use only. No representation is made about its accuracy or completeness.
Third-Party Data
We do not verify exchange data accuracy. Use signals at your own discretion after independent verification.
EMA7 & EMA20 Cross + MACD Confirmation
indicator("EMA7 & EMA20 Cross + MACD Confirmation", overlay=true)
// === 输入参数
ema7_len = input.int(7, title="EMA7 Length")
ema20_len = input.int(20, title="EMA20 Length")
macd_fast = input.int(12, title="MACD Fast Length")
macd_slow = input.int(26, title="MACD Slow Length")
macd_signal = input.int(9, title="MACD Signal Length")