AlphaStrike: Zen ModeDescription:
1. The Philosophy: Reducing Cognitive Load Modern charts are often cluttered with dozens of noisy lines (Bollinger Bands, Moving Averages, Oscillators) that lead to "Analysis Paralysis." This script is designed with a "Zen" philosophy: P rocess the complexity in the background, but display only the decision.
This is not a simple indicator overlay. It is a Risk-Based Trading Engine that runs multiple validation checks (Momentum, Volatility, and Price Action) simultaneously but hides the underlying calculations to keep the chart clean. It focuses the trader's attention on the two things that matter most: Trend Direction and Position Sizing.
2. The "Invisible" Technical Engine The script operates on a Dual-State Logic system that adapts to market conditions. It uses standard indicators as filters, not just visuals.
A. Trend State (The Backbone) The script calculates a volatility-adjusted Trend Baseline (SuperTrend).
Green State: The market is in a markup phase. The script looks for continuation.
Red State: The market is in a markdown phase. The script looks for defense.
B. The "Confluence" Reversal Logic Instead of cluttering the screen with Bollinger Bands and RSI windows, the script performs these checks internally:
Condition 1 (Volatility): Is price extending beyond the 2.0 Standard Deviation (Bollinger Lower/Upper)?
Condition 2 (Momentum): Is RSI overextended (<35 or >65)?
Condition 3 (Price Action): Is there a specific Pin Bar candle pattern (Long wick rejection)?
Result: Only when all three conditions align does the script print a "Reversal Circle." This filters out weak signals that usually occur in strong trends.
3. The Risk Management Calculator (Key Feature) Most traders fail not because of bad entries, but because of inconsistent sizing. This script features a built-in Dynamic Position Sizing Dashboard located in the bottom right.
Adaptive Stop Loss:
In a Trend: The Stop Loss is automatically set to the Trend Line (SuperTrend).
In a Reversal: The script internally scans for the nearest Swing Low/High (using hidden Pivot calculations) and sets the Stop Loss there.
Position Sizing Math: The dashboard reads your Account Size and Risk % inputs. It instantly calculates the "Max Size" (contract/share amount) allowed for the current trade.
Formula: Position Size = (Account Value * Risk %) / Distance to Stop.
Benefit: This ensures you risk the exact same dollar amount on every trade, whether the stop loss is 1% away or 10% away.
4. How to Read the Signals
Triangles (Breakouts): These represent a shift in the dominant trend direction.
Green Triangle: Bullish Trend Start.
Red Triangle: Bearish Trend Start.
Circles (Mean Reversion): These are high-probability counter-trend plays.
Blue Circle: Buy Reversal (Oversold + Pinbar + Bollinger Support).
Orange Circle: Sell Reversal (Overbought + Pinbar + Bollinger Resistance).
5. Settings
Trend Settings: Adjust the ATR Period and Factor to change the sensitivity of the trend line.
Reversal Settings: Tweak the RSI and Bollinger thresholds to filter out more/less signals.
Risk Management: Input your total Account Size and desired Risk Per Trade (e.g., 1%) to calibrate the Dashboard.
Disclaimer This tool provides algorithmic analysis and risk calculations. It does not guarantee profits or provide financial advice. Always verify position sizes before executing.
Wskaźniki i strategie
US Index Market Snapshot Cash, Futures & ETFsBrief Description
This study displays a real-time table of major U.S. equity indices—Dow Jones, S&P 500, Nasdaq, and Russell—across Cash, Futures, and ETF markets.
Each cell shows the current price along with the daily percentage change, with color-coded backgrounds for quick trend identification.
Designed as a compact market dashboard, it provides an at-a-glance view of cross-market alignment and relative performance.
Alternative Title Options
US Indices Dashboard (Cash • Futures • ETFs)
Index Market Matrix – Prices & Daily Change
Multi-Market US Index Table
ronismc333 דור בן שימול: //+------------------------------------------------------------------+
//| SMC GBP PRO EA – FTMO Ready 30M עם חצים |
//+------------------------------------------------------------------+
#property strict
input double RiskPercent = 1.0;
input int RSIPeriod = 14;
input int StopLossPoints = 200;
input int TakeProfitPoints = 400;
input int MagicNumber = 202630;
input bool EnableAlerts = true;
int rsiHandle;
//+------------------------------------------------------------------+
int OnInit()
{
rsiHandle = iRSI(_Symbol, PERIOD_M30, RSIPeriod, PRICE_CLOSE);
Comment("SMC GBP PRO EA Status: CONNECTED Account: ", AccountNumber());
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
void OnTick()
{
if(PositionsTotal() > 0)
{
UpdateStatus();
return;
}
double rsi ;
CopyBuffer(rsiHandle,0,0,1,rsi);
double high1 = iHigh(_Symbol, PERIOD_M30,1);
double low1 = iLow(_Symbol, PERIOD_M30,1);
double close1= iClose(_Symbol, PERIOD_M30,1);
double high2 = iHigh(_Symbol, PERIOD_M30,2);
double low2 = iLow(_Symbol, PERIOD_M30,2);
//==== HTF TREND (1H EMA50) ====
double emaHTF = iMA(_Symbol, PERIOD_H1, 50, 0, MODE_EMA, PRICE_CLOSE, 0);
double closeHTF = iClose(_Symbol, PERIOD_H1, 0);
bool htfBull = closeHTF > emaHTF;
bool htfBear = closeHTF < emaHTF;
//==== LIQUIDITY SWEEP ====
bool sweepBuy = low1 < low2 && close1 > low2;
bool sweepSell = high1 > high2 && close1 < high2;
//==== BOS ====
bool bosBuy = sweepBuy && close1 > high2;
bool bosSell = sweepSell && close1 < low2;
//==== BUY/SELL CONDITIONS ====
bool buy = bosBuy && rsi > 50 && htfBull;
bool sell = bosSell && rsi < 50 && htfBear;
double lot = CalculateLot(StopLossPoints, RiskPercent);
if(buy)
{
OpenTrade(ORDER_TYPE_BUY, lot, StopLossPoints, TakeProfitPoints, "BUY GBP");
DrawArrow("BUY", 0, low1 - 10*_Point, clrLime, "BUY GBP");
}
if(sell)
{
OpenTrade(ORDER_TYPE_SELL, lot, StopLossPoints, TakeProfitPoints, "SELL GBP");
DrawArrow("SELL", 0, high1 + 10*_Point, clrRed, "SELL GBP");
}
UpdateStatus();
}
//+------------------------------------------------------------------+
double CalculateLot(int slPoints, double riskPercent)
{
double riskMoney = AccountBalance() * riskPercent / 100.0;
double lot = riskMoney / (slPoints * _Point * 10);
lot = MathMax(lot,0.01);
return(NormalizeDouble(lot,2));
}
//+------------------------------------------------------------------+
void OpenTrade(ENUM_ORDER_TYPE type,double lot,int sl,int tp,string comment)
{
double price = (type==ORDER_TYPE_BUY) ? SymbolInfoDouble(_Symbol,SYMBOL_ASK)
: SymbolInfoDouble(_Symbol,SYMBOL_BID);
double slPrice = (type==ORDER_TYPE_BUY) ? price - sl*_Point
: price + sl*_Point;
double tpPrice = (type==ORDER_TYPE_BUY) ? price + tp*_Point
: price - tp*_Point;
MqlTradeRequest req;
MqlTradeResult res;
ZeroMemory(req);
req.action = TRADE_ACTION_DEAL;
req.symbol = _Symbol;
req.volume = lot;
req.type = type;
req.price = price;
req.sl = slPrice;
req.tp = tpPrice;
req.deviation= 20;
req.magic = MagicNumber;
req.comment = comment;
if(!OrderSend(req,res))
{
Print("Trade failed: ",res.retcode);
if(EnableAlerts) Alert("Trade failed: ",res.retcode);
}
else
{
if(EnableAlerts) Alert(comment," opened at ",price);
Print(comment," opened at ",price);
}
}
//+------------------------------------------------------------------+
void UpdateStatus()
{
string text = "SMC GBP PRO EA Status: CONNECTED Account: "+IntegerToString(AccountNumber());
if(PositionsTotal()>0) text += " Trade Open!";
Comment(text);
}
//+------------------------------------------------------------------+
void DrawArrow(string name, int shift, double price, color clr, string text)
{
string objName = name + IntegerToString(TimeCurrent());
if(ObjectFind(0,objName) >=0) ObjectDelete(0,objName);
ObjectCreate(0,objName,OBJ_ARROW,0,Time ,price);
ObjectSetInteger(0,objName,OBJPROP_COLOR,clr);
ObjectSetInteger(0,objName,OBJPROP_WIDTH,2);
ObjectSetInteger(0,objName,OBJPROP_ARROWCODE,233); // חץ
ObjectSetString(0,objName,OBJPROP_TEXT,text);
}
------------------------------------------------------------------+
//| SMC GBP PRO EA – FTMO 30M + TP/SL + Trailing Stop |
//+------------------------------------------------------------------+
#property strict
input double RiskPercent = 1.0;
input int RSIPeriod = 14;
input int StopLossPoints = 200;
input int TakeProfitPoints = 400;
input int MagicNumber = 202630;
input bool EnableAlerts = true;
int rsiHandle;
//+------------------------------------------------------------------+
int OnInit()
{
rsiHandle = iRSI(_Symbol, PERIOD_M30, RSIPeriod, PRICE_CLOSE);
Comment("SMC GBP PRO EA Status: CONNECTED Account: ", AccountNumber());
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
void OnTick()
{
//
UpdateStatus();
// Trailing Stop
ManageTrailing();
if(PositionsTotal() > 0) return;
double rsi ;
CopyBuffer(rsiHandle,0,0,1,rsi);
double high1 = iHigh(_Symbol, PERIOD_M30,1);
double low1 = iLow(_Symbol, PERIOD_M30,1);
double close1= iClose(_Symbol, PERIOD_M30,1);
double high2 = iHigh(_Symbol, PERIOD_M30,2);
double low2 = iLow(_Symbol, PERIOD_M30,2);
//==== HTF TREND (1H EMA50) ====
double emaHTF = iMA(_Symbol, PERIOD_H1, 50, 0, MODE_EMA, PRICE_CLOSE, 0);
double closeHTF = iClose(_Symbol, PERIOD_H1, 0);
bool htfBull = closeHTF > emaHTF;
bool htfBear = closeHTF < emaHTF;
//==== LIQUIDITY SWEEP ====
bool sweepBuy = low1 < low2 && close1 > low2;
bool sweepSell = high1 > high2 && close1 < high2;
//==== BOS ====
bool bosBuy = sweepBuy && close1 > high2;
bool bosSell = sweepSell && close1 < low2;
//==== BUY/SELL CONDITIONS ====
bool buy = bosBuy && rsi > 50 && htfBull;
bool sell = bosSell && rsi < 50 && htfBear;
double lot = CalculateLot(StopLossPoints, RiskPercent);
if(buy)
{
OpenTrade(ORDER_TYPE_BUY, lot, StopLossPoints, TakeProfitPoints, "BUY GBP");
DrawArrow("BUY", 0, low1 - 10*_Point, clrLime, "BUY GBP");
}
if(sell)
{
OpenTrade(ORDER_TYPE_SELL, lot, StopLossPoints, TakeProfitPoints, "SELL GBP");
DrawArrow("SELL", 0, high1 + 10*_Point, clrRed, "SELL GBP");
}
}
//+------------------------------------------------------------------+
double CalculateLot(int slPoints, double riskPercent)
{
double riskMoney = AccountBalance() * riskPercent / 100.0;
double lot = riskMoney / (slPoints * _Point * 10);
lot = MathMax(lot,0.01);
return(NormalizeDouble(lot,2));
}
//+------------------------------------------------------------------+
void OpenTrade(ENUM_ORDER_TYPE type,double lot,int sl,int tp,string comment)
{
double price = (type==ORDER_TYPE_BUY) ? SymbolInfoDouble(_Symbol,SYMBOL_ASK)
: SymbolInfoDouble(_Symbol,SYMBOL_BID);
double slPrice = (type==ORDER_TYPE_BUY) ? price - sl*_Point
: price + sl*_Point;
double tpPrice = (type==ORDER_TYPE_BUY) ? price + tp*_Point
: price - tp*_Point;
MqlTradeRequest req;
MqlTradeResult res;
ZeroMemory(req);
req.action = TRADE_ACTION_DEAL;
req.symbol = _Symbol;
req.volume = lot;
req.type = type;
req.price = price;
req.sl = slPrice;
req.tp = tpPrice;
req.deviation= 20;
req.magic = MagicNumber;
req.comment = comment;
if(!OrderSend(req,res))
{
Print("Trade failed: ",res.retcode);
if(EnableAlerts) Alert("Trade failed: ",res.retcode);
}
else
{
if(EnableAlerts) Alert(comment," opened at ",price);
Print(comment," opened at ",price);
}
}
//+------------------------------------------------------------------+
void UpdateStatus()
{
string text = "SMC GBP PRO EA Status: CONNECTED Account: "+IntegerToString(AccountNumber());
if(PositionsTotal()>0) text += " Trade Open!";
Comment(text);
}
//+------------------------------------------------------------------+
void DrawArrow(string name, int shift, double price, color clr, string text)
{
string objName = name + IntegerToString(TimeCurrent());
if(ObjectFind(0,objName) >=0) ObjectDelete(0,objName);
ObjectCreate(0,objName,OBJ_ARROW,0,Time ,price);
ObjectSetInteger(0,objName,OBJPROP_COLOR,clr);
ObjectSetInteger(0,objName,OBJPROP_WIDTH,2);
ObjectSetInteger(0,objName,OBJPROP_ARROWCODE,233); // חץ
ObjectSetString(0,objName,OBJPROP_TEXT,text);
}
//+------------------------------------------------------------------+
void ManageTrailing()
{
for(int i=PositionsTotal()-1;i>=0;i--)
{
ulong ticket = PositionGetTicket(i);
if(PositionSelectByTicket(ticket))
{
double price = PositionGetDouble(POSITION_PRICE_OPEN);
double sl = PositionGetDouble(POSITION_SL);
double tp = PositionGetDouble(POSITION_TP);
ENUM_POSITION_TYPE type = (ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE);
double newSL = 0;
if(type == POSITION_TYPE_BUY)
{
double trail = SymbolInfoDouble(_Symbol,SYMBOL_BID) - StopLossPoints*_Point;
if(trail > sl) newSL = trail;
}
else if(type == POSITION_TYPE_SELL)
{
double trail = SymbolInfoDouble(_Symbol,SYMBOL_ASK) + StopLossPoints*_Point;
if(trail < sl) newSL = trail;
}
if(newSL != 0)
{
MqlTradeRequest req;
MqlTradeResult res;
ZeroMemory(req);
req.action = TRADE_ACTION_SLTP;
req.symbol = _Symbol;
req.position = ticket;
req.sl = newSL;
req.tp = tp;
OrderSend(req,res);
}
}
}
}
SPX_0DTE_EngineLibrary "SPX_0DTE_Engine"
getATM(price)
Parameters:
price (float)
getCallStrikes(atmStrike, count)
Parameters:
atmStrike (int)
count (int)
getPutStrikes(atmStrike, count)
Parameters:
atmStrike (int)
count (int)
generateOCCSymbol(underlying, year, month, day, optionType, strike)
Parameters:
underlying (string)
year (int)
month (int)
day (int)
optionType (string)
strike (int)
getAdaptiveReference(src, lookback)
Parameters:
src (float)
lookback (int)
detectLiquidityGrabHigh(high, low, close, volume, lookback)
Parameters:
high (float)
low (float)
close (float)
volume (float)
lookback (int)
detectLiquidityGrabLow(high, low, close, volume, lookback)
Parameters:
high (float)
low (float)
close (float)
volume (float)
lookback (int)
getVolatilityRegime(src, bbLength, bbMult)
Parameters:
src (float)
bbLength (int)
bbMult (float)
getESConfirmation(spxClose, esClose, spxHigh, esHigh, spxLow, esLow, lookback)
Parameters:
spxClose (float)
esClose (float)
spxHigh (float)
esHigh (float)
spxLow (float)
esLow (float)
lookback (int)
getDeltaBias(src, adaptiveRef, esClose, spxClose)
Parameters:
src (float)
adaptiveRef (float)
esClose (float)
spxClose (float)
getGammaZone(src, atmStrike)
Parameters:
src (float)
atmStrike (int)
getVegaRegime(vixSymbol)
Parameters:
vixSymbol (simple string)
isFailState(volRegime, hour, minute, vix, atr)
Parameters:
volRegime (int)
hour (int)
minute (int)
vix (float)
atr (float)
checkCallConfluence(liquidityGrabLow, volRegime, esConfirmation, failState, deltaBias, lowGamma)
Parameters:
liquidityGrabLow (bool)
volRegime (int)
esConfirmation (int)
failState (bool)
deltaBias (int)
lowGamma (bool)
checkPutConfluence(liquidityGrabHigh, volRegime, esConfirmation, failState, deltaBias, lowGamma)
Parameters:
liquidityGrabHigh (bool)
volRegime (int)
esConfirmation (int)
failState (bool)
deltaBias (int)
lowGamma (bool)
checkProfitTarget(entryPrice, currentPrice, targetPercent, isCall)
Parameters:
entryPrice (float)
currentPrice (float)
targetPercent (float)
isCall (bool)
checkStopLoss(entryPrice, currentPrice, stopPercent, isCall)
Parameters:
entryPrice (float)
currentPrice (float)
stopPercent (float)
isCall (bool)
checkTimeExit(hour, minute)
Parameters:
hour (int)
minute (int)
checkInvalidation(esConfirmation, isCallPosition)
Parameters:
esConfirmation (int)
isCallPosition (bool)
BE-QuantFlow: Adaptive Momentum Trading█ Overview: QuantFlow: Adaptive Momentum Trading
QuantFlow is a sophisticated algorithmic momentum trading method designed specifically for indices and high-beta stocks. However, its logic is universal; with appropriate parameter tuning, it adapts to various asset classes and timeframes.
While the standard momentum indicators (like RSI or MACD) simply measure how fast price is moving (Velocity), QuantFlow analyzes the quality and conviction of the trend . Features like Dynamic Volatility Filtering and Trend Shielding, combined with volatility weighting and a "Dual-Line" approach to distinguish between a sustainable institutional trend and a temporary retail spike, make the indicator unique and more powerful.
█ Why QuantFlow ?
Quant (The Engine): This replaces subjective guessing with objective math.
Instead of just seeing that the price is "up," we measure "how it got there". For example, a stock that rises 1 currency value every day for 10 days (smooth trend) gets a much higher score than a stock that jumps 10 currency value in one minute and does nothing else (erratic noise). This mathematical rigor provides the structure.
█ Core Logic & Philosophy
To understand how QuantFlow calculates momentum, imagine a "Tug-of-War" between Buyers (Bulls) and Sellers (Bears). Most indicators (like RSI) use a single line. If RSI is at 50, it means "Neutral." But "Neutral" can mean two very different things:
Peace: Nothing is happening. No one is buying or selling.
War: Buyers are pushing hard, but Sellers are pushing back equally hard. Volatility is massive.
A single line hides this reality. QuantFlow splits the market into two separate scores:
Bull Score (Green Line): How hard are the buyers pushing?
Bear Score (Red Line): How hard are the sellers pushing?
The Layman's Advantage:
If both lines are low = Sleepy Market (Avoid).
If Green is high and Red is low = Clean Uptrend (Buy).
If Red is high and Green is low = Clean Downtrend (Sell).
If both lines are high = Chaos/War Zone (Wait).
█ How it Weight "Sustenance" (The Critical Quality Check)
This is the most unique aspect of QuantFlow: Trend direction alone is not enough; Sustenance is weighed equally . Standard indicators treat every 10 currency value movements the same way with no distinction. However, QuantFlow asks, "Did you hold the ground you gained?"
Scenario A (High Sustenance) : A stock opens at 100, marches to 110, and closes at 110.
Verdict : Buyers pushed up and sustained the price.
QuantFlow Weight : 100%. This is a high-quality move.
Scenario B (Low Sustenance) : A stock opens at 100, spikes to 110, but gets sold off to close at 102.
Verdict : Buyers pushed up (Trend is Up), but failed to sustain it (Long Wick).
QuantFlow Weight : 20%. This is treated as "Noise" or a trap.
By mathematically weighing the Close Location Value (where the candle closes relative to its high/low), QuantFlow filters out "Gap-and-Fade" traps and exhaustion spikes that fool traditional indicators.
Comparisons: QuantFlow vs. The Rest
Calculation Logic : Standard RSI/MACD measures simple price change over time. QuantFlow measures Price Change 'times (x)' Conviction (Sustenance Weighting).
Visual Output : Standard tools show a single line (0-100), often hiding market conflict. QuantFlow displays Dual Lines (Bull vs Bear Intensity) to reveal the true state of the battle.
Trap Handling : Standard indicators are often fooled by sharp spikes. QuantFlow ignores "Gap-and-Fade" moves with poor closing conviction.
Adaptability : Standard tools use static levels (e.g., Overbought > 70). QuantFlow uses Dynamic Bands that adjust automatically to recent volatility.
█ Dynamic Volatility Filtering
Unlike standard indicators that use fixed levels (e.g., "Buy if RSI > 50"), QuantFlow acknowledges that "50" means something different in a quiet market versus a crashing market. This section explains the statistical engine driving the signals.
The Problem with Static Levels : In a low-volatility environment, a momentum score of 55 might indicate a massive breakout. In a high-volatility environment, a score of 55 might just be random noise. A fixed threshold cannot handle both scenarios.
The Solution: Adaptive Statistics : The script maintains a memory of the Momentum Events. It doesn't just look at price; it looks at where the momentum occurred in the past and draws a "Noise Zone" (Grey Band). This logic acts as a "Smart Gatekeeper" for trade entries:
Scenario A: Inside the Noise (The Filter)
If a new momentum signal happens inside the Noise Zone, the script assumes it is likely chop or noise.
Action : It forces a wait period. The signal is delayed until the trend sustains itself for Confirm Bars; else the signal is cancelled. This filters out ~70% of false signals in sideways markets.
Scenario B: Outside the Noise (The Breakout)
If a new momentum signal happens outside the Noise Zone (or the momentum score smashes through the Upper Band), it is statistically significant (an outlier event).
Action: It triggers an Immediate Entry. No waiting is required because the move is powerful enough to escape the historical noise zone.
█ The ⚠️ "Warning" System (Heads-up for Smart Reversals)
While you are directional if there is potential reversal signal, it provides the heads-up warning for a better decision-making
█ Special Utility: Ghost Mode
For intraday traders, the biggest disruption to "Flow" is the mandatory broker square-off at 3:15 PM (considering Indian Market). Often, a trend continues overnight, and the trader misses the gap-up opening the next morning because their algo was flat.
Ghost Mode is a unique feature that runs silently in the background:
At Square-off: The strategy closes your official position to satisfy the broker.
In the Background: It keeps the trade "alive" virtually (Ghost).
Next Morning: If the market opens in the trend's favor, the strategy re-enters the trade automatically. This approach ensures you capture the full swing of the trend, even if you are forced to exit at the previous session.
█ Advice on this indicator:
Parameter Calibration: The default settings are optimized for BankNifty on 5-minute charts. If you trade stocks, crypto, commodities, or any higher timeframes (e.g., 15-min or hourly), you must adjust these.
Low Volatility Assets: Reduce Stop Multiplier to 2.0.
High Volatility Assets: Increase Momentum Lookback to 50 to filter noise.
Confluence (Additional Confirmation): While QuantFlow is a complete system, using it alongside Key Support/Resistance Levels or Volume Profile provides the highest probability setups.
Hull DMI - MattesHull DMI - Mattes
A Directional Movement Index enhanced with Hull Moving Average smoothing for refined trend detection.
This indicator reimagines the classic Directional Movement Index (DMI) by incorporating Hull Moving Average (HMA) smoothing on high and low prices. It calculates the +DI and -DI components based on changes in these hulled values, then derives the ADX for trend strength. The core plot displays the difference between +DI and -DI, colored to indicate bullish (blue) or bearish (purple) dominance when ADX is rising. Additionally, it overlays colored candles on the price chart to visually represent the prevailing trend direction.
Key Features:
Hull-Smoothed Inputs: Applies HMA to highs and lows before computing directional changes, reducing noise and lag compared to standard DMI.
Customizable Lengths: Adjustable periods for HMA, DI, and ADX smoothing to suit various timeframes and assets.
Trend Visualization: Plots DI difference with dynamic coloring and overlays trend-colored candles for at-a-glance analysis.
Alert Conditions: Built-in alerts for long (bullish) and short (bearish) signals when conditions shift.
How It Differs from Standard DMI/ADX:
Unlike the traditional DMI, which uses raw price changes and true range, this version employs Hull Moving Averages on highs and lows for smoother, more responsive directional calculations. This minimizes whipsaws in choppy markets while preserving sensitivity to genuine trends. The ADX is integrated to filter signals, ensuring color changes and alerts only occur during strengthening trends, setting it apart from basic oscillator-based indicators. Why It's Useful:
Enhanced Trend Identification: The HMA smoothing provides clearer signals in volatile environments, helping traders spot emerging trends earlier.
Visual Clarity: Colored DI plot and candle overlays make it easy to interpret market bias without cluttering the chart.
Versatility: Suitable for stocks, forex, crypto, and more; excels in trend-following strategies or as a filter for other systems.
Risk Management Aid: By focusing on ADX-confirmed moves, it reduces false signals, potentially improving win rates in systematic trading.
This Hull DMI variant offers several practical advantages that can directly improve trading decisions and performance:
Reduced Lag with Smoother Signals: By applying Hull Moving Average smoothing to highs and lows, the indicator responds faster to genuine trend changes than the standard DMI while filtering out much of the noise that causes false signals in ranging or choppy markets. Traders get earlier entries into trending moves without excessive whipsaws.
Built-in Trend Strength Filter: The optional ADX confirmation (enabled by default) ensures bullish signals and blue coloring only activate when trend strength is increasing (ADX rising). This helps traders avoid entering long positions during weakening or sideways trends, focusing capital on higher-probability setups.
Clear Visual Bias at a Glance: The single oscillator line (+DI – -DI) centered on zero, combined with dynamic blue/purple coloring and full candle overlay on the price chart, instantly shows the dominant trend direction. No need to interpret multiple lines—traders can quickly assess market bias across multiple charts or timeframes.
Versatile Across Markets and Styles: Works effectively on stocks, forex, futures, and cryptocurrencies. Trend-following traders can use it standalone for entries/exits, swing traders can use it for bias confirmation, and scalpers/day traders benefit on lower timeframes due to the reduced lag.
Improved Risk Management: By prioritizing ADX-confirmed directional moves, the indicator naturally filters low-conviction setups. This can lead to higher win rates and better risk-reward ratios when used systematically, especially when combined with proper stop-loss placement below/above recent swings.
Easy Integration: Built-in alert conditions and simple long/short logic make it straightforward to incorporate into automated strategies, watchlists, or as a confirming filter alongside other indicators (e.g., moving averages, RSI, volume profile).
Customizable Sensitivity: Separate inputs for Hull length, DI period, and ADX smoothing allow traders to optimize the indicator for specific assets, volatility regimes, or personal trading horizons—making it adaptable rather than one-size-fits-all.
Signals & Interpretation
The oscillator plots the difference between +DI and -DI (positive = bullish dominance, negative = bearish).
Bullish Signal (Long): +DI crosses above -DI, and (if ADX confirmation enabled) ADX is rising — triggers blue coloring, candle overlay, and long alert.
Bearish Signal (Short): -DI crosses above +DI — triggers purple coloring, candle overlay, and short alert.
Zero line acts as neutrality; crossings indicate potential trend shifts.
Best used in trending markets; ADX rising filter helps avoid whipsaws.
// Example Usage in Strategy
strategy("Hull DMI Strategy Example", overlay=true)
if L
strategy.entry("Long", strategy.long)
if S
strategy.entry("Short", strategy.short)
Great Inventions Require great care
Disclaimer: This indicator is provided for educational and informational purposes only and should not be considered as financial advice. Past performance is not indicative of future results. Always backtest thoroughly on your specific assets and timeframes, and consult a qualified financial advisor before making trading decisions. The author assumes no responsibility for any losses incurred from its use.
Tradix COR Report Index📊 Tradix COT Report Index
The Tradix COT Report Index is an advanced market sentiment and positioning tool built on official Commitment of Traders (COT) Report data, designed to reveal how major market participants are truly positioned, beyond what price alone can show.
Instead of focusing on short-term price movements, the COT Report Index analyzes real futures positioning reported to the CFTC and categorizes it into three key groups:
Commercials – hedgers and so-called smart money
Non-Commercials – institutions, funds, and large speculators
Retail / Non-Reportables – small traders and crowd positioning
Raw positioning data (Long − Short) is transformed into a normalized 0–100 index, allowing traders to instantly identify extreme market sentiment, structural imbalances, and potential turning points — without manually interpreting complex COT tables.
🧠 How the Tradix COT Index Works
The index evaluates current net positions within a historical range (typically the last 52 weeks). This contextual approach makes it easy to see:
when Commercials are at extreme long or short levels
when speculative positioning becomes overcrowded
when the market reaches structural imbalance, increasing the probability of a mean-reversion or trend shift
By standardizing positioning data, the Tradix COT Index allows cross-market comparison, making it equally useful for indices, commodities, currencies, and futures-based CFDs.
🎯 How Traders Use It
The Tradix COT Report Index is not an entry signal tool.
Instead, it acts as a high-timeframe confirmation and market context indicator, commonly used for:
identifying long-term market bias
spotting divergences between price and positioning
confirming trend exhaustion or accumulation phases
filtering trades to align with institutional positioning
When combined with technical analysis, seasonality, and risk management, the COT Index provides a statistical edge rooted in real positioning data, not opinions or lagging indicators.
⚠️ Important Notes
COT data is updated weekly, not in real time
Best used on higher timeframes (Daily, Weekly)
Designed to enhance decision-making, not to replace trading systems
Estado Coral + SAR + RSIWhen the price is above the SAR level, the Coral level is positive, and the RSI is above 57, a green buy candle is generated. If the SAR and Coral are negative and the RSI is below 38, a red sell bar is generated.
Estado Coral + SAR + RSIWhen the price is above the SAR level, the Coral level is positive, and the RSI is above 57, a green buy candle is generated. If the SAR and Coral are negative and the RSI is below 38, a red sell bar is generated.
Tahir's Dual MTF order blocks Order Blocks + Swing Levels (Dual MTF, Fixed, Extended, NoAutoClose)
This tool combines smart orderblock detection with swinghigh / swinglow validation, designed for traders who want precise, rulebased zone plotting without repainting tricks or automatic deletion of historical levels.
🔥 What this indicator does
1️⃣ Detects Order Blocks Across Multiple Timeframes
It automatically finds bullish & bearish order blocks using three layers:
Current timeframe OBs
Higher Timeframe 1 (custom selectable)
Higher Timeframe 2 (custom selectable)
Each layer is colorcoded so you instantly know where institutional zones exist.
Order blocks remain extended forward until price fills them, giving a realistic market structure map.
2️⃣ Keeps Zones Until They Are Truly Filled
Unlike many scripts that autodelete boxes, this version:
✔️ Extends zones to the right
✔️ Tracks “active” vs. “filled” OBs
✔️ Prevents unnecessary removal
This allows proper backtesting and historical reference.
3️⃣ SwingHigh & SwingLow Confirmation
The script overlays SWL/SWH labels to identify pivot turning points.
An order block becomes a validated zone when:
Bullish OB + Swing Low (SWL)
Bearish OB + Swing High (SWH)
Validated zones are highlighted with special colors:
🟩 Lime = Valid Bullish OB
🟪 Fuchsia = Valid Bearish OB
This filters out weak zones and highlights only strong price bases.
4️⃣ DualTimeframe Logic
You can enable/disable each timeframe independently:
HTF1 (e.g., 1H)
HTF2 (e.g., 4H)
Current chart timeframe
This gives flexibility for scalpers, swing traders, and position traders.
5️⃣ Optimized & Debugged
The script has:
Memory controls (limits stored boxes)
Stable boxextension logic
No repainting structure logic
Clearly separated and readable functions
Everything is optimized to avoid lag while handling many OB zones.
⚙️ Key Inputs
Show Long / Short OBs
Enable HTF1 & HTF2
Custom timeframes
Swing detection length
Memory limit for stored zones
📌 UseCases
Institutional trading models
Smartmoney concepts
Supply & demand zone trading
Confluence with entries (FVG, BOS, RSI, etc.)
This indicator is a visual decisionsupport tool — not a buy/sell signal system.
⚠️ Disclaimer
This script does not repaint, but trading always carries risk.
Use alongside price action and risk management.
Bandes de Bollinger - Couleurs DynamiquesDescription
This indicator is an enhanced version of the classic Bollinger Bands. It allows traders to instantly visualize market volatility states (expansion or compression) by coloring each band independently based on its own direction.
Unlike standard indicators that color the background or use a single condition for both lines, this script focuses on the slope of each individual band to provide a more precise reading of price dynamics.
How It Works
The script analyzes the position of each band relative to its previous value (n-1):
Upper Band: Turns GREEN when it moves up (expanding upwards) and RED when it moves down (contracting downwards).
Lower Band: Turns GREEN when it moves down (expanding downwards) and RED when it moves up (contracting upwards).
Signal Interpretation
This independent coloring helps identify three market phases at a glance:
Volatility Expansion (Blast off): Both bands are GREEN. This typically occurs during a breakout or a violent impulsive move where bands open up in opposite directions.
Compression (Squeeze): Both bands are RED. The upper band is sloping down and the lower band is sloping up. The market is consolidating, often signaling an impending explosive move.
Trend: Colors are mixed. For instance, during a strong uptrend, the Upper Band will be Green (rising), but the Lower Band will often be Red (rising as well to follow price, rather than expanding downwards).
Settings
Users retain standard Bollinger Bands configuration:
Length: Period for the Moving Average (Default: 20).
Multiplier: Standard Deviation multiplier (Default: 2.0).
Source: Price data used (Default: Close).
Note
This tool is purely visual and does not repaint. It is designed to assist traders who rely on volatility analysis, mean reversion, or breakout strategies.
FxInside// This Pine Script® code is subject to the terms of the Mozilla Public License 2.0 at mozilla.org
// © yyy_trade
//@version=6
indicator("FxInside", overlay = true, max_lines_count = 500)
lineColor = input.color(color.new(color.blue, 12), "FxLineColor")
type vaild_struct
float high
float low
int time
type fx
string dir
chart.point point
var array valid_arr = array.new()
var fx lastFx = na
var float motherHigh = na
var float motherLow = na
isInsideBar = high <= high and low >= low
if isInsideBar and na(motherHigh)
motherHigh := high
motherLow := low
isExtendedInsideBar = not na(motherHigh) and high <= motherHigh and low >= motherLow
body_color = input.color(color.new(color.orange, 0), "实体颜色")
wick_color = input.color(color.new(color.orange, 0), "影线颜色")
border_color = input.color(color.new(color.orange, 0), "边框颜色")
plotcandle(open, high, low, close, color=isExtendedInsideBar ? body_color : na, wickcolor=isExtendedInsideBar ? wick_color : na, bordercolor =isExtendedInsideBar ? border_color : na ,editable=false)
if not na(motherHigh) and (high > motherHigh or low < motherLow)
motherHigh := na
motherLow := na
// 以下为分型折线逻辑,如不需要可删除
process_fx(last_fx, now_fx) =>
if not na(last_fx)
line.new(last_fx.point, now_fx.point, color=lineColor, xloc=xloc.bar_time)
now_fx
if not isExtendedInsideBar
array.push(valid_arr, vaild_struct.new(high, low, time))
if array.size(valid_arr) > 17
array.shift(valid_arr)
len = array.size(valid_arr)
if len > 3
k_ago = array.get(valid_arr, len - 2)
k_now = array.get(valid_arr, len - 1)
if k_ago.high > k_now.high
for i = 3 to len
last_k = array.get(valid_arr, len - i)
if last_k.high < k_ago.high
if last_k.low < k_ago.low
lastFx := process_fx(lastFx, fx.new("TOP", chart.point.from_time(k_ago.time, k_ago.high)))
break
else
if not na(lastFx)
if lastFx.dir == "TOP"
lastFx := process_fx(lastFx, fx.new("BOT", chart.point.from_time(last_k.time, last_k.low)))
lastFx := process_fx(lastFx, fx.new("TOP", chart.point.from_time(k_ago.time, k_ago.high)))
break
else if last_k.high > k_ago.high
break
// 底分型判定
if k_ago.low < k_now.low
for i = 3 to len
last_k = array.get(valid_arr, len - i)
if last_k.low > k_ago.low
if last_k.high > k_ago.high
lastFx := process_fx(lastFx, fx.new("BOT", chart.point.from_time(k_ago.time, k_ago.low)))
break
else
if not na(lastFx)
if lastFx.dir == "BOT"
lastFx := process_fx(lastFx, fx.new("TOP", chart.point.from_time(last_k.time, last_k.high)))
lastFx := process_fx(lastFx, fx.new("BOT", chart.point.from_time(k_ago.time, k_ago.low)))
break
else if last_k.low < k_ago.low
break
len = input.int(20, minval=1, title="Length")
src = input(close, title="Source")
offset = input.int(title="Offset", defval=0, minval=-500, maxval=500, display = display.data_window)
out = ta.ema(src, len)
plot(out, title="EMA", color=color.blue, offset=offset)
// Smoothing MA inputs
GRP = "Smoothing"
TT_BB = "Only applies when 'SMA + Bollinger Bands' is selected. Determines the distance between the SMA and the bands."
maTypeInput = input.string("None", "Type", options = , group = GRP, display = display.data_window)
maLengthInput = input.int(14, "Length", group = GRP, display = display.data_window)
bbMultInput = input.float(2.0, "BB StdDev", minval = 0.001, maxval = 50, step = 0.5, tooltip = TT_BB, group = GRP, display = display.data_window)
var enableMA = maTypeInput != "None"
var isBB = maTypeInput == "SMA + Bollinger Bands"
// Smoothing MA Calculation
ma(source, length, MAtype) =>
switch MAtype
"SMA" => ta.sma(source, length)
"SMA + Bollinger Bands" => ta.sma(source, length)
"EMA" => ta.ema(source, length)
"SMMA (RMA)" => ta.rma(source, length)
"WMA" => ta.wma(source, length)
"VWMA" => ta.vwma(source, length)
// Smoothing MA plots
smoothingMA = enableMA ? ma(out, maLengthInput, maTypeInput) : na
smoothingStDev = isBB ? ta.stdev(out, maLengthInput) * bbMultInput : na
plot(smoothingMA, "EMA-based MA", color=color.yellow, display = enableMA ? display.all : display.none, editable = enableMA)
bbUpperBand = plot(smoothingMA + smoothingStDev, title = "Upper Bollinger Band", color=color.green, display = isBB ? display.all : display.none, editable = isBB)
bbLowerBand = plot(smoothingMA - smoothingStDev, title = "Lower Bollinger Band", color=color.green, display = isBB ? display.all : display.none, editable = isBB)
fill(bbUpperBand, bbLowerBand, color= isBB ? color.new(color.green, 90) : na, title="Bollinger Bands Background Fill", display = isBB ? display.all : display.none, editable = isBB)
EMA Multi-Type StrategyThis is a price-action + EMA trend strategy that:
Uses EMA as trend filter
Looks for pullbacks and structure shifts near the EMA
Trades 3 different entry patterns (TYPE 1 / 2 / 3)
Allows:
Fixed SL–TP (RR based)
OR ATR trailing stop
Optionally blocks opposite trades until the current trade exits
Think of it as:
“Trade continuation after pullback in EMA trend, with multiple confirmation strengths.”
PREMIUM TRADE ZONES - [EntryLab]PREMIUM Trade Zones was created to help both beginner and advanced traders avoid one of the most common causes of losses: trading during sideways, choppy market conditions.
Sideways price action often occurs around the RSI 50 level, where market indecision is high. This indicator visually highlights a No Trade Zone around that area, encouraging traders to stay patient and avoid low-probability setups. Above and below this zone, clearly defined Short Trade Zones and Long Trade Zones provide additional confluence for potential entries when momentum is more favorable.
Trade Zones is especially useful for traders who may occasionally struggle with discipline — something we all experience — by offering a constant visual reminder of where trading conditions are optimal versus where caution is warranted.
The indicator is fully customizable through the settings panel, allowing users to adjust zone levels, colors, text visibility, and signal elements to suit their individual trading style and strategy. We personally use Trade Zones as an added layer of confluence when market conditions feel uncertain, consistently steering clear of the No Trade Zone where indecision and chop are most likely to occur.
This free indicator was built to support our community in developing better trading habits, improving decision-making, and progressing toward long-term consistency and profitability.
Regards,
ENTRYLAB
Triple MA Alignment [odnac]
Overview
The Triple MA Alignment indicator is a powerful tool designed to visualize and analyze the alignment of three moving averages (MAs) with customizable types and lengths. It helps traders identify trends and potential reversal points by displaying the relative positions of three MAs and marking specific alignment patterns on the chart. This indicator is ideal for traders looking to understand market momentum and trend direction through moving average crossovers and alignments.
Features
Customizable Moving Average Types: Choose from Simple Moving Average (SMA), Exponential Moving Average (EMA), Smoothed Moving Average (SMMA/RMA), Weighted Moving Average (WMA), or Volume-Weighted Moving Average (VWMA).
Flexible MA Lengths: Adjust the lengths of three moving averages to suit your trading strategy (default lengths: 7, 25, 99).
Alignment Detection: Identifies six unique MA alignment patterns (A1 to A6) based on the relative positions of the three MAs.
Visual Cues: Plots MAs on the chart with distinct colors and marks alignment patterns with shapes and labels for easy interpretation.
Special Signals: Highlights specific transitions (e.g., "P" and "B" for A1, "P" and "S" for A4) to indicate potential trend changes or continuations.
How It Works
The indicator calculates three moving averages based on user-selected type and lengths. It then analyzes their relative positions to detect six possible alignment patterns:
A1 (1-2-3): MA1 > MA2 > MA3 (Strong bullish alignment)
A2 (2-1-3): MA2 > MA1 > MA3
A3 (2-3-1): MA2 > MA3 > MA1
A4 (3-2-1): MA3 > MA2 > MA1 (Strong bearish alignment)
A5 (3-1-2): MA3 > MA1 > MA2
A6 (1-3-2): MA1 > MA3 > MA2
When an alignment occurs, a shape (square, diamond, or circle) is plotted at the top or bottom of the chart, depending on the pattern. Additionally, when the alignment changes, a text label (e.g., "2", "3", "5", "6") is displayed to highlight the new pattern. Special signals ("P", "B", "S") are plotted for specific transitions to indicate potential trading opportunities.
Settings
Show Triple MA: Toggle to display or hide the three moving averages on the chart.
Show Triple MA Edge: Toggle to display or hide alignment shapes and labels.
MA Length 1, 2, 3: Set the periods for the three moving averages (default: 7, 25, 99).
MA Type: Select the moving average type (SMA, EMA, SMMA, WMA, VWMA).
Usage
Add the Indicator: Apply the indicator to your TradingView chart.
Adjust Settings: Customize MA lengths and type to match your trading style (e.g., shorter lengths for scalping, longer for swing trading).
Interpret Alignments:
A1 (Green Square): Indicates a strong bullish trend, often a signal to consider long positions.
A4 (Red Square): Indicates a strong bearish trend, often a signal to consider short positions.
A2, A3, A5, A6: Represent transitional or consolidation phases, useful for identifying potential reversals or continuations.
Special Signals (P, B, S): Watch for "P" (Pullback), "B" (Breakout), or "S" (Sell) labels for additional context.
Combine with Other Tools: Use alongside support/resistance levels, volume analysis, or other indicators for confirmation.
FVG & OB [odnac]This indicator is a sophisticated tool designed for Smart Money Concepts (SMC) traders. It automates the detection of two critical institutional footprints: Order Blocks (OB) and Fair Value Gaps (FVG), with a focus on candle momentum and mitigation tracking.
Key Features
1. Advanced Momentum Filtering (3 Versions)
Unlike basic indicators, this script uses three different mathematical approaches to ensure the middle candle represents a "strong" move:
V1 (Body Focus): Compares the bodies of the surrounding candles to the middle candle.
V2 (Hybrid): Uses a mix of candle ranges and bodies to identify expansion.
V3 (Range Focus): The most aggressive filter; it ensures the total range of the middle candle dwarfs the surrounding candles.
2. Automatic Mitigation Tracking
The indicator doesn't just draw static boxes. It tracks price action in real-time:
Dynamic Extension: Boxes extend to the right automatically as long as price has not returned to "test" or "fill" the zone.
Smart Clean-up: Once the price touches the zone (Mitigation), the box stops extending or is removed. This keeps your chart clean and focused only on "fresh" (unmitigated) levels.
3. Smart Money Concept Integration
Order Blocks (White Boxes): Identifies where institutional buying or selling occurred before a strong move.
Fair Value Gaps (Yellow Boxes): Highlights price imbalances where the market moved too fast, leaving a gap that often acts as a magnet for future price action.
Technical Logic Breakdown
Detection Logic
The script looks at a 3-candle sequence:
Candle (The Origin): Defines the boundary of the OB or FVG.
Candle (The Expansion): Must be a "Strong Candle" based on your selected setting (V1, V2, or V3).
Candle (The Confirmation): Ensures that the "Tail Gap" condition is met (the wick of Candle 2 and Candle 0 do not touch).
Box Management
The script uses Pine Script Arrays to manage up to 500 boxes. It constantly loops through active boxes to check:
Time Limit: If a box exceeds the max_bars_extend limit, it is removed to save memory.
Price Touch: If low or high enters the box coordinates, the zone is considered "mitigated" and the extension stops.
Market Structure [odnac]Overview
This indicator is a comprehensive tool designed for traders utilizing Smart Money Concepts (SMC) and Price Action. It automatically identifies and labels significant market structure shifts, specifically BOS (Break of Structure) and CHoCH (Change of Character), helping you stay on the right side of the trend.
Key Features
Dual Logic Modes (V1 & V2):
V1 (Fixed Pivot): Only utilizes confirmed pivot points. Ideal for conservative traders looking for major swing levels.
V2 (Dynamic Update): Automatically updates swing points to the actual highest high or lowest low between breaks. This provides a more fluid and accurate representation of price flow.
Smart Confirmation: Unlike basic pivot scripts, this indicator uses a multi-bar confirmation logic (checking candle polarity and close sequences) to filter out market noise and false pivots.
Automatic Trend Detection: The indicator tracks the current market bias (Bullish/Bearish) and visualizes it through customizable background colors or shapes.
Clear Visual Cues: * BOS: Indicates a continuation of the current trend.
CHoCH: Signals a potential trend reversal.
How to Use
Identify Trend Direction: Use the background coloring or the shapes at the bottom to quickly identify if the market is in a Bullish (Green) or Bearish (Red) phase.
Look for Structure Breaks: * When price breaks a previous high/low, the indicator will draw a line and label it as BOS if the trend continues, or CHoCH if the trend flips.
Customize for Your Assets: * For volatile assets like XLM or other cryptocurrencies, you can adjust the Swing Left/Right Bars inputs to filter for either micro-structures or macro-trends.
Input Settings
Version: Choose between V1 (Strict Pivots) and V2 (Dynamic Ranges).
Swing Left/Right Bars: Determines the sensitivity of high/low detection. Increase these values to find "stronger" structural points.
Trend Visualization: Toggle between Background fills, Shape markers at the bottom, or None for a cleaner look.
Show Swings: Toggle the visibility of the white circles marking confirmed pivot points.
Disclaimer
Market structure is a lagging indicator by nature as it requires confirmation. Always use this tool in conjunction with other technical analysis methods (Order Blocks, Fair Value Gaps, or Volume) for the best results.
ML-Inspired Adaptive Momentum Strategy (TradingView v6)This strategy demonstrates an adaptive momentum approach using volatility-normalized trend strength. It is designed for educational and analytical purposes and uses deterministic, fully transparent logic compatible with Pine Script v6.
ML-Inspired Concept (Educational Context)
Pine Script cannot train or execute real machine-learning models.
Instead, this strategy demonstrates ML-style thinking by:
Converting price data into features
Normalizing features to account for volatility differences
Producing a bounded confidence score
Applying thresholds for decision making
This is not predictive AI and does not claim forecasting capability.
Strategy Logic
EMA is used to measure directional bias
EMA slope represents momentum change
ATR normalizes the slope (feature scaling)
A clamped score between −1 and +1 is generated
Trades trigger only when the score exceeds defined thresholds
Risk & Execution
Position size capped at 5% equity
Commission and slippage included for realistic testing
Signals are calculated on closed bars only
Purpose
This script is intended to help traders explore adaptive momentum concepts and understand how feature normalization can be applied in systematic trading strategies.
Simple PDH / PDL Clean Entries (NZ Time)Simple PDH / PDL Liquidity Entry Indicator
This indicator is designed for clean, stress-free intraday trading on Gold. It identifies high-probability buy and sell opportunities based on a liquidity sweep and reclaim of the previous day’s high or low (PDH / PDL). Signals are limited to one trade per session using New Zealand time, helping prevent overtrading. Each signal prints a clear BUY or SELL icon directly on the candle, along with a concise label showing entry price, stop loss, and take profit. No indicators, no clutter — just key levels, disciplined execution, and institutional-style simplicity.
Supertrend + OBV AND Logic (long only)Supertrend + OBV Regime Filter (Long-Only) is a rule-based trend regime detection script that combines ATR-based Supertrend structure with volume-confirmed momentum using On-Balance Volume (OBV). The Supertrend (ATR 10, multiplier 3) defines the primary market regime and acts as the absolute authority for trend direction, while OBV—manually calculated for robustness and smoothed using EMA(20) with a signal EMA(20)—is used to confirm participation and momentum.
A long signal is generated only on confirmed bar close when the Supertrend is bullish (price above the Supertrend line) and OBV momentum turns positive via an EMA crossover, enforcing strict AND-logic confirmation and preventing entries during low-volume or transitional phases.
The strategy maintains a single long position per trend, with no pyramiding, averaging, or discretionary overrides. A full exit is triggered immediately when the Supertrend flips bearish, serving as a hard regime exit rather than a profit-target-based stop.
Additionally, an OBV downside crossover generates a non-executable “Protect” signal (visual only), intended for risk-management actions such as reducing exposure or pausing position additions, particularly for grid or DCA implementations.
This script is not designed as a grid, scalping, or buy-and-hold strategy; instead, it functions as a conservative trend and regime filter suitable for discretionary trading or as a signal layer to control automated long-bias execution systems. Forward testing and proper risk management are strongly recommended.
Market Regime | NY Session Killzones Indicator [ApexLegion]Market Regime | NY Session Killzones Indicator
Introduction and Theoretical Background
The Market Regime | NY Session Killzones indicator is designed exclusively for New York market hours (07:00-16:00 ET). Unlike universal indicators that attempt to function across disparate global sessions, this tool employs session-specific calibration to target the distinct liquidity characteristics of the NY trading day: Pre-Market structural formation (08:00-09:30), the Morning breakout window (09:30-12:00), and the Afternoon Killzone (13:30-16:00)—periods when institutional order flow exhibits the highest concentration and most definable technical structure. By restricting its operational scope to these statistically significant time windows, the indicator focuses on signal relevance while filtering the noise inherent in lower-liquidity overnight or extended-hours trading environments.
I. TECHNICAL RATIONALE: THE PRINCIPLE OF CONTEXTUAL FUSION
1. The Limitation of Acontextual Indicators
Traditional technical indicators often fail because they treat every bar and every market session equally, applying static thresholds (e.g., RSI > 70) without regard for the underlying market structure or liquidity environment. However, institutional volume and market volatility are highly dependent on the time of day (session) and the prevailing long-term risk environment.
This indicator was developed to address this "contextual deficit" by fusing three distinct yet interdependent analytical layers:
• Time and Structure (Macro): Identifying high-probability trading windows (Killzones) and critical structural levels (Pre-Market Range, PDH/PDL).
• Volatility and Scoring (Engine): Normalizing intraday momentum against annual volatility data to create an objective, statistically grounded AI Score.
• Risk Management (Execution): Implementing dynamic, volatility-adjusted Stop Loss (SL) and Take Profit (TP) parameters based on the Average True Range (ATR).
2. The Mandate for 252-Day Normalization (Z-Score)
What makes this tool unique is its 252-day Z-Score normalization engine that transforms raw momentum readings into statistically grounded probability scores, allowing the same indicator to deliver consistent, context-aware signals across any timeframe—from 1-minute scalping to 1-hour swing trades—without manual recalibration.
THE PROBLEM OF SCALE INVARIANCE
A high Relative Strength Index (RSI) reading on a 1-minute chart has a completely different market implication than a high RSI reading on a Daily chart. Simple percentage-based thresholds (like 70 or 30) do not provide true contextual significance. A sudden spike in momentum may look extreme on a 5-minute chart, but if it is statistically insignificant compared to the overall volatility of the last year, it may be a poor signal.
THE SOLUTION: CROSS-TIMEFRAME Z-SCORE NORMALIZATION
This indicator utilizes the Pine Script function request.security to reference the Daily timeframe for calculating the mean (μ) and standard deviation (σ) of a momentum oscillator (RSI) over the past 252 trading days (one year).
The indicator then calculates the Z-Score (Z) for the current bar's raw momentum (x): Z = (x - μ) / σ
Core Implementation: float raw_rsi = ta.rsi(close, 14) // x
= request.security(syminfo.tickerid, "D",
, // σ (252 days)
lookahead=barmerge.lookahead_on)
float cur_rsi_norm = d_rsi_std != 0 ? (raw_rsi - d_rsi_mean) / d_rsi_std : 0.0 // Z
This score provides an objective measurement of current intraday momentum significance by evaluating its statistical extremity against the yearly baseline of daily momentum. This standardized approach provides the scoring engine with consistent, global contextual information, independent of the chart's current viewing timeframe.
II. CORE COMPONENTS AND TECHNICAL ANALYSIS BREAKDOWN
1. TIME AND SESSION ANALYSIS (KILLZONES AND BIAS)
The indicator visually segments the trading day based on New York (NY) trading sessions, aligning the analysis with periods of high institutional liquidity events.
Pre-Market (PRE)
• Function: Defines the range before the core market opens. This range establishes structural support and resistance levels (PMH/PML).
• Technical Implementation: Uses a dedicated Session input (ny_pre_sess). The High and Low values (pm_h_val/pm_l_val) within this session are stored and plotted for structural reference.
• Smart Extension Logic: PMH/PML lines are automatically extended until the next Pre-Market session begins, providing continuous support/resistance references overnight.
NY Killzones (AM/PM)
• Function: Highlights high-probability volatility windows where institutional liquidity is expected to be highest (e.g., NY open, lunch, NY close).
• Technical Implementation: Separate session inputs (kz_ny_am, kz_ny_pm) are utilized to draw translucent background fills, providing a clear visual cue for timing.
Market Regime Bias
• Function: Determines the initial directional premise for the trading day. The bias is confirmed when the price breaks either the Pre-Market High (PMH) or the Pre-Market Low (PML).
• Technical Implementation: Involves the comparison of the close price against the predefined structural levels (check_h for PMH, check_l for PML). The variable active_bias is set to Bullish or Bearish upon confirmed breakout.
Trend Bar Coloring
• Function: Applies a visual cue to the bars based on the established regime (Bullish=Cyan, Bearish=Red). This visual filter helps mitigate noise from counter-trend candles.
• Technical Implementation: The Pine Script barcolor() function is tied directly to the value of the determined active_bias.
2. VOLATILITY NORMALIZED SCORING ENGINE
The internal scoring mechanism accumulates points from multiple market factors to determine the strength and validity of a signal. The purpose is to apply a robust filtering mechanism before generating an entry.
The score accumulation logic is based on the following factors:
• Market Bias Alignment (+3 Points): Points are awarded for conformance with the determined active_bias (Bullish/Bearish).
• VWAP Alignment (+2 Points): Assesses the position of the current price relative to the Volume-Weighted Average Price (VWAP). Alignment suggests conformity with the average institutional transaction price.
• Volume Anomaly (+2 Points): Detects a price move accompanied by an abnormally high relative volume (odd_vol_spike). This suggests potential institutional participation or significant order flow.
• VIX Integration (+2 Points): A score derived from the CBOE VIX index, assessing overall market stability and stress. Stable VIX levels add points, while high VIX levels (stress regimes) remove points or prevent signal generation entirely.
• ML Probability Score (+3 Points): This is the core predictive engine. It utilizes a Log-Manhattan Distance Kernel to compare the current market state against historical volatility patterns. The script implements a Log-linear distance formula (log(1 + |Δ|) ). This approach mathematically dampens the impact of extreme volatility spikes (outliers), ensuring that the similarity score reflects true structural alignment rather than transient market noise.
Core Technical Logic (Z-Score Normalization)
float cur_rsi_norm = d_rsi_std != 0 ? (raw_rsi - d_rsi_mean) / d_rsi_std : 0.0
• Technical Purpose: This line calculates the Z-Score (cur_rsi_norm) of the current momentum oscillator reading (raw_rsi) by normalizing it against the mean (d_rsi_mean) and standard deviation (d_rsi_std) derived from 252 days of Daily momentum data. If the standard deviation is zero (market is perfectly flat), it safely returns 0.0 to prevent division by zero runtime errors. This allows the AI's probability score to be based on the current signal's significance within the context of the entire trading year.
3. EXECUTION AND RISK MANAGEMENT (ATR MODEL)
The indicator utilizes the Average True Range (ATR) volatility model. This helps risk management scale dynamically with market volatility by allowing users to define TP/SL distances independently based on the current ATR.
Stop Loss Multiplier (sl_mult)
• Function: Sets the Stop Loss (SL) distance as a configurable multiple of the current ATR (e.g., 1.5 × ATR).
• Technical Logic: The price level is calculated as: last_sl_price := close - (atr_val * sl_mult). The mathematical sign is reversed for short trades.
Take Profit Multiplier (tp_mult)
• Function: Sets the Take Profit (TP) distance as a configurable multiple of the current ATR (e.g., 3.0 × ATR).
• Technical Logic: The price level is calculated as: last_tp_price := close + (atr_val * tp_mult). The mathematical sign is reversed for short trades.
Structural SL Option
• Function: Provides an override to the ATR-based SL calculation. When enabled, it forces the Stop Loss to the Pre-Market High/Low (PMH/PML) level, aligning the stop with a key institutional structural boundary.
• Technical Logic: The indicator checks the use_struct_sl input. If true, the calculated last_sl_price is overridden with either pm_h_val or pm_l_val, dependent on the specific trade direction.
Trend Continuation Logic
• Function: Enables signal generation in established, strong trends (typically in the Afternoon session) based on follow-through momentum (a new high/low of the previous bar) combined with a high Signal Score, rather than exclusively relying on the initial PMH/PML breakout.
• Technical Logic: For a long signal, the is_cont_long logic specifically requires checks like active_bias == s_bull AND close > high , confirming follow-through momentum within the established regime.
Smart Snapping & Cleanup (16:00 Market Close)
• Function: To maintain chart cleanliness, all trade boxes (TP/SL), AI Prediction zones, Killzone overlays (NY AM/PM), and Liquidity lines (PDH/PDL) are automatically "snapped" and cut off precisely at 16:00 NY Time (Market Close).
• Technical Logic: When is_market_close condition is met (hour == 16 and minute == 0), the script executes cleanup logic that:
◦ Closes active trades and evaluates final P&L
◦ Snaps all TP/SL box widths to current bar
◦ Truncates AI Prediction ghost boxes at market close
◦ Cuts off NY AM/PM Killzone background fills
◦ Terminates PDH/PDL line extensions
◦ Prevents visual clutter from extending into post-market sessions
4. LIQUIDITY AND STRUCTURAL ANALYSIS
The indicator plots key structural levels that serve as high-probability magnet zones or areas of potential liquidity absorption.
• Pre-Market High/Low (PMH/PML): These are the high and low established during the configured pre-market session (ny_pre_sess). They define the primary structural breakout level for the day, often serving as the initial market inflection point or the key entry level for the morning session.
• PDH (Previous Day High): The high of the calendar day immediately preceding the current bar. This represents a key Liquidity Pool; large orders are often placed above this level, making it a frequent target for stop hunts or liquidity absorption by market makers.
• PDL (Previous Day Low): The low of the calendar day immediately preceding the current bar. This also represents a key Liquidity Pool and a high-probability reversal or accumulation point, particularly during the Killzones.
FIFO Array Management
The indicator uses FIFO (First-In-First-Out) array structures to manage liquidity lines and labels, automatically deleting the oldest objects when the count exceeds 500 to comply with drawing object limits.
5. AI PREDICTION BOX (PREDICTIVE MODEL)
Function: Analyzes AI scores and volatility to project predicted killzone ranges and duration with asymmetric directional bias.
A. DIRECTIONAL BIAS (ASYMMETRIC EXPANSION)
The prediction model calculates directional probability using the ML kernel's 252-day Normalized RSI (Z-Score) and Relative Volume (RVOL). The prediction box dynamically adjusts its range based on this probability to provide immediate visual feedback on high-probability direction.
Bullish Scenario (ml_prob > 1.0):
• Upper Range: Expands significantly (1.5x multiplier) to show the aggressive upside target
• Lower Range: Tightens (0.5x multiplier) to show the invalidation level
• Visual Intent: The box is visibly skewed upward, immediately communicating bullish bias without requiring numerical analysis.
Bearish Scenario (ml_prob < -1.0):
• Upper Range: Tightens (0.5x multiplier) to show the invalidation level
• Lower Range: Expands significantly (1.5x multiplier) to show the aggressive downside target
• Visual Intent: The box is visibly skewed downward, immediately communicating bearish bias.
Neutral Scenario (-1.0 < ml_prob < 1.0):
Both ranges use balanced multipliers, creating a symmetrical box that indicates uncertainty.
B. DYNAMIC VOLATILITY BOOSTER (SESSION-BASED ADAPTATION)
The prediction box adjusts its volatility multiplier based on the current session and market conditions to account for intraday volatility patterns.
AM Session (Morning: 07:00-12:00):
• Base Multiplier: 1.0x (Neutral Base)
• Logic: Morning sessions often contain false breakouts and noise. The base multiplier starts neutral to avoid over-projecting during consolidation.
• Trend Booster: Multiplier jumps to 1.5x when:
Price > London Session Open AND AI is Bullish (ml_prob > 0), OR
Price < London Session Open AND AI is Bearish (ml_prob < 0)
• Logic: When the London trend (typically 03:00-08:00 NY time) aligns with the AI model's directional conviction, the indicator aggressively targets higher volatility expansion. This filters for "institutional follow-through" rather than random morning chop.
PM Session (Afternoon: 13:00-16:00):
• Fixed Multiplier: 1.8x
• Logic: The PM session, particularly the 13:30-16:00 ICT Silver Bullet window, often contains the "True Move" of the day. A higher baseline multiplier is applied to emphasize this session's significance over morning noise.
Safety Floor:
A minimum range of 0.2% of the current price is enforced regardless of volatility conditions.
• Purpose: Maintains the prediction box visibility during extreme low-volatility consolidation periods where ATR might collapse to near-zero values.
Volatility Clamp Protection:
Maximum volatility is capped at three times the current ATR value. During flash crashes, circuit breaker halts, or large overnight gaps, raw volatility calculations can spike to extreme levels. This clamp prevents prediction boxes from expanding to unrealistic widths.
Technical Implementation:
f_get_ai_multipliers(float _prob) =>
float _abs_prob = math.abs(_prob)
float _range_mult = 1.0
float _dur_mult = 1.0
if _abs_prob > 30
_range_mult := 1.8
else if _abs_prob > 10
_range_mult := 1.2
else
_range_mult := 0.7
C. PRACTICAL INTERPRETATION
• Wide Upper Range + Tight Lower Range: Strong bullish conviction. The model expects significant upside with limited downside risk.
• Tight Upper Range + Wide Lower Range: Strong bearish conviction. The model expects significant downside with limited upside.
• Symmetrical Range: Neutral/uncertain market. Wait for directional confirmation before entry.
• Large Box (Extended Duration): High-confidence prediction expecting sustained movement.
• Small Box (Short Duration): Low-confidence or choppy conditions. Expect quick resolution.
III. PRACTICAL USAGE GUIDE: METHODOLOGY AND EXECUTION
A. ESTABLISHING TRADING CONTEXT (THE THREE CHECKS)
The primary goal of the dashboard is to filter out low-probability trade setups before they occur.
• Timeframe Selection: Although the core AI is normalized to the Daily context, the indicator performs optimally on intraday timeframes (e.g., 5m, 15m) where session-based volatility is most pronounced.
• PHASE Check (Timing): Always confirm the current phase. The highest probability signals typically occur within the visually highlighted NY AM/PM Killzones because this is when institutional liquidity and volume are at their peak. Signals outside these zones should be treated with skepticism.
• MARKET REGIME Check (Bias): Ensure the signal (BUY/SELL arrow) aligns with the established MARKET REGIME bias (BULLISH/BEARISH). Counter-bias signals are technically allowed if the score is high, but they represent a higher risk trade.
• VIX REGIME Check (Risk): Review the VIX REGIME for overall market stress. Periods marked DANGER (high VIX) indicate elevated volatility and market uncertainty. During DANGER regimes, reducing position size or choosing a wider SL Multiplier is advisable.
B. DASHBOARD INTERPRETATION (THE REAL-TIME STATUS DISPLAY)
The indicator features a non-intrusive dashboard that provides real-time, context-aware information based on the core analytical engines.
PHASE: (PRE-MARKET, NY-AM, LUNCH, NY-PM)
• Meaning: Indicates the current institutional session time. This is derived from the customizable session inputs.
• Interpretation: Signals generated during NY-AM or NY-PM (Killzones) are generally considered higher-probability due to increased institutional participation and liquidity.
MARKET REGIME: (BULLISH, BEARISH, NEUTRAL)
• Meaning: The established directional bias for the trading day, confirmed by the price breaking above the Pre-Market High (PMH) or below the Pre-Market Low (PML).
• Interpretation: Trading with the established regime (e.g., taking a BUY signal when the regime is BULLISH) is the primary method. NEUTRAL indicates that the PMH/PML boundary has not yet been broken, suggesting market ambiguity.
VIX REGIME: (STABLE, DANGER)
• Meaning: A measure of overall market stress and stability, based on the CBOE VIX index integration. The thresholds (20.0 and 35.0 default) are customizable by the user.
• Interpretation: STABLE indicates stable volatility, favoring momentum trades. DANGER (VIX > 35.0) indicates extreme stress; signals generated in this environment require caution and often necessitate smaller position sizing.
SIGNAL SCORE: (0 to 10+ Points)
• Meaning: The accumulated score derived from the VOLATILITY NORMALIZED AI SCORING ENGINE, factoring in bias, VWAP alignment, volume, and the Z-Score probability.
• Interpretation: The indicator generates a signal when this score meets or exceeds the Minimum Entry Score (default 3). A higher score (e.g., 7+) indicates greater statistical confluence and a stronger potential entry.
AI PROBABILITY: (Bull/Bear %)
• Meaning: Directional probability derived from the ML kernel, expressed as a percentage with Bull/Bear label.
• Interpretation: Higher absolute values (>20%) indicate stronger directional conviction from the ML model.
LIVE METRICS SECTION:
• STATUS: Shows current trade state (LONG, SHORT, or INACTIVE)
• ENTRY: Displays the entry price for active trades
• TARGET: Shows the calculated Take Profit level
• ROI | KILL ZONE:
◦ For Active Trades: Displays real-time P&L percentage during NY session hours.
◦ At Market Close (16:00 NY): Since this is a NY session-specific indicator, any active position is automatically evaluated and closed at 16:00. The final result (VALIDATED or INVALIDATED) is determined based on whether the trade reached profit or loss at market close.
◦ Result Persistence: The killzone result (VALIDATED/INVALIDATED) remains displayed on the dashboard until the next NY AM KILLZONE session begins, providing a clear performance reference for the previous trading day.
Note: If a trade is still trending at 16:00, it will be force-closed and evaluated at that moment, as the indicator operates strictly within NY trading hours.
C. SIGNAL GENERATION AND ENTRY LOGIC
The indicator generates signals based on two distinct technical setups, both of which require the accumulated SIGNAL SCORE to be above the configured Minimum Entry Score.
Breakout Entry
• Trigger Condition: Price closes beyond the Pre-Market High (PMH) or Low (PML).
• Rationale: This setup targets the initial directional movement for the day. A breakout confirms the institutional bias by decisively breaking the first major structural boundary, making the signal high-probability.
Continuation Entry
• Trigger Condition: The market is already in an established regime (e.g., BULLISH), and the price closes above the high (or below the low) of the previous bar, while the SIGNAL SCORE remains high. Requires the Allow Trend Continuation parameter to be active.
• Rationale: This setup targets follow-through trades, typically in the afternoon session, capturing momentum after the morning's direction has been confirmed. This filters for sustainability in the established trend.
Execution: Execute the trade immediately upon the close of the bar that prints the BUY or SELL signal arrow.
D. MANAGING RISK AND EXITS
1. RISK PARAMETER SELECTION
The indicator immediately draws the dynamic TP/SL zones upon entry.
• Volatility-Based (Recommended Default): By setting the SL Multiplier (e.g., 1.5) and the TP Multiplier (e.g., 3.0), the indicator enforces a constant, dynamically sized risk-to-reward ratio (e.g., 1:2 in this example). This helps that risk management scales proportionally with the current market volatility (ATR).
• Structural Override: Selecting the Use Structural SL parameter fixes the stop-loss not to the ATR calculation, but to the more significant structural level of the PMH or PML. This is utilized by traders who favor institutional entry rules where the stop is placed behind the liquidity boundary.
2. EXIT METHODS
• Hard Exit: Price hits the visual TP or SL box boundary.
• Soft Exit (Momentum Decay Filter): If the trade is active and the SIGNAL SCORE drops below the Exit Score Threshold (default 3), it indicates that the momentum supporting the trade has significantly collapsed. This serves as a momentum decay filter, prompting the user to consider a manual early exit even if the SL/TP levels have not been hit, thereby preserving capital during low-momentum consolidation.
• Market Close Auto-Exit: At 16:00 NY time, any active trade is automatically closed and classified as VALIDATED (profit) or INVALIDATED (loss) based on current price vs. entry price.
IV. PARAMETER REFERENCE AND CONFIGURATION
A. GLOBAL SETTINGS
• Language (String, Default: English): Selects the language for the dashboard and notification text. Options: English, Korean, Chinese, Spanish, Portuguese, Russian, Ukrainian, Vietnamese.
B. SESSION TIMES (3 BOX SYSTEM)
• PRE-MARKET (Session, Default: 0800-0930): Defines the session range used for Pre-Market High/Low (PMH/PML) structural calculation.
• REGULAR (Morning) (Session, Default: 0930-1200): Defines the core Morning trading session.
• AFTERNOON (PM) (Session, Default: 1300-1600): Defines the main Afternoon trading session.
• Timezone (String, Default: America/New_York): Sets the timezone for all session and time-based calculations.
C. NY KILLZONES (OVERLAYS)
• Show NY Killzones (Bool, Default: True): Toggles the translucent background fills that highlight high-probability trading times (Killzones).
• NY AM Killzone (Session, Default: 0700-1000): Defines the specific time window for the first key liquidity surge (Open overlap).
• NY PM Killzone (Session, Default: 1330-1600): Defines the afternoon liquidity window, aligned with the ICT Silver Bullet and PM Trend entry timing.
• Allow Entry in Killzones (Bool, Default: True): Enables or disables signal generation specifically during the defined Killzone hours.
• Activate AI Prediction Box (Bool, Default: True): Toggles the drawing of the predicted target range boxes on the chart.
D. CORE SCORING ENGINE
• Minimum Entry Score (Int, Default: 3): The lowest accumulated score required for a Buy/Sell signal to be generated and plotted.
• Allow Trend Continuation (Bool, Default: True): Enables the secondary entry logic that fires signals based on momentum in an established trend.
• Force Ignore Volume (Bool, Default: False): Overrides the volume checks in the scoring engine. Useful for markets where volume data is unreliable or nonexistent.
• Force Show Signals (Ignore Score) (Bool, Default: False): Debug mode that displays all signals regardless of score threshold.
• Integrate CBOE:VIX (Bool, Default: True): Enables the connection to the VIX index for market stress assessment.
• Stable VIX (<) (Float, Default: 20.0): VIX level below which market stress is considered low (increases score).
• Stress VIX (>) (Float, Default: 35.0): VIX level above which market stress is considered high (decreases score/flags DANGER).
• Use ML Probability (Bool, Default: True): Activates the volatility-normalized AI Z-Score kernel. Disabling this removes the cross-timeframe normalization filter.
• Max Learning History (Int, Default: 2000): Maximum number of bars stored in the ML training arrays.
• Normalization Lookback (252 Days) (Int, Default: 252): The number of DAILY bars used to calculate the Z-Score mean and standard deviation (representing approximately 1 year of data).
E. RISK MANAGEMENT (ATR MODEL)
• Use Structural SL (Bool, Default: False): Overrides the ATR-based Stop Loss distance to use the Pre-Market High/Low as the fixed stop level.
• Stop Loss Multiplier (x ATR) (Float, Default: 1.5): Defines the Stop Loss distance in multiples of the current Average True Range (ATR).
• Take Profit Multiplier (x ATR) (Float, Default: 3.0): Defines the Take Profit distance in multiples of the current Average True Range (ATR).
• Exit Score Threshold (<) (Int, Default: 3): The minimum score below which an active trade is flagged for a Soft Exit due to momentum collapse.
F. VISUAL SETTINGS
• Show Dashboard (Bool, Default: True): Toggles the real-time data panel.
• Show NY Killzones (Bool, Default: True): Toggles killzone background fills.
• Show TP/SL Zones (Bool, Default: True): Toggles the drawing of Take Profit and Stop Loss boxes.
• Show Pre-Market Extensions (Bool, Default: True): Extends PM High/Low lines across the entire chart for support/resistance reference.
• Activate AI Prediction Box (Bool, Default: True): Enable or disable the predictive range projection.
• Light Mode Optimization (Bool, Default: True): Toggles dashboard and plot colors for optimal visibility on white (light) chart backgrounds.
• Enforce Trend Coloring (Bool, Default: True): Forces candle colors based on Market Regime (Bullish=Cyan, Bearish=Pink) to emphasize trend direction.
• Label Size (String, Default: Normal): Options: Tiny, Small, Normal.
G. LIQUIDITY POOLS (PDH/PDL)
• Show Liquidity Lines (Bool, Default: True): Toggles the display of the Previous Day High (PDH) and Low (PDL) lines.
• Liquidity High Color (Color, Default: Green): Color setting for the PDH line.
• Liquidity Low Color (Color, Default: Red): Color setting for the PDL line.
🔔 ALERT CONFIGURATION GUIDE
The indicator is equipped with specific alert conditions.
How to Set Up an Alert:
Click the "Alert" (Clock icon) in the top TradingView toolbar.
Select "Market Regime NY Session " from the Condition dropdown menu.
Choose one of the specific trigger conditions below depending on your strategy:
🚀 Available Alert Conditions
1. BUY (Long Entry)
Trigger: Fires immediately when a confirmed Bullish Setup is detected.
Conditions: Market Bias is Bullish (or valid Continuation) + Signal Score ≥ Minimum Entry Score.
Usage: Use this alert to open new Long positions or close existing Short positions.
2. SELL (Short Entry)
Trigger: Fires immediately when a confirmed Bearish Setup is detected.
Conditions: Market Bias is Bearish (or valid Continuation) + Signal Score ≥ Minimum Entry Score.
Usage: Use this alert to open new Short positions or close existing Long positions.
V. IMPORTANT TECHNICAL LIMITATIONS
⚠️ Intraday Only (Timeframe Compatibility)
This indicator is strictly designed for Intraday Timeframes (1m to 4h).
Daily/Weekly Charts: The session logic (e.g., "09:30-16:00") cannot function on Daily bars because a single bar encompasses the entire session. Session boxes, TP/SL zones, and AI prediction boxes will NOT draw on the Daily timeframe. Only the PDH/PDL liquidity lines remain visible on Daily charts. This is expected behavior, not a limitation.
Maximum Supported Timeframe: All visual components (session boxes, killzone overlays, TP/SL zones, AI prediction boxes) are displayed up to the 4-hour timeframe. Above this timeframe, only PDH/PDL lines and the dashboard remain functional.
⚠️ Drawing Object Limit (Max 500)
A single script can display a maximum of 500 drawing objects (boxes/lines) simultaneously.
On lower timeframes (e.g., 1-minute), where many signals and session boxes are generated, older history (typically beyond 10-14 days) will automatically disappear to make room for new real-time data.
For deeper historical backtesting visualization, switch to higher timeframes (e.g., 15m, 1h).
The indicator implements FIFO array management to comply with this limit while maintaining the most recent and relevant visual data.
VI. PRACTICAL TRADING TIPS AND BEST PRACTICES
• Killzone Confirmation: The highest statistical validity is observed when a high-score signal occurs directly within a visible NY AM/PM Killzone. Use the Killzones as a strict time filter.
• Liquidity Awareness (PDH/PDL): Treat the Previous Day High (PDH) and Low (PDL) lines as magnets. If your dynamic Take Profit (TP) is placed just above PDH, consider adjusting your target slightly below PDH or utilizing the Soft Exit, as liquidity absorption at these levels often results in sudden, sharp reversals that stop out a trade just before the target is reached.
• VIX as a Position Sizer: During DANGER VIX regimes, the resulting high volatility means the ATR value will be large. It is prudent to either reduce the SL Multiplier or, more commonly, reduce the overall position size to maintain a constant currency risk exposure per trade.
• Continuation Filter Timing: Trend Continuation signals are most effective during the Afternoon (PM) session when the morning's directional breakout has had time to establish a strong, clear, and sustainable trend. Avoid using them in the initial AM session when the direction is still being contested.
• 16:00 Market Close Rule: All trades, boxes, and lines are automatically cleaned up at 16:00 NY time. This prevents overnight chart clutter and maintains visual clarity.
VII. DISCLAIMER & RISK WARNINGS
• Educational Purpose Only
This indicator, including all associated code, documentation, and visual outputs, is provided strictly for educational and informational purposes. It does not constitute financial advice, investment recommendations, or a solicitation to buy or sell any financial instruments.
• No Guarantee of Performance
Past performance is not indicative of future results. All metrics displayed on the dashboard (including "ROI" and trade results) are theoretical calculations based on historical data. These figures do not account for real-world trading factors such as slippage, liquidity gaps, spread costs, or broker commissions.
• High-Risk Warning
Trading cryptocurrencies, futures, and leveraged financial products involves a substantial risk of loss. The use of leverage can amplify both gains and losses. Users acknowledge that they are solely responsible for their trading decisions and should conduct independent due diligence before executing any trades.
• Software Limitations
The software is provided "as is" without warranty. Users should be aware that market data feeds on analysis platforms may experience latency or outages, which can affect signal generation accuracy.
KD Weekly Oversold Golden Cross (v6)KD Weekly Oversold Golden Cross (v6)
This is a screener for weekly KD indicator bullish crossovers at oversold levels, where the K value does not exceed 25.
Day Trading Signals Trend & Momentum Buy/Sell [CocoChoco]Day Trading Signals: Trend & Momentum Buy/Sell
Overview
The indicator is a comprehensive day-trading tool designed to identify high-probability entries by aligning short-term momentum with long-term trend confluence.
It filters out low-volatility "choppy" markets using ADX and ensures you are always trading in the direction of the dominant higher-timeframe trend.
Important: Use on timeframes from 15 min to 2 hours, as the indicator is for day trading only.
How It Works
The script uses a three-layer confirmation system:
Trend Alignment: Uses a Fast/Slow SMA cross (10/50) on the current chart. Signal prints only if price closes above (for bullish) or below (for bearish) the 10-period SMA.
Higher Timeframe Confluence: The script automatically looks at a higher timeframe (1H for charts <=15m, and 4H for others) and checks if the price is above/below a 200-period SMA.
Momentum & Volatility: Signals are only triggered if the Stochastic Oscillator is rising/falling and the ADX is above 20, ensuring there is enough "strength" behind the move.
Visual Signals Buy/Sell
Green Label (Up Arrow): Bullish entry signal
Red Label (Down Arrow): Bearish entry signal.
Red "X": Exit signal based on a moving average crossover (trend exhaustion).
Visual Risk/Reward (1:1) Boxes: When a signal appears, the script automatically draws a projection of your Stop Loss (Red) and Take Profit (Green) based on the current ATR (Average True Range).
How to Use
Entry: Enter when a Label appears. Ensure the candle has closed to confirm the signal.
Stop Loss/Take Profit: Use the visual boxes as a guide. The default is 1.0 ATR for risk and 1.0 RR ratio, which can be adjusted in the settings.
Exit: Exit the trade either at the target boxes or when the Red "X" appears, indicating the trend has shifted.
Please note that this is just a tool, not financial advice. Perform your own analysis before entering a trade.






















