Bollinger + RSI, Double Strategy (by ChartArt)Bollinger Bands + RSI, Double Strategy
This strategy uses a slower RSI with period 16 to sell when the RSI increases over the value of 55 (or to buy when the value falls below 45), with the classic Bollinger Bands strategy to sell when the price is above the upper Bollinger Band and falls below it (and to buy when the price is below the lower band and rises above it). This strategy only triggers when both the RSI and the Bollinger Bands indicators are at the same time in the described overbought or oversold condition. In addition there are color alerts which can be deactivated.
This basic strategy is based upon the "RSI Strategy" and "Bollinger Bands Strategy" which were created by Tradingview and uses no money management like a trailing stop loss and no scalping methods. Every win/loss trade is simply counted from the last overbought/oversold condition to the next one.
This strategy does not use close prices from higher-time frame and should not repaint after the current candle has closed. It might repaint like every Tradingview indicator while the current candle hasn't closed.
All trading involves high risk; past performance is not necessarily indicative of future results. Hypothetical or simulated performance results have certain inherent limitations. Unlike an actual performance record, simulated results do not represent actual trading. Also, since the trades have not actually been executed, the results may have under- or over-compensated for the impact, if any, of certain market factors, such as lack of liquidity. Simulated trading programs in general are also subject to the fact that they are designed with the benefit of hindsight. No representation is being made that any account will or is likely to achieve profits or losses similar to those shown.
Tìm kiếm tập lệnh với "chart"
Moving Average Consecutive Up/Down Strategy (by ChartArt)This simple strategy goes long (or short) if there are several consecutive increasing (or decreasing) moving average values in a row in the same direction. The bars can be colored using the raw moving average trend. And the background can be colored using the consecutive moving average trend setting. In addition a experimental line of the moving average change can be drawn.
The strategy is based upon the "Consecutive Up/Down Strategy" which was created by Tradingview.
All trading involves high risk; past performance is not necessarily indicative of future results. Hypothetical or simulated performance results have certain inherent limitations. Unlike an actual performance record, simulated results do not represent actual trading. Also, since the trades have not actually been executed, the results may have under- or over-compensated for the impact, if any, of certain market factors, such as lack of liquidity. Simulated trading programs in general are also subject to the fact that they are designed with the benefit of hindsight. No representation is being made that any account will or is likely to achieve profits or losses similar to those shown.
Rounded Weekly Pivot (by ChartArt)Trade with the trend. This is an overlay indicator which shows the weekly pivot (rounded) either as line or circle drawing, select-able by the user. The width of the pivot line (or circle) overlay is also adjustable.
In addition the bars can be colored by the trend, depending if the close price is above or below both the weekly and monthly pivots. If the close price is neither above or below both the weekly and monthly pivot prices the trend color is neutral blue.
The weekly pivot indicator with the optional setting that the pivot price is drawn as circles instead of a line:
And here with the pivot drawing disabled, showing only the pivot bar trend color
Outsidebar vs Insidebar, Illusion Strategy (by ChartArt)WARNING: This strategy does not work! Please don't trade with this strategy
I'm sharing this strategy for the following three educational reasons:
1. You can easily find 100% strategies, but if they only seem to work 100% on one asset, they actually don't work at all. Therefore never backtest your strategy only on one asset, especially forward testing is useless, because it tends to repeat the old patterns. Your strategy has to work on as many different assets as possible.
2. The pyramiding of orders can have an impact on the strategy. In this case if you manually change the strategy settings by increasing it from 1 to 100 pyramiding orders changes the percent profitable on "UKOIL" monthly from 100% to 90% profitable. On other assets you can see very different results. Allowing much more pyramiding orders in this case results in opening orders where the background color highlights appear.
3. The Tradingview backtest beta version currently does not close the last open trade during the backtest. In this case going long on "UKOIL" near the top in 2011 as this strategy did would result in a big loss in 2015. But since the trade is still open and not canceled out by a new short order it still appears as if this strategy works 100% profitable. Which it doesn't.
Moving Average Cross Alert, Multi-Timeframe (MTF) (by ChartArt)See when two moving averages cross. With the option to choose between four moving average calculations:
SMA = simple moving average
EMA = exponential moving average (default)
WMA = weighted moving average
Linear = linear regression
The moving averages can be plotted from different time-frames, like e.g. the weekly or 4 hour time-frame using HL2, HLC3 or OHLC4 as price source for the calculation. In addition there is a background color alert and arrows when the moving averages cross each other when the price also rises or falls. And the moving averages are colored depending on their trend direction (if they are trending up or down).
Market Trend Strength (MTS) (by ChartArt)See the current trend strength of the market. An additional filter makes trend consolidation areas visible. The color changes there each bar back and forth between green and red.
This area was interesting. Would have been a better example:
If the filter is deactivated the indicator shows the last measured price trend (green for up and down for red).
My WatchlistUse Case
Do you belong to a group of traders that post key levels based on their technical analysis to be utilized for trading opportunities? The goal of this indicator is to reduce your daily prep time by allowing you to paste in the actual level values instead of trying to manually create each of the horizontal lines.
How it works
Simply enter the values of the key levels for the tickers that you would like to plot horizontal lines for. If you don't want to plot a level just leave the value as zero and it will be ignored.
Settings
You can enable/disable any of the levels
You can change the colors of the levels
You can add Previous Day High and Previous Day Low levels to the chart
RSI + MACD Day Trading Toolkit//@version=6
indicator("RSI + MACD Day Trading Toolkit", overlay = true)
//──────────────────────────────────────────────────────────────────────────────
// 1. INPUTS
//──────────────────────────────────────────────────────────────────────────────
// RSI settings
rsiLength = input.int(14, "RSI Length")
rsiOverbought = input.float(70, "RSI Overbought Level", minval = 50, maxval = 100)
rsiOversold = input.float(30, "RSI Oversold Level", minval = 0, maxval = 50)
// MACD settings (classic 12 / 26 / 9)
macdFastLength = input.int(12, "MACD Fast Length")
macdSlowLength = input.int(26, "MACD Slow Length")
macdSignalLength = input.int(9, "MACD Signal Length")
// Risk model selection
riskModel = input.string("ATR", "Risk Model", options = )
// ATR-based SL/TP
atrLength = input.int(14, "ATR Length")
atrSLMult = input.float(1.5, "SL ATR Multiplier", minval = 0.1, step = 0.1)
atrTPMult = input.float(2.5, "TP ATR Multiplier", minval = 0.1, step = 0.1)
// Percent-based SL/TP (for scalping on very tight spreads)
slPercent = input.float(0.5, "SL % (when Risk Model = Percent)", minval = 0.05, step = 0.05)
tpPercent = input.float(1.0, "TP % (when Risk Model = Percent)", minval = 0.05, step = 0.05)
// Visual / styling
showSLTPLines = input.bool(true, "Plot Stop Loss / Take Profit Lines")
//──────────────────────────────────────────────────────────────────────────────
// 2. CORE INDICATORS: RSI & MACD
//──────────────────────────────────────────────────────────────────────────────
rsiValue = ta.rsi(close, rsiLength)
// Manual MACD calculation (avoids tuple unpacking issues)
macdFastEMA = ta.ema(close, macdFastLength)
macdSlowEMA = ta.ema(close, macdSlowLength)
macdValue = macdFastEMA - macdSlowEMA
macdSignal = ta.ema(macdValue, macdSignalLength)
macdHist = macdValue - macdSignal
atrValue = ta.atr(atrLength)
// Hide internal plots from price scale (still accessible if you change display)
plot(rsiValue, "RSI", display = display.none)
plot(macdValue, "MACD", display = display.none)
plot(macdSignal, "MACD Sig", display = display.none)
plot(macdHist, "MACD Hist", display = display.none)
//──────────────────────────────────────────────────────────────────────────────
// 3. SIGNAL LOGIC (ENTRY CONDITIONS)
//──────────────────────────────────────────────────────────────────────────────
//
// Idea:
// - LONG bias: RSI emerges from oversold AND MACD crosses above signal below zero
// - SHORT bias: RSI falls from overbought AND MACD crosses below signal above zero
//
// Combines momentum (RSI) with trend confirmation (MACD).
//──────────────────────────────────────────────────────────────────────────────
// RSI events
rsiBullCross = ta.crossover(rsiValue, rsiOversold) // RSI crosses UP out of oversold
rsiBearCross = ta.crossunder(rsiValue, rsiOverbought) // RSI crosses DOWN from overbought
// MACD crossover with trend filter
macdBullCross = ta.crossover(macdValue, macdSignal) and macdValue < 0 // Bullish cross below zero-line
macdBearCross = ta.crossunder(macdValue, macdSignal) and macdValue > 0 // Bearish cross above zero-line
// Raw (ungated) entry signals
rawLongSignal = rsiBullCross and macdBullCross
rawShortSignal = rsiBearCross and macdBearCross
//──────────────────────────────────────────────────────────────────────────────
// 4. STATE MANAGEMENT (SIMULATED POSITION TRACKING)
//──────────────────────────────────────────────────────────────────────────────
//
// position: 1 = long
// -1 = short
// 0 = flat
//
// We track entry price and SL/TP levels as if this were a strategy.
// This is still an indicator – it just computes and plots the logic.
//──────────────────────────────────────────────────────────────────────────────
var int position = 0
var float longEntryPrice = na
var float shortEntryPrice = na
var float longSL = na
var float longTP = na
var float shortSL = na
var float shortTP = na
// Per-bar flags (for plotting / alerts)
var bool longEntrySignal = false
var bool shortEntrySignal = false
var bool longExitSignal = false
var bool shortExitSignal = false
// Reset per-bar flags each bar
longEntrySignal := false
shortEntrySignal := false
longExitSignal := false
shortExitSignal := false
//──────────────────────────────────────────────────────────────────────────────
// 5. EXIT LOGIC (STOP LOSS / TAKE PROFIT / OPPOSITE SIGNAL)
//──────────────────────────────────────────────────────────────────────────────
//
// Exits are evaluated BEFORE new entries on each bar.
//──────────────────────────────────────────────────────────────────────────────
// Stop-loss / take-profit hits for existing positions
longStopHit = position == 1 and not na(longSL) and low <= longSL
longTakeHit = position == 1 and not na(longTP) and high >= longTP
shortStopHit = position == -1 and not na(shortSL) and high >= shortSL
shortTakeHit = position == -1 and not na(shortTP) and low <= shortTP
// Opposite signals can also close positions
reverseToShort = position == 1 and rawShortSignal
reverseToLong = position == -1 and rawLongSignal
// Combine exit conditions
longExitNow = longStopHit or longTakeHit or reverseToShort
shortExitNow = shortStopHit or shortTakeHit or reverseToLong
// Register exits and flatten position
if longExitNow and position == 1
longExitSignal := true
position := 0
longEntryPrice := na
longSL := na
longTP := na
if shortExitNow and position == -1
shortExitSignal := true
position := 0
shortEntryPrice := na
shortSL := na
shortTP := na
//──────────────────────────────────────────────────────────────────────────────
// 6. ENTRY LOGIC WITH RISK MODEL (SL/TP CALCULATION)
//──────────────────────────────────────────────────────────────────────────────
//
// Only take a new trade when flat.
// SL/TP are calculated relative to entry price using either ATR or Percent.
//──────────────────────────────────────────────────────────────────────────────
if position == 0
// Long entry
if rawLongSignal
position := 1
longEntryPrice := close
if riskModel == "ATR"
longSL := longEntryPrice - atrValue * atrSLMult
longTP := longEntryPrice + atrValue * atrTPMult
else // Percent model
longSL := longEntryPrice * (1.0 - slPercent / 100.0)
longTP := longEntryPrice * (1.0 + tpPercent / 100.0)
longEntrySignal := true
// Short entry
else if rawShortSignal
position := -1
shortEntryPrice := close
if riskModel == "ATR"
shortSL := shortEntryPrice + atrValue * atrSLMult
shortTP := shortEntryPrice - atrValue * atrTPMult
else // Percent model
shortSL := shortEntryPrice * (1.0 + slPercent / 100.0)
shortTP := shortEntryPrice * (1.0 - tpPercent / 100.0)
shortEntrySignal := true
//──────────────────────────────────────────────────────────────────────────────
// 7. PLOTTING: ENTRIES, EXITS, STOPS & TARGETS
//──────────────────────────────────────────────────────────────────────────────
// Entry markers
plotshape(longEntrySignal, title = "Long Entry", style = shape.triangleup, location = location.belowbar, color = color.new(color.lime, 0), size = size.small, text = "LONG")
plotshape(shortEntrySignal, title = "Short Entry", style = shape.triangledown, location = location.abovebar, color = color.new(color.red, 0), size = size.small, text = "SHORT")
// Exit markers (generic exits: SL, TP or reversal)
plotshape(longExitSignal, title = "Long Exit", style = shape.xcross, location = location.abovebar, color = color.new(color.orange, 0), size = size.tiny, text = "LX")
plotshape(shortExitSignal, title = "Short Exit", style = shape.xcross, location = location.belowbar, color = color.new(color.orange, 0), size = size.tiny, text = "SX")
// Optional: show SL/TP levels on chart while in position
plot(showSLTPLines and position == 1 ? longSL : na, title = "Long Stop Loss", style = plot.style_linebr, color = color.new(color.red, 0), linewidth = 1)
plot(showSLTPLines and position == 1 ? longTP : na, title = "Long Take Profit", style = plot.style_linebr, color = color.new(color.lime, 0), linewidth = 1)
plot(showSLTPLines and position == -1 ? shortSL : na, title = "Short Stop Loss", style = plot.style_linebr, color = color.new(color.red, 0), linewidth = 1)
plot(showSLTPLines and position == -1 ? shortTP : na, title = "Short Take Profit", style = plot.style_linebr, color = color.new(color.lime, 0), linewidth = 1)
//──────────────────────────────────────────────────────────────────────────────
// 8. ALERT CONDITIONS
//──────────────────────────────────────────────────────────────────────────────
//
// Configure TradingView alerts using these conditions.
//──────────────────────────────────────────────────────────────────────────────
// Entry alerts
alertcondition(longEntrySignal, title = "Long Entry (RSI+MACD)", message = "RSI+MACD: Long entry signal")
alertcondition(shortEntrySignal, title = "Short Entry (RSI+MACD)", message = "RSI+MACD: Short entry signal")
// Exit alerts (by type: SL vs TP vs reversal)
alertcondition(longStopHit, title = "Long Stop Loss Hit", message = "RSI+MACD: Long STOP LOSS hit")
alertcondition(longTakeHit, title = "Long Take Profit Hit", message = "RSI+MACD: Long TAKE PROFIT hit")
alertcondition(shortStopHit, title = "Short Stop Loss Hit", message = "RSI+MACD: Short STOP LOSS hit")
alertcondition(shortTakeHit, title = "Short Take Profit Hit", message = "RSI+MACD: Short TAKE PROFIT hit")
alertcondition(reverseToShort, title = "Long Exit by Reverse Signal", message = "RSI+MACD: Long exit by SHORT reverse signal")
alertcondition(reverseToLong, title = "Short Exit by Reverse Signal", message = "RSI+MACD: Short exit by LONG reverse signal")
//──────────────────────────────────────────────────────────────────────────────
// 9. QUICK USAGE NOTES
//──────────────────────────────────────────────────────────────────────────────
//
// - Indicador, não estratégia: ele simula posição, SL/TP e sinais de saída.
// - Para backtest/auto, basta portar a mesma lógica para um script `strategy()`
// usando `strategy.entry` e `strategy.exit`.
// - Em day trade, teste ATR vs Percent e ajuste os multiplicadores ao ativo.
//──────────────────────────────────────────────────────────────────────────────
Stoch RSI Buy/Sell Signals with AlertsThis color code helps a novice know when to buy and when to sell
What Each Section Does
Header: //@version=5 tells TradingView which Pine Script version to use.
Indicator setup: indicator("Stoch RSI Buy/Sell Signals with Alerts", overlay=false) names your script and sets it to plot in a separate panel.
Inputs: Adjustable parameters for RSI length, Stoch length, and smoothing. You can tweak these in the settings panel.
Calculations: Builds RSI, then Stoch RSI, then smooths into %K and %D lines.
Signals: Defines buy (green) and sell (red) conditions based on crossovers and thresholds.
Color logic: Dynamically changes the %K line color (green/red/gray).
Plots: Draws %K (colored) and %D (blue) lines.
Background shading: Adds light green/red shading when signals fire for easy visual scanning.
Alerts: Pops up TradingView alerts when buy/sell conditions trigger, so you don’t miss them.
✅ Publishing Notes
Paste this into a new blank Pine Script editor starting at line 1.
Save and add it to your chart.
You’ll see the %K line flip colors, background shading, and alerts firing when conditions are met.
PRO Trade Manager//@version=5
indicator("PRO Trade Manager", shorttitle="PRO Trade Manager", overlay=false)
// ============================================================================
// INPUTS
//This code and all related materials are the exclusive property of Trade Confident LLC. Any reproduction, distribution, modification, or unauthorized use of this code, in whole or in part, is strictly prohibited without the express written consent of Trade Confident LLC. Violations may result in civil and/or criminal penalties to the fullest extent of the law.
// © Trade Confident LLC. All rights reserved.
// ============================================================================
// Moving Average Settings
maLength = input.int(15, "Signal Strength", minval=1, tooltip="Length of the moving average to measure deviation from (lower = more sensitive)")
maType = "SMA" // Fixed to SMA, no longer user-selectable
// Deviation Settings
deviationLength = input.int(20, "Deviation Period", minval=1, tooltip="Lookback period for standard deviation calculation")
// Signal Frequency dropdown - controls both upper and lower thresholds
signalFrequency = input.string("More/Good Accuracy", "Signal Frequency", options= ,
tooltip="Normal/Highest Accuracy = ±2.0 StdDev | More/Good Accuracy = ±1.5 StdDev | Most/Moderate Accuracy = ±1.0 StdDev")
// Set thresholds based on selected frequency
upperThreshold = signalFrequency == "Most/Moderate Accuracy" ? 1.0 : signalFrequency == "More/Good Accuracy" ? 1.5 : 2.0
lowerThreshold = signalFrequency == "Most/Moderate Accuracy" ? -1.0 : signalFrequency == "More/Good Accuracy" ? -1.5 : -2.0
// Continuation Signal Settings
atrMultiplier = input.float(2.0, "TP/DCA Market Breakout Detection", minval=0, step=0.5, tooltip="Number of ATR moves required to trigger continuation signals (Set to 0 to disable)")
// Visual Settings
showMA = false // MA display removed from settings
showSignals = input.bool(true, "Show Alert Signals", tooltip="Show visual signals when price is overextended")
// ============================================================================
// CALCULATIONS
// ============================================================================
// Calculate Moving Average based on type
ma = switch maType
"SMA" => ta.sma(close, maLength)
"EMA" => ta.ema(close, maLength)
"WMA" => ta.wma(close, maLength)
"VWMA" => ta.vwma(close, maLength)
=> ta.sma(close, maLength)
// Calculate deviation from MA
deviation = close - ma
// Calculate standard deviation
stdDev = ta.stdev(close, deviationLength)
// Calculate number of standard deviations away from MA
deviationScore = stdDev != 0 ? deviation / stdDev : 0
// Smooth the deviation score slightly for cleaner signals
smoothedDeviation = ta.ema(deviationScore, 3)
// ============================================================================
// SIGNALS
// ============================================================================
// Overextended conditions
overextendedHigh = smoothedDeviation >= upperThreshold
overextendedLow = smoothedDeviation <= lowerThreshold
// Signal triggers (crossing into overextended territory)
bullishSignal = ta.crossunder(smoothedDeviation, lowerThreshold)
bearishSignal = ta.crossover(smoothedDeviation, upperThreshold)
// Track if we're in bright histogram zones
isBrightGreen = smoothedDeviation <= lowerThreshold
isBrightRed = smoothedDeviation >= upperThreshold
// Track if we were in bright zone on previous bar
wasBrightGreen = smoothedDeviation <= lowerThreshold
wasBrightRed = smoothedDeviation >= upperThreshold
// Detect oscillator turning up after bright green (buy signal)
// Trigger if we were in bright green and oscillator turns up, even if no longer bright green
oscillatorTurningUp = smoothedDeviation > smoothedDeviation
buySignal = barstate.isconfirmed and wasBrightGreen and oscillatorTurningUp and smoothedDeviation <= smoothedDeviation
// Detect oscillator turning down after bright red (sell signal)
// Trigger if we were in bright red and oscillator turns down, even if no longer bright red
oscillatorTurningDown = smoothedDeviation < smoothedDeviation
sellSignal = barstate.isconfirmed and wasBrightRed and oscillatorTurningDown and smoothedDeviation >= smoothedDeviation
// ============================================================================
// ATR-BASED CONTINUATION SIGNALS
// ============================================================================
// Calculate ATR for distance measurement
atrLength = 14
atr = ta.atr(atrLength)
// Track price levels when ANY sell or buy signal occurs (original or continuation)
var float lastSellPrice = na
var float lastBuyPrice = na
// Initialize tracking on original signals
if sellSignal
lastSellPrice := close
if buySignal
lastBuyPrice := close
// Continuation Sell Signal: Price moved up by ATR multiplier from last red dot
// Disabled when atrMultiplier is set to 0
continuationSell = atrMultiplier > 0 and barstate.isconfirmed and not na(lastSellPrice) and close >= lastSellPrice + (atrMultiplier * atr)
// Continuation Buy Signal: Price moved down by ATR multiplier from last green dot
// Disabled when atrMultiplier is set to 0
continuationBuy = atrMultiplier > 0 and barstate.isconfirmed and not na(lastBuyPrice) and close <= lastBuyPrice - (atrMultiplier * atr)
// Update reference prices when continuation signals trigger (reset the 3 ATR counter)
if continuationSell
lastSellPrice := close
if continuationBuy
lastBuyPrice := close
// Combine original and continuation signals for plotting
allBuySignals = buySignal or continuationBuy
allSellSignals = sellSignal or continuationSell
// Track if a signal occurred to keep it visible on dashboard
// Signals trigger at barstate.isconfirmed (bar close)
var bool showBuyOnDashboard = false
var bool showSellOnDashboard = false
// Update dashboard flags immediately when signals occur
if allBuySignals
showBuyOnDashboard := true
showSellOnDashboard := false
else if allSellSignals
showSellOnDashboard := true
showBuyOnDashboard := false
else if barstate.isconfirmed
// Reset flags on bar close if no new signal
showBuyOnDashboard := false
showSellOnDashboard := false
// ============================================================================
// PLOTTING
// ============================================================================
// Professional color scheme
var color colorBullish = #00C853 // Professional green
var color colorBearish = #FF1744 // Professional red
var color colorNeutral = #2962FF // Professional blue
var color colorGrid = #363A45 // Dark gray for lines
var color colorBackground = #1E222D // Chart background
// Dynamic line color based on value
lineColor = smoothedDeviation > upperThreshold ? colorBearish :
smoothedDeviation < lowerThreshold ? colorBullish :
smoothedDeviation > 0 ? color.new(colorBearish, 50) :
color.new(colorBullish, 50)
// Plot the deviation oscillator with dynamic coloring
plot(smoothedDeviation, "Deviation Score", color=lineColor, linewidth=2)
// Plot zero line
hline(0, "Zero Line", color=color.new(colorGrid, 0), linestyle=hline.style_solid, linewidth=1)
// Subtle fill for overextended zones (without visible threshold lines)
upperLine = hline(upperThreshold, "Upper Threshold", color=color.new(color.gray, 100), linestyle=hline.style_dashed, linewidth=1)
lowerLine = hline(lowerThreshold, "Lower Threshold", color=color.new(color.gray, 100), linestyle=hline.style_dashed, linewidth=1)
fill(upperLine, hline(3), color=color.new(colorBearish, 95), title="Overextended High Zone")
fill(lowerLine, hline(-3), color=color.new(colorBullish, 95), title="Overextended Low Zone")
// Histogram style visualization (optional alternative)
histogramColor = smoothedDeviation >= upperThreshold ? color.new(colorBearish, 20) :
smoothedDeviation <= lowerThreshold ? color.new(colorBullish, 20) :
smoothedDeviation > 0 ? color.new(colorBearish, 80) :
color.new(colorBullish, 80)
plot(smoothedDeviation, "Histogram", color=histogramColor, style=plot.style_histogram, linewidth=3)
// ============================================================================
// BUY/SELL SIGNAL MARKERS
// ============================================================================
// Plot buy signals at -3.5 level (includes both initial and extended signals)
plot(allBuySignals ? -3.5 : na, title="Buy Signal", style=plot.style_circles,
color=color.new(colorBullish, 0), linewidth=4)
// Plot sell signals at 3.5 level (includes both initial and extended signals)
plot(allSellSignals ? 3.5 : na, title="Sell Signal", style=plot.style_circles,
color=color.new(colorBearish, 0), linewidth=4)
// ============================================================================
// ALERTS - SIMPLIFIED TO ONLY TWO ALERTS
// ============================================================================
// Alert 1: Long Entry/Short TP - fires on ANY green dot (original or continuation)
alertcondition(allBuySignals, "Long Entry/Short TP", "Long Entry/Short TP")
// Alert 2: Long TP/Short Entry - fires on ANY red dot (original or continuation)
alertcondition(allSellSignals, "Long TP/Short Entry", "Long TP/Short Entry")
// ============================================================================
// DATA DISPLAY
// ============================================================================
// Create a professional table for current readings
var color tableBgColor = #1a2332 // Dark blue background
var table infoTable = table.new(position.middle_right, 2, 2, border_width=1,
border_color=color.new(#2962FF, 30),
frame_width=1,
frame_color=color.new(#2962FF, 30))
if barstate.islast
// Determine status
statusText = overextendedHigh ? "OVEREXTENDED ↓" :
overextendedLow ? "OVEREXTENDED ↑" :
smoothedDeviation > 0 ? "Buyers In Control" : "Sellers In Control"
statusColor = overextendedHigh ? color.new(colorBearish, 0) :
overextendedLow ? color.new(colorBullish, 0) :
color.white
// Background color for status cell
statusBgColor = color.new(tableBgColor, 0)
// Status Row
table.cell(infoTable, 0, 0, "Status",
bgcolor=color.new(tableBgColor, 0),
text_color=color.white,
text_size=size.normal)
table.cell(infoTable, 1, 0, statusText,
bgcolor=statusBgColor,
text_color=statusColor,
text_size=size.normal)
// Signal Row - always show
table.cell(infoTable, 0, 1, "Signal",
bgcolor=color.new(tableBgColor, 0),
text_color=color.white,
text_size=size.normal)
// Show signal if flags are set (will stay visible during the bar)
if showBuyOnDashboard or showSellOnDashboard
// Green dot (buy signal) = "Long Entry/Short TP" with arrow up, white text on green background
// Red dot (sell signal) = "Long TP/Short Entry" with arrow down, white text on red background
signalText = showBuyOnDashboard ? "↑ Long Entry/Short TP" : "↓ Long TP/Short Entry"
signalColor = showBuyOnDashboard ? color.new(colorBullish, 0) : color.new(colorBearish, 0)
table.cell(infoTable, 1, 1, signalText,
bgcolor=signalColor,
text_color=color.white,
text_size=size.normal)
else
table.cell(infoTable, 1, 1, "Watching...",
bgcolor=color.new(tableBgColor, 0),
text_color=color.new(color.white, 60),
text_size=size.normal)
Daily Fib Levels Clean (Retrace + Extension)This indicator automatically detects the latest Daily Swing High and Swing Low and plots clean Fibonacci retracement levels based on those swings.
Even if you switch to 4H, 1H, 15m, or 5m, the levels remain locked to the Daily timeframe, giving you consistent higher-timeframe structure on any chart.
Daily Swing High/Low Fibs (Clean v6)This indicator automatically detects the latest Daily Swing High and Swing Low and plots clean Fibonacci retracement levels based on those swings.
Even if you switch to 4H, 1H, 15m, or 5m, the levels remain locked to the Daily timeframe, giving you consistent higher-timeframe structure on any chart.
Fibonacci Zones and RejectionsThis tool combines swing structure, Fibonacci retracements and candle-wick rejection logic to highlight high-probability reversal or continuation zones.
What it does
Tracks market structure automatically
Detects swing highs and swing lows based on a user-defined Structure Period.
Marks bullish shifts in structure and bearish shifts with CHoCH labels and Break of Structure (BoS) lines.
Optionally draws a dotted swing trend line between the active swing high and swing low and can show price labels at those swing points.
Draws dynamic Fibonacci retracements on the latest swing
Automatically anchors a Fibonacci retracement between the current swing high and swing low.
Lets you enable/disable individual Fibonacci levels and customize their values, colors and line width.
Can extend Fib levels forward to the latest bar and optionally keep previous Fib structures on the chart for context.
Optionally fills the “Golden Zone” (by default the first two levels, e.g. 0.50 and 0.618) so the core pullback area is visually obvious.
Defines an OTE / “Gold Zone” band from the active Fib levels
Uses the first two Fib lines (by default 0.50 and 0.618 or set another zone such as 61.8% to 78.6%) to form a live “Optimal Trade Entry” band.
Continuously updates this band as new structure forms and swings develop.
Detects rejection candles inside the Fib OTE band
Breaks each candle into upper wick, lower wick, body and total range.
A bullish rejection is a candle where:
Price trades into the OTE band,
The lower wick is a large portion of the bar’s range, and
The body is not tiny (minimum body-to-range ratio is configurable).
A bearish rejection is the mirror condition using the upper wick.
Only candles whose range overlaps the OTE band are considered; this filters for true reactions to the Fib zone.
Plots clear signals and alerts
Bullish OTE rejection is plotted as a large cross at the low of the candle.
Bearish OTE rejection is plotted as a large cross at the high of the candle.
Built-in alertcondition calls allow you to set alerts for:
Bullish OTE Rejection
Bearish OTE Rejection
Optional “debug” markers can show all raw rejection candles and all bars that sit inside the OTE band, to help you understand how the logic behaves.
Use cases
Identify pullback entries into the desired Fib zone after a clear structural move.
Confirm reversals or continuations using wick-based rejection inside a pre-defined Fib discount/premium zone.
Combine with your own higher-timeframe bias or ICT / SMC tools to refine entry timing around key levels.
S&P 500 Scalper Pro [Trend + MACD] 5 minfor scalping 5 min S&P on 5 min chart put SL on 20 min ma and take 2:1 risk
L1 Long Trigger (close-only lows)halewet l trading to signal longs in the chart. w telhaso ayre jami3an aal 4h
LiquidityThe liquidity swings indicator highlights swing areas with existent trading activity. The number of times price revisited a swing area is highlighted by a zone delimiting the swing areas. Additionally, the accumulated volume within swing areas is highlighted by labels on the chart. An option to filter out swing areas with volume/counts not reaching a user-set threshold is also included.
This indicator by its very nature is not real-time and is meant for descriptive analysis alongside other components of the script. This is normal behavior for scripts detecting pivots as a part of a system and it is important you are aware the pivot labels are not designed to be traded in real-time themselves.
🔶 USAGE
The indicator can be used to highlight significant swing areas, these can be accumulation/distribution zones on lower timeframes and might play a role as future support or resistance.
Swing levels are also highlighted, when a swing level is broken it is displayed as a dashed line. A broken swing high is a bullish indication, while a broken swing low is a bearish indication.
Filtering swing areas by volume allows to only show significant swing areas with an higher degree of liquidity. These swing areas can be wider, highlighting higher volatility, or might have been visited by the price more frequently.
🔶 SETTINGS
Pivot Lookback : Lookback period used for the calculation of pivot points.
Swing Area : Determine how the swing area is calculated, "Wick Extremity" will use the range from price high to the maximum between price close/open in case of a swing high, and the range from price low to the minimum between price close/open in case of a swing low. "Full Range" will use the full candle range as swing area.
Intrabar Precision : Use intrabar data to calculate the accumulated volume within a swing area, this allows obtaining more precise results.
Filter Areas By : Determine how swing areas are filtered out, "Count" will filter out swing areas where price visited the area a number of time inferior to the user set threshold. "Volume" will filter out swing areas where the accumulated volume within the area is inferior to the user set threshold.
🔹 Style
Swing High : Show swing highs.
Swing Low : Show swing lows.
Label Size : Size of the labels on the chart.
Complete Harmonic PatternOverview:
The ultimate harmonic XABCD pattern identification, prediction, and backtesting system.
Harmonic patterns are among the most accurate of trading signals, yet they're widely underutilized because they can be difficult to spot and tedious to validate. If you've ever come across a pattern and struggled with questions like "are these retracement ratios close enough to the harmonic ratios?" or "what are the Potential Reversal levels and are they confluent with point D?", then this tool is your new best friend. Or, if you've never traded harmonic patterns before, maybe it's time to start. Put away your drawing tools and calculators, relax, and let this indicator do the heavy lifting for you.
- Identification -
An exhaustive search across multiple pivot lengths ensures that even the sneakiest harmonic patterns are identified. Each pattern is evaluated and assigned a score, making it easy to differentiate weak patterns from strong ones. Tooltips under the pattern labels show a detailed breakdown of the pattern's score and retracement ratios (see the Scoring section below for details).
- Prediction -
After a pattern is identified, paths to potential targets are drawn, and Potential Reversal Zone (PRZ) levels are plotted based on the retracement ratios of the harmonic pattern. Targets are customizable by pattern type (e.g. you can specify one set of targets for a Gartley and another for a Bat, etc).
- Backtesting -
A table shows the results of all the patterns found in the chart. Change your target, stop-loss, and % error inputs and observe how it affects your success rate.
//------------------------------------------------------
// Scoring
//------------------------------------------------------
A percentage-based score is calculated from four components:
(1) Retracement % Accuracy - this measures how closely the pattern's retracement ratios match the theoretical values (fibs) defined for a given harmonic pattern. You can change the "Allowed fib ratio error %" in Settings to be more or less inclusive.
(2) PRZ Level Confluence - Potential Reversal Zone levels are projected from retracements of the XA and BC legs. The PRZ Level Confluence component measures the closeness of the closest XA and BC retracement levels, relative to the total height of the PRZ.
(3) Point D / PRZ Confluence - this measures the closeness of point D to either of the closest two PRZ levels (identified in the PRZ Level Confluence component above), relative to the total height of the PRZ. In theory, the closer together these levels are, the higher the probability of a reversal.
(4) Leg Length Symmetry - this measures the ΔX symmetry of each leg. You can change the "Allowed leg length asymmetry %" in settings to be more or less inclusive.
So, a score of 100% would mean that (1) all leg retracements match the theoretical fib ratios exactly (to 16 decimal places), (2) the closest XA and BC PRZ levels are exactly the same, (3) point D is exactly at the confluent PRZ level, and (4) all legs are exactly the same number of bars. While this is theoretically possible, you have better odds of getting struck by lightning twice on a sunny day.
Calculation weights of all four components can be changed in Settings.
//------------------------------------------------------
// Targets
//------------------------------------------------------
A hard-coded set of targets are available to choose from, and can be applied to each pattern type individually:
(1) .618 XA = .618 retracement of leg XA, measured from point D
(2) 1.272 XA = 1.272 retracement of leg XA, measured from point D
(3) 1.618 XA = 1.618 retracement of leg XA, measured from point D
(4) .618 CD = .618 retracement of leg CD, measured from point D
(5) 1.272 CD = 1.272 retracement of leg CD, measured from point D
(6) 1.618 CD = 1.618 retracement of leg CD, measured from point D
(7) A = point A
(8) B = point B
(9) C = point C
Supply & demand with qualifieres [By:CienF-OTC]🚀 Supply & Demand (S/D) Zones Indicator - Precision Pattern 🚀
This Advanced Supply and Demand (S/D) Zones Indicator is engineered to identify high-probability zones: Indecisive Base (Consolidation) followed by an Explosive Exit (Expansion), coupled with a strict momentum validation process.
🎯 Key Features and High-Precision Logic 🎯
The indicator filters potential zones through three critical movement stages:
1. Strict Indecisive Base Detection:
Rule: A candle is defined as an Indecisive Base if its body is less than or equal to 50% of its total range (High - Low). This accurately captures Dojis, Spinning Tops, and true equilibrium candles.
Zone Drawing: The zone covers the price range (High/Low) of one or more consecutive base candles.
2. Validation of the Explosive Exit:
The candle immediately following the base must be an Explosive/Decisive Candle, exceeding a minimum body threshold (default 50.0% in the current version) to confirm significant capital entry.
3. Strict Momentum and Freshness Filters
The core of the indicator's precision lies in these filters, which you can activate in the settings:
🚫 Anti-Stall Filter (Strict Follow-up): The candle that follows the explosion CANNOT be Indecisive (i.e., its body cannot be $\leq 50\%$ of its range). If the follow-up candle is weak, the zone is rejected for lack of true commitment. (Note: This filter is set to OFF by default in v6.0 for flexibility but highly recommended for high-probability setups).
Freshness (Mitigation): Zones that have been previously tested/touched by the price (mitigated) are deactivated and colored gray (optional) or automatically deleted, keeping your chart clean and showing only active, fresh zones.
Scalp Pin + Engulf (Ramesh)How to apply as indicator
In TradingView, open Pine Editor.
Select New → Blank indicator (or clear the editor).
Paste the entire script above.
Click Save, then Add to chart.
You should see:
Green triangles under bars = bullish pin bar at support with trend
Red triangles above bars = bearish pin at resistance with trend
“ENG” labels = engulfing confirmation after pin
From here we can re-add the “fast single-bar reversal” piece once this base version is confirmed working on your chart.
3 Fib Strategy – Automatic Trend Fib Extension ConfluenceWhat This Script Does
✔ Auto-detects swing highs and lows
Using pivot detection, adjustable by the user.
✔ Builds 3 independent trend-based Fib extension projections
Measures:
Wave 1 → Wave 2 → Wave 3
Wave 2 → Wave 3 → Wave 4
Wave 3 → Wave 4 → Wave 5
✔ Calculates the exact fib levels:
1.0 (1:1 extension)
1.236 extension
1.382 extension
✔ Detects confluence zones
When all 3 fib measurement sets overlap at the same target:
Green label = 1:1 confluence
Orange label = 1.236–1.382 confluence
✔ Draws long dotted lines across the chart
So you can visually track confluence zones.
Kill Zone Strategy - Exact Match고죠 훈의 차트공부방
Gojo Hoon’s Trading Room
Kill Zone 시간대 방향성과 일중 추세의 상관관계
The 9–10 AM Kill Zone candle on the KOSPI chart determines the day’s long or short trading direction.
Match Finder [theUltimator5]Match Finder is the dating app of indicators. It takes your current ticker and finds the most compatible match over a recent time period. The match may not be Mr. right, but it is Mr. right now. It doesn't forecast future connection, but it tells you current compatibility for today.
Jokes aside, it is a pattern–comparison tool that was designed to find the ticker that tracks most closely to the one you are currently looking at. It scans a user-defined list of 40 tickers (pre-set to a bunch of liquid ETFs) and finds which one most closely matches the recent price action of the current chart over a fixed lookback window.
LOGIC BEHIND THE SCENES
For each bar, the script:
Takes the last N bars (Correlation Window Length) of the current symbol.
Takes the last N bars of each selected comparison ticker.
Calculates the Pearson correlation between the current symbol and each comparison ticker.
Identifies the single best-matching ticker (highest positive correlation, excluding the current symbol itself).
Rescales and overlays that matched segment on the chart so you can visually compare shapes.
Optionally shows a correlation table with all tickers and their correlation values.
The use case of this indicator is to help you see which symbol has recently moved most similarly to your current chart, and how that shape looks when overlaid in the same panel. It helps you see which sectors it may be following most closely to.
Here is an image with arrows showing the elements of this indicator that will be mostly explained later.
USER INPUTS
1. Correlation Window Length
Default: 30
Range: 10–500
This is the number of bars used to compare the current symbol against each ticker.
Important - Larger values produce more “global” shape comparison but increase computational load and may cause the indicator to timeout if the length is too long
2. Drawing Mode
Options:
Scale Only - Adjusts min and max of the plotted line segment to match the chart over the range
Scale & Rotate - Scales as above, but matches the first and last point to the close of the chart over the range. This effectively rotates the pattern to force it to track the chart to an extent.
3. Show Correlation Table
When enabled (disabled by default), shows a table in the bottom-right of the chart that displays the correlation values over the lookback range for all 40 tickers. The best fit ticker is highlighted.
4. Best Fit Line Color
Color used to draw the overlaid best-match segment (yellow by default).
5. Ticker inputs (1–40)
Default set to a broad universe of major ETFs (e.g., SPY, QQQ, IWM, sector and bond ETFs, commodities, etc.).
You can replace these with any symbols supported by your data feed (stocks, ETFs, indexes, etc.).
The script always excludes the current chart’s symbol from being considered as its own best match.
NOTE: THIS INDICATOR IS EXTREMELY MEMORY INTENSIVE AND MAY TAKE SEVERAL SECONDS TO LOAD. PLEASE BE PATIENT AND GIVE THE INDICATOR UP TO 20 SECONDS FOR THE DATA TO DISPLAY
Dot Trend - MacketingDOT TRENDS (5x Multi-Timeframe Consensus Filter)
Description:
The DOT TRENDS indicator is a powerful, highly customizable tool designed to provide a clear, aggregated view of trend direction across five distinct timeframes (TFs). It uses an advanced ATR-based trailing mechanism coupled with an optional MACD filter to generate reliable trend signals, making multi-timeframe analysis simple and non-cluttered.
This indicator is ideal for scalpers and day traders who need immediate confirmation that market momentum aligns across various horizons (e.g., 1m, 5m, 15m, 1h).
Key Features:
5-Tier Trend Alignment: Track the trend across five fully customizable timeframes simultaneously (Default: 1m, 5m, 10m, 15m, 60m).
Clean Visual Design: Trends are represented by large, clear dots (Green for Bullish, Red for Bearish) in a dedicated sub-panel, free from chart clutter.
Consensus Row (NEW!): A dedicated bottom row displays the overall consensus. It signals a strong institutional trend (Muted Green/Red) only when 4 out of 5 timeframes agree.
MACD Momentum Filter: An optional feature that detects divergence/weakness. If the primary ATR trend is Bullish, but the MACD Histogram is negative, the dot turns Yellow—warning of a potential reversal or pause.
Dot Plot Frequency Filter: Custom setting (plotFrequency) to reduce visual noise by only drawing dots every N bars, keeping the panel clean when zoomed out.
Companion Chart Markers (Separate Script): A companion script is available to plot visual markers directly onto the main price chart when a perfect 5/5 consensus is reached.
How to Use It:
Green Dot: Strong Bullish Trend on that specific timeframe.
Red Dot: Strong Bearish Trend on that specific timeframe.
Yellow Dot (If Filter Active): Trend is confirmed, but momentum is fading (MACD disagreement).
Consensus Row (Bottom): Use as a primary confirmation filter. Only trade in the direction indicated by the Consensus row's color.
Technical Note:
The core trend logic is a custom, recursive ATR-based mechanism (similar to SuperTrend) known for its stability and lag-free signal generation.






















