MEGA Sector Rotation CRYPTOCAP - 8 Narrativas (Optimized Daily)### MEGA Sector Rotation CRYPTOCAP - 7 Narratives
**Description for publishing on TradingView:**
This advanced indicator lets you visualize in real time the **rotation of narratives** within the crypto market through 7 key sectors, normalized for perfect side-by-side comparison.
Each line represents the **historical relative strength** (min-max normalization over 5000 bars) of a specific narrative, based on TradingView's official aggregated market caps (CRYPTOCAP) and custom sums. The lines oscillate between 0 and 100, with clear crossovers signaling when a sector is gaining or losing momentum relative to the others.
**The 7 narratives included:**
1. **Layer1** (pink) – Aggregated market cap of major Layer 1 blockchains.
2. **Memecoins** (bright green) – Official MEME.C sector (PEPE, SHIB, WIF, BONK, etc.).
3. **AI** (orange) – Artificial Intelligence and Big Data narrative.
4. **Exchanges** (purple) – Exchange tokens (centralized and decentralized).
5. **DeFi Total** (cyan) – Full aggregated market cap of the DeFi ecosystem.
6. **RWA Custom** (brown) – Custom sum of Real World Assets: ONDO + LINK + CFG + SYRUP.
7. **Privacy** (dark orange) – Custom sum of privacy coins: XMR + ZEC + DASH.
**Quick interpretation:**
- Line >80 and rising → Narrative is **HOT** (strong bullish rotation).
- Line <20 → Narrative is **COLD** (losing strength).
- Bullish crossovers → Money rotating into that sector.
- Transparent fills between lines to highlight leadership zones.
**Features:**
- Optimized for **lower timeframes** (5m, 15m, 1H, 4H) → ideal for day trading and scalping narratives.
- Works on any TF thanks to 5-minute resolution data.
- Thick lines, vibrant colors, and horizontal references (20/50/80) for instant reading.
Perfect for spotting early which narrative is attracting capital flows and anticipating sector moves in the crypto market.
Add this indicator and trade rotations like a pro!
#crypto #sectorrotation #narratives #altcoins #tradingview
Indicateurs et stratégies
Expansion Setup: Entries & structure + AlertsThis is a specific market condition often called a Broadening Formation or an Expansion Move, where volatility increases enough to break both the previous structural low and then immediately break the previous structural high (or vice versa).
1. LL to HH: A New Lower Low is formed, followed immediately by a New Higher High.
2. HH to LL: A New Higher High is formed, followed immediately by a New Lower Low.
3. Entry Levels: When a setup is detected (LL ➔ HH or HH ➔ LL), the script now draws two specific entry lines extending forward:
The "Breaker" Level: The previous structure point that was broken. (Often a safe retest entry).
The 50% Retracement: The midpoint of the expansion move (The "Equilibrium" or "Discount" entry).
FVG BearishThis indicator identified negetive Fair Value Gap based on the following creteria:
1. Gap between the last but 1 candle low and current candle high
2. The width of the gap is at least 0.3% of current close
3. The previous candle is a bearish candle with body at least 0.7% of current close
4. Value of the previous candle is greater tha equal to 30 M
5. The candle is marked with red dot on top
Aura Vortex Oscillator [Pineify]Aura Vortex Oscillator – Adaptive Momentum with Visual Depth
The Aura Vortex Oscillator is a sophisticated momentum indicator that transforms raw price action into a visually immersive analytical tool. By combining Sigmoid-based normalization through ArcTan mathematics with adaptive momentum calculations, this oscillator delivers clear, bounded signals while filtering market noise. The distinctive "Vortex Mesh" visualization creates a layered depth effect that reveals trend consensus across multiple smoothing periods.
Key Features
Sigmoid normalization using ArcTan function for bounded output (-100 to +100)
Adaptive momentum calculation with standard deviation normalization
Multi-layered "Vortex Mesh" creating visual depth and trend confluence signals
Dynamic color-coded visualization for instant trend recognition
Zero-line crossover signals with plotted reversal markers
Extreme zone highlighting for overbought/oversold conditions
How It Works
The core calculation begins with computing the Z-score of price relative to its simple moving average, normalized by standard deviation. This adaptive component automatically adjusts sensitivity based on recent volatility. The normalized value then passes through an ArcTan function, which acts as a sigmoid transformation, "squarifying" the output to emphasize extreme conditions while keeping values bounded.
os = atan(z × intensity) × 63.66
The multiplier 63.66 scales the output to approximately -100 to +100, providing intuitive overbought/oversold levels at ±50.
Trading Ideas and Insights
Use zero-line crossovers as primary trend change signals – bullish when crossing above, bearish when crossing below
Monitor the Vortex Mesh thickness – a thick, solid aura indicates strong trend consensus across timeframes
Watch for background highlighting at ±50 levels to identify statistical extremes for potential reversals
Combine with price action analysis when the oscillator reaches boundary zones
How Multiple Indicators Work Together
The Aura Vortex Oscillator integrates three technical concepts into one cohesive system. The adaptive momentum calculation provides the raw signal, responding dynamically to market volatility. The ArcTan normalization bounds this signal and emphasizes extremes without clipping. Finally, the Vortex Mesh applies multiple EMA smoothing layers to the base signal, creating visual depth that shows whether different momentum speeds agree on trend direction.
Unique Aspects
Unlike traditional oscillators that show a single line, this indicator visualizes momentum as a "thermal field" through its layered mesh system. The mesh expands and contracts based on trend agreement – a thick, cohesive glow suggests high-confluence momentum, while a thin, scattered appearance warns of choppy, range-bound conditions.
How to Use
Add the indicator to your chart as a separate pane
Look for color transitions (green to red or vice versa) at zero-line crosses for trend reversals
Use the ±50 boundary zones and background highlighting to identify overextended conditions
Enable the Vortex Mesh to visualize trend strength and momentum consensus
Customization
Vortex Sensitivity (20) : Base period for momentum calculation – lower values increase responsiveness
Vortex Intensity (2.0) : Amplifies signal squarification – higher values push readings toward extremes faster
Aura Smoothing (8) : EMA period for the main signal line – higher values reduce noise
Enable Vortex Mesh : Toggle the layered visualization effect
Color Settings : Customize bullish, bearish, and neutral colors
Conclusion
The Aura Vortex Oscillator offers traders a unique perspective on momentum analysis by combining mathematical rigor with innovative visualization. Its adaptive normalization ensures reliable signals across different market conditions, while the Vortex Mesh provides instant visual feedback on trend quality. Whether you are identifying trend reversals, measuring momentum strength, or seeking confluence confirmation, this oscillator delivers actionable insights in an intuitive format.
FVG BullishThis indicator marks the formation of Positive fair value gap in 1 min chart based on the following conditions:
1. Low of current candle is higher than last but one candle
2. The gap between the two is atleast 0.3% of current closing
3. The middle candle oftren called as the expansion candle is at least 0.7% of current close
4. Valune of the expansion candle is greater than 30M indicating institutional participation
5. Such candle are indicated by Green curcles at the bottome
Bitcoin Logarithmic Model with Ranges and ForecastsThis chart is based on the following post x.com and projects the price if bitcoin out into 2039
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.
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.
AI Signal Pro (MVP) | @GexProNew: AI Signal Preview (Free)
We’re excited to introduce a free AI-powered signal layer — now embedded directly in the Gamma Levels indicator — to help you spot high-conviction trade setups in real time.
This intelligent overlay analyzes gamma regime alignment, volume surges, and momentum shifts to surface only the highest-quality opportunities — no noise, no spam.
What You Get (Free)
Smart Trigger Logic: Only activates when Gamma Flip, Call Wall, and Put Support align with price action
Confidence Scoring: Clear % rating (e.g., "AI Confidence: 82%") so you know when to trust the signal
Actionable Levels: Auto-calculated entry, stop, and target based on gamma structure
Regime-Aware: Respects Positive/Negative Gamma environments — no counter-trend false signals
What’s Not Included (Free Version)
No LLM reasoning — no natural-language trade rationale
No real options data — uses price/volume proxies (not live OI or GEX)
No directional scoring — no Vanna/Charm-weighted conviction engine
No 0DTE or multi-expiry logic
Think of this as the “teaser” — a glimpse of what’s possible when AI meets institutional options flow.
Ready for the Full AI Engine?
→ Upgrade to GEX Pro and unlock:
Real-time options chain ingestion (OI, volume, strikes, expiries)
LLM-powered trade rationale — “Why this setup works now” in plain English
Institutional Conviction Score™ — 5-factor model (GEX slope, Vanna flow, vol skew, etc.)
0DTE-optimized signals with volume-priority gamma weighting
API access & trade ideas — auto-generated setups with risk metrics
Stop reacting. Start anticipating — where the smart money is positioned before the move.
Try GEX Pro — gexpro.asiaquant.com
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.






















