Rate Of Change - Weekly SignalsRate of Change - Weekly Signals
This indicator gives a potential "buy signal" using Rate of Change of SPX and VIX together,
using the following criteria:
SPX Weekly ROC(10) has been BELOW -9 and now rises ABOVE -5
*PLUS*
VIX Weekly ROC(10) has been ABOVE +80 and now falls BELOW +10
The background will turn RED when ROC(SPX) is below -9 and ROC(VIX) is above +80.
The background will turn GREEN when ROC(SPX) is above -5 and ROC(VIX) is below +10.
So the potential "buy signal" is when you start to get GREEN BARS AFTER RED - usually with
some white/empty bars in between...but wait for the green. This indicates that the volatility
has settled down, and the market is starting to turn up.
This indicator gives excellent entry points, but be careful of the occasional false signals.
See Nov. 2001 and Nov. 2008, in both cases the market dropped another 25-30% before the final
bottom was formed. Always have an exit strategy, especially when buying in after a downtrend.
How I use this indicator, pretty much as shown in the preview. Weekly SPX as the main chart with
some medium/long moving averages to identify the trend, VIX added as a "Compare Symbol" in red,
and then the Weekly ROC signals below.
For the ROC graphs, you can show SPX+VIX together, SPX alone, or VIX alone. I prefer to display
them separately because they don't scale well together (VIX crowds out the SPX when it spikes).
Background color is still based on both SPX/VIX together, regardless of which graph is shown.
Note that there is no VIX data available on Trading View prior to 1990, so for those dates the
formula is using only ROC(SPX) and the assigned thresholds (-9 and -5, or whatever you choose).
Search in scripts for "signal"
Simple EMA Trading SignalUse it on:
1. Heiken Ashi, Bitstamp: BTCUSD , M15
2. Heiken Ashi, Bitstamp: BTCUSD, D1
3. USOIL Candlesticks H1
4. EURUSD Daily Candlesticks
5. GBPUSD Daily Candlesticks
6. SPX W1 Candlesticks
7. SPX H1 Heiken Ashi
8. XAUUSD Daily
Experimental Entry Interface (Buy Arrows with TP & SL)This script provides high probability entry points and includes Take Profit and Stop Loss targets.
It attempts to predict when the market conditions are set to move up, and prints long positions.
In addition to Long Entry Arrows, it will print Take Profit / Stop Loss targets.
This indicator is highly adjustable. Hence the name 'Experimental' in the title. Experiment with it to find the results you want.
Designed for use on the 1H timeframe in Forex, but could possibly be useful elsewhere. Do your own testing.
This indicator can repaint. It is best used with alerts set for once per bar close, so that your alerts do not repaint and your trades are solid.
Not ever signal is a winner. Backtest thoroughly. Adjust accordingly.
Arrows
Four sets of colored arrows are included.
💵 💶 Green and Blue Entry Arrows are formed when the market is in an uptrend, and has a momentary pullback.
💴 💷 Yellow and Purple Entry Arrows are formed when the market is just starting to recover from being severely oversold.
Backtest Mode
Turn on Backtest Mode to easily see if an entry ended up as a winner or loser. A Take Profit and Stop Loss line will be drawn to show results.
Take Profit & Stop Loss Targets
You have two options for this.
Price will show you where your TP/SL exits should be placed. These values will show up under the arrow, based on your Risk/Reward ratio.
Pips are much more simple, and will only show you the market entry point and how many pips up/down to place your SL/TP. Warning: This is fixed at a 1:1 RRR .
Risk/Reward Adjustment
Each entry arrow color allows custom risk/reward ratio adjustment.
Dollar Amounts Displayed
Change your account value and leverage to see how much you would have won on each trade.
How to trade with it?
(Forex, 1H) Open the settings, and turn on all the arrow entries. Turn on Backtest mode to see how past trades would have played out. Turn on TakeProfit/StopLoss Targets to see where to set your targets, for each arrow. Set an alert to notify you once per candle close when there is an Entry. Trade happy!
Bill Williams Alligators are also included, if you want. Not necessary though. Some of the calculations depend on them for trend direction analysis.
Relative Volume RVOL AlertsRelative Volume or RVOL is an indicator used to help determine the amount of volume change over a given period of time.
It is often used to help traders determine how in-play a ticker is.
General rule of thumb is the higher the RVOL, the more in play a stock is.
I myself like to use it as a substitute of the volume indicator itself.
Basic Calculation:
Relative Volume = Current Volume / Average Volume
Crossover Signals:
Any time there is a volume spike which causes a crossover of the user set 'Smoothed Moving Average' or 'Threshold' a green/red dot will appear at the top. The color of the dot is dependent on closing of the candle. Therefore it does not necessarily mean price will continue in that direction since volume spikes often happen in peaks or valleys.
Threshold:
The level at which custom alerts and signal can be set. The higher the value, the more volume required to trigger.
Built in Alerts:
You can set custom alerts for the crossovers of the adjustable threshold, or the average RVOL band.
MT4 MACD This is a plain macd similar to the one on the mt4
There are extra colors added for visuals
Primarily requested by user Sonja.
macd // signalline // macdmt4 // mt4macd
Smeared VCIThis indicator can be used to enter the market.
When the signal line crosses upwards the base line, enter short;
when the signal line crosses downwards the base line, enter long;
A filter can be used to enter short when in a downtrend or long in an uptrend.
A fair filter can be the ema(200) line defining an uptrend when price is above it or
a down trend when the price lies below.
Use at your own risk.
Hitting the like button is a free act of gratitude.
Have fun.
RSI/MFI - MTF - Entry signals/Trend colored bars - JD@version=2
This indicator is designed to give early entry signals as well as to follow trend moves, according to different settings.
The indicator shows a histogram of the RSI ro MFI in relation to an ema of the RSI or MFI.
The histogram is then smoothed to give early reversal/entry signals.
The actual RSI/MFI line with oversold/overbought indication can be displayed or omitted, as preferred.
in addition to the RSI/MFI line or as an alternative to it, the background colour can be set to change folowing the RSI/MFI signals.
The timeframe can be chosen. Higher timeframes (eg. 3h) tend to give less false signals.
version 5.
added support for custom Multiple Time Frame selection.
added option for choice of RSI or MFI as base indicator.
added option for price bar coloring according to the indicator. (deselecting "borders" in the "style" tab is recommended)
price bar coloring can be adjusted for different strategies:
1. following the slope of the histogram (for faster entry/exit signals)
2. according to positive or negative histogram (for longer moves)
3. according to pos. or neg. RSI/MFI (for longer term trend holds)
4. uptrend: biased towards faster buy signals and slower sell signals to stay in the uptrend
5. downtrend: biased towards faster sell signals and slower buy signals to stay in the downtrend
A longer timeframe (eg. 3x) is recommended for following trend moves.
try different strategies to see what works better for RSI or MFI.
JD.
MATZ BB SignalerBollinger Band with Buy/Sell Signals
Buy = IF 4H MACD Histogram is increasing AND Price is increasing
Sell = IF 4H MACD Histogram is deacreasing AND Price is decreasing
TRIX Histogram R1-12 by JustUncleLCreated by request.
Description:
This study is an implementation of the Standard TRIX indicator (a momentum oscillator), shown in coloured histogram format by default, with optional Bar colouring of TRIX zero cross overs. Other options include showing TRIX as a line graph instead of histogram and an optional TRIX signal line with difference histogram (to highlight signal line crosses).
References:
forex-indicators.net
"TRIX MA" by munkeefonix
B3 ECOBlau's Ergodic Candlestick Oscillator = a decent trend finder, however slightly lagged. It can help you to see a reversal entry if you are looking for one. I find the one line ECO hard to use, so I have created this histogram version with a signal line. The colors help to show you whats going on with the ECO and its bias. This indicator shows up in a couple books by people other than Blau, and namely by Krausz. You can also see divergences, for example in pic above the lower or second of the two green humps showing that the general uptrend might be weakened as this run contained less momentum. Tighten up the signal line to see a faster change in its color. These settings are the B3 input settings for default, meaning the ones I use in trading. They are not however the default values you might read about other places.
RSI Buy/Sell Signals//@version=6
indicator("RSI Buy/Sell Signals", overlay=true)
// Example RSI calculation (basic setup)
rsiLength = 14
rsiSource = close
rsi = ta.rsi(rsiSource, rsiLength)
// RSI Cross Conditions
rsiCrossOver = ta.crossover(rsi, 30)
rsiCrossUnder = ta.crossunder(rsi, 70)
// Dummy divergence placeholders (replace with actual logic if used)
bullCond = false
bearCond = false
// Combine with divergence conditions
buySignal = (rsiCrossOver or bullCond)
sellSignal = (rsiCrossUnder or bearCond)
// Plot on chart
plotshape(buySignal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.triangleup, text="BUY", size=size.small)
plotshape(sellSignal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, text="SELL", size=size.small)
// Alert Conditions
alertcondition(buySignal, title="Buy Signal Alert", message="BUY Signal triggered (RSI crossover or bullish divergence).")
alertcondition(sellSignal, title="Sell Signal Alert", message="SELL Signal triggered (RSI crossunder or bearish divergence).")
Magracia Entry-Exit 5 Min Time frame//------------------------------------------------------------------------------------------------------
// 🧭 Indicator Description
//------------------------------------------------------------------------------------------------------
// 📘 Overview:
// This indicator is a modified version of the LuxAlgo pattern logic designed to detect
// high-probability **RBD (Rally–Base–Drop)** and **DBR (Drop–Base–Rally)** reversal structures
// directly on the current candle. It automatically identifies potential BUY and SELL zones,
// plots corresponding trade signals, and dynamically calculates **Take Profit (TP)** and **Stop Loss (SL)** levels.
//
// The goal of this tool is to give clear, visually guided trade entries and exits that
// follow price structure and momentum changes without repainting historical data.
//
//------------------------------------------------------------------------------------------------------
// 🧩 How It Works:
// • **RBD (Rally–Base–Drop)** → Indicates a bearish reversal (SELL signal)
// • **DBR (Drop–Base–Rally)** → Indicates a bullish reversal (BUY signal)
// • Optional **RBR / DBD** continuation patterns can be toggled on for trend continuation setups.
// • When a signal is detected, the script automatically places:
// ▫ A BUY or SELL marker at the candle
// ▫ Dynamic TP (green dotted line) and SL (red dotted line) levels
// ▫ An EXIT marker when either TP or SL is reached
//
//------------------------------------------------------------------------------------------------------
// ⚙️ Inputs:
// • Enable or disable individual pattern types (RBD, RBR, DBD, DBR)
// • Toggle continuation patterns (RBR/DBD)
// • Customize Take Profit and Stop Loss percentages
// • Adjust rally/drop bar colors for easier pattern visualization
//
//------------------------------------------------------------------------------------------------------
// 🧠 Usage Tips:
// • Works best on volatile pairs and short–term timeframes (1m to 15m)
// • Can be combined with volume or trend filters for stronger confirmation
// • When used on higher timeframes (e.g., 4H+), increase TP/SL percentage range
//
//------------------------------------------------------------------------------------------------------
// ⚠️ Notes:
// • Signals are plotted **in real-time on the current candle** (not delayed).
// • This indicator is for visual and educational use only and does not guarantee profitability.
// • For optimal results, combine it with proper risk management and confirmation indicators.
//
//------------------------------------------------------------------------------------------------------
// © Gideon (CC BY-NC-SA 4.0 Licensed)
//------------------------------------------------------------------------------------------------------
Arithmetic Candles with Pivot Trend Signals📘 Script Description
🕯️ Arithmetic Candles
Instead of using traditional candlesticks, this script calculates:
Arithmetic Open = Average of open and close
Arithmetic Close = Average of high and low
This candle provides a smoother, more averaged-out representation of price action.
Benefit: Filters out noise and reveals a more "true" price midpoint per candle.
🧭 Pivot Point Levels (Classic)
Classic pivot levels are calculated using the previous day's values:
Pivot (P) = (High + Low + Close) / 3
R1 / S1: First resistance/support levels
R2 / S2: Extended resistance/support levels
These lines mark key price levels that often act as support or resistance.
📈 Trend Signals
The script generates trend signals when a selected price source crosses above or below the pivot:
Bullish Signal (green arrow): When price crosses above the pivot
Bearish Signal (red arrow): When price crosses below the pivot
You can choose the signal source:
Either the regular close price
Or the Arithmetic Candle midpoint: (arithOpen + arithClose) / 2
🎨 Visual Representation
Candles are colored green when arithClose > arithOpen, otherwise red
Pivot lines are drawn if enabled
Triangles mark trend change signals (bullish or bearish)
✅ Use Case
In sideways markets, Arithmetic Candles help filter out noise
Pivot Levels provide clear price zones for potential breakouts or reversals
Options Momentum SignalCustomizable Intraday Options Scalping Alert.
Several important, complementary indicators combined into one simple signal that pops up under a bar to indicate sustained momentum on a trend. It uses a combination of calculations based on the 1m VWAP, price increase in contrast to previous day's close, and customizable Volatility and Volume Data.
It has adjustable values for the % increase from last close (labeled as Pre-Mkt % Threshold), minimal candle body % to filter out weaker signals, RVOL threshold, minimum CVD (it's rolling, so functions in tandem with the CVD lookback value for the number of bars.)
It offers individual boxes that can be checked on or off to help filter out noise. Boxes are: Use 1m VWAP, Use CVD, 3-bar cooldown (reduces back-to-back signals, especially on shorter (1m, 2m, and 5m) charts), VWAP bounce option to catch bounces happening in real time before the candle closes, Use RVOL, and Use Rolling CVD. These can all be checked on or off and will create vastly different signals depending on what you are filtering for.
These indicators were chosen specifically as I feel they help most with option scalping and is intended to be used alongside a few other indicators for confirmation. Personally, I use a couple anchored VWAPs (highest high, session) as well as a FRAMA channel for confirmation. I also use the following to further confirm trends: TradingView’s RVOL, CVD, and Price Pattern Oscillators, in addition to Beardy Fred's TTM Squeeze Pro.
Hope this helps some people!
Multi-Confluence MTF S/R Signal5 Confluences:
RSI - Detects oversold/overbought conditions with momentum
MACD - Confirms trend direction and momentum shifts
Moving Average Trend - Validates price position relative to 50 SMA and 20 EMA
Volume - Ensures strong participation (1.5x average volume)
Price Action - Confirms breakout (higher high for buys, lower low for sells)
Features:
Green triangles below bars = BUY signal (all 5 confluences bullish)
Red triangles above bars = SELL signal (all 5 confluences bearish)
Background coloring when signals occur
Real-time dashboard showing each confluence status
Built-in alerts you can enable
Customizable parameters for all indicators
Multi-Timeframe Features:
Higher Timeframe Analysis (Default: 60 min)
HTF Trend - Checks if price is above/below moving averages on higher timeframe
HTF MACD - Confirms momentum direction
HTF RSI - Validates not overbought/oversold
Signal Types:
Strong Signals (Full triangles with text)
✅ All 5 current timeframe confluences aligned
✅ Higher timeframe confirmation (2 of 3 HTF conditions)
GREEN "BUY" or RED "SELL" labels
Weak Signals (Small transparent triangles with "?")
✅ All 5 current timeframe confluences aligned
❌ NO higher timeframe confirmation
Use with caution - may signal counter-trend trades
Dashboard Updates:
Shows Current Timeframe section (all 5 confluences)
Shows HTF status (your chosen higher timeframe)
Displays final signal strength
Customizable Settings:
Enable/Disable MTF - Toggle multi-timeframe confirmation
Higher Timeframe - Choose any timeframe (15m, 60m, 4H, D, etc.)
Require HTF - Force HTF confirmation or allow weak signals
Alerts:
Strong Buy/Sell - Full confirmation
Weak Buy/Sell - No HTF confirmation
TokMaz – Signal Plain🧭 Overview
A clean, lightweight, and non-repainting directional signal indicator built for serious traders.
This version is fully optimized and locked to ensure stable performance and consistent signal output.
⚙️ Features
1. Designed to follow price precisely (no delay or offset).
2. Non-repainting structure — all signals confirmed on bar close.
3. Automatic Buy/Sell/Rejection alerts ready for webhook or automation use.
4. Minimal visual design — clear lines, direct chart attachment, no background clutter.
5. Integrated trend reference line (SMA200) for long-term view.
💡 Signal Display:-
🔵 BUY Solid – Bullish directional setup
🔴 SELL Solid – Bearish directional setup
⚪ REJ→BUY / REJ→SELL – Potential rejection or reversal zones
All signals appear directly on candles for instant readability and execution timing.
📢 Alerts:-
✅ BUY Solid
✅ SELL Solid
⚡ REJ→BUY
⚡ REJ→SELL
Works seamlessly with TradingView notifications or external automation.
📈 Style:-
EMA50 (dynamic price reference)
SMA200 (trend backbone)
Clean, professional visual — perfect for live trading or educational setups.
Alt buy signal 1H Entry + 4H Confirm (MACD + Stoch RSI + HMA)This indicator is a multi-timeframe (MTF) analysis tool designed for the ALT trading , capturing entry signals on the 1-hour (1H) timeframe and confirming trends on the 4-hour (4H) timeframe. It combines MACD, Stoch RSI, and Hull Moving Average (HMA) to identify precise buy opportunities, particularly at reversal points after a downtrend or during trend shifts. It visually marks both past and current BUY signals for easy reference.
Key Features:
1H Entry Signal (Early Ping): Triggers on a MACD golden cross (below 0) combined with a Stoch RSI oversold cross (below 20), offering an initial buy opportunity.
4H Trend Confirmation (Entry Ready): Validates the trend with a 4H MACD histogram rising (in negative territory) or a golden cross, plus a Stoch RSI turn-up (above 30).
Past BUY Display: Labels past data points where these conditions were met as "1H BUY" or "FULL BUY," facilitating backtesting.
HMA Filter: Optional HMA(16) to confirm price breakouts, enhancing trend validation.
Purpose: Ideal for short-term scalping and swing trading. Supports a two-step strategy: initial partial entry on 1H signals, followed by additional entry on 4H confirmation.
Usage Instructions
Installation: Add the indicator to an IMX/USDT 1H chart on TradingView.
Signal Interpretation:
lime "1H BUY": 1H conditions met, consider initial entry (stop-loss: 3-5% below recent low).
green "FULL BUY": 1H+4H conditions met, confirm trend for additional entry (take-profit: 10% below recent swing high).
Customization: Adjust TF (1H/4H), MACD/Stoch RSI parameters, and HMA usage via the input settings.
Alert Setup: Enable alerts for "ENTRY READY" (1H+4H) or "EARLY PING" (1H only) conditions.
Advantages
Accuracy: Reduces false signals by combining MACD golden cross below 0 with Stoch RSI oversold conditions.
Dual Confirmation: 1H for quick timing and 4H for trend validation, improving risk management.
Visualization: Past BUY points enable easy backtesting and pattern recognition.
Flexibility: 4H confirmation mode adjustable (histogram rise or golden cross).
Limitations
Timeframe Dependency: Optimized for 1H charts; may not work on other timeframes.
Market Conditions: Potential whipsaws in sideways markets; additional filters (e.g., RSI > 50) recommended.
Manual Management: Stop-loss and take-profit require user discretion.
Pivot Trend Flow [BigBeluga]🔵 OVERVIEW
Pivot Trend Flow turns raw swing points into a clean, adaptive trend band. It averages recent pivot highs and lows to form two dynamic reference levels; when price crosses above the averaged highs, trend flips bullish and a green band is drawn; when it crosses below the averaged lows, trend flips bearish and a red band is drawn. During an uptrend the script highlights breakouts of previous pivot highs with ▲ labels, and during a downtrend it flags breakdowns of previous pivot lows with ▼ labels—making structure shifts and continuation signals obvious.
🔵 CONCEPTS
Pivot-Based Averages : Recent pivot highs/lows are collected and averaged to create smoothed upper/lower reference levels.
if not na(ph)
phArray.push(ph)
if not na(pl)
plArray.push(pl)
if phArray.size() > avgWindow
upper := phArray.avg()
phArray.shift()
if plArray.size() > avgWindow
lower := plArray.avg()
plArray.shift()
Trend State via Crosses : Close above the averaged-highs ⇒ bullish trend; close below the averaged-lows ⇒ bearish trend.
Trend Band : A colored band (green/red) is plotted and optionally filled to visualize the active regime around price.
Structure Triggers :
In bull mode the tool watches for prior pivot-high breakouts (▲).
In bear mode it watches for prior pivot-low breakdowns (▼).
🔵 FEATURES
Adaptive Trend Detection from averaged pivot highs/lows.
Clear Visuals : Green band in uptrends, red band in downtrends; optional fill for quick read.
Breakout/Breakdown Labels :
▲ marks breaks of previous pivot highs in uptrends
▼ marks breaks of previous pivot lows in downtrends
Minimal Clutter : Uses compact lines and labels that extend only on confirmation.
Customizable Colors & Fill for trend states and band styling.
🔵 HOW TO USE
Pivot Length : Sets how swing points are detected. Smaller = more reactive; larger = smoother.
Avg Window (pivots) : How many recent pivot highs/lows are averaged. Increase to stabilize the band; decrease for agility.
Read the Band :
Green band active ⇒ prioritize longs, pullback buys toward the band.
Red band active ⇒ prioritize shorts, pullback sells toward the band.
Trade the Triggers :
In bull mode, ▲ on a prior pivot-high break can confirm continuation.
In bear mode, ▼ on a prior pivot-low break can confirm continuation.
Combine with Context : Use HTF trend, S/R, or volume for confluence and to filter signals.
Fill Color Toggle : Enable/disable band fill to match your chart style.
🔵 CONCLUSION
Pivot Trend Flow converts swing structure into an actionable, low-lag trend framework. By blending averaged pivots with clean breakout/breakdown labels, it clarifies trend direction, timing, and continuation spots—ideal as a core bias tool or a confirmation layer in any trading system.
Volume Delta Volume Signals by Claudio [hapharmonic]// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at mozilla.org
// © hapharmonic
//@version=6
FV = format.volume
FP = format.percent
indicator('Volume Delta Volume Signals by Claudio ', format = FV, max_bars_back = 4999, max_labels_count = 500)
//------------------------------------------
// Settings |
//------------------------------------------
bool usecandle = input.bool(true, title = 'Volume on Candles',display=display.none)
color C_Up = input.color(#12cef8, title = 'Volume Buy', inline = ' ', group = 'Style')
color C_Down = input.color(#fe3f00, title = 'Volume Sell', inline = ' ', group = 'Style')
// ✅ Nueva entrada para colores de señales
color buySignalColor = input.color(color.new(color.green, 0), "Buy Signal Color", group = "Signals")
color sellSignalColor = input.color(color.new(color.red, 0), "Sell Signal Color", group = "Signals")
string P_ = input.string(position.top_right,"Position",options = ,
group = "Style",display=display.none)
string sL = input.string(size.small , 'Size Label', options = , group = 'Style',display=display.none)
string sT = input.string(size.normal, 'Size Table', options = , group = 'Style',display=display.none)
bool Label = input.bool(false, inline = 'l')
History = input.bool(true, inline = 'l')
// Inputs for EMA lengths and volume confirmation
bool MAV = input.bool(true, title = 'EMA', group = 'EMA')
string volumeOption = input.string('Use Volume Confirmation', title = 'Volume Option', options = , group = 'EMA',display=display.none)
bool useVolumeConfirmation = volumeOption == 'none' ? false : true
int emaFastLength = input(12, title = 'Fast EMA Length', group = 'EMA',display=display.none)
int emaSlowLength = input(26, title = 'Slow EMA Length', group = 'EMA',display=display.none)
int volumeConfirmationLength = input(6, title = 'Volume Confirmation Length', group = 'EMA',display=display.none)
string alert_freq = input.string(alert.freq_once_per_bar_close, title="Alert Frequency",
options= ,group = "EMA",
tooltip="If you choose once_per_bar, you will receive immediate notifications (but this may cause interference or indicator repainting).
\n However, if you choose once_per_bar_close, it will wait for the candle to confirm the signal before notifying.",display=display.none)
//------------------------------------------
// UDT_identifier |
//------------------------------------------
type OHLCV
float O = open
float H = high
float L = low
float C = close
float V = volume
type VolumeData
float buyVol
float sellVol
float pcBuy
float pcSell
bool isBuyGreater
float higherVol
float lowerVol
color higherCol
color lowerCol
//------------------------------------------
// Calculate volumes and percentages |
//------------------------------------------
calcVolumes(OHLCV ohlcv) =>
var VolumeData data = VolumeData.new()
data.buyVol := ohlcv.V * (ohlcv.C - ohlcv.L) / (ohlcv.H - ohlcv.L)
data.sellVol := ohlcv.V - data.buyVol
data.pcBuy := data.buyVol / ohlcv.V * 100
data.pcSell := 100 - data.pcBuy
data.isBuyGreater := data.buyVol > data.sellVol
data.higherVol := data.isBuyGreater ? data.buyVol : data.sellVol
data.lowerVol := data.isBuyGreater ? data.sellVol : data.buyVol
data.higherCol := data.isBuyGreater ? C_Up : C_Down
data.lowerCol := data.isBuyGreater ? C_Down : C_Up
data
//------------------------------------------
// Get volume data |
//------------------------------------------
ohlcv = OHLCV.new()
volData = calcVolumes(ohlcv)
// Plot volumes and create labels
plot(ohlcv.V, color=color.new(volData.higherCol, 90), style=plot.style_columns, title='Total',display = display.all - display.status_line)
plot(ohlcv.V, color=volData.higherCol, style=plot.style_stepline_diamond, title='Total2', linewidth = 2,display = display.pane)
plot(volData.higherVol, color=volData.higherCol, style=plot.style_columns, title='Higher Volume', display = display.all - display.status_line)
plot(volData.lowerVol , color=volData.lowerCol , style=plot.style_columns, title='Lower Volume',display = display.all - display.status_line)
S(D,F)=>str.tostring(D,F)
volStr = S(math.sign(ta.change(ohlcv.C)) * ohlcv.V, FV)
buyVolStr = S(volData.buyVol , FV )
sellVolStr = S(volData.sellVol , FV )
// ✅ MODIFICACIÓN: Porcentaje sin decimales
buyPercentStr = str.tostring(math.round(volData.pcBuy)) + " %"
sellPercentStr = str.tostring(math.round(volData.pcSell)) + " %"
totalbuyPercentC_ = volData.buyVol / (volData.buyVol + volData.sellVol) * 100
sup = not na(ohlcv.V)
if sup
TC = text.align_center
CW = color.white
var table tb = table.new(P_, 6, 6, bgcolor = na, frame_width = 2, frame_color = chart.fg_color, border_width = 1, border_color = CW)
tb.cell(0, 0, text = 'Volume Candles', text_color = #FFBF00, bgcolor = #0E2841, text_halign = TC, text_valign = TC, text_size = sT)
tb.merge_cells(0, 0, 5, 0)
tb.cell(0, 1, text = 'Current Volume', text_color = CW, bgcolor = #0B3040, text_halign = TC, text_valign = TC, text_size = sT)
tb.merge_cells(0, 1, 1, 1)
tb.cell(0, 2, text = 'Buy', text_color = #000000, bgcolor = #92D050, text_halign = TC, text_valign = TC, text_size = sT)
tb.cell(1, 2, text = 'Sell', text_color = #000000, bgcolor = #FF0000, text_halign = TC, text_valign = TC, text_size = sT)
tb.cell(0, 3, text = buyVolStr, text_color = CW, bgcolor = #074F69, text_halign = TC, text_valign = TC, text_size = sT)
tb.cell(1, 3, text = sellVolStr, text_color = CW, bgcolor = #074F69, text_halign = TC, text_valign = TC, text_size = sT)
tb.cell(0, 5, text = 'Net: ' + volStr, text_color = CW, bgcolor = #074F69, text_halign = TC, text_valign = TC, text_size = sT)
tb.merge_cells(0, 5, 1, 5)
tb.cell(0, 4, text = buyPercentStr, text_color = CW, bgcolor = #074F69, text_halign = TC, text_valign = TC, text_size = sT)
tb.cell(1, 4, text = sellPercentStr, text_color = CW, bgcolor = #074F69, text_halign = TC, text_valign = TC, text_size = sT)
cellCount = 20
filledCells = 0
for r = 5 to 1 by 1
for c = 2 to 5 by 1
if filledCells < cellCount * (totalbuyPercentC_ / 100)
tb.cell(c, r, text = '', bgcolor = C_Up)
else
tb.cell(c, r, text = '', bgcolor = C_Down)
filledCells := filledCells + 1
filledCells
if Label
sp = ' '
l = label.new(bar_index, ohlcv.V,
text=str.format('Net: {0}\nBuy: {1} ({2})\nSell: {3} ({4})\n{5}/\\\n {5}l\n {5}l',
volStr, buyVolStr, buyPercentStr, sellVolStr, sellPercentStr, sp),
style=label.style_none, textcolor=volData.higherCol, size=sL, textalign=text.align_left)
if not History
(l ).delete()
//------------------------------------------
// Draw volume levels on the candlesticks |
//------------------------------------------
float base = na,float value = na
bool uc = usecandle and sup
if volData.isBuyGreater
base := math.min(ohlcv.O, ohlcv.C)
value := base + math.abs(ohlcv.O - ohlcv.C) * (volData.pcBuy / 100)
else
base := math.max(ohlcv.O, ohlcv.C)
value := base - math.abs(ohlcv.O - ohlcv.C) * (volData.pcSell / 100)
barcolor(sup ? color.new(na, na) : ohlcv.C < ohlcv.O ? color.red : color.green,display = usecandle? display.all:display.none)
UseC = uc ? volData.higherCol:color.new(na, na)
plotcandle(uc?base:na, uc?base:na, uc?value:na, uc?value:na,
title='Body', color=UseC, bordercolor=na, wickcolor=UseC,
display = usecandle ? display.all - display.status_line : display.none, force_overlay=true,editable=false)
plotcandle(uc?ohlcv.O:na, uc?ohlcv.H:na, uc?ohlcv.L:na, uc?ohlcv.C:na,
title='Fill', color=color.new(UseC,80), bordercolor=UseC, wickcolor=UseC,
display = usecandle ? display.all - display.status_line : display.none, force_overlay=true,editable=false)
//------------------------------------------------------------
// Plot the EMA and filter out the noise with volume control. |
//------------------------------------------------------------
float emaFast = ta.ema(ohlcv.C, emaFastLength)
float emaSlow = ta.ema(ohlcv.C, emaSlowLength)
bool signal = emaFast > emaSlow
color c_signal = signal ? C_Up : C_Down
float volumeMA = ta.sma(ohlcv.V, volumeConfirmationLength)
bool crossover = ta.crossover(emaFast, emaSlow)
bool crossunder = ta.crossunder(emaFast, emaSlow)
isVolumeConfirmed(source, length, ma) =>
math.sum(source > ma ? source : 0, length) >= math.sum(source < ma ? source : 0, length)
bool ISV = isVolumeConfirmed(ohlcv.V, volumeConfirmationLength, volumeMA)
bool crossoverConfirmed = crossover and (not useVolumeConfirmation or ISV)
bool crossunderConfirmed = crossunder and (not useVolumeConfirmation or ISV)
PF = MAV ? emaFast : na
PS = MAV ? emaSlow : na
p1 = plot(PF, color = c_signal, editable = false, force_overlay = true, display = display.pane)
plot(PF, color = color.new(c_signal, 80), linewidth = 10, editable = false, force_overlay = true, display = display.pane)
plot(PF, color = color.new(c_signal, 90), linewidth = 20, editable = false, force_overlay = true, display = display.pane)
plot(PF, color = color.new(c_signal, 95), linewidth = 30, editable = false, force_overlay = true, display = display.pane)
plot(PF, color = color.new(c_signal, 98), linewidth = 45, editable = false, force_overlay = true, display = display.pane)
p2 = plot(PS, color = c_signal, editable = false, force_overlay = true, display = display.pane)
plot(PS, color = color.new(c_signal, 80), linewidth = 10, editable = false, force_overlay = true, display = display.pane)
plot(PS, color = color.new(c_signal, 90), linewidth = 20, editable = false, force_overlay = true, display = display.pane)
plot(PS, color = color.new(c_signal, 95), linewidth = 30, editable = false, force_overlay = true, display = display.pane)
plot(PS, color = color.new(c_signal, 98), linewidth = 45, editable = false, force_overlay = true, display = display.pane)
fill(p1, p2, top_value=crossover ? emaFast : emaSlow,
bottom_value =crossover ? emaSlow : emaFast,
top_color =color.new(c_signal, 80),
bottom_color =color.new(c_signal, 95)
)
// ✅ Usar colores configurables para señales
plotshape(crossoverConfirmed and MAV, style=shape.triangleup , location=location.belowbar, color=buySignalColor , size=size.small, force_overlay=true,display =display.pane)
plotshape(crossunderConfirmed and MAV, style=shape.triangledown, location=location.abovebar, color=sellSignalColor, size=size.small, force_overlay=true,display =display.pane)
string msg = '---------\n'+"Buy volume ="+buyVolStr+"\nBuy Percent = "+buyPercentStr+"\nSell volume = "+sellVolStr+"\nSell Percent = "+sellPercentStr+"\nNet = "+volStr+'\n---------'
if crossoverConfirmed
alert("Price (" + str.tostring(close) + ") Crossed over MA\n" + msg, alert_freq)
if crossunderConfirmed
alert("Price (" + str.tostring(close) + ") Crossed under MA\n" + msg, alert_freq)
Clean MA + Signals (overlay)//@version=5
indicator("Clean MA + Signals (overlay)", overlay=true)
// Inputs
maLen = input.int(50, "MA Length", minval=1)
maType = input.string("EMA", "MA Type", options= )
// MA
maCalc(src, len, typ) =>
switch typ
"SMA" => ta.sma(src, len)
"EMA" => ta.ema(src, len)
"RMA" => ta.rma(src, len)
"WMA" => ta.wma(src, len)
maLine = maCalc(close, maLen, maType)
plot(maLine, "MA", color=color.new(color.teal, 0), linewidth=2)
// Siqnallar — yalnız kəsişmə anında
longCond = ta.crossover(close, maLine)
shortCond = ta.crossunder(close, maLine)
plotshape(longCond, "LONG", location=location.belowbar, style=shape.triangleup, color=color.lime, size=size.small, text="LONG")
plotshape(shortCond, "SHORT", location=location.abovebar, style=shape.triangledown, color=color.red, size=size.small, text="SHORT")
alertcondition(longCond, "LONG Signal", "LONG signal on {{ticker}} {{interval}}")
alertcondition(shortCond, "SHORT Signal", "SHORT signal on {{ticker}} {{interval}}")
Oversold & Overbought Signal with RSISimple RSI overbought/oversold signals. Signals overbought when RSI > 80 and oversold when RSI < 30.
MA Pack + Cross Signals (Short vs Long)Overview
A flexible moving average pack that lets you switch between short-term trend detection and long-term trend confirmation .
Short-term mode: plots 5, 10, 20, and 50 MAs with early crossovers (10/50, 20/50).
Long-term mode: plots 50, 100, 200 MAs with Golden Cross and Death Cross signals.
Choice of SMA or EMA .
Alerts included for all crossovers.
Why Use It
Catch early trend shifts in short-term mode.
Confirm institutional trend levels in long-term mode.
Visual signals (triangles + labels) make spotting setups easy.
Alert-ready for automated trade monitoring.
Usage
Add to chart.
In settings, choose Short-term or Long-term .
Watch for markers:
Green triangles = bullish cross
Red triangles = bearish cross
Green label = Golden Cross
Red label = Death Cross
Optional: enable alerts for notifications.
VWAP + Range Breakout (Pre-Signal for Manual Entry)WHAT IT DOES
This tool highlights potential breakout opportunities when price sweeps the previous day’s high or low and aligns with VWAP and short-term range levels. It provides both pre-signals (early warnings) and confirmed signals (breakout closed) so traders can prepare before momentum accelerates.
Works on all timeframes and across markets (indices, forex, crypto). Especially useful during active London and New York sessions.
---
KEY FEATURES
Daily sweep logic: previous day high/low as liquidity reference
VWAP with cumulative calculation
Adjustable range breakout levels
Optional SMA trend filter
Session filter (London / NY trading hours)
Pre-Signal markers (early alert before breakout)
Confirmed LONG/SHORT signals after breakout close
Alerts for Pre-Long, Pre-Short, and Confirmed entries
---
HOW TO USE
1. Wait for price to sweep the previous day high/low.
2. Look for alignment with VWAP and the defined range breakout levels.
3. Use trend/session filters for higher accuracy.
4. Combine with your own risk management rules.
---
SETTINGS TIPS
Adjust range lookback for different timeframes (shorter for fast intraday, longer for higher timeframes).
Enable/disable session filters depending on your market.
Use SMA trend filter to stay aligned with higher-timeframe bias.
---
WHO IT’S FOR
Scalpers, intraday, and swing traders who want early signals when liquidity is taken and price is preparing for a breakout.
---
NOTES
For educational purposes only. No financial advice.
This script is open-source; redistribution follows TradingView rules.