AlgoAIDESIGNED FOR HEIKEN ASHI BARS
Gain Access here: algoai.store
AlgoAI
The Dark Edge of Trading
An AI-powered TradingView strategy that thrives across all markets. Short altcoin pumps. Ride NAS100 waves. Dominate gold, FX, stocks, and futures — all with one AI brain.
#1
Semi-Automatic Trading (Recommended)
Set up alerts on AlgoAI signals. As they come in, grade the setups and choose to enter manually. This gives you full control while leveraging AI precision.
#2
Fully Automated Trading
Pass signals via webhooks to TradersPost for futures or PineConnector for FX. Note: When running fully automated, it's suggested to use long-only or short-only mode to avoid side swiping and potential unintended drawdown.
BITSTAMP:BTCUSD
Moving Averages
Hidden HybridHidden Hybrid or Sakli Katişik is an unique system by me for traders. I hope you found this so effective for your works. With regards,
3MA/EMA Alerts指标名称(中文/英文)
中文名:多均线趋势指标(带上穿与金叉提醒)
英文名:Multi MA/EMA Trend Indicator (with Price & Golden Cross Alerts)
指标功能介绍(中文)
多均线趋势指标(带上穿与金叉提醒) 是一个可自定义的均线工具,适用于趋势分析和交易信号提醒。
核心功能:
多均线显示
默认显示 EMA20,EMA80/200 可选择显示
每条均线可独立选择 EMA 或 SMA
自定义颜色和线宽
价格上穿均线提醒
当价格向上突破任意开启的均线时触发提醒
可用于捕捉短线趋势启动点
金叉提醒
当短期均线向上穿过中长期均线时触发提醒
可用于捕捉潜在的趋势反转或加速
中文 UI
参数和提醒信息均为中文,便于快速理解和使用
适用场景
趋势确认
趋势反转捕捉
短线入场和长期持仓参考
Indicator Description (English)
Multi MA/EMA Trend Indicator (with Price & Golden Cross Alerts) is a customizable moving average tool for trend analysis and trading alerts.
Key Features:
Multiple Moving Averages
Default display: EMA20; EMA80/200 optional
Each MA can be set as EMA or SMA individually
Customizable colors and line widths
Price Cross Alerts
Alerts when price crosses above any active MA
Helps identify short-term trend initiation points
Golden Cross Alerts
Alerts when a short-term MA crosses above a mid/long-term MA
Useful for detecting trend acceleration or reversal signals
User-Friendly Interface
Parameters and alerts are labeled in Chinese (can be translated)
Applications
Trend confirmation
Trend reversal detection
Short-term entries and long-term position guidance
Mark Minervini Trend Template Candles📊 Mark Minervini Trend Template (Enhanced)
This script brings Mark Minervini’s famous Trend Template directly onto your TradingView charts — combining candle coloring, moving averages, trend checks, and a live criteria table into one tool.
🔎 What it does:
Candle Coloring: Each bar is colored on a gradient from red → yellow → light green → strong green, depending on how many of the 10 Trend Template rules are satisfied.
Key Moving Averages: Plots the 50-day, 150-day, and 200-day SMAs with distinct colors.
52-Week Context: Checks if the stock is trading near its yearly highs/lows.
Relative Strength vs. S&P 500: Scales performance into a percentile rank (0–100).
Trend Template Table: A neat table appears on the right-hand side of the chart, showing:
Each of the 10 Minervini rules ✅ / ❌
Current values (relative strength, % from 52-week high/low)
Total score out of 10
✅ Benefits:
Quickly spot whether a stock meets Minervini’s strict criteria for strong uptrends.
Use the color-coded candles for fast visual scanning.
Get a transparent checklist (no guesswork) with real-time updates.
📈 Ideal For :
Swing traders & growth investors who follow Mark Minervini’s methodology.
Traders who want a visual, rule-based filter to focus only on the strongest stocks.
顺序三连穿越:2/3先入 + 3/3加仓(仅低波动过滤)策略描述(中文)
本策略基于 顺序三连穿越 原则:当 MA5 依次上穿 MA10、MA30、MA60 时,触发趋势做多信号;反之依次下穿时触发做空信号。
在完成 2/3 穿越时即可先行入场,完成 3/3 穿越时可选择加仓确认。
为减少震荡磨损,策略引入了布林带带宽过滤:当市场波动率过低时禁止入场。同时设有 冷静期,避免刚出场后立即反复进场。
该系统适用于趋势性较强或弱趋势行情,能够较好地捕捉单边走势,但在长时间震荡行情中仍可能遭遇利润侵蚀。
Strategy Description (English)
This strategy is built on the Sequential Triple Crossover principle:
When the 5-period moving average (MA5) sequentially crosses above MA10, MA30, and MA60, a bullish entry is triggered.
Conversely, when MA5 sequentially crosses below MA10, MA30, and MA60, a bearish entry is triggered.
An early entry is allowed once 2 out of 3 crossovers are completed, while the final crossover (3/3) can optionally serve as a confirmation add-on position.
To mitigate losses in choppy conditions, the system uses a Bollinger Bandwidth filter that blocks entries when volatility is too low. A cooldown period is also implemented to avoid immediate re-entries after closing a trade.
This setup performs well in trending or weak-trend environments, capturing directional moves effectively, but may still suffer from profit erosion during prolonged sideways markets.
MA and Minervini Trend Template CriteriaThis indicator implements the Mark Minervini Trend Template criteria for easy identification of trending stocks on TradingView charts.
It calculates and plots five key moving averages (10, 20, 50, 150, 200-day) using configurable EMA or SMA types.
The indicator evaluates a set of key technical conditions based on these moving averages and 52-week price extremes to score if a stock meets Minervini’s trend rules.
Visually, it overlays the MAs and displays a green or red dot above each candle indicating if all criteria are met or not.
An optional, detailed table shows the pass/fail status of each individual criterion in a clear, color-coded format with check marks and crosses.
Users can toggle this detailed view on or off, and when off, a concise summary with a colored dot is displayed on the chart with configurable size and position for minimal distraction.
This tool helps traders quickly assess whether a stock currently aligns with Mark Minervini’s proven trend criteria, assisting in better trade timing and stock selection strategies.
EMA & BarCountNothing. EMA & Bar Count
Nothing. EMA & Bar Count
Nothing. EMA & Bar Count
Nothing. EMA & Bar Count
Nothing. EMA & Bar Count
Thanks .
Price Deviation StrategyThis strategy getting in long position only after the price drop
The % of the drop is Determined by SMA for the first trade
The inputs of SMA and % of the drop can be adjust from the User
After that bot start taking safe trades if not take profit from the first trade
The safe trades are Determined by step down deviation % and by quantity
There is no Stop loss is not for one with small tolerance to getting under
Take profit is average price + take profit - note if you use % trailing profit back test is not realistic but is working on real time
Max Safe Trades = 15
Capital max = $30000
Doge-USDT is just a example What the Strategy Can do
Green line - take profit
Black line - Brake even with fee - adjust for exchange
PSAR+EMA+Hull+BBDescription
This all-in-one indicator combines four proven tools:
Parabolic SAR (Everget) — trend direction and potential reversals.
Exponential Moving Averages (20/50/100/200) — customizable lengths, colors, and offsets.
Hull Suite (InSilico) — smooth trend detection with multiple variations (HMA, THMA, EHMA).
Bollinger Bands — volatility and dynamic support/resistance.
Features
Toggle each module on/off in settings.
Fully configurable inputs (lengths, colors, offsets, multipliers).
Optional PSAR labels, highlights, and state fill.
Hull can color candles, draw band fills, and pull from higher timeframes.
Bollinger Bands include multiple basis types, stdev multipliers, and fill transparency.
Built-in alerts: PSAR direction change, Hull trending up/down.
Category
Trend Analysis (with Volatility as secondary).
Bollinger Bands with 4 Moving AveragesCombines Bollinger Bands (BB) with up to four optional Moving Averages (MA) to read volatility, trend direction, and dynamic support–resistance in one overlay.
How It Works
BB: basis = MA(length, type) with standard deviation mult. upper = basis + dev, lower = basis − dev.
MA1–MA4: additional averages you can toggle (default only MA4/200 enabled).
Key Features
Flexible basis MA type for BB: SMA / EMA / RMA (Wilder) / WMA / VWMA.
Four optional MAs with independent length, color, and width (defaults: 7, 25, 99, 200; only 200 on by default).
Offset to shift BB for visual testing.
Overlay on price with shaded band between Upper–Lower.
Inputs & Defaults
BB Length = 20, StdDev = 2.0, Source = close.
Basis MA Type = SMA.
MA4 active (200), MA1–MA3 off (7/25/99 ready).
Offset = 0.
Practical Use
Use BB for volatility context: squeeze → potential breakout; expansion → strong trend.
Treat Basis / Upper / Lower as dynamic levels:
Pullbacks to Basis often become decision zones in trends.
Upper/Lower touches = relative extremes.
Add MA4(200) for primary bias; enable MA1–MA3 for finer timing.
Typical behavior:
Price > MA200 and rising basis → bullish bias; watch pullbacks to basis/MA25-like zones.
Price < MA200 and falling basis → bearish bias; watch rejections at basis/MAs.
Common Signals (not financial advice)
Breakout + BB expansion confirms momentum.
Squeeze + basis break can preface volatility expansion.
Confluence: Lower touch + fast MA in uptrends → mean-reversion setups; inverse for downtrends.
Notes
MA1–MA4 are SMA in the code; BB basis follows the selected MA type.
Test across timeframes; tune length and mult to the asset.
Disclaimer
Visual tool only. Combine with risk management, multi-timeframe confirmation, and a tested plan.
Delta Volume Signals by Claudio [hapharmonic]Modifications:
Percentages without decimals.
I replaced the 'Current Volume' row with two boxes: "Δ Vol" and its value, which changes color depending on the direction of the bearish/bullish candle.
Signals can change color in the settings.
Box spacing so the table doesn't constantly change size.
To be modified:
The Net Volume sign shouldn't change to negative when the candle is red.
If anyone does this, let me know...
claudio.ventola@hotmail.com
Best regards!
Customizable MA 10/20/50/100/200Customizable EMA/SMA indicator. Select EMA (default) or SMA and support up to 5 timeframes.
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).
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} Buy: {1} ({2}) Sell: {3} ({4}) {5}/\ {5}l {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 = '--------- '+"Buy volume ="+buyVolStr+" Buy Percent = "+buyPercentStr+" Sell volume = "+sellVolStr+" Sell Percent = "+sellPercentStr+" Net = "+volStr+' ---------'
if crossoverConfirmed
alert("Price (" + str.tostring(close) + ") Crossed over MA " + msg, alert_freq)
if crossunderConfirmed
alert("Price (" + str.tostring(close) + ") Crossed under MA " + msg, alert_freq)
Smartalgo gn1Smart Algo gives you clear entry & exit signals using advanced price action logic. Built for traders who want consistency and speed.
Flat Day PredictorAdvanced technical indicator that predicts low-volatility "flat" trading days using multi-factor analysis. Designed for day traders and scalpers who need to identify when markets are likely to trade sideways.
Key Features:
Real-time flat day probability calculation (0-100%)
8-factor scoring system combining volatility, volume, and momentum indicators
Visual table displaying all indicator values and overall signal strength
Color-coded alerts for high-probability flat day signals
Works on all timeframes, optimized for intraday trading
Indicators Analyzed:
VIX volatility levels
Bollinger Band width compression
RSI momentum neutrality
ATR trend declining
Volume below average
Daily range percentage
Price action patterns
Market regime detection
Signal Levels:
75%+ = VERY HIGH flat probability (Red alert)
62-74% = HIGH flat probability (Orange)
50-61% = MODERATE flat probability (Yellow)
Below 50% = Trending day likely (Green)
Usage:
Add to any chart and monitor the probability percentage. Higher scores indicate increased likelihood of sideways price action. Use for position sizing, strategy selection, and risk management during low-volatility periods.
VWAP + EMA Smart SignalsFlexible use of EMA and VWAP. this Indicator will provide signal when VWAP and moving average will give together the same Buy and Sell signals.
EMA KitEMA Kit delivers multiple 1D EMA's wrapped into a single indicator.
I was annoyed with having a bunch of EMA indicators on the left side of my chart for each individual EMA I rely on, so I created a single indicator with all of them.
This EMA kit allows you to select any combination of the following EMA's: 3D, 5D, 8D, 21D, 34D, 50D, 100D, 200D, and 200W. They are all based on the 1D timeframe regardless of the timeframe you're currently viewing on your chart - for example, if you toggle from a Daily chart to a 15 minute chart, the EMA's won't change to reflect the 15 minute timeframe. EMA Kit smoothes the lines to prevent staggering on lower timeframes. You can change the color scheme and line thickness and even toggle between different line types like area, histogram, etc. You also have the option to turn end-of-line price labels on/off. Current price level for each EMA is highlighted on the price scale.
EMA/SMA Market Indicator V1 (Situational Awareness Uptrend)Red condition (highest priority in code)
Background = red if any of these are true:
Close < 10MA
OR Close < 20MA
OR (10MA and 20MA slopes ≤ threshold → “flat/down”)
Green condition (only if not red)
Background = green if:
(Close > 10MA or Close > 20MA)
AND Close > 50MA
Otherwise = nothing (transparent)
If neither red nor green is true → background is off.
So when is there no background?
Close is not below 10MA
Close is not below 20MA
MAs are not both flat/down
AND the price fails the “green test” (ex. under 50MA, or not above 10/20).
Uptrick: Volatility Weighted CloudIntroduction
The Volatility Weighted Cloud (VWC) is a trend-tracking overlay that combines adaptive volatility-based bands with a multi-source smoothed price cloud to visualize market bias. It provides users with a dynamic structure that adapts to volatility conditions while maintaining a persistent visual record of trend direction. By incorporating configurable smoothing techniques, percentile-ranked volatility, and multi-line cloud construction, the indicator allows traders to interpret price context more effectively without relying on raw price movement alone.
Overview
The script builds a smoothed price basis using the open, and close prices independently, and uses these to construct a layered visual cloud. This cloud serves both as a reference for price structure and a potential area of dynamic support and resistance. Alongside this cloud, adaptive upper and lower bands are plotted using volatility that scales with percentile rank. When price closes above or below these bands, the script interprets that as a breakout and updates the trend bias accordingly.
Candle coloring is persistent and reflects the most recent confirmed signal. Labels can optionally be placed on the chart when the trend bias flips, giving traders additional visual reference points. The indicator is designed to be both flexible and visually compact, supporting different strategies and timeframes through its detailed configuration options.
Originality
This script introduces originality through its combined use of percentile-ranked volatility, adaptive envelope sizing, and multi-source cloud construction. Unlike static-band indicators, the Volatility Weighted Cloud adjusts its band width based on where current volatility ranks within a defined lookback range. This dynamic scaling allows for smoother signal behavior during low-volatility environments and more responsive behavior during high-volatility phases.
Additionally, instead of using a single basis line, the indicator computes two separate smoothed lines for open and close. These are rendered into a shaded visual cloud that reflects price structure more completely than traditional moving average overlays. The use of ALMA and MAD, both less commonly applied in volatility-band overlays, adds further control over smoothing behavior and volatility measurement, enhancing its adaptability across different market types.
Inputs
Group: Core
Basis Length (short-term): The number of bars used for calculating the primary basis line. Affects how quickly the basis responds to price changes.
Basis Type: Option to choose between EMA and ALMA. EMA provides a standard exponential average; ALMA offers a centered, Gaussian-weighted average with reduced lag.
ALMA Offset: Determines the balance point of the ALMA window. Only applies when ALMA is selected.
Sigma: Sets the width of the ALMA smoothing window, influencing how much smoothing is applied.
Basis Smoothing EMA: Adds additional EMA-based smoothing to the computed basis line for noise reduction.
Group: Volatility & Bands
Volatility: Choose between StDev (standard deviation) and MAD (median absolute deviation) for measuring price volatility.
Vol Length (short-term): Length of the window used for calculating volatility.
Vol Smoothing EMA: Smooths the raw volatility value to stabilize band behavior.
Min Multiplier: Minimum multiplier applied to volatility when forming the adaptive bands.
Max Multiplier: Maximum multiplier applied at high volatility percentile.
Volatility Rank Lookback: Number of bars used to calculate the percentile rank of current volatility.
Show Adaptive Bands: Enables or disables the display of upper and lower volatility bands on the chart.
Group: Trend Switch Labels
Show Trend Switch Labels: Toggles the appearance of labels when the trend direction changes.
Label Anchor: Defines whether the labels are anchored to recent highs/lows or to the main basis line.
ATR Length (offset): Length used for calculating ATR, which determines label offset distance.
ATR Offset (multiplier): Multiplies the ATR value to place labels away from price bars for better visibility.
Label Size: Allows selection of label size (tiny to huge) to suit different chart setups.
Features
Adaptive Volatility Bands: The indicator calculates volatility using either standard deviation or MAD. It then applies an EMA smoothing layer and scales the band width dynamically based on the percentile rank of volatility over a user-defined lookback window. This avoids fixed-width bands and allows the indicator to adapt to changing volatility regimes in real time.
Volatility Method Options: Users can switch between two volatility measurement methods:
➤ Standard Deviation (StDev): Captures overall price dispersion, but may be sensitive to spikes.
➤ Median Absolute Deviation (MAD): A more robust measure that reduces the effect of outliers, making the bands less jumpy during erratic price behavior.
Basis Type Options: The core price basis used for cloud and bands can be built from:
➤ Exponential Moving Average (EMA): Fast-reacting and widely used in trend systems.
➤ Arnaud Legoux Moving Average (ALMA): A smoother, more centered alternative that offers greater control through offset and sigma parameters.
Multi-Line Basis Cloud: The cloud is formed by plotting two individually smoothed basis lines from open and close prices. A filled area is created between the open and close basis lines. This cloud serves as a dynamic support or resistance zone, allowing users to identify possible reversal areas. Price moving through or rejecting from the cloud can be interpreted contextually, especially when combined with band-based signals.
Persistent Trend Bias Coloring: The indicator uses the last confirmed breakout (above upper band or below lower band) to determine bias. This bias is reflected in the color of every subsequent candle, offering a persistent visual cue until a new signal is triggered. It helps simplify trend recognition, especially in choppy or sideways markets.
Trend Switch Labels: When enabled, the script places labeled markers at the exact bar where the bias direction switches. Labels are anchored either to recent highs/lows or to the main basis line, and spaced vertically using an ATR-based offset. This allows the trader to quickly locate historical trend transitions.
Alert Conditions: Two built-in alert conditions are available:
➤ Long Signal: Triggered when the close crosses above the upper adaptive band.
➤ Short Signal: Triggered when the close crosses below the lower adaptive band.
These conditions can be used for custom alerts, automation, or external signaling tools.
Display Control and Flexibility: Users can disable the adaptive bands for a cleaner layout while keeping the basis cloud and candle coloring active. The indicator can be tuned for fast or slow response depending on the strategy in use, and is suitable for intraday, swing, or position trading.
Summary
The Volatility Weighted Cloud is a configurable trend-following overlay that uses adaptive volatility bands and a structured cloud system to help visualize market bias. By combining EMA or ALMA smoothing with percentile-ranked volatility and a four-line price structure, it provides a flexible and informative charting layer. Its key strengths lie in the use of dynamic envelopes, visually persistent trend indication, and clearly defined breakout zones that adapt to current volatility conditions.
Disclaimer
This indicator is for informational and educational purposes only. Trading involves risk and may not be suitable for all investors. Past performance does not guarantee future results.
Best MA Finder: Sharpe/Sortino ScannerThis script, Best MA Finder: Sharpe/Sortino Scanner, is a tool designed to identify the moving average (SMA or EMA) that best acts as a dynamic trend threshold on a chart, based on risk-adjusted historical performance. It scans a wide range of MA lengths (SMA or EMA) and selects the one whose simple price vs MA crossover delivered the strongest results using either the Sharpe ratio or the Sortino ratio. Reading it is intuitive: when price spent time above the selected MA, conditions were on average more favorable in the backtest; below, less favorable. It is a trend and risk gauge, not an overbought or oversold signal.
What it does:
- Runs individual long-only crossover backtests for many MA lengths across short to very long horizons.
- For each length, measures the total number of trades, the annualized Sharpe ratio, and the annualized Sortino ratio.
- Uses the chosen metric value (Sharpe or Sortino) as the score to rank candidates.
- Applies a minimum trade filter to discard statistically weak results.
- Optionally applies a local stability filter to prefer a length that also outperforms its close neighbors by at least a small margin.
- Selects the optimal MA and displays it on the chart with a concise summary table.
How to use it:
- Choose MA type: SMA or EMA.
- Choose the metric: Sharpe or Sortino.
- Set the minimum trade count to filter out weak samples.
- Select the risk-free mode:
Auto: uses a short-term risk-free rate for USD-priced symbols when available.
Manual: you provide a risk-free ticker.
None: no risk-free rate.
- Optionally enable stability controls: neighbor radius and epsilon.
- Toggle the on-chart summary table as needed.
On-chart output:
- The selected optimal MA is plotted.
- The optional table shows MA length, number of trades, chosen metric value annualized, and the annual risk-free rate used.
Key features:
- Risk-adjusted optimization via Sharpe or Sortino for fair, comparable assessment.
- Broad MA scan with SMA and EMA support.
- Optional stability filter to avoid one-off spikes.
- Clear and auditable presentation directly on the chart.
Use cases:
- Traders who want a defensible, data-driven trend threshold without manual trial and error.
- Swing and trend-following workflows across timeframes and asset classes.
- Quick SMA vs EMA comparisons using risk-adjusted results.
Limitations:
- Not a full trading strategy with position sizing, costs, funding, slippage, or stops.
- Long-only, one position at a time.
- Discrete set of MA lengths, not a continuous optimizer.
- Requires sufficient price history and, if used, a reliable risk-free series.
This script is open-source and built from original logic. It does not replicate closed-source scripts or reuse significant external components.
Smart TP Manager V.1.1 (SL trail par TP)🔹 Smart TP Manager V1.1 – Trade Management Advanced
A powerful TradingView tool designed to enhance trade management and protect profits.
Features:
Automatically detect Long/Short signals using EMA crossovers, RSI filter, higher-timeframe EMA trend, and ADX strength.
Calculate and display a dynamic Stop Loss based on ATR.
Automatically set TP1, TP2, TP3 with advanced Breakeven management:
SL moves to Entry after TP1 hit
SL moves to TP1 after TP2 hit, securing partial profits
Track your performance with a comprehensive statistics table (Win/Loss, BE, win rate, net profit in R).
Clear visual display of entries, SL, and TPs using colored lines and labels.
Receive automatic alerts for every signal and target reached.
Optional SL trailing feature to secure profits progressively as targets are hit.
📊 Smart TP Manager V1.1 is your assistant for risk control, trade optimization, and profit protection on TradingView.