Lowess Channel + (RSI) [ChartPrime]The Lowess Channel + (RSI) indicator applies the LOWESS (Locally Weighted Scatterplot Smoothing) algorithm to filter price fluctuations and construct a dynamic channel. LOWESS is a non-parametric regression method that smooths noisy data by fitting weighted linear regressions at localized segments. This technique is widely used in statistical analysis to reveal trends while preserving data structure.
In this indicator, the LOWESS algorithm is used to create a central trend line and deviation-based bands. The midline changes color based on trend direction, and diamonds are plotted when a trend shift occurs. Additionally, an RSI gauge is positioned at the end of the channel to display the current RSI level in relation to the price bands.
lowess_smooth(src, length, bandwidth) =>
sum_weights = 0.0
sum_weighted_y = 0.0
sum_weighted_xy = 0.0
sum_weighted_x2 = 0.0
sum_weighted_x = 0.0
for i = 0 to length - 1
x = float(i)
weight = math.exp(-0.5 * (x / bandwidth) * (x / bandwidth))
y = nz(src , 0)
sum_weights := sum_weights + weight
sum_weighted_x := sum_weighted_x + weight * x
sum_weighted_y := sum_weighted_y + weight * y
sum_weighted_xy := sum_weighted_xy + weight * x * y
sum_weighted_x2 := sum_weighted_x2 + weight * x * x
mean_x = sum_weighted_x / sum_weights
mean_y = sum_weighted_y / sum_weights
beta = (sum_weighted_xy - mean_x * mean_y * sum_weights) / (sum_weighted_x2 - mean_x * mean_x * sum_weights)
alpha = mean_y - beta * mean_x
alpha + beta * float(length / 2) // Centered smoothing
⯁ KEY FEATURES
LOWESS Price Filtering – Smooths price fluctuations to reveal the underlying trend with minimal lag.
Dynamic Trend Coloring – The midline changes color based on trend direction (e.g., bullish or bearish).
Trend Shift Diamonds – Marks points where the midline color changes, indicating a possible trend shift.
Deviation-Based Bands – Expands above and below the midline using ATR-based multipliers for volatility tracking.
RSI Gauge Display – A vertical gauge at the right side of the chart shows the current RSI level relative to the price channel.
Fully Customizable – Users can adjust LOWESS length, band width, colors, and enable or disable the RSI gauge and adjust RSIlength.
⯁ HOW TO USE
Use the LOWESS midline as a trend filter —bullish when green, bearish when purple.
Watch for trend shift diamonds as potential entry or exit signals.
Utilize the price bands to gauge overbought and oversold zones based on volatility.
Monitor the RSI gauge to confirm trend strength—high RSI near upper bands suggests overbought conditions, while low RSI near lower bands indicates oversold conditions.
⯁ CONCLUSION
The Lowess Channel + (RSI) indicator offers a powerful way to analyze market trends by applying a statistically robust smoothing algorithm. Unlike traditional moving averages, LOWESS filtering provides a flexible, responsive trendline that adapts to price movements. The integrated RSI gauge enhances decision-making by displaying momentum conditions alongside trend dynamics. Whether used for trend-following or mean reversion strategies, this indicator provides traders with a well-rounded perspective on market behavior.
רצועות וערוצים
Price and Volume Breakout - Jemmy TradeThe "Price and Volume Breakout" indicator is designed to identify potential breakout opportunities by analyzing both price and volume trends. It uses a combination of historical price highs, volume peaks, and a customizable Simple Moving Average (SMA) to signal bullish breakouts. When the price exceeds the highest price of the defined breakout period and is supported by high volume, the indicator triggers visual alerts on the chart. These include dotted lines, labels, and boxes highlighting accumulation zones, along with dynamically calculated stop loss and take profit levels.
Key Features:
• Breakout Detection: Compares the current closing price to the highest price and volume over specified periods to signal a breakout.
• Customizable Stop Loss Options: Offers three methods for setting stop loss levels:
o Below SMA: Positions stop loss a user-defined percentage below the SMA.
o Lowest Low: Uses the lowest low over a specific look-back period.
o Range Average: Calculates an average based on the previous price range.
• Dynamic Take Profit Calculation: Automatically computes take profit levels based on the defined risk-to-reward ratio.
• Visual Chart Elements: Draws breakout lines, stop loss and take profit indicators, labels (e.g., "🚀 Breakout Buy", "🔴 Stop Loss", "🟢 Take Profit"), and boxes marking accumulation zones for easy visualization.
• Alert Conditions: Includes alert functionality to notify traders when breakout conditions are met, enabling timely trading decisions.
How to Use:
1. Customization: Adjust settings such as the breakout periods for price and volume, the length of the SMA, stop loss options, and the risk-to-reward ratio to fit your trading strategy.
2. Signal Identification: When the price exceeds the highest value from the previous period, accompanied by high volume and confirmation from the SMA, the indicator displays a "Breakout Buy" signal.
3. Risk Management: The indicator calculates appropriate stop loss and take profit levels automatically based on your selected parameters, ensuring a balanced risk/reward setup.
4. Alerts: Utilize the built-in alert conditions to receive notifications whenever the breakout criteria are satisfied, helping you act promptly.
PLEASE USE IT AS PER YOUR OWN RISK MANAGEMENT STRATEGIES.
Keywords:
#Breakout #Trading #VolumeAnalysis #TechnicalAnalysis #PriceAction #RiskManagement #TrendFollowing #TradingSignals #PriceBreakout #SmartTrading #JemmyTrade
Smart Money Concepts mm50 [ttm]This script is based on LuxAlgo's Smart Money Concepts indicator, which helps traders analyze market structure by detecting Break of Structure (BOS), Change of Character (CHoCH), Order Blocks (OB), and Fair Value Gaps (FVG). It visually represents key price action zones and trends for better decision-making in trading.
Modification: Added 50-Period Moving Average (MM50)
A 50-period Simple Moving Average (SMA) has been incorporated into the script to provide additional trend analysis.
Volume Profile / V.2.5 Volume Profile v.2.5 – Updated Description
The Volume Profile v.2.5 is an advanced volume analysis tool that visualizes the distribution of trading volume at different price levels over a specific period. This upgraded version enhances the identification of high-liquidity zones (POC, HVN, LVN) and improves the detection of key supply and demand imbalances.
Mswing HommaThe Mswing is a momentum oscillator that calculates the rate of price change over 20 and 50 periods (days/weeks). Apart from quantifying momentum, it can be used for assessing relative strength, sectoral rotation & entry/exit signals.
Quantifying Momentum Strength
The Mswing's relationship with its EMA (e.g., 5-period or 9-period) is used for momentum analysis:
• M Swing >0 and Above EMA: Momentum is positive and accelerating (ideal for entries).
• M Swing >0 and Below EMA: Momentum is positive but decelerating (caution).
• M Swing <0 and Above EMA: Momentum is negative but improving (watch for reversals).
• M Swing <0 and Below EMA: Momentum is negative and worsening (exit or avoid).
Relative Strength Scanning (M Score)
Sort stocks by their M Swing using TradingView’s Pine scanner.
Compare the Mswing scores of indices/sectors to allocate capital to stronger groups (e.g., renewables vs. traditional energy).
Stocks with strong Mswing scores tend to outperform during bullish phases, while weak ones collapse faster in downtrends.
Entry and Exit Signals
Entry: Buy when Mswing crosses above 0 + price breaks key moving averages (50-day SMA). Use Mswing >0 to confirm valid breakouts. Buy dips when Mswing holds above EMA during retracements.
Exit: Mswing can be used for exiting a stock in 2 ways:
• Sell in Strength: Mswing >4 (overbought).
• Sell in Weakness: Mswing <0 + price below 50-day SMA.
Multi-Timeframe Analysis
• Daily: For swing trades.
• Weekly: For trend confirmation.
• Monthly: For long-term portfolio adjustments.
RSI with EMAThe ThreeEmaRsi_NTH is a custom technical indicator built on the Relative Strength Index (RSI) combined with Exponential Moving Averages (EMA). The main purpose of this indicator is to visually represent the behavior of the RSI along with two EMAs of the RSI, helping traders identify potential overbought or oversold conditions in the market.
Features and Components:
RSI (Relative Strength Index):
The indicator calculates the RSI based on a default length of 14 (modifiable via the input settings), which measures the speed and change of price movements. It is plotted in blue.
EMA of RSI:
The indicator also calculates two Exponential Moving Averages (EMAs) of the RSI with periods of 8 (short-term) and 36 (long-term). These EMAs help smooth the RSI values and highlight potential trends or reversals:
EMA RSI 10 (8-period): Plotted in red.
EMA RSI 30 (36-period): Plotted in green.
RSI Horizontal Lines:
RSI 80 and 90 Range:
The indicator visually marks the 80-90 range with a light green shaded area, indicating overbought conditions.
RSI 60 and 80 Range:
A blue shaded region is added to represent the 60-80 range, giving insight into moderately strong bullish conditions.
RSI 30 and 20 Range:
The 20-30 range is shaded in light green, representing conditions that might signal an oversold market.
Key Horizontal Levels:
RSI Level 50: A gray horizontal line is drawn at the 50 level, marking the neutral point of the RSI.
RSI Level 30 and 70: Two additional white horizontal lines at levels 30 and 70, commonly used to identify oversold and overbought levels in traditional RSI analysis.
Purpose and Usage:
The RSI provides insights into whether a market is overbought or oversold, with values above 70 indicating overbought conditions and values below 30 indicating oversold conditions.
The EMAs of the RSI add a smoothing effect, allowing for easier identification of trends. When the RSI is above the EMA RSI 8 and the EMA RSI 8 is above the EMA RSI 36, it signals strong bullish momentum. Conversely, when the RSI is below the EMA RSI 8 and the EMA RSI 8 is below the EMA RSI 36, it signals bearish momentum.
Visual Summary:
The RSI is plotted as a blue line.
The EMA RSI 8 (short-term EMA) is plotted in red.
The EMA RSI 36 (long-term EMA) is plotted in green.
Shaded regions highlight significant RSI levels, aiding in quick identification of overbought and oversold conditions.
Key horizontal lines (50, 30, 70, 80, etc.) are added for context, providing a clear view of critical RSI thresholds.
This indicator is primarily used for spotting potential trend reversals or confirming strong trends, based on the interaction between the RSI and its EMAs. It can be particularly helpful for traders using RSI as a primary tool for market momentum analysis.
DEMA Adjusted Average True Range [vivekm8955]This startegy describes the perfect long and short position with perfect HMA and EMA calculation considering the ATR.
Multiple options (DEMA, EMA crossover etc) for seperate buy or sell signals
KPL Grid + Sequential Support/Resistance Indicator[Tronly]Draws Key Price Levels Grid
Draws Support/Resistance Levels. Work in Pair With Tronly Prof Trader Desktop
Bollinger Bands Fill Prothis improved bollinger band indicator will give fine tuning of bullish and bearish trend with color fills which changes according to trends. this is user friendly with simple and powerful indication.
Combined [LuxAlgo]Combined lux script.
Consist of rsi and ma.
indicator("Combined ")
//@version=6
//------------------------------------------------------------------------------
//Settings
//-----------------------------------------------------------------------------{
length = input.int(14, minval = 2)
smoType1 = input.string('RMA', 'Method', options = )
src = input(close, 'Source')
arsiCss = input(color.silver, 'Color', inline = 'rsicss')
autoCss = input(true, 'Auto', inline = 'rsicss')
//Signal Line
smooth = input.int(14, minval = 1, group = 'Signal Line')
smoType2 = input.string('EMA', 'Method', options = , group = 'Signal Line')
signalCss = input(#ff5d00, 'Color', group = 'Signal Line')
//OB/OS Style
obValue = input.float(80, 'Overbought', inline = 'ob', group = 'OB/OS Style')
obCss = input(#089981, '', inline = 'ob', group = 'OB/OS Style')
obAreaCss = input(color.new(#089981, 80), '', inline = 'ob', group = 'OB/OS Style')
osValue = input.float(20, 'Oversold ', inline = 'os', group = 'OB/OS Style')
osCss = input(#f23645, '', inline = 'os', group = 'OB/OS Style')
osAreaCss = input(color.new(#f23645, 80), '', inline = 'os', group = 'OB/OS Style')
//-----------------------------------------------------------------------------}
//Functions
//-----------------------------------------------------------------------------{
ma(x, len, maType)=>
switch maType
'EMA' => ta.ema(x, len)
'SMA' => ta.sma(x, len)
'RMA' => ta.rma(x, len)
'TMA' => ta.sma(ta.sma(x, len), len)
//-----------------------------------------------------------------------------}
//Augmented RSI
//-----------------------------------------------------------------------------{
upper = ta.highest(src, length)
lower = ta.lowest(src, length)
r = upper - lower
d = src - src
diff = upper > upper ? r
: lower < lower ? -r
: d
num = ma(diff, length, smoType1)
den = ma(math.abs(diff), length, smoType1)
arsi = num / den * 50 + 50
signal = ma(arsi, smooth, smoType2)
//-----------------------------------------------------------------------------}
//Plots
//-----------------------------------------------------------------------------{
plot_rsi = plot(arsi, 'Ultimate RSI'
, arsi > obValue ? obCss
: arsi < osValue ? osCss
: autoCss ? chart.fg_color : arsiCss)
plot(signal, 'Signal Line', signalCss)
//Levels
plot_up = plot(obValue, color = na, editable = false)
plot_avg = plot(50, color = na, editable = false)
plot_dn = plot(osValue, color = na, editable = false)
//OB-OS
fill(plot_rsi, plot_up, arsi > obValue ? obAreaCss : na)
fill(plot_dn, plot_rsi, arsi < osValue ? osAreaCss : na)
//Gradient
fill(plot_rsi, plot_avg, obValue, 50, obAreaCss, color.new(chart.bg_color, 100))
fill(plot_avg, plot_rsi, 50, osValue, color.new(chart.bg_color, 100), osAreaCss)
hline(obValue, 'Overbought')
hline(50, 'Midline')
hline(osValue, 'Oversold')
//---------------------------------------------------------------------------------------------------------------------}
//Settings
//---------------------------------------------------------------------------------------------------------------------{
window = input.int(100, minval = 0)
forecast = input.int(0)
sigma = input.float(0.01, step = 0.1, minval = 0)
mult = input.float(2, 'Multiplicative Factor', minval = 0)
src1 = input.source(close, 'Source')
//Style
upCss = input(color.new(#5b9cf6, 50), 'Upper Extremity', group = 'Style')
dnCss = input(color.new(#e91e63, 50), 'Lower Extremity', group = 'Style')
bullCss = input(#3179f5, 'Moving Average', inline = 'ma', group = 'Style')
bearCss = input(#e91e63, '' , inline = 'ma', group = 'Style')
//---------------------------------------------------------------------------------------------------------------------}
//Functions
//---------------------------------------------------------------------------------------------------------------------{
rbf(x1, x2, l)=> math.exp(-math.pow(x1 - x2, 2) / (2.0 * math.pow(l, 2)))
kernel_matrix(X1, X2, l)=>
km = matrix.new(X1.size(), X2.size())
i = 0
for x1 in X1
j = 0
for x2 in X2
rbf = rbf(x1, x2, l)
km.set(i, j, rbf)
j += 1
i += 1
km
//---------------------------------------------------------------------------------------------------------------------}
//Kernel Setup
//---------------------------------------------------------------------------------------------------------------------{
var identity = matrix.new(window, window, 0)
var array K_row = na
if barstate.isfirst
xtrain = array.new(0)
xtest = array.new(0)
//Build identity matrix and training array
for i = 0 to window-1
for j = 0 to window-1
identity.set(i, j, i == j ? 1 : 0)
xtrain.push(i)
//Build testing array
for i = 0 to window+forecast-1
xtest.push(i)
//Compute kernel matrices
s = identity.mult(sigma * sigma)
Ktrain = kernel_matrix(xtrain, xtrain, window).sum(s)
K_inv = Ktrain.pinv()
K_star = kernel_matrix(xtrain, xtest, window)
K_row := K_star.transpose().mult(K_inv).row(window+forecast-1)
//---------------------------------------------------------------------------------------------------------------------}
//Moving Average
//---------------------------------------------------------------------------------------------------------------------{
var os = 0
mean = ta.sma(src1, window)
//Get end point estimate
float out = na
if bar_index > window
dotprod = 0.
//Dot product between last K_row and training data
for i = 0 to window-1
dotprod += K_row.get(i) * (src1 - mean)
//Output
out := dotprod + mean
mae = ta.sma(math.abs(src - out), window) * mult
upper1 = out + mae
lower1 = out - mae
os := close > upper1 and out > out ? 1 : close < lower1 and out < out ? 0 : os
//
// @author LazyBear
//
// If you use this code in its original/modified form, do drop me a note.
//
n1 = input(10, "Channel Length")
n2 = input(21, "Average Length")
obLevel1 = input(60, "Over Bought Level 1")
obLevel2 = input(53, "Over Bought Level 2")
osLevel1 = input(-60, "Over Sold Level 1")
osLevel2 = input(-53, "Over Sold Level 2")
ap = hlc3
esa = ta.ema(ap, n1)
d1 = ta.ema(math.abs(ap - esa), n1)
ci = (ap - esa) / (0.015 * d1)
tci = ta.ema(ci, n2)
wt1 = tci
wt2 = ta.sma(wt1,4)
plot(0, color=color.gray)
plot(obLevel1, color=color.red)
plot(osLevel1, color=color.green)
plot(obLevel2, color=color.red)
plot(osLevel2, color=color.green)
plot(wt1, style=plot.style_area, color=color.new(#2196F3, 10), title="wt1")
plot(wt2, style=plot.style_area, color=color.new(#2196F3, 10), title="wt2")
plot(wt1-wt2, color=color.yellow, style=plot.style_area)
plot(ta.cross(wt1, wt2) ? wt2 : na, color =color.black, style = plot.style_line, linewidth = 5)
plot(ta.cross(wt1, wt2) ? wt2 : na, color = (wt2 - wt1 > 0 ? color.red: color.lime) , style = plot.style_circles, linewidth = 6)
barcolor(ta.cross(wt1, wt2) ? (wt2 - wt1 > 0 ? color.black : color.yellow) : na)
Key Levels (Open, Premarket, & Yesterday)You can view
PMH - Peremarket High
PML - Premarket Low
YDO - Yesterday Open
YDC - Yesterday Close
YDL - Yesterday Low
ORL - Opening Range High
ORL - Opening Range Low
TDH - Today High
TDL - Today low
Lot of other markers and styles to configure too...
Donchian Channels, Variable EMAs & 52-Week High/LowDonchian Channels, Variable EMAs & 52-Week High/Low"
Liquidity Hunter AI//@version=5
indicator("Liquidity Hunter AI", overlay=true, shorttitle="LQHAI")
// ———— Inputs ————
htf_resolution = input.timeframe("1D", "High Timeframe")
ema_period = input(200, "HTF EMA Period")
liquidity_lookback = input(50, "Liquidity Lookback Bars")
rsi_length = input(14, "RSI Length")
risk_reward = input(3.0, "Risk:Reward Ratio")
// ———— Core Logic ————
// 1. HIGH TIMEFRAME BIAS (Bullish/Bearish Filter)
htf_close = request.security(syminfo.tickerid, htf_resolution, close)
htf_ema = ta.ema(htf_close, ema_period)
bullish_bias = htf_close > htf_ema ? true : false
bearish_bias = htf_close < htf_ema ? true : false
// 2. LIQUIDITY ZONES (Recent Swing Highs/Lows)
recent_high = ta.highest(high, liquidity_lookback)
recent_low = ta.lowest(low, liquidity_lookback)
// 3. MOMENTUM CONFIRMATION
rsi = ta.rsi(close, rsi_length)
vol_ok = volume > ta.sma(volume, 20) * 1.5
// 4. ENTRY LOGIC
buy_signal =
bullish_bias and
(ta.crossover(low, recent_low)) and
rsi < 45 and
vol_ok
sell_signal =
bearish_bias and
(ta.crossunder(high, recent_high)) and
rsi > 55 and
vol_ok
// 5. RISK MANAGEMENT
stop_distance = buy_signal ? (close - recent_low) : (recent_high - close)
take_profit = buy_signal ? close + (stop_distance * risk_reward) : close - (stop_distance * risk_reward)
// ———— Plots/Visuals ————
plotshape(buy_signal, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)
plotshape(sell_signal, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)
plot(recent_high, "Liquidity High", color=color.red, linewidth=1)
plot(recent_low, "Liquidity Low", color=color.green, linewidth=1)
أبو عائشةIt's a primitive version.
This indicator displays daily intervals over a full week.It's a primitive version.
This indicator displays daily intervals over a full week.It's a primitive version.
This indicator displays daily intervals over a full week.
D-4EMA-8SMA4 ve 8 lik ortalamalarla al sat stratejisi. 4lük ortalamaları kesince alış 8 lik ortalamaları kesince ek bir alış. Ters yönde tersine hareket eden. RSI 30-80 üzeerinde kar alan bir strateji
Bollinger Band Entry Strategy (Revised)Bollinger Bands:
The basis is the 20-period SMA.
The upper and lower bands are calculated using the standard deviation multiplier (default is 2).
Short Entry:
A red candle (close < open) closes below the lower Bollinger Band.
The next candle's open is used as the entry point for a short position.
Long Entry:
A green candle (close > open) closes above the upper Bollinger Band.
The next candle's open is used as the entry point for a long position.
Stop Loss and Take Profit:
Stop loss is set at 1% below the entry price for long positions and 1% above for short positions.
Take profit is set at 2% above the entry price for long positions and 2% below for short positions.
Plotting:
The Bollinger Bands (basis, upper, and lower) are plotted on the chart for visualization.
EMA High & Low BandThis Pine Script indicator, named "EMA High & Low Band," creates a visual band using Exponential Moving Averages (EMAs) of the high and low prices. It calculates a 55-period EMA for both the high and low prices, plotting them as the upper and lower boundaries of the band. The script then colors the band based on the position of the closing price: green if the close is above the upper EMA, red if the close is below the lower EMA, and gray if the close is within the band. This indicator helps traders visualize volatility and potential trend directions by showing the relationship between the closing price and the EMA-based high/low band.
"The indicator already exists, but since the author has not published the script, and everyone who uses an indicator should also understand it, I am publishing it here with Pine Script."
52 Week H/L (Boxed) with H/L & CP/H %52 Week H/L (Boxed) with H/L & CP/H %
A simple indicator that can be used on any timeframe to display, in a box, the 52 week High/Low values along with percentage differences (rounded) between High/Low & High/Current Price to get an idea of the strength in the instruments current price vis-a-vis it's 52 week journey.
Features
* Works on any timeframe.
* 52 weeks boxed in a dotted rectangle for a clearer picture.
* Allows users to select whether to calculate values from close or high/low’s.
* Allows users to toggle percentages label on/off.
* Allows users to toggle the rectangle box on/off while still showing labels on the price scale.
This script is open source for users to refine as per their needs. Additionally I would appreciate any constructive feedback. Thank you
Ultimate Smart Money Scalper - FINAL WORKING VERSIONIts the best there is.IT reads candles, charts and more
Bollinger Bands (Indicator Only)
Strategy Fellow,Hansen007,tg:@tatasocs
This is a simple Bollinger Bands indicator, which can be combined with other indicators to effectively form an excellent trading strategy, I hope it will be helpful to you