Two Bar Break Line Alerts R1.0 by JustUncleLThis indicator with default settings is designed for BINARY OPTIONS trading. The indicator can also be used for Forex trading with some setting changes. The script shows Two Bar Pullback Break lines and alerts when those Break lines are Touched (broken) creating a short term momentum entry condition.
For a Bullish Break (Green Up Arrow) to occur: first must have two (or three) consecutive bear (red) candles which is followed by a bull (green) candle creating a pivot point. The breakout occurs then the High of the current Bull (green) exceeds the highest point of the previous two (or three) pivotal bear candles. The green channel Line shows where the current Bullish BreakOut occurs.
For a Bearish Break (Red Down Arrow) to occur: first must have two (or three) consecutive bull (green) candles which is followed by a bear (red) candle creating a pivot point. The breakout occurs when the Low of the current Bear (red) drops below the lowest point of the previous two (or three) pivotal Bull candles. The red channel Line shows where the current Bearish BreakOut occurs.
The break Line Arrows can optionally be filtered by the Coloured MA (enabled by default), a longer term directional MA (disabled by default) and/or a MACD condition (enabled by default) as a momentum filter.
You can optionally select three Bar break lines instead of two. The three bar break lines are actually equivalent to Guppy's Three Bar Count Back Line method for trade entries (see Guppy's video reference below).
Included in this indicator is an ability to display some basic Binary Option statistics, when enabled (enabled by default) it shows Successful Bars in Yellow and failed Bars in Black and the last Nine numbers on the script title line represent the Binary option Statistics in order:
%ITM rate
Total orders
Successful Orders
Failed Orders
Total candles tested
Candles per Day
Trades per Day
Max Consecutive Wins
Max Consecutive Losses
You can start the Binary Option statistics from a specific Date, which is handy for checking more recent history.
HINTS:
BINARY OPTIONS trading: use 5min, 15m, 1hr or even Daily charts. Trade after the price touches one of the Breakout lines and the Arrow first appears. Wait for the price to come back from Break Line by 1 or 2 pips, the alert arrow must stay on and candle change to black, then take Binary trade expiry End of Candle. If price pull back and arrow turns off, don't trade this candle, move on you probably don't have momentum, there will be plenty of other trigger events. The backtesting results are good with ITM rates 65% to 72% on many currency pairs, commodities and indices. Realtime trading has confirmed the backtesting results and they could even be bettered, provided you are selective on which signals to trade (strong MACD support etc), that you are patient and disciplined to this trading method.
FOREX trading: the default settings should work with scalping. For longer term trades try with settings change to a more standard MACD filter or slower to catch the longer term momentum swings and the idea would be to trade the first Break Line alert that occurs after a decent Pullback in the direction of the trend. Setting the SL to just above/below the Pivot High/Low and set target to two or three times SL.
References:
"Fundamentals of Price Action Trading for Forex, Stocks, Options and Futures" video:
www.youtube.com
Other videos by "basecamptrading" on Naked Trading.
"Taking Profits in Today's Market by Daryl Guppy" video:
www.youtube.com
Pesquisar nos scripts por "bear"
Universal Longs Vs. Shorts - Ratio (Any Symbol)Hello again all my Trading View friends!
This script is a variation of my other script "Universal Longs Vs. Shorts - Percentage (Any Symbol)"
It allows you to choose ANY symbol and plot the ratio against ANY other symbol, as an indicator on your given pair. It is primarily used as an indicator of longs/shorts as well as shorts/longs as a ratio to each other.
For example, you could plot BITFINEX:BTCUSDLONGS against BITFINEX:BTCUSDSHORTS.
It plots the ratio of longs/shorts or shorts/longs. For example:
If there are more longs than shorts open, the long ratio will be great than 1 with no upper limit.
If there are less longs than shorts open, the ratio will be less than 1 but greater than 0.
The same is true when comparing shorts to longs. You can choose to view Longs Ratio only, Shorts Ratio only, or Both.
This is useful to see how many more longs there are than shorts, and visa versa, at any given time interval. It does not take into consideration total volume of longs + shorts to get an absolute number, but rather a relative ratio to each other.
If there are many more positions open in one direction over the other, the ratio will rise higher and higher away from 1, which lets you know generally that there is a lot greater volume of that position open compared to its reverse.
If you found this script helpful please remember to FOLLOW and press LIKE!!
More useful scripts to come :-D
Universal Longs Vs. Shorts - Percentage (Any Symbol)Hello all my Trading View friends!!
This script allows you to choose ANY symbol and plot the ratio against ANY other symbol, as an indicator on your given pair. It is primarily used as an indicator of longs/shorts as well as shorts/longs as a percentage of total longs + shorts.
For example, you could plot BITFINEX:BTCUSDLONGS against BITFINEX:BTCUSDSHORTS.
It takes the ratio from an absolute 100%, rather than relative to each other. Therefore, each plot has a minimum of 0% and a maximum of 100%. You can choose to view Longs Percentage only, Shorts Percentage only, or Both.
This is useful to see what percentage of total positions are either long or short at any given time interval.
If you found this script helpful please remember to FOLLOW and press LIKE!!
NG [Simple Harmonic Oscillator]The SHO is a bounded oscillator for the simple harmonic index that calculates the period of the market’s cycle.
The oscillator is used for short and intermediate terms and moves within a range of -100 to 100 percent.
The SHO has overbought and oversold levels at +40 and -40, respectively.
At extreme periods, the oscillator may reach the levels of +60 and -60.
The zero level demonstrates an equilibrium between the periods of bulls and bears.
The SHO oscillates between +40 and -40.
The crossover at those levels creates buy and sell signals.
In an uptrend, the SHO fluctuates between 0 and +40 where the bulls are controlling the market.
On the contrary, the SHO fluctuates between 0 and -40 during downtrends where the bears controlthe market.
Reaching the extreme level -60 in an uptrend is a sign of weakness.
Force Index with Buy on Dip strategyThis charts has 2 indicators
1 - Force Index
This indicator is based on Dr Alexander Elder ForceIndex indicator with relate price to volume by multiplying net change and volume.
- GREEN Bar indicates Bull is in control
- RED Bar indicates Bear is in control.
LENGTH of the bar indicate the strength of Bull or Bear.
Normally there's potential BUY if the RED bar turned GREEN and SELL if GREEN to RED.
2 - Stochastic momentum
Stochastic momentum is to detect potential Reversal where BLUE bar will appear if :-
- Oversold - Stochastic less than 35
- Closing price is higher than last 2 High (Fast Turtle)
// Note : Best use with "EMA Indicators with BUY sell Signal"
Hersheys Volume Pressure v1Hersheys Volume Pressure gives you very nice confirmation of trend starts and stops using volume and price.
For up bars...
If you have a large price range with low volume, that's very bullish.
If you have a small price range with low volume, that's bullish.
For down bars...
If you have a large price range with low volume, that's very bearish.
If you have a small price range with low volume, that's bearish.
Look at the chart and you'll see how trends start and end with a PINCH and widen in the middle of the moves.
Hersheys Volume Pressure is unique, in that it measures bull/bear pressure on each bar by itself. Other volume indicators like On Balnce Volume and Price Volume Trend use cumulative differences in the current and previous bar to show trends.
You can set the moving average period, 14 is the default.
Good trading!
Brian Hershey
Murrey Math Extremes ComparatorHOW IT WORKS
Creates two murrey math oscillators (hidden) one with 256 length another with 32 length and compare each other.
WHAT GIVE ME THIS SCRIPT
The script can give you very valuable information:
- Main Trend
- Pullbacks detections
- Extreme overbought oversold prices alerts
- Divergences
- Any timeframe usage
REFERENCES OF USAGE
Main Trend Indications
****The main trend is indicated with green(bull) or red(bears) small "triangles" on the bottom(bull) or the top(bears) of the chart.
*****To detect the Bull/Bear major trend the script use 256 murrey, if > 0 (green) we are uptrend in other cases we are downtrend
Pullback detection
****The pullbacks are indicated with Green(bull) or red(bears) medium "Arrows"
*****To detect pullbacks the system compare the long term murrey with the short term murrey, if long term is Green(green triangles)
*****so we are in a main bull trend, if the short term murrey make an extreme low then the pullback is indicated
*****The same for the short pullback, if long term murrey is RED and we have an extreme green short term murrey we shot a red arrow
Extreme Overbught/Oversold
****The extreme OO is indicated with fancy diamonds
*****To detect the Extremes price movements we combine the two murrey, if Long Term Murrey is overbought and short term murrey too
*****Then the diamond show on the screen obove or below based on the extreme if overbought or oversold
Strategy Resume:
Triangles indicate Major Trend Up/Down
Arrows Indicate Continuation pullbacks
Diamonds Indicate Extreme Prices
GUIDE HOW TO IMAGES
How it's works Behind Scene
Indicators: Volume-Weighted MACD Histogram & Sentiment Zone OscVolume-Weighted MACD Histogram
-------------------------------------------------------------------------------------
Volume-Weighted MACD Histogram, first discussed by Buff Dormeier, is a modified version of MACD study. It calculates volume-averaged Close price for finding the histogram.
More info:
www.moneyshow.com
Sentiment Zone Oscillator
-------------------------------------------------------------------------------------
Sentiment Zone Oscillator, developed by Walid Khalil, is a complementing oscillator to VZO and PZO.
To quote Walid:
>> The sentiment zone oscillator (SZO) is a leading contrary oscillator that measures the extreme emotions of a single market or share.
>> It measures and defines both extremes, bullishness (overoptimism) and bearishness (overpessimism), that could lead to a change
>> in sentiment, eventually changing the trend of the time frame under study. The SZO was devised on the belief that after several waves
>> of rising prices, investors begin to get bullish on the stock with increasing confidence since the price has been rising for some time.
>> The SZO measures that bullishness/bearishness and marks overbought/oversold levels.
SZO has its own oversold/overbought bands. Also, when SZO goes above 7, it indicates extreme optimism. When the SZO goes below -7, it indicates extreme pessimism.
More info: www.traders.com
How to import / use custom indicators from this chart?
-------------------------------------------------------------------------------------
PDF: drive.google.com
Dynamic Equity Allocation Model//@version=6
indicator('Dynamic Equity Allocation Model', shorttitle = 'DEAM', overlay = false, precision = 1, scale = scale.right, max_bars_back = 500)
// DYNAMIC EQUITY ALLOCATION MODEL
// Quantitative framework for dynamic portfolio allocation between stocks and cash.
// Analyzes five dimensions: market regime, risk metrics, valuation, sentiment,
// and macro conditions to generate allocation recommendations (0-100% equity).
//
// Uses real-time data from TradingView including fundamentals (P/E, ROE, ERP),
// volatility indicators (VIX), credit spreads, yield curves, and market structure.
// INPUT PARAMETERS
group1 = 'Model Configuration'
model_type = input.string('Adaptive', 'Allocation Model Type', options = , group = group1, tooltip = 'Conservative: Slower to increase equity, Aggressive: Faster allocation changes, Adaptive: Dynamic based on regime')
use_crisis_detection = input.bool(true, 'Enable Crisis Detection System', group = group1, tooltip = 'Automatic detection and response to crisis conditions')
use_regime_model = input.bool(true, 'Use Market Regime Detection', group = group1, tooltip = 'Identify Bull/Bear/Crisis regimes for dynamic allocation')
group2 = 'Portfolio Risk Management'
target_portfolio_volatility = input.float(12.0, 'Target Portfolio Volatility (%)', minval = 3, maxval = 20, step = 0.5, group = group2, tooltip = 'Target portfolio volatility (Cash reduces volatility: 50% Equity = ~10% vol, 100% Equity = ~20% vol)')
max_portfolio_drawdown = input.float(15.0, 'Maximum Portfolio Drawdown (%)', minval = 5, maxval = 35, step = 2.5, group = group2, tooltip = 'Maximum acceptable PORTFOLIO drawdown (not market drawdown - portfolio with cash has lower drawdown)')
enable_portfolio_risk_scaling = input.bool(true, 'Enable Portfolio Risk Scaling', group = group2, tooltip = 'Scale allocation based on actual portfolio risk characteristics (recommended)')
risk_lookback = input.int(252, 'Risk Calculation Period (Days)', minval = 60, maxval = 504, group = group2, tooltip = 'Period for calculating volatility and risk metrics')
group3 = 'Component Weights (Total = 100%)'
w_regime = input.float(35.0, 'Market Regime Weight (%)', minval = 0, maxval = 100, step = 5, group = group3)
w_risk = input.float(25.0, 'Risk Metrics Weight (%)', minval = 0, maxval = 100, step = 5, group = group3)
w_valuation = input.float(20.0, 'Valuation Weight (%)', minval = 0, maxval = 100, step = 5, group = group3)
w_sentiment = input.float(15.0, 'Sentiment Weight (%)', minval = 0, maxval = 100, step = 5, group = group3)
w_macro = input.float(5.0, 'Macro Weight (%)', minval = 0, maxval = 100, step = 5, group = group3)
group4 = 'Crisis Detection Thresholds'
crisis_vix_threshold = input.float(40, 'Crisis VIX Level', minval = 30, maxval = 80, group = group4, tooltip = 'VIX level indicating crisis conditions (COVID peaked at 82)')
crisis_drawdown_threshold = input.float(15, 'Crisis Drawdown Threshold (%)', minval = 10, maxval = 30, group = group4, tooltip = 'Market drawdown indicating crisis conditions')
crisis_credit_spread = input.float(500, 'Crisis Credit Spread (bps)', minval = 300, maxval = 1000, group = group4, tooltip = 'High yield spread indicating crisis conditions')
group5 = 'Display Settings'
show_components = input.bool(false, 'Show Component Breakdown', group = group5, tooltip = 'Display individual component analysis lines')
show_regime_background = input.bool(true, 'Show Dynamic Background', group = group5, tooltip = 'Color background based on allocation signals')
show_reference_lines = input.bool(false, 'Show Reference Lines', group = group5, tooltip = 'Display allocation percentage reference lines')
show_dashboard = input.bool(true, 'Show Analytics Dashboard', group = group5, tooltip = 'Display comprehensive analytics table')
show_confidence_bands = input.bool(false, 'Show Confidence Bands', group = group5, tooltip = 'Display uncertainty quantification bands')
smoothing_period = input.int(3, 'Smoothing Period', minval = 1, maxval = 10, group = group5, tooltip = 'Smoothing to reduce allocation noise')
background_intensity = input.int(95, 'Background Intensity (%)', minval = 90, maxval = 99, group = group5, tooltip = 'Higher values = more transparent background')
// Styling Options
color_scheme = input.string('EdgeTools', 'Color Theme', options = , group = 'Appearance', tooltip = 'Professional color themes')
use_dark_mode = input.bool(true, 'Optimize for Dark Theme', group = 'Appearance')
main_line_width = input.int(3, 'Main Line Width', minval = 1, maxval = 5, group = 'Appearance')
// DATA RETRIEVAL
// Market Data
sp500 = request.security('SPY', timeframe.period, close)
sp500_high = request.security('SPY', timeframe.period, high)
sp500_low = request.security('SPY', timeframe.period, low)
sp500_volume = request.security('SPY', timeframe.period, volume)
// Volatility Indicators
vix = request.security('VIX', timeframe.period, close)
vix9d = request.security('VIX9D', timeframe.period, close)
vxn = request.security('VXN', timeframe.period, close)
// Fixed Income and Credit
us2y = request.security('US02Y', timeframe.period, close)
us10y = request.security('US10Y', timeframe.period, close)
us3m = request.security('US03MY', timeframe.period, close)
hyg = request.security('HYG', timeframe.period, close)
lqd = request.security('LQD', timeframe.period, close)
tlt = request.security('TLT', timeframe.period, close)
// Safe Haven Assets
gold = request.security('GLD', timeframe.period, close)
usd = request.security('DXY', timeframe.period, close)
yen = request.security('JPYUSD', timeframe.period, close)
// Financial data with fallback values
get_financial_data(symbol, fin_id, period, fallback) =>
data = request.financial(symbol, fin_id, period, ignore_invalid_symbol = true)
na(data) ? fallback : data
// SPY fundamental metrics
spy_earnings_per_share = get_financial_data('AMEX:SPY', 'EARNINGS_PER_SHARE_BASIC', 'TTM', 20.0)
spy_operating_earnings_yield = get_financial_data('AMEX:SPY', 'OPERATING_EARNINGS_YIELD', 'FY', 4.5)
spy_dividend_yield = get_financial_data('AMEX:SPY', 'DIVIDENDS_YIELD', 'FY', 1.8)
spy_buyback_yield = get_financial_data('AMEX:SPY', 'BUYBACK_YIELD', 'FY', 2.0)
spy_net_margin = get_financial_data('AMEX:SPY', 'NET_MARGIN', 'TTM', 12.0)
spy_debt_to_equity = get_financial_data('AMEX:SPY', 'DEBT_TO_EQUITY', 'FY', 0.5)
spy_return_on_equity = get_financial_data('AMEX:SPY', 'RETURN_ON_EQUITY', 'FY', 15.0)
spy_free_cash_flow = get_financial_data('AMEX:SPY', 'FREE_CASH_FLOW', 'TTM', 100000000)
spy_ebitda = get_financial_data('AMEX:SPY', 'EBITDA', 'TTM', 200000000)
spy_pe_forward = get_financial_data('AMEX:SPY', 'PRICE_EARNINGS_FORWARD', 'FY', 18.0)
spy_total_debt = get_financial_data('AMEX:SPY', 'TOTAL_DEBT', 'FY', 500000000)
spy_total_equity = get_financial_data('AMEX:SPY', 'TOTAL_EQUITY', 'FY', 1000000000)
spy_enterprise_value = get_financial_data('AMEX:SPY', 'ENTERPRISE_VALUE', 'FY', 30000000000)
spy_revenue_growth = get_financial_data('AMEX:SPY', 'REVENUE_ONE_YEAR_GROWTH', 'TTM', 5.0)
// Market Breadth Indicators
nya = request.security('NYA', timeframe.period, close)
rut = request.security('IWM', timeframe.period, close)
// Sector Performance
xlk = request.security('XLK', timeframe.period, close)
xlu = request.security('XLU', timeframe.period, close)
xlf = request.security('XLF', timeframe.period, close)
// MARKET REGIME DETECTION
// Calculate Market Trend
sma_20 = ta.sma(sp500, 20)
sma_50 = ta.sma(sp500, 50)
sma_200 = ta.sma(sp500, 200)
ema_10 = ta.ema(sp500, 10)
// Market Structure Score
trend_strength = 0.0
trend_strength := trend_strength + (sp500 > sma_20 ? 1 : -1)
trend_strength := trend_strength + (sp500 > sma_50 ? 1 : -1)
trend_strength := trend_strength + (sp500 > sma_200 ? 2 : -2)
trend_strength := trend_strength + (sma_50 > sma_200 ? 2 : -2)
// Volatility Regime
returns = math.log(sp500 / sp500 )
realized_vol_20d = ta.stdev(returns, 20) * math.sqrt(252) * 100
realized_vol_60d = ta.stdev(returns, 60) * math.sqrt(252) * 100
ewma_vol = ta.ema(math.pow(returns, 2), 20)
realized_vol = math.sqrt(ewma_vol * 252) * 100
vol_premium = vix - realized_vol
// Drawdown Calculation
running_max = ta.highest(sp500, risk_lookback)
current_drawdown = (running_max - sp500) / running_max * 100
// Regime Score
regime_score = 0.0
// Trend Component (40%)
if trend_strength >= 4
regime_score := regime_score + 40
regime_score
else if trend_strength >= 2
regime_score := regime_score + 30
regime_score
else if trend_strength >= 0
regime_score := regime_score + 20
regime_score
else if trend_strength >= -2
regime_score := regime_score + 10
regime_score
else
regime_score := regime_score + 0
regime_score
// Volatility Component (30%)
if vix < 15
regime_score := regime_score + 30
regime_score
else if vix < 20
regime_score := regime_score + 25
regime_score
else if vix < 25
regime_score := regime_score + 15
regime_score
else if vix < 35
regime_score := regime_score + 5
regime_score
else
regime_score := regime_score + 0
regime_score
// Drawdown Component (30%)
if current_drawdown < 3
regime_score := regime_score + 30
regime_score
else if current_drawdown < 7
regime_score := regime_score + 20
regime_score
else if current_drawdown < 12
regime_score := regime_score + 10
regime_score
else if current_drawdown < 20
regime_score := regime_score + 5
regime_score
else
regime_score := regime_score + 0
regime_score
// Classify Regime
market_regime = regime_score >= 80 ? 'Strong Bull' : regime_score >= 60 ? 'Bull Market' : regime_score >= 40 ? 'Neutral' : regime_score >= 20 ? 'Correction' : regime_score >= 10 ? 'Bear Market' : 'Crisis'
// RISK-BASED ALLOCATION
// Calculate Market Risk
parkinson_hl = math.log(sp500_high / sp500_low)
parkinson_vol = parkinson_hl / (2 * math.sqrt(math.log(2))) * math.sqrt(252) * 100
garman_klass_vol = math.sqrt((0.5 * math.pow(math.log(sp500_high / sp500_low), 2) - (2 * math.log(2) - 1) * math.pow(math.log(sp500 / sp500 ), 2)) * 252) * 100
market_volatility_20d = math.max(ta.stdev(returns, 20) * math.sqrt(252) * 100, parkinson_vol)
market_volatility_60d = ta.stdev(returns, 60) * math.sqrt(252) * 100
market_drawdown = current_drawdown
// Initialize risk allocation
risk_allocation = 50.0
if enable_portfolio_risk_scaling
// Volatility-based allocation
vol_based_allocation = target_portfolio_volatility / math.max(market_volatility_20d, 5.0) * 100
vol_based_allocation := math.max(0, math.min(100, vol_based_allocation))
// Drawdown-based allocation
dd_based_allocation = 100.0
if market_drawdown > 1.0
dd_based_allocation := max_portfolio_drawdown / market_drawdown * 100
dd_based_allocation := math.max(0, math.min(100, dd_based_allocation))
dd_based_allocation
// Combine (conservative)
risk_allocation := math.min(vol_based_allocation, dd_based_allocation)
// Dynamic adjustment
current_equity_estimate = 50.0
estimated_portfolio_vol = current_equity_estimate / 100 * market_volatility_20d
estimated_portfolio_dd = current_equity_estimate / 100 * market_drawdown
vol_utilization = estimated_portfolio_vol / target_portfolio_volatility
dd_utilization = estimated_portfolio_dd / max_portfolio_drawdown
risk_utilization = math.max(vol_utilization, dd_utilization)
risk_adjustment_factor = 1.0
if risk_utilization > 1.0
risk_adjustment_factor := math.exp(-0.5 * (risk_utilization - 1.0))
risk_adjustment_factor := math.max(0.5, risk_adjustment_factor)
risk_adjustment_factor
else if risk_utilization < 0.9
risk_adjustment_factor := 1.0 + 0.2 * math.log(1.0 / risk_utilization)
risk_adjustment_factor := math.min(1.3, risk_adjustment_factor)
risk_adjustment_factor
risk_allocation := risk_allocation * risk_adjustment_factor
risk_allocation
else
vol_scalar = target_portfolio_volatility / math.max(market_volatility_20d, 10)
vol_scalar := math.min(1.5, math.max(0.2, vol_scalar))
drawdown_penalty = 0.0
if current_drawdown > max_portfolio_drawdown
drawdown_penalty := (current_drawdown - max_portfolio_drawdown) / max_portfolio_drawdown
drawdown_penalty := math.min(1.0, drawdown_penalty)
drawdown_penalty
risk_allocation := 100 * vol_scalar * (1 - drawdown_penalty)
risk_allocation
risk_allocation := math.max(0, math.min(100, risk_allocation))
// VALUATION ANALYSIS
// Valuation Metrics
actual_pe_ratio = spy_earnings_per_share > 0 ? sp500 / spy_earnings_per_share : spy_pe_forward
actual_earnings_yield = nz(spy_operating_earnings_yield, 0) > 0 ? spy_operating_earnings_yield : 100 / actual_pe_ratio
total_shareholder_yield = spy_dividend_yield + spy_buyback_yield
// Equity Risk Premium (multi-method calculation)
method1_erp = actual_earnings_yield - us10y
method2_erp = actual_earnings_yield + spy_buyback_yield - us10y
payout_ratio = spy_dividend_yield > 0 and actual_earnings_yield > 0 ? spy_dividend_yield / actual_earnings_yield : 0.4
sustainable_growth = spy_return_on_equity * (1 - payout_ratio) / 100
method3_erp = spy_dividend_yield + sustainable_growth * 100 - us10y
implied_growth = spy_revenue_growth * 0.7
method4_erp = total_shareholder_yield + implied_growth - us10y
equity_risk_premium = method1_erp * 0.35 + method2_erp * 0.30 + method3_erp * 0.20 + method4_erp * 0.15
ev_ebitda_ratio = spy_enterprise_value > 0 and spy_ebitda > 0 ? spy_enterprise_value / spy_ebitda : 15.0
debt_equity_health = spy_debt_to_equity < 1.0 ? 1.2 : spy_debt_to_equity < 2.0 ? 1.0 : 0.8
// Valuation Score
base_valuation_score = 50.0
if equity_risk_premium > 4
base_valuation_score := 95
base_valuation_score
else if equity_risk_premium > 3
base_valuation_score := 85
base_valuation_score
else if equity_risk_premium > 2
base_valuation_score := 70
base_valuation_score
else if equity_risk_premium > 1
base_valuation_score := 55
base_valuation_score
else if equity_risk_premium > 0
base_valuation_score := 40
base_valuation_score
else if equity_risk_premium > -1
base_valuation_score := 25
base_valuation_score
else
base_valuation_score := 10
base_valuation_score
growth_adjustment = spy_revenue_growth > 10 ? 10 : spy_revenue_growth > 5 ? 5 : 0
margin_adjustment = spy_net_margin > 15 ? 5 : spy_net_margin < 8 ? -5 : 0
roe_adjustment = spy_return_on_equity > 20 ? 5 : spy_return_on_equity < 10 ? -5 : 0
valuation_score = base_valuation_score + growth_adjustment + margin_adjustment + roe_adjustment
valuation_score := math.max(0, math.min(100, valuation_score * debt_equity_health))
// SENTIMENT ANALYSIS
// VIX Term Structure
vix_term_structure = vix9d > 0 ? vix / vix9d : 1
backwardation = vix_term_structure > 1.05
steep_backwardation = vix_term_structure > 1.15
// Safe Haven Flows
gold_momentum = ta.roc(gold, 20)
dollar_momentum = ta.roc(usd, 20)
yen_momentum = ta.roc(yen, 20)
treasury_momentum = ta.roc(tlt, 20)
safe_haven_flow = gold_momentum * 0.3 + treasury_momentum * 0.3 + dollar_momentum * 0.25 + yen_momentum * 0.15
// Advanced Sentiment Analysis
vix_percentile = ta.percentrank(vix, 252)
vix_zscore = (vix - ta.sma(vix, 252)) / ta.stdev(vix, 252)
vix_momentum = ta.roc(vix, 5)
vvix_proxy = ta.stdev(vix_momentum, 20) * math.sqrt(252)
risk_reversal_proxy = (vix - realized_vol) / realized_vol
// Sentiment Score
base_sentiment = 50.0
vix_adjustment = 0.0
if vix_zscore < -1.5
vix_adjustment := 40
vix_adjustment
else if vix_zscore < -0.5
vix_adjustment := 20
vix_adjustment
else if vix_zscore < 0.5
vix_adjustment := 0
vix_adjustment
else if vix_zscore < 1.5
vix_adjustment := -20
vix_adjustment
else
vix_adjustment := -40
vix_adjustment
term_structure_adjustment = backwardation ? -15 : steep_backwardation ? -30 : 5
vvix_adjustment = vvix_proxy > 2.0 ? -10 : vvix_proxy < 1.0 ? 10 : 0
sentiment_score = base_sentiment + vix_adjustment + term_structure_adjustment + vvix_adjustment
sentiment_score := math.max(0, math.min(100, sentiment_score))
// MACRO ANALYSIS
// Yield Curve
yield_spread_2_10 = us10y - us2y
yield_spread_3m_10 = us10y - us3m
// Credit Conditions
hyg_return = ta.roc(hyg, 20)
lqd_return = ta.roc(lqd, 20)
tlt_return = ta.roc(tlt, 20)
hyg_duration = 4.0
lqd_duration = 8.0
tlt_duration = 17.0
hyg_log_returns = math.log(hyg / hyg )
lqd_log_returns = math.log(lqd / lqd )
hyg_volatility = ta.stdev(hyg_log_returns, 20) * math.sqrt(252)
lqd_volatility = ta.stdev(lqd_log_returns, 20) * math.sqrt(252)
hyg_yield_proxy = -math.log(hyg / hyg ) * 100
lqd_yield_proxy = -math.log(lqd / lqd ) * 100
tlt_yield = us10y
hyg_spread = (hyg_yield_proxy - tlt_yield) * 100
lqd_spread = (lqd_yield_proxy - tlt_yield) * 100
hyg_distance = (hyg - ta.lowest(hyg, 252)) / (ta.highest(hyg, 252) - ta.lowest(hyg, 252))
lqd_distance = (lqd - ta.lowest(lqd, 252)) / (ta.highest(lqd, 252) - ta.lowest(lqd, 252))
default_risk_proxy = 2.0 - (hyg_distance + lqd_distance)
credit_spread = hyg_spread * 0.5 + (hyg_volatility - lqd_volatility) * 1000 * 0.3 + default_risk_proxy * 200 * 0.2
credit_spread := math.max(50, credit_spread)
credit_market_health = hyg_return > lqd_return ? 1 : -1
flight_to_quality = tlt_return > (hyg_return + lqd_return) / 2
// Macro Score
macro_score = 50.0
yield_curve_score = 0
if yield_spread_2_10 > 1.5 and yield_spread_3m_10 > 2
yield_curve_score := 40
yield_curve_score
else if yield_spread_2_10 > 0.5 and yield_spread_3m_10 > 1
yield_curve_score := 30
yield_curve_score
else if yield_spread_2_10 > 0 and yield_spread_3m_10 > 0
yield_curve_score := 20
yield_curve_score
else if yield_spread_2_10 < 0 or yield_spread_3m_10 < 0
yield_curve_score := 10
yield_curve_score
else
yield_curve_score := 5
yield_curve_score
credit_conditions_score = 0
if credit_spread < 200 and not flight_to_quality
credit_conditions_score := 30
credit_conditions_score
else if credit_spread < 400 and credit_market_health > 0
credit_conditions_score := 20
credit_conditions_score
else if credit_spread < 600
credit_conditions_score := 15
credit_conditions_score
else if credit_spread < 1000
credit_conditions_score := 10
credit_conditions_score
else
credit_conditions_score := 0
credit_conditions_score
financial_stability_score = 0
if spy_debt_to_equity < 0.5 and spy_return_on_equity > 15
financial_stability_score := 20
financial_stability_score
else if spy_debt_to_equity < 1.0 and spy_return_on_equity > 10
financial_stability_score := 15
financial_stability_score
else if spy_debt_to_equity < 1.5
financial_stability_score := 10
financial_stability_score
else
financial_stability_score := 5
financial_stability_score
macro_score := yield_curve_score + credit_conditions_score + financial_stability_score
macro_score := math.max(0, math.min(100, macro_score))
// CRISIS DETECTION
crisis_indicators = 0
if vix > crisis_vix_threshold
crisis_indicators := crisis_indicators + 1
crisis_indicators
if vix > 60
crisis_indicators := crisis_indicators + 2
crisis_indicators
if current_drawdown > crisis_drawdown_threshold
crisis_indicators := crisis_indicators + 1
crisis_indicators
if current_drawdown > 25
crisis_indicators := crisis_indicators + 1
crisis_indicators
if credit_spread > crisis_credit_spread
crisis_indicators := crisis_indicators + 1
crisis_indicators
sp500_roc_5 = ta.roc(sp500, 5)
tlt_roc_5 = ta.roc(tlt, 5)
if sp500_roc_5 < -10 and tlt_roc_5 < -5
crisis_indicators := crisis_indicators + 2
crisis_indicators
volume_spike = sp500_volume > ta.sma(sp500_volume, 20) * 2
sp500_roc_1 = ta.roc(sp500, 1)
if volume_spike and sp500_roc_1 < -3
crisis_indicators := crisis_indicators + 1
crisis_indicators
is_crisis = crisis_indicators >= 3
is_severe_crisis = crisis_indicators >= 5
// FINAL ALLOCATION CALCULATION
// Convert regime to base allocation
regime_allocation = market_regime == 'Strong Bull' ? 100 : market_regime == 'Bull Market' ? 80 : market_regime == 'Neutral' ? 60 : market_regime == 'Correction' ? 40 : market_regime == 'Bear Market' ? 20 : 0
// Normalize weights
total_weight = w_regime + w_risk + w_valuation + w_sentiment + w_macro
w_regime_norm = w_regime / total_weight
w_risk_norm = w_risk / total_weight
w_valuation_norm = w_valuation / total_weight
w_sentiment_norm = w_sentiment / total_weight
w_macro_norm = w_macro / total_weight
// Calculate Weighted Allocation
weighted_allocation = regime_allocation * w_regime_norm + risk_allocation * w_risk_norm + valuation_score * w_valuation_norm + sentiment_score * w_sentiment_norm + macro_score * w_macro_norm
// Apply Crisis Override
if use_crisis_detection
if is_severe_crisis
weighted_allocation := math.min(weighted_allocation, 10)
weighted_allocation
else if is_crisis
weighted_allocation := math.min(weighted_allocation, 25)
weighted_allocation
// Model Type Adjustment
model_adjustment = 0.0
if model_type == 'Conservative'
model_adjustment := -10
model_adjustment
else if model_type == 'Aggressive'
model_adjustment := 10
model_adjustment
else if model_type == 'Adaptive'
recent_return = (sp500 - sp500 ) / sp500 * 100
if recent_return > 5
model_adjustment := 5
model_adjustment
else if recent_return < -5
model_adjustment := -5
model_adjustment
// Apply adjustment and bounds
final_allocation = weighted_allocation + model_adjustment
final_allocation := math.max(0, math.min(100, final_allocation))
// Smooth allocation
smoothed_allocation = ta.sma(final_allocation, smoothing_period)
// Calculate portfolio risk metrics (only for internal alerts)
actual_portfolio_volatility = smoothed_allocation / 100 * market_volatility_20d
actual_portfolio_drawdown = smoothed_allocation / 100 * current_drawdown
// VISUALIZATION
// Color definitions
var color primary_color = #2196F3
var color bullish_color = #4CAF50
var color bearish_color = #FF5252
var color neutral_color = #808080
var color text_color = color.white
var color bg_color = #000000
var color table_bg_color = #1E1E1E
var color header_bg_color = #2D2D2D
switch color_scheme // Apply color scheme
'Gold' =>
primary_color := use_dark_mode ? #FFD700 : #DAA520
bullish_color := use_dark_mode ? #FFA500 : #FF8C00
bearish_color := use_dark_mode ? #FF5252 : #D32F2F
neutral_color := use_dark_mode ? #C0C0C0 : #808080
text_color := use_dark_mode ? color.white : color.black
bg_color := use_dark_mode ? #000000 : #FFFFFF
table_bg_color := use_dark_mode ? #1A1A00 : #FFFEF0
header_bg_color := use_dark_mode ? #2D2600 : #F5F5DC
header_bg_color
'EdgeTools' =>
primary_color := use_dark_mode ? #4682B4 : #1E90FF
bullish_color := use_dark_mode ? #4CAF50 : #388E3C
bearish_color := use_dark_mode ? #FF5252 : #D32F2F
neutral_color := use_dark_mode ? #708090 : #696969
text_color := use_dark_mode ? color.white : color.black
bg_color := use_dark_mode ? #000000 : #FFFFFF
table_bg_color := use_dark_mode ? #0F1419 : #F0F8FF
header_bg_color := use_dark_mode ? #1E2A3A : #E6F3FF
header_bg_color
'Behavioral' =>
primary_color := #808080
bullish_color := #00FF00
bearish_color := #8B0000
neutral_color := #FFBF00
text_color := use_dark_mode ? color.white : color.black
bg_color := use_dark_mode ? #000000 : #FFFFFF
table_bg_color := use_dark_mode ? #1A1A1A : #F8F8F8
header_bg_color := use_dark_mode ? #2D2D2D : #E8E8E8
header_bg_color
'Quant' =>
primary_color := #808080
bullish_color := #FFA500
bearish_color := #8B0000
neutral_color := #4682B4
text_color := use_dark_mode ? color.white : color.black
bg_color := use_dark_mode ? #000000 : #FFFFFF
table_bg_color := use_dark_mode ? #0D0D0D : #FAFAFA
header_bg_color := use_dark_mode ? #1A1A1A : #F0F0F0
header_bg_color
'Ocean' =>
primary_color := use_dark_mode ? #20B2AA : #008B8B
bullish_color := use_dark_mode ? #00CED1 : #4682B4
bearish_color := use_dark_mode ? #FF4500 : #B22222
neutral_color := use_dark_mode ? #87CEEB : #2F4F4F
text_color := use_dark_mode ? #F0F8FF : #191970
bg_color := use_dark_mode ? #001F3F : #F0F8FF
table_bg_color := use_dark_mode ? #001A2E : #E6F7FF
header_bg_color := use_dark_mode ? #002A47 : #CCF2FF
header_bg_color
'Fire' =>
primary_color := use_dark_mode ? #FF6347 : #DC143C
bullish_color := use_dark_mode ? #FFD700 : #FF8C00
bearish_color := use_dark_mode ? #8B0000 : #800000
neutral_color := use_dark_mode ? #FFA500 : #CD853F
text_color := use_dark_mode ? #FFFAF0 : #2F1B14
bg_color := use_dark_mode ? #2F1B14 : #FFFAF0
table_bg_color := use_dark_mode ? #261611 : #FFF8F0
header_bg_color := use_dark_mode ? #3D241A : #FFE4CC
header_bg_color
'Matrix' =>
primary_color := use_dark_mode ? #00FF41 : #006400
bullish_color := use_dark_mode ? #39FF14 : #228B22
bearish_color := use_dark_mode ? #FF073A : #8B0000
neutral_color := use_dark_mode ? #00FFFF : #008B8B
text_color := use_dark_mode ? #C0FF8C : #003300
bg_color := use_dark_mode ? #0D1B0D : #F0FFF0
table_bg_color := use_dark_mode ? #0A1A0A : #E8FFF0
header_bg_color := use_dark_mode ? #112B11 : #CCFFCC
header_bg_color
'Arctic' =>
primary_color := use_dark_mode ? #87CEFA : #4169E1
bullish_color := use_dark_mode ? #00BFFF : #0000CD
bearish_color := use_dark_mode ? #FF1493 : #8B008B
neutral_color := use_dark_mode ? #B0E0E6 : #483D8B
text_color := use_dark_mode ? #F8F8FF : #191970
bg_color := use_dark_mode ? #191970 : #F8F8FF
table_bg_color := use_dark_mode ? #141B47 : #F0F8FF
header_bg_color := use_dark_mode ? #1E2A5C : #E0F0FF
header_bg_color
// Transparency settings
bg_transparency = use_dark_mode ? 85 : 92
zone_transparency = use_dark_mode ? 90 : 95
band_transparency = use_dark_mode ? 70 : 85
table_transparency = use_dark_mode ? 80 : 15
// Allocation color
alloc_color = smoothed_allocation >= 80 ? bullish_color : smoothed_allocation >= 60 ? color.new(bullish_color, 30) : smoothed_allocation >= 40 ? primary_color : smoothed_allocation >= 20 ? color.new(bearish_color, 30) : bearish_color
// Dynamic background
var color dynamic_bg_color = na
if show_regime_background
if smoothed_allocation >= 70
dynamic_bg_color := color.new(bullish_color, background_intensity)
dynamic_bg_color
else if smoothed_allocation <= 30
dynamic_bg_color := color.new(bearish_color, background_intensity)
dynamic_bg_color
else if smoothed_allocation > 60 or smoothed_allocation < 40
dynamic_bg_color := color.new(primary_color, math.min(99, background_intensity + 2))
dynamic_bg_color
bgcolor(dynamic_bg_color, title = 'Allocation Signal Background')
// Plot main allocation line
plot(smoothed_allocation, 'Equity Allocation %', color = alloc_color, linewidth = math.max(1, main_line_width))
// Reference lines (static colors for hline)
hline_bullish_color = color_scheme == 'Gold' ? use_dark_mode ? #FFA500 : #FF8C00 : color_scheme == 'EdgeTools' ? use_dark_mode ? #4CAF50 : #388E3C : color_scheme == 'Behavioral' ? #00FF00 : color_scheme == 'Quant' ? #FFA500 : color_scheme == 'Ocean' ? use_dark_mode ? #00CED1 : #4682B4 : color_scheme == 'Fire' ? use_dark_mode ? #FFD700 : #FF8C00 : color_scheme == 'Matrix' ? use_dark_mode ? #39FF14 : #228B22 : color_scheme == 'Arctic' ? use_dark_mode ? #00BFFF : #0000CD : #4CAF50
hline_bearish_color = color_scheme == 'Gold' ? use_dark_mode ? #FF5252 : #D32F2F : color_scheme == 'EdgeTools' ? use_dark_mode ? #FF5252 : #D32F2F : color_scheme == 'Behavioral' ? #8B0000 : color_scheme == 'Quant' ? #8B0000 : color_scheme == 'Ocean' ? use_dark_mode ? #FF4500 : #B22222 : color_scheme == 'Fire' ? use_dark_mode ? #8B0000 : #800000 : color_scheme == 'Matrix' ? use_dark_mode ? #FF073A : #8B0000 : color_scheme == 'Arctic' ? use_dark_mode ? #FF1493 : #8B008B : #FF5252
hline_primary_color = color_scheme == 'Gold' ? use_dark_mode ? #FFD700 : #DAA520 : color_scheme == 'EdgeTools' ? use_dark_mode ? #4682B4 : #1E90FF : color_scheme == 'Behavioral' ? #808080 : color_scheme == 'Quant' ? #808080 : color_scheme == 'Ocean' ? use_dark_mode ? #20B2AA : #008B8B : color_scheme == 'Fire' ? use_dark_mode ? #FF6347 : #DC143C : color_scheme == 'Matrix' ? use_dark_mode ? #00FF41 : #006400 : color_scheme == 'Arctic' ? use_dark_mode ? #87CEFA : #4169E1 : #2196F3
hline(show_reference_lines ? 100 : na, '100% Equity', color = color.new(hline_bullish_color, 70), linestyle = hline.style_dotted, linewidth = 1)
hline(show_reference_lines ? 80 : na, '80% Equity', color = color.new(hline_bullish_color, 40), linestyle = hline.style_dashed, linewidth = 1)
hline(show_reference_lines ? 60 : na, '60% Equity', color = color.new(hline_bullish_color, 60), linestyle = hline.style_dotted, linewidth = 1)
hline(50, '50% Balanced', color = color.new(hline_primary_color, 50), linestyle = hline.style_solid, linewidth = 2)
hline(show_reference_lines ? 40 : na, '40% Equity', color = color.new(hline_bearish_color, 60), linestyle = hline.style_dotted, linewidth = 1)
hline(show_reference_lines ? 20 : na, '20% Equity', color = color.new(hline_bearish_color, 40), linestyle = hline.style_dashed, linewidth = 1)
hline(show_reference_lines ? 0 : na, '0% Equity', color = color.new(hline_bearish_color, 70), linestyle = hline.style_dotted, linewidth = 1)
// Component plots
plot(show_components ? regime_allocation : na, 'Regime', color = color.new(#4ECDC4, 70), linewidth = 1)
plot(show_components ? risk_allocation : na, 'Risk', color = color.new(#FF6B6B, 70), linewidth = 1)
plot(show_components ? valuation_score : na, 'Valuation', color = color.new(#45B7D1, 70), linewidth = 1)
plot(show_components ? sentiment_score : na, 'Sentiment', color = color.new(#FFD93D, 70), linewidth = 1)
plot(show_components ? macro_score : na, 'Macro', color = color.new(#6BCF7F, 70), linewidth = 1)
// Confidence bands
upper_band = plot(show_confidence_bands ? math.min(100, smoothed_allocation + ta.stdev(smoothed_allocation, 20)) : na, color = color.new(neutral_color, band_transparency), display = display.none, title = 'Upper Band')
lower_band = plot(show_confidence_bands ? math.max(0, smoothed_allocation - ta.stdev(smoothed_allocation, 20)) : na, color = color.new(neutral_color, band_transparency), display = display.none, title = 'Lower Band')
fill(upper_band, lower_band, color = show_confidence_bands ? color.new(neutral_color, zone_transparency) : na, title = 'Uncertainty')
// DASHBOARD
if show_dashboard and barstate.islast
var table dashboard = table.new(position.top_right, 2, 20, border_width = 1, bgcolor = color.new(table_bg_color, table_transparency))
table.clear(dashboard, 0, 0, 1, 19)
// Header
header_color = color.new(header_bg_color, 20)
dashboard_text_color = text_color
table.cell(dashboard, 0, 0, 'DEAM', text_color = dashboard_text_color, bgcolor = header_color, text_size = size.normal)
table.cell(dashboard, 1, 0, model_type, text_color = dashboard_text_color, bgcolor = header_color, text_size = size.normal)
// Core metrics
table.cell(dashboard, 0, 1, 'Equity Allocation', text_color = dashboard_text_color, text_size = size.small)
table.cell(dashboard, 1, 1, str.tostring(smoothed_allocation, '##.#') + '%', text_color = alloc_color, text_size = size.small)
table.cell(dashboard, 0, 2, 'Cash Allocation', text_color = dashboard_text_color, text_size = size.small)
cash_color = 100 - smoothed_allocation > 70 ? bearish_color : primary_color
table.cell(dashboard, 1, 2, str.tostring(100 - smoothed_allocation, '##.#') + '%', text_color = cash_color, text_size = size.small)
// Signal
signal_text = 'NEUTRAL'
signal_color = primary_color
if smoothed_allocation >= 70
signal_text := 'BULLISH'
signal_color := bullish_color
signal_color
else if smoothed_allocation <= 30
signal_text := 'BEARISH'
signal_color := bearish_color
signal_color
table.cell(dashboard, 0, 3, 'Signal', text_color = dashboard_text_color, text_size = size.small)
table.cell(dashboard, 1, 3, signal_text, text_color = signal_color, text_size = size.small)
// Market Regime
table.cell(dashboard, 0, 4, 'Regime', text_color = dashboard_text_color, text_size = size.small)
regime_color_display = market_regime == 'Strong Bull' or market_regime == 'Bull Market' ? bullish_color : market_regime == 'Neutral' ? primary_color : market_regime == 'Crisis' ? bearish_color : bearish_color
table.cell(dashboard, 1, 4, market_regime, text_color = regime_color_display, text_size = size.small)
// VIX
table.cell(dashboard, 0, 5, 'VIX Level', text_color = dashboard_text_color, text_size = size.small)
vix_color_display = vix < 20 ? bullish_color : vix < 30 ? primary_color : bearish_color
table.cell(dashboard, 1, 5, str.tostring(vix, '##.##'), text_color = vix_color_display, text_size = size.small)
// Market Drawdown
table.cell(dashboard, 0, 6, 'Market DD', text_color = dashboard_text_color, text_size = size.small)
market_dd_color = current_drawdown < 5 ? bullish_color : current_drawdown < 10 ? primary_color : bearish_color
table.cell(dashboard, 1, 6, '-' + str.tostring(current_drawdown, '##.#') + '%', text_color = market_dd_color, text_size = size.small)
// Crisis Detection
table.cell(dashboard, 0, 7, 'Crisis Detection', text_color = dashboard_text_color, text_size = size.small)
crisis_text = is_severe_crisis ? 'SEVERE' : is_crisis ? 'CRISIS' : 'Normal'
crisis_display_color = is_severe_crisis or is_crisis ? bearish_color : bullish_color
table.cell(dashboard, 1, 7, crisis_text, text_color = crisis_display_color, text_size = size.small)
// Real Data Section
financial_bg = color.new(primary_color, 85)
table.cell(dashboard, 0, 8, 'REAL DATA', text_color = dashboard_text_color, bgcolor = financial_bg, text_size = size.small)
table.cell(dashboard, 1, 8, 'Live Metrics', text_color = dashboard_text_color, bgcolor = financial_bg, text_size = size.small)
// P/E Ratio
table.cell(dashboard, 0, 9, 'P/E Ratio', text_color = dashboard_text_color, text_size = size.small)
pe_color = actual_pe_ratio < 18 ? bullish_color : actual_pe_ratio < 25 ? primary_color : bearish_color
table.cell(dashboard, 1, 9, str.tostring(actual_pe_ratio, '##.#'), text_color = pe_color, text_size = size.small)
// ERP
table.cell(dashboard, 0, 10, 'ERP', text_color = dashboard_text_color, text_size = size.small)
erp_color = equity_risk_premium > 2 ? bullish_color : equity_risk_premium > 0 ? primary_color : bearish_color
table.cell(dashboard, 1, 10, str.tostring(equity_risk_premium, '##.##') + '%', text_color = erp_color, text_size = size.small)
// ROE
table.cell(dashboard, 0, 11, 'ROE', text_color = dashboard_text_color, text_size = size.small)
roe_color = spy_return_on_equity > 20 ? bullish_color : spy_return_on_equity > 10 ? primary_color : bearish_color
table.cell(dashboard, 1, 11, str.tostring(spy_return_on_equity, '##.#') + '%', text_color = roe_color, text_size = size.small)
// D/E Ratio
table.cell(dashboard, 0, 12, 'D/E Ratio', text_color = dashboard_text_color, text_size = size.small)
de_color = spy_debt_to_equity < 0.5 ? bullish_color : spy_debt_to_equity < 1.0 ? primary_color : bearish_color
table.cell(dashboard, 1, 12, str.tostring(spy_debt_to_equity, '##.##'), text_color = de_color, text_size = size.small)
// Shareholder Yield
table.cell(dashboard, 0, 13, 'Dividend+Buyback', text_color = dashboard_text_color, text_size = size.small)
yield_color = total_shareholder_yield > 4 ? bullish_color : total_shareholder_yield > 2 ? primary_color : bearish_color
table.cell(dashboard, 1, 13, str.tostring(total_shareholder_yield, '##.#') + '%', text_color = yield_color, text_size = size.small)
// Component Scores
component_bg = color.new(neutral_color, 80)
table.cell(dashboard, 0, 14, 'Components', text_color = dashboard_text_color, bgcolor = component_bg, text_size = size.small)
table.cell(dashboard, 1, 14, 'Scores', text_color = dashboard_text_color, bgcolor = component_bg, text_size = size.small)
table.cell(dashboard, 0, 15, 'Regime', text_color = dashboard_text_color, text_size = size.small)
regime_score_color = regime_allocation > 60 ? bullish_color : regime_allocation < 40 ? bearish_color : primary_color
table.cell(dashboard, 1, 15, str.tostring(regime_allocation, '##'), text_color = regime_score_color, text_size = size.small)
table.cell(dashboard, 0, 16, 'Risk', text_color = dashboard_text_color, text_size = size.small)
risk_score_color = risk_allocation > 60 ? bullish_color : risk_allocation < 40 ? bearish_color : primary_color
table.cell(dashboard, 1, 16, str.tostring(risk_allocation, '##'), text_color = risk_score_color, text_size = size.small)
table.cell(dashboard, 0, 17, 'Valuation', text_color = dashboard_text_color, text_size = size.small)
val_score_color = valuation_score > 60 ? bullish_color : valuation_score < 40 ? bearish_color : primary_color
table.cell(dashboard, 1, 17, str.tostring(valuation_score, '##'), text_color = val_score_color, text_size = size.small)
table.cell(dashboard, 0, 18, 'Sentiment', text_color = dashboard_text_color, text_size = size.small)
sent_score_color = sentiment_score > 60 ? bullish_color : sentiment_score < 40 ? bearish_color : primary_color
table.cell(dashboard, 1, 18, str.tostring(sentiment_score, '##'), text_color = sent_score_color, text_size = size.small)
table.cell(dashboard, 0, 19, 'Macro', text_color = dashboard_text_color, text_size = size.small)
macro_score_color = macro_score > 60 ? bullish_color : macro_score < 40 ? bearish_color : primary_color
table.cell(dashboard, 1, 19, str.tostring(macro_score, '##'), text_color = macro_score_color, text_size = size.small)
// ALERTS
// Major allocation changes
alertcondition(smoothed_allocation >= 80 and smoothed_allocation < 80, 'High Equity Allocation', 'Equity allocation reached 80% - Bull market conditions')
alertcondition(smoothed_allocation <= 20 and smoothed_allocation > 20, 'Low Equity Allocation', 'Equity allocation dropped to 20% - Defensive positioning')
// Crisis alerts
alertcondition(is_crisis and not is_crisis , 'CRISIS DETECTED', 'Crisis conditions detected - Reducing equity allocation')
alertcondition(is_severe_crisis and not is_severe_crisis , 'SEVERE CRISIS', 'Severe crisis detected - Maximum defensive positioning')
// Regime changes
regime_changed = market_regime != market_regime
alertcondition(regime_changed, 'Regime Change', 'Market regime has changed')
// Risk management alerts
risk_breach = enable_portfolio_risk_scaling and (actual_portfolio_volatility > target_portfolio_volatility * 1.2 or actual_portfolio_drawdown > max_portfolio_drawdown * 1.2)
alertcondition(risk_breach, 'Risk Breach', 'Portfolio risk exceeds target parameters')
// USAGE
// The indicator displays a recommended equity allocation percentage (0-100%).
// Example: 75% allocation = 75% stocks, 25% cash/bonds.
//
// The model combines market regime analysis (trend, volatility, drawdowns),
// risk management (portfolio-level targeting), valuation metrics (P/E, ERP),
// sentiment indicators (VIX term structure), and macro factors (yield curve,
// credit spreads) into a single allocation signal.
//
// Crisis detection automatically reduces exposure when multiple warning signals
// converge. Alerts available for major allocation shifts and regime changes.
//
// Designed for SPY/S&P 500 portfolio allocation. Adjust component weights and
// risk parameters in settings to match your risk tolerance.
View in Pine
Moving VWAP-KAMA CloudMoving VWAP-KAMA Cloud
Overview
The Moving VWAP-KAMA Cloud is a high-conviction trend filter designed to solve a major problem with standard indicators: Noise. By combining a smoothed Volume Weighted Average Price (MVWAP) with Kaufman’s Adaptive Moving Average (KAMA), this indicator creates a "Value Zone" that identifies the true structural trend while ignoring choppy price action.
Unlike brittle lines that break constantly, this cloud is "slow" by design—making it exceptionally powerful for spotting genuine trend reversals and filtering out fakeouts.
How It Works
This script uses a unique "Double Smoothing" architecture:
The Anchor (MVWAP): We take the standard VWAP and smooth it with a 30-period EMA. This represents the "Fair Value" baseline where volume has supported price over time.
The Filter (KAMA): We apply Kaufman's Adaptive Moving Average to the already smoothed MVWAP. KAMA is unique because it flattens out during low-volatility (choppy) periods and speeds up during high-momentum trends.
The Cloud:
Green/Teal Cloud: Bullish Structure (MVWAP > KAMA)
Purple Cloud: Bearish Structure (MVWAP < KAMA)
🔥 The "Reversal Slingshot" Strategy
Backtests reveal a powerful behavior during major trend changes, particularly after long bear markets:
The Resistance Phase: During a long-term downtrend, price will repeatedly rally into the Purple Cloud and get rejected. The flattened KAMA line acts as a "concrete ceiling," keeping the bearish trend intact.
The Breakout & Flip: When price finally breaks above the cloud with conviction, and the cloud flips Green, it signals a structural regime change.
The "Slingshot" Retest: Often, immediately after this flip, price will drop back into the top of the cloud. This is the "Slingshot" moment. The old resistance becomes new, hardened support.
The Rally: From this support bounce, stocks often launch into a sustained, multi-month bull run. This setup has been observed repeatedly at the bottom of major corrections.
How to Use This Indicator
1. Dynamic Support & Resistance
The KAMA Wall: When price retraces into the cloud, the KAMA line often flattens out, acting as a hard "floor" or "wall." A break of this wall usually signals a genuine trend change, not just a stop hunt.
2. Trend Confirmation (Regime Filter)
Bullish Regime: If price is holding above the cloud, only look for Long setups.
Bearish Regime: If price is holding below the cloud, only look for Short setups.
No-Trade Zone: If price is stuck inside the cloud, the market is traversing fair value. Stand aside until a clear winner emerges.
3. Multi-Timeframe Versatility
While designed for trend confirmation on higher timeframes (4H, Daily), this indicator adapts beautifully to lower timeframes (5m, 15m) for intraday scalping.
On Lower Timeframes: The cloud reacts much faster, acting as a dynamic "VWAP Band" that helps intraday traders stay on the right side of momentum during the session.
Settings
Moving VWAP Period (30): The lookback period for the base VWAP smoothing.
KAMA Settings (10, 10, 30): Controls the sensitivity of the adaptive filter.
Cloud Transparency: Adjust to keep your chart clean.
Alerts Included
Price Cross Over/Under MVWAP
Price Cross Over/Under KAMA
Cloud Flip (Bullish/Bearish Trend Change)
Tip for Traders
This is not a signal entry indicator. It is a Trend Conviction tool. Use it to filter your entries from faster indicators (like RSI or MACD). If your fast indicator signals "Buy" but the cloud is Purple, the probability is low. Wait for the Cloud Flip
Trend Mastery:The Calzolaio Way🌕 Find the God Candle. Capture the gains. Create passive income.
Fellow F.I.R.E. Decibels, disciples of the Calzolaio Way—welcome to the sacred toolkit. This indicator, "SulLaLuna 💵 Trend Mastery:The Calzolaio Way🚀," is forged from the elite SulLaLuna stack, drawing wisdom from Market Wizards like Michael Marcus (who turned $30k into $80M through disciplined trend riding) and Oliver Velez's pristine strategies for profiting on every trade. It's not just lines on a chart—it's your architectural blueprint for financial sovereignty, where data meets divine timing to build the cathedral of Project Calzolaio.
We trade math, not emotion. We honor timeframes. Confluence is King. This indicator deploys the Zero-Lag SMA (ZLSMA), Hull-based M2 (global money supply as a macro trend oracle), ATR-smart stops, and multi-TF alignments to ritualize God Candle setups. Backtested across asset classes, it's modular for your playbooks—small risks, compounding gains, passive income streams.
Why This Indicator is Awesome: The Divine Confluence Engine
In the spirit of "Use Only the Best," this tool synthesizes proven SulLaLuna indicators like ZLSMA, Adaptive Trend Finder, and Momentum HUD with Velez's lessons on trend reversals, support/resistance, and psychology of fear. Here's why it reigns supreme:
1. Global M2 Hull: Macro Trend Oracle
Scaled M2 (summed from major economies like US, EU, JP) via Hull MA captures the "big picture" (Velez Ch. 2). It flips colors as S/R—green for support (bullish bounce zones), red for resistance (bearish ceilings), orange neutral. Like Marcus spotting commodity booms, it signals when liquidity sweeps ignite God Candles. Extend it for future price projections, honoring "How a Trend Ends" (Velez Ch. 5).
2. ZLSMA + ATR Smart Stops: Surgical Precision
Zero-Lag SMA (faster than standard MAs) crosses M2 for entries, with ATR bands for initial stops (2x mult) and trails (1x mult). This embodies "Trade Small. Lose Smaller."—risk ≤1-2% per trade, pre-planned exits. Flip markers (↑/↓) alert divine timing, filtering noise like Velez's "First Pullback" setups.
3. HTF & Multi-TF Dashboard: Timeframe Alignments are Sacred
Show HTF M2 (e.g., Daily) with custom styles/colors. Multi-TF lines (4H, D, W, M) dash across your chart, labeled right-edge with 🚀 (bull) or 🛸 (bear). A confluence table (top-right) scores alignments: Strong Bull (≥3 green), Strong Bear, or Mixed. This is "Confluence is King"—no single signal rules; seek 4+ star scores like Rogers buying value in hysteria.
4. Background & Ribbon: Visual Divine Guidance
Slope-based bgcolor (green bull, red bear) for at-a-glance bias. M2 Ribbon (EMA cloud) flips triangles for macro shifts, ritualizing climactic reversals (Velez Ch. 7).
5. Composite Probability: High-Prob God Candle Hunter
Scores (0-100%) blend 8 factors: price/ZLSMA vs M2, TF slopes, ribbon. Threshold (70%) + pivot zone (near M2/ATR) + optional cross filters for HP signals. Labels show "%" dynamically—alerts fire when confluence ≥4, echoing Schwartz's champion edge: "Everybody Gets What They Want" (Seykota wisdom).
6. Alerts & Rituals Built-In
M2 flips, entries/exits, HP longs/shorts—log them in your journal. Weekly reviews dissect anomalies, as per our Operational Framework.
This isn't hype—it's audited excellence. Backtest it: High confluence crushes drawdowns, compounding like Bielfeldt's T-bond mastery from Peoria. We build together; share wins in the F.I.R.E. Decibel forum.
Suggested Strategy: The SulLaLuna M2 Confluence Playbook
Honor the Risk Triad: Position ↓ if leverage/timeframe ↑; scale ↑ only on ≥4 confluence. Align with "God Candle" hunts—rare explosives reverse-engineered for passive streams.
1. Pre-Trade Checklist (Before Every Entry)
- Trend Alignment: D/4H/1H M2 slopes agree? Table shows Strong Bull/Bear?
- Signal on 15m: ZLSMA crosses M2 in confluence zone (near pivot/ATR bands).
- Volume + Divergence**: Supported by volume (use HUD if added); score ≥70%.
- SL/TP Setup: ATR-based stop; TP at structure/2-3R reward (Velez Reward:Risk).
- HTF Agrees: Monthly bull for longs; avoid counter-trend unless climactic (Ch. 7).
Confluence Score: Rate 1-5 stars. <3? Stand aside. Log emotional state—no adrenaline.
2. Execution Protocol
- Entry: On HP Long/Short triangle (e.g., ZLSMA > M2, score 80%+, monthly bull). Use limits; favor longs above M2 support.
- Position Size: ≤1-2% risk. Example: $10k account, 1% risk = $100 SL distance → size accordingly.
- Trail Stops: Move to trail band after 1R profit; let winners run like Kovner's world trades.
- Asset Classes**: Forex/stocks/crypto—test M2's macro edge on EURUSD or NASDAQ (Velez Ch. 6 reviews).
Ritualize: "When we find the God Candele, we don’t just ride it—we ritualize it." Screenshot + reason.
3. Post-Trade Ritual
- Document: Result, confluence score, lessons. Update journal.
- Exits: Hit stop/exit cross? Or trail locks gains.
- Weekly Audit: Wins/losses, anomalies. Adjust params (e.g., M2 length 55 default).
4. Risk Triad in Action
- Low TF (15m)? Smaller size.
- High Leverage? Tiny positions.
- Confluence ≥4 + HTF support? Scale hold for passive compounding.
Example Setup: God Candle Long
- Chart: 15m EURUSD.
- M2 Hull green (support), ZLSMA crossover, 4H/D/W bull (table: Strong Bull).
- HP Long (85% score) near pivot.
- Entry: Limit at cross; SL below ATR lower; TP at next resistance.
- Outcome: Capture 2R gain; trail for more if trend day (Velez Ch. 5).
Community > Ego: Test, share signals in Discord. Backtest in Pine Script for algo evolution.
We are architects of redemption. Each trade bricks the cathedral. Trade the micro, flow with the macro. When alignments converge, we act—with discipline, data, and divine purpose.
Volume Divergence(FULLAUTO)MINHPHUOCKBVolume Divergence( 5 COLOR)
BB50
AUTO TIME
bullishDivergence = color.lime
bearishDivergence =color.red
volSpike =color.rgb
volContraction = color.aqua
incVolTrend =color.new
decVolTrend =color.new
color.rgb
Filter Wave1. Indicator Name
Filter Wave
2. One-line Introduction
A visually enhanced trend strength indicator that uses linear regression scoring to render smoothed, color-shifting waves synced to price action.
3. General Overview
Filter Wave+ is a trend analysis tool designed to provide an intuitive and visually dynamic representation of market momentum.
It uses a pairwise comparison algorithm on linear regression values over a lookback period to determine whether price action is consistently moving upward or downward.
The result is a trend score, which is normalized and translated into a color-coded wave that floats above or below the current price. The wave's opacity increases with trend strength, giving a visual cue for confidence in the trend.
The wave itself is not a raw line—it goes through a three-stage smoothing process, producing a natural, flowing curve that is aesthetically aligned with price movement.
This makes it ideal for traders who need a quick visual context before acting on signals from other tools.
While Filter Wave+ does not generate buy/sell signals directly, its secure and efficient design allows it to serve as a high-confidence trend filter in any trading system.
4. Key Advantages
🌊 Smooth, Dynamic Wave Output
3-stage smoothed curves give clean, flowing visual feedback on market conditions.
🎨 Trend Strength Visualized by Color Intensity
Stronger trends appear with more solid coloring, while weak/neutral trends fade visually.
🔍 Quantitative Trend Detection
Linear regression ordering delivers precise, math-based trend scoring for confidence assessment.
📊 Price-Synced Floating Wave
Wave is dynamically positioned based on ATR and price to align naturally with market structure.
🧩 Compatible with Any Strategy
No conflicting signals—Filter Wave+ serves as a directional overlay that enhances clarity.
🔒 Secure Core Logic
Core algorithm is lightweight and secure, with minimal code exposure and strong encapsulation.
📘 Indicator User Guide
📌 Basic Concept
Filter Wave+ calculates trend direction and intensity using linear regression alignment over time.
The resulting wave is rendered as a smoothed curve, colored based on trend direction (green for up, red for down, gray for neutral), and adjusted in transparency to reflect trend strength.
This allows for fast trend interpretation without overwhelming the chart with signals.
⚙️ Settings Explained
Lookback Period: Number of bars used for pairwise regression comparisons (higher = smoother detection)
Range Tolerance (%): Threshold to qualify as an up/down trend (lower = more sensitive)
Regression Source: The price input used in regression calculation (default: close)
Linear Regression Length: The period used for the core regression line
Bull/Bear Color: Customize the color for bullish and bearish waves
📈 Timing Example
Wave color changes to green and becomes more visible (less transparent)
Wave floats above price and aligns with an uptrend
Use as trend confirmation when other signals are present
📉 Timing Example
Wave shifts to red and darkens, floating below the price
Regression direction down; price continues beneath the wave
Acts as bearish confirmation for short trades or risk-off positioning
🧪 Recommended Use Cases
Use as a trend confidence overlay on your existing strategies
Especially useful in swing trading for detecting and confirming dominant market direction
Combine with RSI, MACD, or price action for high-accuracy setups
🔒 Precautions
This is not a signal generator—intended as a trend filter or directional guide
May respond slightly slower in volatile reversals; pair with responsive indicators
Wave position is influenced by ATR and price but does not represent exact entry/exit levels
Parameter optimization is recommended based on asset class and timeframe
Order Flow AnalysisOrder Flow Pressure Suite — Wick, Volume & Absorption-Based Pressure Map
This indicator builds a composite buying/selling pressure score from candle structure, volume behavior, and absorption signals.
It is designed to infer the “intent” behind price moves by looking at how candles form, where they close, and how volume behaves — even without access to true bid/ask or footprint data.
Core Concepts
Wick-to-Body Analysis
The script evaluates the ratio of upper and lower wicks to the total candle range.
Strong wicks with relatively small bodies are treated as rejections :
Long upper wick → potential selling pressure / rejection of higher prices
Long lower wick → potential buying pressure / rejection of lower prices
Close Position Analysis
The close is normalized within the candle range:
Close near the high → bullish pressure
Close near the low → bearish pressure
Close near the middle → more neutral , context taken from wicks and volume
Volume Delta Estimation
Since true bid/ask data is not available on standard charts, the script estimates “volume delta” by distributing total volume between buyers and sellers based on candle characteristics:
Bull candles receive more “buying volume,” weighted toward closes near the high
Bear candles receive more “selling volume,” weighted toward closes near the low
This is an approximation of order flow, not a direct time & sales feed.
Absorption Detection
The script looks for candles where volume is high but price movement is relatively small .
This combination often suggests:
Bullish absorption → buyers absorbing aggressive selling (potential accumulation)
Bearish absorption → sellers absorbing aggressive buying (potential distribution)
Absorption zones are tracked over a configurable lookback and can be shaded in the background.
Composite Pressure Oscillator
All the above components (wicks, close position, heuristic volume delta, absorption bias) are blended into a single pressure score :
Values > 0 → net buying pressure
Values < 0 → net selling pressure
The raw score is smoothed with an EMA to reduce noise and create a cleaner oscillator line.
Divergence Detection
The indicator compares price pivots to pressure pivots:
Bullish divergence : price makes a lower low while pressure makes a higher low
Bearish divergence : price makes a higher high while pressure makes a lower high
These conditions can help highlight potential exhaustion or hidden participation from larger players.
Visual Elements
Histogram showing the intensity of buying/selling pressure
Color-coding for increasing vs. decreasing pressure
Background shading for detected absorption zones
Status table summarizing current pressure, trend bias, volume delta, wick signal, and absorption state in real time
How To Use
Use the pressure oscillator to gauge whether the current bar sequence is dominated by buyers or sellers. Strong positive readings may indicate sustained buying pressure; strong negatives may indicate sustained selling pressure.
Watch for divergences between price and the pressure oscillator around key levels, swings, or zones you already care about.
Use absorption zones and wick rejection signals as additional context around support/resistance, breakouts, or failed moves.
Treat all signals as context and confluence , not as stand-alone trade entries or exits. This tool is best used alongside your existing price action, volume, and risk management framework.
Important Notes & Limitations
This script does not access real bid/ask, footprint, or order book data . All volume delta and absorption interpretations are heuristic estimates derived from OHLCV candles.
Signals are probabilistic , not guarantees. They can be early, late, or outright wrong in fast or low-liquidity markets.
Always validate signals with your own analysis, timeframe alignment, and risk management. This indicator is intended as an analytical tool , not financial advice.
MAHI Indicator v9.5 - Smart Momentum HUD + IntradayMAHI Indicator v9.5 — Smart Momentum HUD (Multi-Framework + Intraday Engine)
A Complete Momentum, Trend, and Setup Framework for Swing, Position & Intraday Traders
MAHI v9.5 is the most advanced version yet — a highly optimized, visual, multi-framework trading system that blends momentum, trend alignment, adaptive setup detection, and now Auto-Intraday Mode for short-term traders.
This indicator acts like a Heads-Up Display (HUD) on your chart: it shows trend strength, squeeze zones, dynamic support/resistance, EMAs, setup validation, and early reversal signals in one clean interface — without clutter.
✔ Core Features
📌 1. Smart Momentum Ribbon
A dynamic EMA-based momentum band that visually shifts as trend strength changes.
Helps identify strong vs. weak momentum zones
Adapts to volatility & trend slope
Works on all timeframes (1m to 1M)
📌 2. EMA 9 → 21 Flip System
A precision trend-switching signal:
EMA 9 → 21 BULL = early bullish momentum
EMA 9 → 21 BEAR = early bearish momentum
More reliable than stand-alone MA crossovers
📌 3. Bullish Setup Engine (Standard + Weak)
Automatically identifies when price is entering a reversal-ready state based on:
Position relative to the ribbon
Candle structure
Momentum compression
Slope + exhaustion conditions
Includes:
Bull Setup (Standard) — Higher probability setup
Bull Setup (Weak) — Early or less developed setup
Setup Invalidated — Confirms that the pattern failed
This prevents false confidence & keeps traders disciplined.
📌 4. Strong Buy / Strong Sell Signals
Only appear when multiple confirmations align:
Ribbon bias
EMA slope
Momentum compression
Trend alignment
Filtered to remove noise — especially in lower timeframes.
📌 5. Multi-Timeframe Trend HUD
Top-right panel summarizing:
Overall Trend (Bullish, Bearish, Neutral)
RSI Condition
Daily vs Weekly Alignment
Trading Mode Suggestions (Buy / Sell / LEAPS / Neutral)
This gives instant context.
📌 6. Auto Intraday Engine (NEW in v9.5)
Automatically switches internal logic when you move into intraday timeframes (1m–30m):
Intraday Enhancements:
Adaptive setup detection
Faster momentum sensitivity
EMAs tuned for scalp/swing precision
Tighter invalidation logic
Reduced false positives
Optional strict filtering
Perfect for scalping, day trading & micro-trends
Works instantly — no settings needed.
Just change the chart timeframe and MAHI adjusts.
📌 7. Dynamic High-Timeframe Support (W & M)
Auto-layers weekly & monthly levels:
Helps identify strong bounce zones
Extremely useful for swing & LEAPS traders
📌 8. Weekly Volume Shelf Projection
Lightweight VWAP-style level based on weekly volume aggregation.
Shows probable bottoming areas during pullbacks.
✔ Who This Indicator Is For
Perfect for:
Day traders
Swing traders
Momentum riders
LEAPS & long-term investors
Beginner traders needing a structured system
MAHI adapts to your timeframe and trading style.
✔ Why MAHI Works
MAHI isn’t a single-signal indicator — it’s a framework.
It combines:
Trend
Momentum
Volatility
Setup pattern detection
Validation & invalidation
Multi-timeframe alignment
Dynamic zones
Intraday optimization
This eliminates guesswork and helps traders avoid the emotional traps that cause most losses.
You don’t just get a signal — you get context.
✔ How to Use It
Follow the ribbon bias
Use EMA 9→21 flips as trend confirmation
Look for Bull Setup tags during pullbacks
Avoid trades when you see Setup Invalidated
Respect weekly/monthly HTF support levels
On intraday charts — rely on auto-optimized mode
For swing entries, combine setups with HTF trend HUD
MAHI gives the map. You choose the path.
✔ Final Notes
This version is heavily optimized for performance, clarity, and high-probability signals.
MAHI does not repaint, and works on all assets including:
Stocks
Crypto
ETFs
Forex
Futures
Simple Line📌 Understanding the Basic Concept
The trend reverses only when the price moves up or down by a fixed filter size.
It ignores normal volatility and noise, recognizing a trend change only when price moves beyond a specified threshold.
Trend direction is visually intuitive through line colors (green: uptrend, red: downtrend).
⚙️ Explanation of Settings
Auto Brick Size: Automatically determines the brick/filter size.
Fixed Brick Size: Manually set the size (e.g., 15, 30, 50, 100, etc.).
Volatility Length: The lookback period used for calculations (default: 14).
📈 Example of Identifying Buy Timing
When the line changes from gray or red to green, it signals the start of an uptrend.
This indicates that the price has moved upward by more than the required threshold.
📉 Example of Identifying Sell Timing
When the line changes from green to red, it suggests a possible downtrend reversal.
At this point, consider closing long positions or evaluating short entries.
🧪 Recommended Use Cases
Use as a trend filter to enhance the accuracy of existing strategies.
Can be used alone as a clean directional indicator without complex oscillators.
Works synergistically with trend-following strategies, breakout strategies, and more.
🔒 Notes & Cautions
More suitable for medium- to long-term trend trading than for fast scalping.
If the brick size is too small, the indicator may react to noise.
Sensitivity varies greatly depending on the selected brick size, so backtesting is essential to determine optimal values.
❗ The Trend Simple Line focuses solely on direction—remove the noise and focus purely on the trend.
초대 전용 스크립트
이 스크립트에 대한 접근이 제한되어 있습니다. 사용자는 즐겨찾기에 추가할 수 있지만 사용하려면 사용자의 권한이 필요합니다. 연락처 정보를 포함하여 액세스 요청에 대한 명확한 지침을 제공해 주세요.
이 비공개 초대 전용 스크립트는 스크립트 모더레이터의 검토를 거치지 않았으며, 하우스 룰 준수 여부는 확인되지 않았습니다. 트레이딩뷰는 스크립트의 작동 방식을 충분히 이해하고 작성자를 완전히 신뢰하지 않는 이상, 해당 스크립트에 비용을 지불하거나 사용하는 것을 권장하지 않습니다. 커뮤니티 스크립트에서 무료 오픈소스 대안을 찾아보실 수도 있습니다.
작성자 지시 사항
.
c9indicator
면책사항
해당 정보와 게시물은 금융, 투자, 트레이딩 또는 기타 유형의 조언이나 권장 사항으로 간주되지 않으며, 트레이딩뷰에서 제공하거나 보증하는 것이 아닙니
Filte Ichimoku1. Indicator Name
Filte Ichimoku
2. One-line Introduction
A smoothed and visually enhanced version of the Ichimoku Cloud that highlights trend direction and strength using adaptive color transparency.
3. General Overview
Filte Ichimoku is a modernized take on the classic Ichimoku Kinko Hyo indicator, designed for traders who value clarity and minimalism while retaining core Ichimoku functionality.
It calculates traditional components like Tenkan-sen, Kijun-sen, and the Senkou Span A/B, but focuses primarily on visualizing the Kumo (cloud) with enhanced styling.
Instead of raw plots, Filte Ichimoku applies triple-step smoothing to both Senkou spans, creating a soft, wave-like appearance that reflects trend fluidity.
The color of the cloud dynamically adapts based on whether Span A is above or below Span B (bullish/bearish), and its opacity changes according to the intensity of the trend, which is calculated relative to ATR-based volatility.
By forward-shifting the plots and visually blending the cloud, the indicator helps traders quickly identify dominant trends, potential reversals, and consolidation zones.
Its clean design makes it highly compatible with both traditional Ichimoku strategies and modern price action systems.
4. Key Advantages
🌥 Adaptive Ichimoku Cloud
Cloud color and transparency dynamically change based on real trend strength and direction.
📊 Smoother, Cleaner Display
Triple-smoothing on Senkou A and B creates a less noisy, more readable visual output.
📈 Forward Shift Preserved
Maintains the traditional Ichimoku forward-shift logic, helping project future price zones.
🎨 Customizable Trend Colors
Define your own bullish and bearish cloud colors for easy visual alignment with your strategy.
🚫 Noise Reduction via ATR Normalization
Trend intensity is calculated relative to ATR, reducing false positives in low-volatility zones.
🔒 Lightweight & Secure Design
Optimized script avoids exposure of sensitive logic while remaining fast and reliable in live charts.
📘 Indicator User Guide
📌 Basic Concept
Filte Ichimoku emphasizes cloud dynamics (Kumo) to interpret market structure.
Trend direction is derived from the relationship between Senkou Span A and B, while trend strength is measured by their distance relative to ATR.
The smoother curves make it easier to read while preserving all Ichimoku logic.
⚙️ Settings Explained
Tenkan Sen Length: Fast-moving average calculation period (default: 18)
Kijun Sen Length: Medium trend baseline (default: 52)
Senkou Span Length: Long-term cloud boundary (default: 104)
Bull/Bear Color: Set custom colors for bullish or bearish cloud states
📈 Bullish Timing Example
Senkou Span A > Span B, and the cloud appears green with high opacity
Indicates strong uptrend support, especially when price is above both Tenkan and Kijun
📉 Bearish Timing Example
Span B > Span A, cloud turns red and darkens
Suggests bearish dominance; avoid long entries or prepare for short-side setups
🧪 Recommended Use Cases
Use as a trend background layer for existing Ichimoku or price action systems
Combine with breakouts, support/resistance, and momentum indicators
Great for trend filtering in mid- to long-term strategies
🔒 Precautions
Designed for clarity and filtering—not a standalone entry system
In sideways markets, cloud may compress and color changes may become less meaningful
Adjust smoothing lengths cautiously to avoid lagging during volatile swings
Best results come from combining with price structure analysis
Filter Bar1. Indicator Name
Filter Bar
2. One-line Introduction
A trend-aware bar coloring system that visualizes market direction and strength through adaptive transparency based on regression scoring.
3. General Overview
Filter Bar+ is a minimalist but powerful trend visualization tool that colors chart bars according to market direction and momentum strength.
It analyzes the linear regression trend alignment over a specified lookback period and uses a pairwise comparison algorithm to determine whether the market is in a bullish, bearish, or neutral state.
The result is a "trend score" that gets normalized to reflect trend intensity (0~1).
Bar colors are then dynamically updated using the specified bullish or bearish base colors, where higher intensity results in more opaque (darker) bars, and weaker trends lead to lighter, faded tones.
If no strong trend is detected, bars are shown in gray, signaling indecision or neutrality.
The strength of this indicator lies in its simplicity—it doesn’t draw lines, waves, or shapes, but overlays insight directly onto the chart through smart color cues.
It’s particularly effective as a background filter for price action traders, scalpers, and anyone who prefers clean charts but still wants embedded directional context.
4. Key Advantages
🎨 Adaptive Bar Coloring
Bar color opacity increases with trend strength, offering instant visual confirmation without clutter.
📊 Quantified Trend Direction
Uses a regression-based scoring system to reliably detect uptrends, downtrends, or sideways markets.
⚖️ Customizable Sensitivity
Parameters like lookback period and tolerance percentage give users full control over signal responsiveness.
🧼 Clean Chart Presentation
No lines, shapes, or overlays—just color-coded bars that blend into your existing chart setup.
🚀 Lightweight & Fast
Minimal computational load ensures it works smoothly even on lower-end devices or multiple chart setups.
🔒 Secure Internal Logic
Algorithm is neatly encapsulated and optimized, with no critical logic exposed.
📘 Indicator User Guide
📌 Basic Concept
Filter Bar+ evaluates trend direction and strength using a pairwise comparison of linear regression values.
The result determines whether the market is bullish, bearish, or neutral, and adjusts bar colors accordingly.
It visually amplifies the current market state without drawing any indicators on the chart.
⚙️ Settings Explained
Lookback Period: Number of bars used to compare regression values
Range Tolerance (%): Minimum score required to label a trend as bullish or bearish
Regression Source: Data input used for regression (default: close)
Linear Regression Length: Period for generating the base regression line
Bull/Bear Base Colors: Choose colors to represent bullish or bearish bars
📈 Buy Timing Example
Bars are green (or user-set bullish color) and becoming more vivid
Indicates a strengthening bullish trend; helpful when used alongside breakout confirmation or support zones
📉 Sell Timing Example
Bars turn red (or your custom bearish color) with increasing opacity
Signals growing bearish pressure; acts as confirmation during short setups or breakdowns
🧪 Recommended Use Cases
Combine with volume, RSI, or price action setups for direction filtering
Ideal for clean chart strategies where visual simplicity is preferred
Use as a confirmation layer to reduce noise in sideways markets
🔒 Precautions
This is a visual filter, not a signal generator—use alongside other strategies for entries/exits
In choppy markets, bars may flicker between colors—adjust sensitivity as needed
Works best when you already have a directional thesis and want to validate it visually
Always test settings for your asset/timeframe before applying in live trades
The Strat Lite [rdjxyz]◆ OVERVIEW
The Strat Lite is a stripped down version of the Strat Assistant indicator by rickyzcarroll—focusing on visual simplicity and script performance. If you're new to The Strat, you may prefer the Strat Assistant as a learning aid.
◇ FEATURES REMOVED FROM THE ORIGINAL SCRIPT
Candle Numbering & Up/Down Arrows
Previous Week High & Low Lines
Previous Day High & Low Lines
Action Wick Percentage
Actionable Signals Plot
Strat Combo Plots
Extensive Alerts
◇ FEATURES KEPT FROM THE ORIGINAL SCRIPT
Full Timeframe Continuity
Candle Coloring
◇ FEATURES ADDED TO THE ORIGINAL SCRIPT
Failed 2 Down Classification
Failed 2 Up Classification
◆ DETAILS
The Strat is a trading methodology developed by Rob Smith that offers an objective approach to trading by focusing on the 3 universal scenarios regarding candle behavior:
SCENARIO ONE
The 1 Bar - Inside Bar: A candle that doesn't take out the highs or the lows of the previous candle; aka consolidation.
These are shown as gray candles by default.
SCENARIO TWO
The 2 Bar - Directional Bar: A candle that takes out one side of the previous candle; aka trending (or at least attempting to trend).
SCENARIO THREE
The 3 Bar - Outside Bar: A candle that takes out both sides of the previous candle; aka broadening formation.
In addition to Rob's 3 universal scenarios, this indicator identifies two variations of 2 bars:
Failed 2 up: A candle that takes out the high of the previous candle but closes bearish.
Failed 2 down: A candle that takes out the low of the previous candle but closes bullish.
◆ SETTINGS
◇ INPUTS
FTC (FULL TIMEFRAME CONTINUITY)
Show/hide FTC plots
Offset FTC plots from current bar
◇ STYLE
STRAT COLORS
Color 0 (Failed 2 Up) - Default is fuchsia
Color 1 (Failed 2 Down) - Default is teal
Color 2 (Inside 1) - Default is gray
Color 3 (Outside 3) - Default is dark purple
Color 4 (2 up) - Default is aqua
Color 5 (2 down) - Default is white
◆ USAGE
It's recommended to use The Strat Lite with a top down analysis so you can find lower timeframe positions with higher timeframe context.
◇ TOP DOWN ANALYSIS
MONTHLY LEVELS
Starting on a monthly chart, the previous month's high and low are manually plotted.
WEEKLY LEVELS
Dropping down to a weekly chart, the previous week's high and low are manually plotted.
DAILY LEVELS
Dropping down to a daily chart, the previous day's high and low are manually plotted.
12H LEVELS
Dropping down to a 12h chart, the previous 12h's high and low are manually plotted.
ANALYSIS
The monthly low was broken, creating a lower low (aka a broadening formation), signalling potential exhaustion risk, which can be a catalyst for reversals. The daily candle that tested the monthly low closed as a Failed 2 Down—potentially an early sign of a reversal. With these 2 confluences, it's reasonable to expect the next daily candle to be a 2 Up. Now it's time to look for a lower timeframe entry.
◇ LOWER TIMEFRAME POSITION
HOURLY PRICE ACTION
Dropping down to an hourly chart, we're anticipating a 2 Up on the daily timeframe, so we're looking for a bullish pattern to enter a position long. I personally like the 6:00 AM UTC-5 hourly candle, as it's the midpoint of the day (for futures).
In this specific example, we see the opening gap was filled and there's a potential 2-1-2 bullish reversal set up.
At this point, price can either do one of 5 things:
Form another 1 (inside) candle
Form a 2 up (directional) candle
Form a 2 down (directional) candle
Form a 2 up, fail, and potentially flip to form a bearish 3 (outside) candle
Form a 2 down, fail, and potentially flip to form a bullish 3 (outside) candle
Knowing the finite potential outcomes helps us set up our positions, manage them accordingly, and flip bias if needed.
POSITION SETUP
Here we can set up a position long AND short. To go long, we set a buy stop at the 1h high and stop loss just below the 50% level of the inside candle; to go short, we set a sell stop at 1h low and stop loss just above the 50% level of the inside candle.
If the short gets triggered first, we can wait for price to move in our favor before cancelling the buy order. If the short becomes a failed 2 down, potentially reversing to become a bullish 3, we can either wait for the stop loss to trigger and for the long position to trigger OR we can move the buy stop to our short stop loss and move the long stop loss to the low of the 1h candle.
POSITION REFINEMENT
For an even tighter risk-to-reward, we can drop to a lower timeframe and look for setups that would be an early trigger of the 1h entry. Just know, the lower you go the more noise there is—increasing risk of getting stopped out before the 1h trigger.
Above are 30m refined entries.
In this example, the long buy stop was triggered. It closed bullish, so the sell stop order can be cancelled.
◇ TARGETS & POSITION MANAGEMENT
TARGETS
These depend on whether you intend to scalp, day trade, or swing trade, but targets are typically the highs of previous candles (when bullish) and lows of previous candles (when bearish). It's advised to be cautious of swing pivots as there's a risk of exhaustion and reversal at these levels.
In this example, the nearest target was the previous 12h high and the next target was the previous day high; if you're a swing trader, you could target previous week's high and previous month's high.
POSITION MANAGEMENT
This largely depends on your risk tolerance, but it's common to either:
Move stop loss slightly into profit
Trail stop loss behind higher highs (bullish) or lower lows (bearish)
Scale out of positions at potential pivot points, leaving a runner
Scale into positions on pullbacks on the way to target
◆ WRAP UP
As demonstrated, The Strat Lite offers a stripped down version of the Strat Assistant—making it visually simple for more experienced Strat traders. By following a top-down approach with The Strat methodology, you can find high probability setups and manage risk with relative ease.
◆ DISCLAIMER
This indicator is a tool for visual analysis and is intended to assist traders who follow The Strat methodology. As with any trading methodology, there's no guarantee of profits; trading involves a high degree of risk and you could lose all of your invested capital. The example shown is of past performance and is not indicative of future results and does not constitute and should not be construed as investment advice. All trading decisions and investments made by you are at your own discretion and risk. Under no circumstances shall the author be liable for any direct, indirect, or incidental damages. You should only risk capital you can afford to lose.
Filter Cross1. Indicator Name
Filter Cross Indicator
2. One-line Introduction
A multi-filtered crossover strategy that enhances classic moving average signals with trend, volatility, volume, and momentum confirmation.
3. General Overview
The Filter Cross indicator builds upon the traditional golden/dead cross concept by incorporating additional market filters to evaluate the quality of each signal. It uses two key moving averages (50-period and 200-period SMA) to identify crossovers, while adding four advanced metrics:
Linear regression trend ordering,
ATR-based volatility positioning,
Volume pressure,
Price positioning relative to fast MA.
These components are individually scored and averaged to calculate a Confidence %, which is displayed on the chart alongside each crossover signal. Visual cues such as dynamic color changes reflect the current trend direction and strength, making it intuitive for both novice and experienced traders.
The indicator is especially effective in swing trading and trend-following strategies, where false signals can be filtered out through the additional logic.
Security measures are applied to ensure that the core logic remains protected, making it safe for proprietary use.
4. Key Advantages
✅ Multi-factor Signal Validation
Evaluates each signal using four key market filters to improve reliability over classic crossovers.
📉 Confidence Score Display
Each signal is accompanied by a Confidence % label to help traders assess entry/exit quality.
🎨 Dynamic Color Feedback
Automatically adjusts chart color based on trend intensity and direction, aiding visual clarity.
🔍 Linear Regression Trend Logic
Uses pairwise comparison of regression data to quantify trend alignment across lookback periods.
📈 Reduced False Signals
Minimizes noise and weak signals during sideways markets using adaptive thresholds.
📘 Indicator User Guide
📌 Basic Concept
Filter Cross enhances moving average crossover signals using four additional market-based filters.
These include trend alignment, volatility range, volume strength, and price momentum.
Final signals are graded with a Confidence % score, showing how favorable the conditions are for action.
⚙️ Settings Explained
Fast MA Length: Short-term moving average period (default: 50)
Slow MA Length: Long-term moving average period (default: 200)
Linear Regression Length: Period used to assess price trend alignment
Trend Lookback / Threshold: Sensitivity controls for trend scoring
Volume Lookback / ATR Length: Defines volatility and volume filters
Bull/Bear Color: Customize visual colors for bullish and bearish signals
📈 Buy Timing Example
Golden Cross occurs (50 MA crosses above 200 MA)
Confidence % is above 70%
Trend color turns green, volume is rising, price above fast MA → Strong entry signal
📉 Sell Timing Example
Dead Cross occurs (50 MA crosses below 200 MA)
Confidence % above 60% indicates a reliable bearish setup
Regression trend down, color turns red → Valid exit or short opportunity
🧪 Recommended Use Cases
Combine with RSI or MACD for timing confirmation in swing trades
Use Confidence % to filter out weak crossover signals during sideways trends
Effective in medium-to-long term trading with volatile assets
🔒 Precautions
Confidence % reflects current conditions—not future prediction—use with discretion
May produce delayed signals in ranging markets; test before real application
Best results achieved when combined with other indicators or price action context
Always optimize parameters based on the specific market or asset being traded
+++
Accumulation And Distribution Zones (Zeiierman)█ Overview
Accumulation And Distribution Zones (Zeiierman) is a structural zone indicator that highlights where the market has recently been absorbing sell pressure (Accumulation) or releasing buy pressure (Distribution).
The indicator tracks a refined sequence of swing highs and lows and measures how these swings tighten, expand, or step directionally. When they form staircase-style structures such as higher lows with compressing highs for Accumulation or lower highs with compressing lows for Distribution, the script marks these areas as shifts in market control.
Once the full pattern completes, the indicator converts it into an Accumulation or Distribution zone. Each zone is based on a confirmed structural sequence rather than a single point, making it more reliable and reflective of actual market behavior.
The indicator can also display a mini-volume profile within each zone and extend POC levels forward, showing where trading activity clustered most. Combined, these features reveal areas where price has recently shown acceptance, absorption, or rejection, helping you understand whether current price action is reacting to, breaking from, or retesting these important structural regions.
█ How It Works
⚪ Swing Structure
The indicator builds its foundation by detecting swing highs and lows using a configurable Swing Detection Window. Each confirmed swing is stored with its price, time, bar index, and direction. If two consecutive swings share the same direction, only the more extreme one is kept. This produces a clean structural sequence that removes noise and keeps only meaningful turning points.
⚪ Accumulation vs Distribution Pattern Logic
Using the refined swing sequence, the script looks for staircase-style formations that signal shifts in control:
Accumulation (bottoming): higher lows combined with compressing highs.
Distribution (topping): lower highs combined with compressing lows.
Two detection modes are available:
Quick for compact 4-swing formations
Slow for broader 6-swing structures
When a full structural pattern completes, the indicator marks the zone and resets the swing buffer for the next formation.
⚪ Volume Profile Construction
The price range between the zone’s upper and lower boundary is divided into several Rows. For every bar within the zone’s swing range, the bar’s volume is added to the appropriate price row.
Volume is classified as:
Bullish volume when close > open
Bearish volume when close < open
Each row is drawn as two horizontal segments (bull and bear), colored with smooth gradients based on your bull/bear color settings. This creates a compact profile that reveals where trading activity is concentrated inside the zone and whether buyers or sellers dominate those price levels.
█ How to Use
The indicator is designed to provide context and confluence, not raw buy/sell signals.
⚪ Spot Fresh Accumulation & Distribution
Use newly printed zones as a map of where the market has recently:
Absorbed selling and formed a floor (Accumulation below price).
Absorbed buying and formed a cap (Distribution above price).
In a trending environment, fresh accumulation zones below price are often areas to watch for pullbacks, while distribution zones above price can act as sell zones or targets.
⚪ Volume Profile
Longer horizontal bars show where the market traded the most volume inside the zone.
Bull-leaning rows inside an accumulation zone often signal strong buying interest during the formation.
Bear-leaning rows inside a distribution zone highlight concentrated selling pressure.
By combining this volume distribution with the zone label and the broader trend context, you can judge whether the structure is more likely to hold, break, or retest as the price approaches it again.
⚪ POC (Point of Control) Trading
Extended POC zones (Regular or Faded) can be treated as dynamic support/resistance rails:
When price revisits a prior accumulation POC and rejects it from above, the level may act as support. When price retests a distribution POC from below and fails to break through, it can act as resistance.
⚪ Combine with Your Own Strategy
The script does not decide direction for you. You get the most value by combining it with:
Your own trend filters (moving averages, higher timeframe structure, volatility measures).
Your preferred entry models (reversal candles, momentum breaks, liquidity grabs, etc.).
Higher-timeframe mapping.
Think of this tool as a map of where the market did meaningful business. You decide how to trade around those areas.
█ Settings
Acc/Dist Ranges – Master switch for drawing all Accumulation and Distribution zones. Turn this off to temporarily hide boxes while leaving supporting logic active.
Pattern – Shows or hides the swing-based pattern outline that formed each zone. Good for structural debugging and education.
Pattern Sensitivity
Quick – more responsive, detects smaller compact structures.
Slow – stricter, focuses on wider and more established zones.
Swing Detection Window – Pivot width used to confirm swing highs and lows. Larger values filter noise and produce bigger zones; smaller values pick up more minor structures.
Volume Profile – Enables the embedded volume profile inside each zone.
Rows – Number of price slices used to aggregate volume in the zone. Higher values give more detail but increase visual density.
Switch Order – Flips the horizontal order of bull vs bear volume segments within each row.
Extend Zones – Behaviour of POC and zone extension:
None – No forward extension.
Faded Zones – Store and draw up to four past POC zones as faded horizontal levels.
Regular Zones – Extend POC boxes forward until price breaks out.
-----------------
Disclaimer
The content provided in my scripts, indicators, ideas, algorithms, and systems is for educational and informational purposes only. It does not constitute financial advice, investment recommendations, or a solicitation to buy or sell any financial instruments. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from the use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, backtest, or individual's trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
Price Action - EMA ClusterAligned with Al Brooks' multi-timeframe analysis in his series, this plots three EMA20 lines on 5m charts: current (line), 15m (stepline), and 60m (stepline). Visible only on 5m timeframe for clarity. EMAs act as dynamic trend channels—price above signals bull bias, below bear. Test extremes: Pullbacks to EMA often offer second-leg entries in trends. Customize colors for better visualization of always-in direction.
Safe Supertrend Strategy (No Repaint)Overview
The Safe Supertrend is a repaint-free version of the popular Supertrend trend-following indicator.
Most Supertrend indicators appear perfect on historical charts because they flip intrabar and then repaint after the candle closes.
This version fixes that by using close-of-bar confirmation only, making every trend flip 100% stable, safe, and non-repainting.
Why This Supertrend Doesn’t Repaint
Most Supertrend indicators calculate their trend direction using the current bar’s data.
But during a live candle:
ATR expands and contracts
The upper/lower bands move
Price moves above/below the band temporarily
A false flip appears → then disappears when the candle closes
That is classic repainting.
This indicator avoids all of that by using:
close > upper
close < lower
This means:
Trend direction flips only based on the previous candle,
No intrabar calculations,
No flickering signals,
No “perfect but fake” historical performance.
Every signal you see on the chart is exactly what was available in real-time.
How It Works
Calculates ATR (Average True Range) and SMA centerline
Builds upper and lower volatility bands
Confirms trend flips only after the previous bar closes
Plots clear bull and bear reversal signals
Works on all markets (crypto, stocks, forex, indices)
No repainting, no recalc, no misleading flips.
Bullish Signal (Trend Up)
A bullish trend begins only when:
The previous candle closes above the upper ATR band,
And this flip is fully confirmed.
A green triangle marks the start of a new uptrend.
Bearish Signal (Trend Down)
A bearish trend begins only when:
The previous candle closes below the lower ATR band,
And the downtrend is confirmed.
A red triangle signals the start of a new downtrend.
Inputs
ATR Length - default 10
ATR Multiplier - default 3.0
Works on all timeframes and market
Simple, but powerful.
Why Use This Version Instead of a Regular Supertrend?
Most Supertrends:
Look great historically
But repaint continuously on live charts
Give false trend flips intrabar
Cannot be reliably used in strategies
This version:
Uses strict previous-bar logic
Never repaints trend direction
Works perfectly in live trading
Backtests accurately
Is ideal for algorithmic strategies
Ideal For:
Trend-following strategies
Breakout trading
Algo trading systems
Reversal detection
Filtering market noise
Swing trading & scalping
Final Note
This is a safer, more reliable Supertrend designed for real-world use — not perfect-looking repaint illusions.
If you use Supertrend in your trading system, this no-repaint version ensures your signals are trustworthy and consistent.






















