Professional Grid & Reversal Bot v10 (Binance Style)Professional Grid & Reversal Bot v10 (Binance Style) – Open Source & Educational
About this Script:
This script is an advanced Grid Trading & Smart Reversal strategy, inspired by professional Binance-style execution. It is designed as an educational, open-source tool for traders who want to understand market dynamics, grid logic, and risk management.
How it Works:
1️⃣ Grid Execution:
• Divides the price range between the high and low into multiple levels (Grids).
• Opens Buy orders in the lower half and Sell orders in the upper half.
• Levels are calculated dynamically based on the highest and lowest prices over a selected lookback period.
2️⃣ Smart Reversal System:
• Detects price touches on the high or low range boundaries to identify potential reversal points.
• Opens Buy orders at the lows and Sell orders at the highs using a configurable confirmation percentage (revPct).
• Helps traders capture short-term price swings effectively.
3️⃣ Risk & Size Management:
• Position sizing based on USD amount and leverage.
• Automatic Take Profit (TP) and Stop Loss (SL) for every trade.
• Controls overtrading via the "pyramiding" parameter (max open trades).
4️⃣ Advanced Visualization:
• Plots the grid range with high/low levels and fills the background for clear context.
• Highlights potential Supply and Demand Zones.
• Displays a dynamic "Binance-style" Order Book table showing Side, Price, Quantity, and PnL.
5️⃣ Key Counters & Indicators:
• levelsArr → Stores all grid levels for execution and plotting.
• touchedHigh / touchedLow → Monitors range touches to trigger reversals.
• strategy.openprofit → Displays live open trade PnL directly on the chart.
Additional Features:
• Supports both English and Arabic languages.
• Dark Theme optimized for readability.
• Dynamic control panel updates on every bar.
• Flexible settings for Auto or Manual grid range updates.
User Guidance:
• This script is for educational purposes only; it does not guarantee profits.
• We recommend adjusting Grid Levels, Reversal Percentage, and Trade Size to experiment with different strategies.
Community Engagement:
• Suggestions and improvements are welcome! 💡
• If you have ideas for new features, let's develop them together to enhance learning.
• Please support the script with a Like & Boost if you find it useful.
• Encourages knowledge sharing to improve collective performance.
License:
Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0)
Free for educational use only. Please give credit to the author when sharing or modifying the script.
Indicators and strategies
Long Only - Double EMA + SessionOverview
This is a high-probability Long-Only trend-following strategy designed primarily for the 65-minute and 4-hour timeframes. It utilizes a dual-layered filter system to align trades with both macro and mid-term market momentum, ensuring entries only occur during healthy uptrends. The strategy is optimized for volatile, high-growth assets like TSLA and MSFT.
How It Works
The strategy relies on three primary pillars of technical analysis to confirm an "A+" setup:
Macro Trend Filter (200 EMA): We only look for long opportunities when the price is above the 200-period Exponential Moving Average. This keeps the strategy on the right side of the long-term trend and avoids "buying the dip" during major bear markets.
Momentum Filter (50 EMA): The 50 EMA acts as a local trend filter. By requiring price to be above both EMAs, we ensure the medium-term momentum is also bullish.
The Trigger (Stochastic RSI): We enter when the Stochastic RSI K-line crosses above the 20 level (Oversold). This identifies local "oversold" pullbacks within a larger uptrend.
Risk Management & Exit Plan
This strategy is built with professional-grade capital preservation in mind:
Trailing Stop-Loss: A 5% trailing stop follows the price as it moves in our favor. This protects unrealized profits and helps mitigate the drawdown during sudden reversals.
Dynamic Profit Target: The strategy exits automatically if the Stochastic RSI K-line reaches the 97 level, capturing gains at the peak of momentum.
Session Filter: To avoid the "noise" of pre-market and low-volume afternoon trading, the strategy is restricted to the Market Open (9:30 AM EST) window where institutional volume is highest.
Backtesting Notes
Realistic Simulation: This strategy includes a 0.05% commission and 2 ticks of slippage to reflect real-world execution costs.
Recommended Assets: Optimized for Nasdaq-100 components and high-volume growth stocks.
Timeframe: Best performance found on 65m or 4h intervals.
Stark Overnight Levelsovernight levels with asia high, asia low, midnight open, london high, london low
Old Indicator Multi-Component Decision StrategyStrategy to test signals based on rsi and few other technicals
Delta/Volume Bubble Strategy [Quant Z-Score] Maxxed VersionDelta/Volume Bubble Signals Maxxed Verison
This indicator combines advanced volume delta analysis with smart filtering to generate high-conviction intraday signals on futures like YM, ES, and NQ (5-minute charts perform particularly well in testing).
Special thanks to L&L Capital for the LNL Trend System, which provides the excellent dynamic chop detection and cloud visuals used here.
A very BIG thanks to tncylyv for the original volume delta bubble script — its Z-score normalization on extreme volume/delta is the foundation of the core detection logic.This entire system is now possible thanks to TradingView's addition of Volume Delta data in the Footprint chart, allowing accurate lower-timeframe delta aggregation without external feeds. Core Concept the indicator identifies extreme volume/delta spikes — moments when significant buying or selling pressure appears — and only signals when multiple confluence filters align. This results in lower-frequency, higher-quality trades that aim to capture institutional momentum while avoiding noise.
How It Works — Key Components Volume Delta Detection (The Heart of the System) Uses TradingView's built-in footprint delta (aggregated from lower TF, default 1-second bars).
Calculates absolute delta and applies a rolling Z-score (default lookback 60 bars) to normalize extremes across different volatility regimes and instruments.
Bubbles visualize spikes above threshold (default 1.7σ).
BUY/SELL signals require the same threshold plus additional filters.
Absorption Filter (Enabled by Default) Detects high volume/delta with minimal price movement ("effort vs result" failure = trapped traders).
Purple glow on bubbles + optional alert.
Signals are suppressed on absorption bars to avoid counter-trend traps.
Trend Filter (Nadaraya-Watson from jdehorty as default) Non-repainting kernel regression line for smooth, adaptive trend following.
Signals only fire when price is on the correct side of the trend line (above for longs, below for shorts). Can be disabled or switched to EMA/WMA/KAMA.
LNL Chop Filter (Tight Mode by Default) Dynamic ATR-based stop zones from L&L's system.
When stop levels appear on both sides of price = sideways/chop (no-go zone).
Signals completely suppressed during chop.
Usage Tips Best on intraday futures (YM 5-min has shown strong results in testing).
Defaults are tuned for balance: 1.7σ threshold, Tight LNL mode, absorption on.
Strategy version (separate script) adds LNL trailing stops for actual backtesting/exits.
Customize freely — try different LNL modes (Net for wider range), trend types, or Z-thresholds.
Also available the matching indicator by yours truly.
Important: Forward Test Thoroughly This indicator was refined on historical data, so there's always risk of over-fitting.
Always forward test on live or paper accounts for weeks/months before real capital: Validate across different market regimes (trending, ranging, high/low volatility).
Compare out-of-sample periods.
Adjust one parameter at a time and re-validate forward.
Markets change — what worked yesterday may need tweaking tomorrow.
Feel free to use, modify, and share. Good luck, and trade well! — Max
BZNESMAN - High Win Rate CCI + PSAR + MA Strategy (70%+ Target)High Win Rate CCI + PSAR + MA Strategy (70%+ Target)
Simple RSI Strategy - Rule Based Higher Timeframe Trading
HOW IT WORKS
With the default settings, the strategy buys when RSI reaches 30 and closes when RSI reaches 40 .
That’s it.
A simple, rule-based mean reversion strategy designed for higher timeframes , where market noise is lower and trading becomes easier to manage.
Core logic:
Long when RSI moves into oversold territory
Exit when RSI mean-reverts upward
Optional short trades from overbought levels
One position at a time (no pyramiding)
No filters.
No discretion.
Just clear, testable rules.
MARKETS & TIMEFRAMES
This strategy is intended for:
Indices (Nasdaq, S&P 500, DAX, etc.)
Liquid futures and CFDs
Higher timeframes: 2H, 4H and Daily
The published example is Nasdaq (NDX) on the 2-hour timeframe .
Higher timeframes are strongly recommended.
HOW TO USE IT
Apply the strategy on a higher timeframe
Adjust RSI levels per market if needed
Use TradingView alerts to avoid constant screen-watching
Focus on execution, risk control, and consistency
This strategy is meant to be a building block , not a complete trading business on its own.
For long-term consistency, it works best when combined with other uncorrelated, rule-based systems.
IMPORTANT
This is not financial advice
All results are historical and not indicative of future performance
Always forward-test and apply proper risk management
For additional notes, setups and related systems, visit my TradingView profile page .
ABCD Harmonic Pattern Strategy (Bull + Bear) This script is a strategy implementation of the classic ABCD Harmonic Pattern, designed for market structure analysis, backtesting, and educational research.
The ABCD pattern is one of the foundational harmonic price patterns in technical analysis. Its Fibonacci ratio relationships were formalized and standardized within harmonic trading theory by Scott M. Carney, whose work helped define modern harmonic pattern rules.
This strategy is conceptually inspired by educational ABCD pattern logic shared by the TradingView author theEccentricTrader.
The code, structure, execution logic, filters, and risk management have been independently developed, reconstructed, and extended into a complete TradingView strategy.
What this strategy does
Detects bullish and bearish ABCD harmonic patterns based on price structure and Fibonacci ratios.
Reconstructs ABCD market structure logic for both directions instead of using a simple visual inversion.
Draws the ABCD legs, structure labels (A, B, C, D), and projection levels directly on the chart.
Generates long and short trade entries using confirmed ABCD structures.
Includes optional confluence filters, such as:
Higher-timeframe EMA trend filter
RSI strength filter
ATR volatility filter
Volume confirmation
Candle body confirmation
Minimum bounce distance from point D
Provides built-in risk management, including:
Configurable Stop Loss
Configurable Take Profit
Optional trailing stop
Designed for backtesting, parameter optimization, and analytical research.
Why this strategy is different
This script is not a simple indicator conversion nor a basic bullish/bearish mirror.
The ABCD pattern logic has been recreated at the structural level to better reflect how bullish and bearish market formations behave in real price action.
Key differences
Reconstructed bullish and bearish structures
Bullish and bearish ABCD patterns are independently defined using market structure logic, not just inverted visually.
Each direction has its own pivot relationships and validation rules to produce a more faithful representation of the ABCD pattern.
Structure-aware pattern validation
Pattern confirmation is based on price swings, structure continuity, and Fibonacci alignment, helping reduce distorted or forced patterns.
Strategy-based execution
Unlike indicator-only ABCD tools that only visualize patterns, this script uses strategy.entry and strategy.exit, enabling full backtesting and performance analysis.
Confluence-driven entries
Trade entries can require multiple confirmation layers beyond the pattern itself, helping reduce low-quality signals and overtrading.
Integrated risk management
Stop Loss, Take Profit, and optional trailing logic are applied consistently for both long and short positions.
Non-repainting design
Pattern detection and entries rely on confirmed bars (barstate.isconfirmed) and higher-timeframe data with lookahead_off, ensuring signals do not repaint historically.
Improved and controlled visualization
Pattern drawings, projections, and entry markers are managed with strict object limits to comply with TradingView performance and publishing requirements.
How to use
Add the strategy to a chart and select a symbol and timeframe.
Enable or disable filters under “Entry Filters (Confluence)”.
Configure Stop Loss, Take Profit, and trailing behavior under “TP/SL”.
Use pattern drawings and entry markers as visual and analytical confirmation, not as standalone trade signals.
Important notes
This script is provided for educational and research purposes only.
It does not provide financial or investment advice.
No profitability or performance is implied or guaranteed.
Past performance does not indicate future results.
Always test across multiple markets and timeframes and apply proper risk management.
Credits
ABCD Harmonic Pattern: Harmonic trading principles as formalized by Scott M. Carney.
Conceptual inspiration: Educational ABCD pattern logic shared by @theEccentricTrader on TradingView.
Pattern reconstruction, strategy logic, and risk management: Independent development.
Bullish Engulfing at Daily Support (Pivot Low) - R Target (v6)1. What this strategy really is (in human terms)
This strategy is not about predicting the market.
It’s about waiting for proof that buyers are stepping in at a price where they already should.
Think of it like this:
“I only buy when price falls into a known ‘floor’ and buyers visibly take control.”
That’s it.
Everything in the script enforces that idea.
2. The two ingredients (nothing else)
Ingredient #1: Daily Support (the location)
Support is an area where price previously fell and then reversed upward.
In the script:
Support is defined as the most recent confirmed daily swing low
A swing low means:
Price went down
Stopped
Then went up enough to prove that buyers defended that level
This matters because:
You’re not guessing where support might be
You’re using a level where buyers already proved themselves
“At support” doesn’t mean exact
Markets don’t bounce off perfect lines.
So the script allows a small zone (the “support tolerance”):
Example: 0.5% tolerance
If support is at 100
Anywhere between ~99.5–100.5 counts
This prevents missing good trades just because price was off by a few ticks.
Ingredient #2: Bullish Engulfing Candle (the trigger)
This is the confirmation.
A bullish engulfing candle means:
Sellers were in control
Buyers stepped in hard enough to fully overpower them
The bullish candle’s body “swallows” the previous candle
Psychologically, it says:
“Sellers tried, failed, and buyers just took control.”
That’s why this candle works only at support.
A bullish engulfing in the middle of nowhere means nothing.
3. Why daily timeframe matters
The daily chart:
Filters out noise
Reflects decisions made by institutions, not random scalpers
Produces fewer but higher-quality signals
That’s why:
The script uses daily data
You typically get very few trades per month
Most days: no trade
That “boredom” is the edge.
4. When a trade is taken (exact conditions)
A trade happens only if ALL are true:
Price drops into a recent daily support zone
A bullish engulfing candle forms on the daily chart
Risk is clearly defined (entry, stop, target)
If any one is missing → no trade
5. How risk is controlled (this is crucial)
The stop loss (where you admit you’re wrong)
The stop is placed:
Below the support level
Or below the low of the engulfing candle
With a small ATR buffer so normal noise doesn’t stop you out
Meaning:
“If price breaks below this area, buyers were wrong. I’m out.”
No hoping. No moving stops. No exceptions.
Position sizing (why this strategy survives losing streaks)
Each trade risks a fixed % of your account (default 1%).
So:
Big stop = smaller position
Small stop = larger position
This keeps every trade equal in risk, not equal in size.
That’s professional behavior.
6. The take-profit logic (why 2.8R matters)
Instead of guessing targets:
The strategy uses a multiple of risk (R)
Example:
Risk = $1
Target = $2.80
You can lose many times and still come out ahead.
This is why:
Win rate ≈ 60% is more than enough
Even 40–45% could still work if discipline is perfect
7. Why patience is the real edge (not the pattern)
The bullish engulfing is common.
Bullish engulfing at daily support is rare.
Most people fail because they:
Trade engulfings everywhere
Ignore location
Lower standards when bored
Add “just one more indicator”
Your edge is:
Saying no 95% of the time
Taking only trades that look obvious after they work
8. How to use this strategy effectively (rules to follow)
Rule 1: Only take “clean” setups
Skip trades when:
Support is messy or unclear
Price is chopping sideways
The engulfing candle is tiny
The market is news-chaotic (earnings, FOMC, etc.)
If you have to convince yourself, skip it.
Rule 2: One trade at a time
This strategy works best when:
You’re not stacked in multiple correlated trades
You treat each setup like it matters
Quality > quantity.
Rule 3: Journal screenshots, not just numbers
After each trade, save:
Daily chart screenshot
Support level marked
Entry / stop / target
After 50–100 trades, patterns jump out:
Best tolerance %
Best stop buffer
Markets that behave well vs poorly
That’s how the original trader refined it.
Rule 4: Expect boredom and drawdowns
You will have:
Weeks with zero trades
Clusters of losses
Long flat periods
That’s normal.
If you “fix” it by adding more trades:
You destroy the edge.
9. Who this strategy is perfect for
This fits you if:
You don’t want screen addiction
You prefer process over excitement
You’re okay being wrong often
You want something you can execute for years
It is not for:
Scalpers
Indicator collectors
People who need action every day
10. The mindset shift (the real lesson of that story)
The money didn’t come from bullish engulfings.
It came from:
Defining one repeatable behavior
Removing everything else
Trusting math + patience
Doing nothing most of the time
If you want, next we can:
Walk through real example trades bar-by-bar
Optimize settings for a specific market you trade
Add filters that increase quality without adding complexity
MDZ Strategy v4.2 - Multi-factor trend strategyWhat This Strategy Does
MDZ (Momentum Divergence Zones) v4.2 is a trend-following strategy that enters long positions when multiple momentum and trend indicators align. It's designed for swing trading on higher timeframes (2H-4H) and uses ATR-based position management.
The strategy waits for strong trend confirmation before entry, requiring agreement across five different filters. This reduces trade frequency but aims to improve signal quality.
Entry Logic
A long entry triggers when ALL of the following conditions are true:
1. EMA Stack (Trend Structure)
Price > EMA 20 > EMA 50 > EMA 200
This "stacked" alignment indicates a strong established uptrend
2. RSI Filter (Momentum Window)
RSI between 45-75 (default)
Confirms momentum without entering overbought territory
3. ADX Filter (Trend Strength)
ADX > 20 (default)
Ensures the trend has sufficient strength, not a ranging market
4. MACD Confirmation
MACD line above signal line
Histogram increasing (momentum accelerating)
5. Directional Movement
+DI > -DI
Confirms bullish directional pressure
Exit Logic
Positions are managed with ATR-based levels:
ParameterDefaultDescriptionStop Loss2.5 × ATRBelow entry priceTake Profit6.0 × ATRAbove entry priceTrailing Stop2.0 × ATROptional, activates after entry
The default configuration produces a 1:2.4 risk-reward ratio.
Presets
The strategy includes optimized presets based on historical testing:
PresetTimeframeNotes1H Standard1 HourMore frequent signals2H Low DD2 HourConservative settings3H Optimized3 HourBalanced approach4H Swing4 HourWider stops for swing tradesCustomAnyFull manual control
Select "Custom" to adjust all parameters manually.
Inputs Explained
EMAs
Fast EMA (20): Short-term trend
Slow EMA (50): Medium-term trend
Trend EMA (200): Long-term trend filter
RSI
Length: Lookback period (default 14)
Min/Max: Entry window to avoid extremes
ADX
Min ADX: Minimum trend strength threshold
Risk
Stop Loss ATR: Multiplier for stop distance
Take Profit ATR: Multiplier for target distance
Trail ATR: Trailing stop distance (if enabled)
Session (Optional)
Filter entries by time of day
Recommended OFF for 3H+ timeframes
What's Displayed
Info Panel (Top Right)
Current preset
Trend status (Strong/Wait)
ADX, RSI, MACD readings
Position status
Risk-reward ratio
Stats Panel (Top Left)
Net P&L %
Total trades
Win rate
Profit factor
Maximum drawdown
Chart
EMA lines (20 blue, 50 orange, 200 purple)
Green background during strong uptrend
Triangle markers on entry signals
Important Notes
⚠️ This is a long-only strategy. It does not take short positions.
⚠️ Historical results do not guarantee future performance. Backtests show what would have happened in the past under specific conditions. Markets change, and any strategy can experience drawdowns or extended losing periods.
⚠️ Risk management is your responsibility. The default settings risk 100% of equity per trade for backtesting purposes. In live trading, appropriate position sizing based on your risk tolerance is essential.
⚠️ Slippage and commissions matter. The backtest includes 0.02% commission and 1 tick slippage, but actual execution costs vary by broker and market conditions.
Best Practices
Test on your specific market — Results vary significantly across different instruments
Use appropriate position sizing — Never risk more than you can afford to lose
Combine with your own analysis — No indicator replaces understanding market context
Paper trade first — Validate the strategy matches your trading style before risking capital
Alerts
Two alerts are available:
MDZ Long Entry: Fires when all entry conditions are met
Uptrend Started: Fires when EMA stack first aligns bullish
Methodology
This strategy is based on the principle that trend continuation has better odds than reversal when multiple timeframe momentum indicators agree. By requiring five independent confirmations, it filters out weak setups at the cost of fewer total signals.
The ATR-based exits adapt to current volatility rather than using fixed pip/point targets, which helps the strategy adjust to different market conditions.
Questions? Leave a comment below.
Multi KI Agenten Strategie (Final V2)What's included in the Pine Script (Technical Analysis)
These features are mathematically implemented in the script and function as "agent logic":
• Trend Following: Integrated via EMAs (50, 100, 200).
• Volume Analysis: An agent checks for institutional volume spikes.
• Supply & Demand: Zones are calculated based on price extremes.
• RSI & Fibonacci: Both are built in as decision criteria for the agents.
• Controlling AI: The "veto logic" in the code acts as a controlling instance, blocking signals if the risk is too high or divergences exist.
• Alerts: The "LONG" and "SHORT" alerts are only triggered after approval by the controlling mechanism.
BTC Scalping 3m | Supertrend + MACD Squeeze (NY) [v6 FINAL]BTC 3-Minute Scalping Strategy
Supertrend Bias + MACD Squeeze (New York Session)
This is a fully mechanical BTC scalping strategy designed to capture short momentum bursts that occur when volatility expands in the direction of the higher-timeframe trend.
The strategy combines trend confirmation, volatility compression/expansion, and strict session filtering to reduce noise and improve consistency.
How It Works
Trend Bias
Uses a 15-minute Supertrend to define market direction.
Trades are taken only in the direction of the higher-timeframe trend.
Counter-trend signals are ignored.
Timing & Entry
Executes on the 3-minute chart.
Waits for volatility compression using a LazyBear-style MACD Squeeze.
Enters only when the squeeze releases and momentum turns positive.
Entry occurs on candle close above the execution-timeframe Supertrend.
Session Filter
Trades only during the New York session (13:00–21:00 UTC).
This avoids low-liquidity periods and reduces false breakouts.
Risk & Exits
Dynamic stop-loss placed at the execution-timeframe Supertrend.
Risk is calculated using the actual filled entry price for accurate R-based exits.
Primary profit target is 0.5R, optimized for scalping.
Positions are exited immediately if:
Price closes against Supertrend
Supertrend flips direction
Momentum (MACD histogram) turns negative
Trades are typically short-lived (1–3 candles), keeping exposure minimal.
Key Characteristics
Non-repainting logic
Fully rule-based (no discretion)
High win-rate, low-RR scalping profile
Designed for BTC futures/perpetuals
Optimized for New York session volatility
Usage Notes
Run on BTC 3-minute charts
Best results during active NY hours
Performance will vary by exchange, fees, and slippage
This strategy is intended for education and testing, not financial advice
Summary
This strategy focuses on trading volatility expansion aligned with trend, using Supertrend for structure and MACD Squeeze for timing. By restricting trades to high-liquidity hours and enforcing strict exits, it aims for consistent, repeatable scalps rather than large directional bets.
lww Crossover Strategy Strategy Description
This strategy is based on the confluence of VWAP, MVWAP, and EMA crossover structure, designed to identify short-term trend continuation opportunities in both long and short directions.
A trade signal is generated only when the fast EMA, slow EMA, and smoothed VWAP are all positioned on the same side of the MVWAP, indicating directional alignment and structural confirmation. Entries occur only at the moment the condition first becomes true, which helps reduce overtrading during ranging or choppy market conditions.
The strategy enforces a one-trade-at-a-time rule, ensuring that no new positions are opened while an existing trade is active.
Risk management is handled through predefined take-profit and stop-loss levels, which are automatically placed upon entry to maintain clear and consistent risk control. An optional setting allows positions to be closed early if an opposite signal appears.
This strategy is suitable for short-term and intraday trading, emphasizing disciplined execution, structural confirmation, and controlled risk exposure.
proof quant model v1team, this is the model for our class. It is public but yeah its not like there will be specific ip or stuff like that. Get to work
MACD Bounce Strategy for CryptohopperSell and Buy alerts based on MACD crossover values for automated triggers in Cryptohopper
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);
}
}
}
}
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.
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.”
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.
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.
SMA Strategy [MK]Overview
This strategy is a momentum-based trend-following system designed to capture sustained market moves while minimizing "whipsaws" often found in sideways markets. It utilizes a dual-SMA filter for trend direction, a precise price-crossover trigger for entry, and the Average Directional Index (ADX) to gauge market strength.
How It Works
The strategy follows a strict "Trend + Momentum + Strength" hierarchy:
1. Trend Identification (The Filter) The script uses a Fast SMA (20) and a Slow SMA (50).
Long Bias: SMA-20 > SMA-50.
Short Bias: SMA-20 < SMA-50.
2. Precise Entry (The Trigger) Unlike strategies that enter simply because the price is above a line, this script requires a Price Crossover.
Long Entry: Price must actively cross from below to above the SMA-20.
Short Entry: Price must actively cross from above to below the SMA-20.
3. Trend Strength (The ADX Gatekeeper) To solve the problem of sideways markets where moving averages run parallel, we’ve integrated the ADX (Average Directional Index). The strategy will only trigger a trade if the ADX is above a user-defined threshold (default is 25), ensuring we only enter when the market is trending.
4. RSI Safety Filter To prevent "buying the top" or "selling the bottom," the RSI checks for overextended conditions. It prevents long entries if the RSI is already overbought and short entries if it is oversold.
Exit Logic
The strategy features three layers of protection:
Trend Reversal Exit: Closes the position if the price crosses back over the SMA-20 while the macro trend (SMA-20/SMA-50) has flipped.
Fixed Take Profit: A percentage-based target to lock in gains during sharp moves.
Fixed Stop Loss: A percentage-based safety net to protect capital.
Key Features
Directional Selector: Choose between "Long Only," "Short Only," or "Both."
Visual Feedback: Background colors highlight "Trending" (Green) vs "Sideways" (Red) market regimes.
Fully Customizable: All lengths and thresholds for SMAs, RSI, and ADX can be adjusted to fit different assets and timeframes.
Instructions for Use
Timeframe: This strategy is optimized for trending timeframes such as the 1-Hour (1H), 4-Hour (4H), or Daily (D). Using it on very low timeframes (1-minute or 5-minute) may increase the number of false signals due to market noise.
Asset Classes: Best suited for high-volume assets like Major Forex Pairs, Large-Cap Stocks, and Blue-Chip Cryptocurrencies.
Parameter Tuning: Use the "Strategy Tester" to find the ideal ADX Threshold for your specific asset. Volatile assets usually require a higher ADX (30+) to filter out fake breakouts.
Disclaimer
Financial Risk Warning: The script provided is for educational and informational purposes only. Trading involves significant risk, and there is always the potential for loss. Past performance, whether simulated or real, is not a guarantee of future results.
The author of this script is not a financial advisor. This indicator is not a signal service or a recommendation to buy or sell any security. Always perform your own due diligence and test any strategy thoroughly on a demo account before risking live capital. By using this script, you acknowledge that you are solely responsible for your trading decisions and any resulting financial outcomes.






















