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.
Strategy
VIOP Scalping - ATR SNIPERVIOP Scalping – ATR SNIPER is a momentum-based scalping strategy designed to capture short, high-probability moves while keeping risk strictly defined using ATR-based stop-loss and fixed risk/reward targets. The strategy trades only when trend direction, momentum, and strength are aligned.
This script is provided for educational and testing purposes only. It does not guarantee profitability and must be used with proper risk management.
Core Idea
Trade in the direction of the dominant trend, confirm momentum acceleration, and manage risk using ATR-based dynamic stops and targets.
How the Strategy Works
The main trend is defined using a Weighted Moving Average (WMA).
Momentum is measured by the distance and direction between a fast EMA and a slow EMA.
Trend strength is confirmed using ADX.
RSI is used as a filter to avoid weak or overextended market conditions.
Entries are blocked during a predefined no-trade time window to avoid high-noise periods.
Long Entry Conditions
Fast EMA is above Slow EMA and the EMA difference is greater than the minimum threshold.
EMA momentum is increasing compared to the previous bar.
RSI is within the user-defined long range.
Current close is higher than the previous close.
ADX is above the minimum strength threshold.
Price is above the WMA trend line.
The current bar is not inside the no-trade session.
Short Entry Conditions
Fast EMA is below Slow EMA and the EMA difference is below the negative threshold.
Bearish EMA momentum is increasing.
RSI is within the user-defined short range.
Current close is lower than the previous close.
ADX is above the minimum strength threshold.
Price is below the WMA trend line.
The current bar is not inside the no-trade session.
Risk Management – ATR Sniper Logic
Stop-loss distance is calculated as ATR multiplied by the ATR Multiplier.
Take-profit distance is calculated using the defined Risk/Reward ratio.
Stop-loss and take-profit levels are dynamically calculated per trade.
Only one position can be open at any given time.
What You See on the Chart
Weighted Moving Average (WMA) trend line.
Fast EMA and Slow EMA lines.
Dynamic stop-loss line during active trades.
Dynamic take-profit line during active trades.
Recommended Use
Intraday scalping on VİOP instruments.
Momentum-based short-term trading.
Traders who prefer rule-based systems with strict risk control.
Always backtest and forward-test on your own instruments and timeframes before using this strategy in live markets.
VIOP Scalping - OriginalVIOP Scalping – Original is a rule-based scalping strategy ported from an original C# logic set. It aims to trade only when trend direction, momentum, and trend strength align, then manages the position using fixed take-profit/stop-loss percentages with an optional trailing mechanism to protect gains during favorable moves.
This strategy is provided for educational and backtesting purposes only. It is not financial advice and does not guarantee profitability. Always test thoroughly before any live usage.
Core Concept
Follow the dominant WMA trend, confirm momentum with EMA separation, filter conditions with RSI + ADX, then exit using fixed TP/SL with trailing behavior after a defined profit threshold.
How the Strategy Works
Trend Direction is defined by WMA: above WMA = long bias, below WMA = short bias.
Momentum is measured via Fast EMA vs Slow EMA and the EMA difference.
Trend Strength is confirmed using ADX (must exceed a threshold).
RSI filters trades to avoid entering when momentum is likely overextended or weak.
A no-trade session blocks entries during a predefined time window (default 09:30–10:05).
Exit logic uses fixed percent TP/SL, with an optional trailing mechanism that activates after a profit threshold.
Inputs and Settings
Trend and Indicator Settings
Main Trend WMA: Determines directional bias (price above = long, price below = short).
Fast EMA / Slow EMA: Used to measure momentum and directional separation.
RSI Period: Filters entries based on RSI range constraints.
ADX Period: Measures trend strength (must exceed threshold to allow entries).
Threshold Settings
EMA Difference Threshold: Minimum EMA separation required to validate momentum.
ADX Threshold: Minimum ADX required to confirm trend strength.
RSI Long Ceiling: RSI must remain below this value for long entries.
RSI Short Floor: RSI must remain above this value for short entries.
Risk Management Settings
Take Profit %: Default TP distance in percent.
Strong Trend Take Profit %: Higher TP used when a “strong trend” condition is detected.
Stop Loss %: Fixed SL distance in percent.
Trailing Activation %: Profit threshold at which trailing starts.
Trailing Distance %: Trailing offset distance used once trailing is active.
Time Filter
No-Trade Hours: Default session is 09:30–10:05. During this window, the strategy does not open new trades.
Entry Logic
No-Trade Time Filter
If the current bar falls inside the no-trade session, entries are blocked.
Long Entry Conditions
Price is above the WMA trend line.
EMA difference is positive and greater than the EMA Difference Threshold.
EMA momentum is increasing (current EMA diff > previous EMA diff).
RSI is within the defined range (RSI > 48 and RSI < RSI Long Ceiling).
Close is higher than the previous close.
ADX is above the ADX Threshold.
Short Entry Conditions
Price is below the WMA trend line.
EMA difference is negative and lower than -EMA Difference Threshold.
Bearish momentum is increasing (current EMA diff < previous EMA diff).
RSI is within the defined range (RSI < 52 and RSI > RSI Short Floor).
Close is lower than the previous close.
ADX is above the ADX Threshold.
Strong Trend Logic (Dynamic TP Selection)
If price is far from the WMA (absolute distance > 20 points) AND EMA separation is strong (absolute EMA diff > 1.5 points), the strategy treats the environment as a strong trend.
In strong trend mode, the strategy uses “Strong Trend Take Profit %” instead of the default “Take Profit %”.
Exit Management (TP/SL + Trailing)
The strategy uses fixed percentage-based TP and SL levels.
Trailing logic is enabled via strategy.exit and activates only after price moves in profit by the defined Trailing Activation %.
Once activated, trailing follows price using the defined Trailing Distance % offset.
This is designed to secure partial gains during extended moves while still allowing room for continuation.
What You See on the Chart
WMA Trend Line (Main Trend Filter).
Fast EMA and Slow EMA (Momentum Confirmation).
Strategy entry/exit markers generated by TradingView.
Recommended Use
Scalping systems that rely on trend-following and momentum confirmation.
Markets where ADX filtering helps avoid choppy conditions.
Traders who want a simple, parameter-driven TP/SL system with trailing after confirmation.
Important Notes
The no-trade session depends on your chart/session settings. Ensure your symbol/session configuration matches your intended market hours.
Percent-based exits scale with price; results will vary across instruments and volatility regimes.
Always validate behavior using bar replay, forward testing, and realistic commission/slippage assumptions.
Weekly RSI-EMA(Pro) v1.0Weekly RSI-EMA (Pro) v1.0 is a stable, non-repainting weekly positional strategy built on RSI + EMA logic.
This Pro version is designed for traders who want a structured weekly framework with execution-faithful behavior and clear performance insights.
Key Features
• Weekly positional logic with configurable entry & exit days
• Holiday-safe weekly exit handling
• Clear BUY / SELL / EXIT labels
• Compact weekly snapshot table
• Full weekly performance metrics table
• Execution-faithful design (no repainting, no future leaks)
Traders may use the weekly bias and signals from this strategy as a decision-support layer, or integrate it into their own rule-based systems and automation workflows according to their trading style.
Alert support and automation-friendly features are planned for a future update and will be provided without affecting existing access.
The FREE version will continue to remain available as a directional bias tool.
Disclaimer
This script is provided for educational and informational purposes only.
I am not a SEBI registered research analyst.
This is not investment or trading advice.
Please consult a qualified financial advisor before making trading or investment decisions.
Pro Scalper MTF Elite Strategy v1.0.0
Pro Scalper MTF Elite Strategy v1.0.0
What is this script?
This is an advanced, institutional-grade multi-timeframe (MTF) scalping and swing trading strategy for TradingView. It integrates multiple professional trading concepts—including Smart Money Concepts (SMC/SMT), price action, trend, momentum, and volume analysis—into a single, easy-to-use tool. The script is designed for traders who want robust, rules-based entries and exits, with built-in risk management and dynamic position sizing.
Key Concepts Integrated
Smart Money Concepts (SMC/SMT): Includes liquidity sweeps, order blocks, fair value gaps (FVG), and market structure breaks (MSB).
Price Action: Detects swing highs/lows, candle patterns, and support/resistance zones.
Trend Analysis: Uses EMAs, VWAP, and higher timeframe trend confirmation.
Momentum: Incorporates MACD and RSI for momentum filtering.
Volume : Identifies volume spikes for additional confluence.
Multi-Factor Confluence: Signals are generated only when multiple factors align, increasing reliability and reducing false signals.
How does it work?
- The strategy continuously scans for confluence between SMC/SMT signals, price action, trend, momentum, and volume.
- Each factor is scored, and only high-confluence setups trigger trade signals.
- Risk management is fully automated: you set your risk per trade, and the script calculates stop loss, take profits, and position size.
- Advanced features include trailing stops, breakeven logic, dynamic targets, and adaptive filters for different market regimes.
How to use
1. Add the script to your chart.
2. Adjust settings in the Inputs panel:
- By default, liquidity zones and support/resistance are OFF for a clean chart. Enable “Show Liquidity Zones (By TF)” and “Show S/R Zones” in the Visuals section to see SMT/SMC features.
- Set your account size and risk % for proper position sizing.
- Choose your preferred risk management and signal filtering options.
3. **Look for BUY/SELL labels on the chart.**
- These indicate high-confluence trade entries.
- The script will plot stop loss and take profit levels.
4. **Use the built-in strategy tester to review historical performance.**
5. **Set up alerts:** See below for details.
Features & Settings Explained
- Risk Management : Fixed % risk per trade, dynamic position sizing, trailing stops, breakeven, and adaptive targets.
- Signal Logic: Multi-factor scoring, cluster confluence, aggressive mode, candle color filter, and high conviction options.
- Advanced Filters: Bias gate, ambiguity skip, cooldown, adaptive stop modes, dynamic regime adjustment.
- Session & Volatility : Session filter, volatility gate, and dynamic position sizing.
- Visuals: All major overlays (liquidity, S/R, order blocks, FVGs, etc.) are OFF by default for clarity. Enable as needed in the Visuals section.
- Dashboard (Debug Panel): Built-in dashboard displays key signal metrics, scores, cluster counts, regime status, and trigger states directly on the chart. Enable it in the Visuals section by setting “Debug Panel Mode” to “Lite” or “Extended” and choose its position with “Debug Panel Position.”
- **Performance Tweaks:** Light MTF mode, max boxes/labels, and more.
How to enable SMT/SMC features
- Enable “Show Liquidity Zones (By TF)” for liquidity zones (SMT/SMC).
- Enable “Show S/R Zones” for support/resistance.
- Enable “Show Order Blocks” and “Show FVG” for order block and fair value gap visualization.
How to set alerts (Strategy Script)
On TradingView, strategy scripts do not allow you to select specific conditions like “Entry Buy” or “Entry Sell” in the alert dialog. Instead, you can only set a single alert for the entire strategy. Here’s how to do it:
1. Add the strategy to your chart.
2. Click the “Add Alert” (clock) icon at the top of TradingView.
3. In the alert dialog, select the strategy name as the condition (you will not see separate options for Entry Buy or Entry Sell).
4. The alert will trigger whenever the script generates a new buy or sell signal (as defined by the alert() function in the script).
5. Set your preferred alert actions (popup, email, webhook, etc.) and click “Create”.
Note: If you want separate alerts for buy and sell signals, you would need to use a companion indicator version of the script.
What strategy is this? How does it help?
This is a multi-factor, multi-timeframe confluence strategy. It helps traders by:
- Automating complex SMC/SMT and price action analysis.
- Managing risk and position size for you.
- Providing clear, actionable trade signals only when multiple factors align.
- Adapting to changing market regimes (trend/chop/volatility).
- Reducing emotional trading and overtrading.
Timeframes
- Works best on 5m, 15m, 30m, and 1H charts.
- Can be used on higher timeframes for swing trading.
- Lower timeframes (1m, 3m) may be noisier.
Does it repaint?
- The script is designed to avoid repainting. Signals are generated using confirmed bar data.
- Optional “Repaint Audit” mode is available for testing.
- Visual overlays (zones, FVGs, etc.) may update as new bars form, but trade signals do not repaint.
How long do signals show?
- Signals remain on the chart as long as the trade is active or until the next signal.
- Visual zones fade after a set number of bars (configurable).
---
Supplemental Information
Author
- Script by lava_javaforum (Institutional Enhancement Strategy Variant).
- For support, contact via TradingView or the invite-only group.
Risk Management & Position Sizing
- All trades use fixed % risk per trade.
- Position size is calculated automatically.
- Dynamic sizing increases with higher conviction.
Track Record
- This is a strategy script with built-in backtesting.
- Past performance is shown in the TradingView strategy tester.
- No guarantee of future results; always forward-test before live trading.
Markets
- Designed for stocks, indices, futures, and options.
- Works on any liquid market and timeframe.
Leverage
- The script does not recommend or require leverage.
- Use leverage at your own risk.
Backtesting
- Fully backtestable in TradingView.
- Use the strategy tester to review historical performance.
Support
- Support is available for invite-only users.
- Contact the author for questions or troubleshooting.
Community
- You may contact other users in the invite-only group for feedback and tips.
Trial
- A trial period may be available for select users. Contact the author for details.
---
Disclaimer
This script is for educational and informational purposes only. It is NOT financial advice. Trading involves risk, and you should only trade with money you can afford to lose. Past performance does not guarantee future results. Always do your own research and consult a financial advisor if needed.
---
If you have any questions or need help with settings, contact the author directly. Happy trading!
Quality-Controlled Trend Strategy v2 (Expectancy Focused)This script focuses on quality control rather than curve-fitting.
No repainting, no intrabar tricks, no fake equity curves.
It uses confirmed-bar entries, ATR-based risk, and clean trend logic so backtests reflect what could actually be traded live.
If you publish scripts, this is the minimum structure worth sharing.
Why this script exists
TradingView’s public scripts are flooded with:
repainting indicators
no stop-loss logic
curve-fit entries that collapse live
strategies that look good only in hindsight
This script is intentionally boring but honest.
No repainting.
No intrabar tricks.
No fake equity curves
The goal is quality control, not hype.
What this strategy enforces
✔ Confirmed bars only
✔ Single source of truth for indicators
✔ Fixed risk structure
✔ No signal repainting
✔ Clean exits with unique IDs
✔ Works on any liquid market
Trading Logic (simple & auditable)
Trend filter
EMA 50 vs EMA 200
Entry
Pullback to EMA 50
RSI confirms momentum (not oversold/overbought)
Risk
ATR-based stop
Fixed R:R
One position at a time
This is the minimum bar for a strategy to be considered publish-worthy.
Why this helps TradingView quality
Most low-value scripts fail because they:
hide repainting logic
skip exits entirely
use inconsistent calculations
rely on hindsight candles
This strategy forces discipline:
every signal is confirmed
every trade has defined risk
behavior is repeatable across symbols & timeframes
If more scripts followed this baseline, TradingView’s public library would be far more usable.
Backtest Pro - The TradingView Backtesting EngineBacktest your indicators — no strategy code required. Backtest Pro is the next-generation backtesting engine for smarter testing. Simply link your signals, set your stops, and start testing.
With its upgraded UI/UX and fundamentally improved stop system, Backtest Pro replaces the legacy PSE (Practical Strategy Engine) and sets a new standard for TradingView backtesting. It delivers more accurate intrabar trailing stops, flexible stop types (Points, ATR Multiplier, %), and a smoother workflow for greater precision and control.
Once loaded on your chart, Backtest Pro appears as BT Pro as the script title and in the Strategy Tester, alerts, and chart labels.
Beyond the core stop and pyramiding logic, Backtest Pro also introduces:
A clearer Data Window for reviewing trade details.
Improved signal labels in the Strategy Tester’s List of Trades for easier log analysis.
Updated chart labels that align better with TradingView’s native style and make signals easy to interpret. Together, these improvements make Backtest Pro the most practical and user-friendly way to backtest indicator-based trading signals in TradingView.
Copyright © 2025 CoinOperator
________________________________________________________________________________
🚀 Why Traders Choose Backtest Pro
Answer in minutes what used to take days of manual testing.
Backtest Pro is a drop-in, ready-to-use backtesting engine that links to your indicator with just a few simple connection lines. It provides more accurate intrabar trailing stops, multiple stop types (Points, ATR Multiplier, %), and a smoother workflow for greater precision and control.
Whether you’re running a quick test or fine-tuning complex strategies, Backtest Pro helps you reach clearer insights faster.
________________________________________________________________________________
👤 Who Backtest Pro Is For
Backtest Pro is designed for traders who already have a trading methodology or entry/exit logic and want professional-grade validation and risk analysis.
Backtest Pro is not a signal service and does not provide discretionary trade recommendations. All entries and exits — including alerts used for automation — are generated solely from user-defined logic.
You bring the logic — Backtest Pro provides the structure, metrics, and discipline.
Backtest Pro helps swing traders, day traders, and strategy developers streamline the backtesting process without sacrificing depth or accuracy. It offers flexible stop management, enhanced Data Window metrics, refined Strategy Tester labeling, and clean on-chart visuals to support consistent evaluation.
Backtest Pro supports trading and backtesting on futures (continuous contracts), forex, crypto, stocks, ETFs, and commodity/index CFDs (tradable if offered by your broker).
________________________________________________________________________________
⚡ Quick Start
Add Backtest Pro to your chart. It appears as BT Pro as the script title and in the Strategy Tester, alerts, and chart labels.
Add a few connector lines to your indicator, then link your custom entry and exit signals.
Adjust position sizing, stops, and pyramiding.
Run the TradingView Strategy Tester for instant results.
________________________________________________________________________________
🔄 From PSE to Backtest Pro
Backtest Pro builds on the foundation of the PSE (Practical Strategy Engine), evolving it into a more refined tool. While PSE introduced flexible stop handling, Backtest Pro enhances the experience with:
More accurate intrabar trailing stops
Expanded stop type options (Points, ATR Multiplier, %)
Upgraded Data Window for easier review
Clearer trade signals in the Strategy Tester
Cleaner, more consistent chart labels
Wash Sale Prevention is Now Optional. If enabled, it only applies to assets of types stock and fund.
🛠 INPUTS TAB SETTING
📅 Trading Window
Enable Trading Window to define the date/time when trading is allowed. Disable to trade the entire market data.
Partition the time when trading is allowed to see if your indicator settings work well across the different ranges. Your resulting metrics should be acceptable across all four (4) ranges: entire range, 1st half, IQR, and 2nd half.
Show Trading Window Lines – Enable to draw vertical lines at the start and end of the trading window for clear visual definition of when trading is allowed.
💰 Position Sizing (Money Management)
Separating the equity risk into initial position and pyramid position allows for greater ability to maximize profits within your acceptable drawdown.
Note : Position sizing is determined on the anticipated fill price which is affected by the maximum of slippage and selected price gap (discussed in the Execution Rules section). Max Equity per Position (%) : This setting applies to each position within a trade group . Limits the position size and will not exceed this amount. Set as desired. Default is 20% for non-leverage trading. For leveraged trading, adjust accordingly. Example: for 3× leverage, enter 300 (3 × 100 = 300).
Max Equity Drawdown Warning (%) : Triggers an alert if the strategy’s equity drawdown exceeds this threshold. Select the method to use for this warning. If BT Pro, then it is based on peak equity at bar-close. If TradingView, then it is based on the built-in variable strategy.max_drawdown_percent. Helps you manage strategy-level risk tolerance.
Scaled Pyramiding : Adjusts position size incrementally for each pyramid entry—either decreasing or increasing exposure relative to the prior entry.
Start Position: The entry number at which scaling begins. For example, 3 means scaling starts on the 2nd pyramid (the 3rd entry overall).
Chg(%): The percentage change applied to each subsequent pyramid entry.
Max(%): The maximum cumulative reduction allowed when scaling downward. Ignored for upward scaling because increases are already capped by Max Equity per Position (%).
⚖️ Execution Rules
Trade Direction : Select either Both , Long Only, or Short Only.
Alert Failed to Trade – Enable to alert you when a trade did not happen due to low equity or low order size. Applicable only for the first position of a trade group.
Cooldown Period : Controls how long the engine waits after an exit before allowing a new trade group. Backtest Pro also applies a small built-in safeguard to prevent unrealistic same-bar flips: ● 1 bar minimum for same-direction entries
● 2 bars minimum for direction changes
Prevent Wash Sales : Enable if you want the Backtest Pro to enforce a minimum cooldown period of 30 days for trade groups that result in a loss. Only applies to assets of types stock and fund.
Pyramid Conditions with Price Gaps : Dwn Gap and Up Gap refer to price gaps. A price gap is the difference between the closing price of the previous candle and the opening price of the current candle, and their value is shown in the Data Window. Selection options include: disabled (the default), median, avg, p80 (for 80th percentile), and p90 (for 90th percentile). The values reflect ~500 most recent bars from the cursor position. Disabled sets the Dwn Gap and Up Gap to zero in the below logic. Pyramids require a tailing stop loss, TSL. The price gaps are used in conditions for pyramids:
To ensure the previous position is protected when opening a pyramid position. A new pyramid position will not open until its trailing stop loss protects the prior position.
To prevent a pyramid position from becoming a loss when too close to a take profit level, TP (if enabled), due to commission cost.
The logic for #1 and #2 is as follows:
For a Long Pyramid: TSL: Stop Price - max(DwnGap, slippage) > LastEntryPrice
TP (if enabled): Long take profit > close + max(UpGap, slippage) AND gain > commission cost
For a Short Pyramid:
TSL: Stop Price + max(UpGap, slippage) < LastEntryPrice
TP (if enabled): Short take profit < close - max(DwnGap, slippage) AND gain > commission cost
Show All Gap Stats in Data Window
Enable to show all price gap statistics in the Data Window to review market conditions.
Disable for the Backtest Pro to run most efficiently.
Note: Statistics selected in Dwn Gap and Up Gap settings are always shown, regardless of this option.
🛑 Exit Strategy (Risk Management)
Backtest Pro supports multiple stop loss styles, giving traders the tools to backtest strategies in TradingView with precision:
The Exit Strategy applies a common protective stop across the entire trade group.
Pyramids require a trailing stop loss. A new pyramid position will not open until its trailing stop loss protects the prior position.
Plot Stop Level : You can plot the stop level either as of bar close (the default) or as of bar open. This only affects the visual plot. The underlying logic does not change. The trades will be the same regardless of the setting.
ATR Length : The ATR Length is used with the ATR multiplier and is common to stop loss, SL, trailing stop loss, TSL, take profit, TP, and the time-based exit option. It is the number of bars (periods) used in ATR calculation.
Price-Based Exits Stop Loss and Trailing Stop Loss options are Points, ATR Multiplier, and %.
The Trailing Stop Loss is activated from entry of the initial position of a trade group.
Take Profit options are Points, ATR Multiplier, %, and R-Multiple. How Trailing Stops Work in the Backtest Pro All trailing stop inputs (Points, ATR Multiplier, or %) are converted at the first entry into a fixed currency offset.
That offset is reactive intrabar and applied as the trailing distance from the most favorable price (highest for longs, lowest for shorts) since the first entry in the trade group.
Even if “%” is selected as the input method, the engine uses the fixed currency offset.
The trailing stop offset (points) is displayed in the Data Window for reference, allowing you to enter that offset directly at your broker if needed.
⚠️ Caution: Always enter a points-based trailing stop at your broker—never a percentage-based trailing stop. Volatility-Based Exit While in a trade, ATR values are accumulated each bar. The position exits once the total exceeds ATR Multiplier × ATR at entry if the Reward/Risk is below the set threshold.
Dividends are not included in reward (i.e., profit).
👉 These flexible stop types solve one of the biggest limitations of the legacy PSE and make Backtest Pro a true TradingView backtesting engine.
📑 Trade Signal Labels in Strategy Tester
Backtest Pro uses standardized trade labels in the Strategy Tester → List of Trades. These labels make it easy to understand the reason behind each entry or exit at a glance. Entry : Standard entry signal when conditions are met.
Stop : Stop-loss exit triggered at your defined stop level.
Pyr-Entry : Pyramid entry, adds to an existing position.
Trail-Stop : Trailing stop exit based on offset logic. Note : If the stop level has been adjusted to equal the trailing stop level, the Strategy Tester may display Stop instead of Trail-Stop. The exit displayed is the one Pine Script evaluates first, but the actual exit behavior remains correct.
Exit : Standard exit signal.
Delay-Exit : One-bar delayed exit, prevents immediate exit when position entry and exit signal occur on the same bar.
TP : Take Profit exit, closes position at your profit target.
RR-Exit : Reward/Risk exit — position closes when ATR accumulation exceeds the set threshold and R/R is below target.
📊 Performance Metrics & Reporting
Include Dividends in Profit
Adjusts ROI, CAGR, Reward/Risk, Avg Invest/Trade-Grp, and Equity.
Assumes dividends are taken as cash (not reinvested). They are applied to Equity on the ex-date instead of the payment date.
Only applies if the security issues dividends and the chart is 1D or lower timeframe; otherwise ignored.
Include Dividends in Profit Factor
Applies only when Include Dividends in Profit is enabled.
Adds dividend income to both gross profits and gross losses when calculating Profit Factor, so PF reflects total return (trading + dividends).
Affects Avg Trade-Grp Loss, Equity Loss from ECL, and Equity Loss from ECL (%).
Show Dividends
Displays the payout in currency/share, as well as the total amount based on the number of shares of the position(s) currently held by the trade group. For long positions you earned the dividends. For short positions you owe the dividends.
Show Metrics Table
The on-chart Metrics Table displays a compact set of key statistics for quick reference and mobile use. Full and expanded metrics are available in the Data Window on desktop or browser. Section groupings may differ between the table and Data Window to optimize readability and presentation in each context.
📊 Data Window
Note : Accessible via a button on the right-hand toolbar of the chart interface. Unlike the Metrics Table, Data Window values update dynamically as you move your cursor across bars. All metrics are based on trade groups.
Trade Information
Enter Price
Stop Price
Favorable Extreme : only shows if trailing stop loss is enabled on Inputs tab. The most favorable price (highest for longs, lowest for shorts) since the first entry in the trade group.
TSL Offset Points : only shows if trailing stop loss is enabled on Inputs tab.
Take Profit : only shows if take profit is enabled on Inputs tab.
Leverage information applies to trade groups.
Fail Pos / Margin (%) : Shows zero if the failed position size was <1, or the margin % that failed to meet the requirement in the Properties tab. A flag appears above the bar where a failed trade occurred. Only applies to the first position of a trade group. Hover over the flag to view the value in the Data Window.
Notional Value : total trade group position size x latest entry price x point value. The equity must be > notional value x margin requirement for a trade to occur.
Current Margin (%) : must be greater than margin requirement set on the Properties tab in order for a trade to occur.
Margin Call Price : when enabled on the Style tab is displayed on both the chart and the Data Window as shown below.
Performance Net Profit (%) : Will include dividends if 'Include Dividends in Profit' is enabled. Only shows in Data Window if 'Include Dividends in Profit' is enabled.
ROI (%) and CAGR (%) : Based on Avg Invest/Trade-Grp. Adjusted for dividends if enabled.
Reward/Risk (profit/risked, expectancy per amount risked): Adjusted for dividends if enabled. Color is green if above breakeven, red if below, and yellow if within ±0.1 tolerance.
Profit Factor (PF) : By default, dividends are not counted in win/loss classification.
Win % : Uses same coloring scheme as Reward/Risk except uses a ±2% tolerance for yellow. Breakeven point is the balance between Reward/Risk and Win %, showing whether the system can be profitable. For example, for a low Win % a high Reward/Risk is needed for the system to be potentially profitable. Equity & Growth
Equity : Your current equity.
Dividend Sum : The amount of total dividends accumulated since entering the market. Only shows in Data Window if 'Include Dividends in Profit' is enabled. Risk & Drawdown
Maximum Drawdown (MDD)
Measures the largest peak-to-trough decline in account equity over the entire backtest.
A new peak is recorded whenever equity reaches a new high; the system then tracks the lowest equity seen until a new peak forms.
This method uses bar-close equity including both realized and unrealized P&L. Therfore, it may not match TradingView’s displayed drawdown values which use a different method.
Maximum Drawdown %
Expresses MDD as a percentage of the equity peak from which the decline occurred.
This normalizes drawdown across different account sizes and assets, making strategy-to-strategy risk comparisons more meaningful.
Maximum Consecutive Losses applies to trade groups.
Equivalent Consecutive Losses (ECL) : Based on Win % and Nbr of Trade-Grp’s.
Simulates a realistic losing streak with intermittent small wins.
Lowered by increasing Win %.
Equity Loss from ECL : Equity drawdown estimated from ECL.
Equity Loss from ECL (%) : Same, expressed as a percentage.
Avg Trade-Grp Loss Trade Structure
Backtesting Years : The trading window in years.
Nbr of Trade-Grp’s : Count of trade groups.
Nbr of Positions : The count of positions shown on the chart.
The TV list of trades in the Strategy Tester may indicate more than what is actually shown on the chart.
Avg Invest/Trade-Grp : Avg money invested per trade group. Adjusted for dividends if enabled.
Avg Trade-Grp Days : The average number of days for trade groups.
Time in Market (%) : The percentage of time in a trade based on the trading window.
Cnt 1st EE Same-Bar is the count of first positions in a trade group that enter and exit on the same bar. Labels appear above for easy reference. Helps assess optimal stop-loss settings.
Cnt Pyr EE Same-Bar is the count of pyramid positions in a trade group that enter and exit on the same bar. Labels appear above for easy reference. Helps assess optimal stop-loss settings. Up Gaps / Dwn Gap (Ticks) ( Show All Gap Stats in Data Window enabled )
Median gap
Avg gap
80 percentile
90 percentile
Price Gap (Ticks) ( Show All Gap Stats in Data Window disabled )
Dwn Gap : Shows selected option if not disabled.
Up Gap : Shows selected option if not disabled.
Data Quality
Tick Resolution measures how many minimum price increments (ticks) fit into the current asset’s price. It is calculated as: Tick Resolution = Price / Minimum Tick Size. This value indicates the precision available for order placement and stop calculations.
Green – High resolution (>= 1000). The strategy’s stop and profit calculations will operate with normal accuracy.
Yellow – Moderate resolution (100-999). Stop levels are still functional but may exhibit minor rounding effects.
Red – Low resolution (< 100). This can distort trailing stops, stop losses, or take profits due to coarse rounding by TradingView’s broker emulator.
⚠️ Caution : When Tick Resolution is in the red zone, results from backtests may differ significantly from live trading because price precision is too low for reliable simulation.
💡 Tip : If low tick resolution is present at the beginning of the chart’s market data (often with very old price history), use the Trading Window to restrict backtesting to later periods where the asset price has risen and tick resolution is higher.
👁 Visualization
Highlight Traded Background
Trade groups are shown in background color of green for long positions and red for short positions. Set as desired.
Show Losing Trade Groups
Losing trade groups are indicated at the exit with label text in the color blue. Used to easily find consecutive losses affecting your strategy’s performance. The dividend payment, if any, is not considered in the calculation of a win or loss.
Show Position Values
Enable to show the currency value of each position in gold color.
Show Max Drawdown (Peak & Trough) Enable to show the peak and trough labels on the price chart. Based on equity at bar close. Use to easily identify the bar associated with the peak and trough of equity.
Select label size for your preference.
Alert on Expiring GTC Orders
Backtest Pro includes an optional alert that warns you when a Good-Til-Canceled (GTC) order is approaching expiration. This feature is designed as a safety net, helping you avoid unprotected trades caused by broker-imposed GTC expirations. This alert is sent a few days before a 60-day time period you’re if still in an open position.
By default, the alert is enabled, offering protection for traders who may not actively monitor order expiry rules.
Professional users who already track expirations can disable the feature in the settings to streamline alerts.
🔌 Signal Connection
Click the dropdown and select the entry and exit signal to establish a connection to your indicator.
Separate Entry and Exit Signal Connections.
Backtest Pro requires separate entry and exit signals. Indicators that already produce distinct events integrate cleanly and make strategies easier to read, debug, and maintain.
If your indicator currently uses a combined signal (e.g., buy = 1, sell = –1, flat = 0), that structure can create overlap or conflicts during backtesting.
Don’t worry — later in this manual, you’ll learn exactly how to adapt your indicator so it outputs clear entry and exit signals compatible with Backtest Pro.
🔌 Configure Your Indicator for Entry and Exit Signals
This section explains how to structure your indicator’s entry and exit signals so they can connect seamlessly with the Backtest Pro engine.
Define your own conditions for when to enter or exit positions using any technical logic you prefer. You can configure exits independently of entries or make them dependent on them—for example, exiting only when the opposite entry condition occurs.
Below are a few examples of how you might define Long and Short Entry Signals before connecting them to Backtest Pro.
________________________________________________________________________________
Examples of Long Entry Signals
ind_sig_long = oscillator > UpperLimit
ind_sig_long = ta.crossover(ta.sma(close, 14), ta.sma(close, 28))
ind_sig_long = MACD_hist > 0 Examples of Short Entry Signals
ind_sig_short = oscillator < LowerLimit
ind_sig_short = ta.crossunder(ta.sma(close, 14), ta.sma(close, 28))
ind_sig_short = MACD_hist < 0 ________________________________________________________________________________
Combining and Refining Your Signals
If your indicator uses multiple internal conditions, you can combine them using logical operators or threshold rules before connecting to the Backtest Pro engine.
1. Combine multiple conditions
Use logical and / or to merge your conditions into one signal:
Entry_Long = ind_sig_long1 and ind_sig_long2 // both must be true
Entry_Short = ind_sig_short1 or ind_sig_short2 // either may be true ________________________________________________________________________________
2. Require a minimum number of confirming conditions
You can also define a threshold for how many entry conditions must be true before triggering a signal. This can help ensure stronger confirmation.
minNbr_Entries = input.int(defval=1, title='Min Number of Entry Conditions')
// Convert boolean signals to numeric form
longCount = (ind_sig_long1 ? 1 : 0) + (ind_sig_long2 ? 1 : 0)
shortCount = (ind_sig_short1 ? 1 : 0) + (ind_sig_short2 ? 1 : 0)
// Require at least minNbr_Entries to confirm signal
Entry_Long = longCount >= minNbr_Entries
Entry_Short = shortCount >= minNbr_Entries
Do likewise for your Exit conditions to ensure consistency in trade confirmation.
________________________________________________________________________________
Defining Exits
Independent of Entries
Exit_Long = ta.crossunder(ta.rsi(close, 14), 70)
Exit_Short = ta.crossover(ta.rsi(close, 14), 30) Dependent on Entries
Exit_Long = Entry_Short // exit longs when short entry triggers
Exit_Short = Entry_Long // exit shorts when long entry triggers ________________________________________________________________________________
Final Signals to Connect to Backtest Pro
entry_signal = Entry_Long ? 1 : Entry_Short ? -1 : 0
exit_signal = Exit_Long ? 1 : Exit_Short ? -1 : 0
plot(entry_signal, title="entry_signal", color = color.blue, display=display.data_window)
plot(exit_signal, title="exit_signal", color = color.red, display=display.data_window) ________________________________________________________________________________
Notes
You can easily expand this structure to handle three or more conditions by adding them to the count expression.
If your indicator already provides a single entry_signal, you can connect it directly to Backtest Pro without modification.
Always ensure your final Entry_Long, Entry_Short, Exit_Long, and Exit_Short variables are boolean (true / false).
🔒 Connecting Closed-Source Indicators
If your indicator is closed-source (meaning you cannot view or modify its internal code), you’ll need to work with the plotted values it provides.
Create a connection indicator that reads those plotted values and converts them into clear entry and exit signals using the logic described above.
This connection indicator acts as a bridge between the closed-source indicator and Backtest Pro, allowing you to translate its behavior into standardized signal logic that the engine can process.
⚙️ PROPERTIES TAB SETTING
Initial Capital : Set as desired.
Base Currency : Leave as Default. The Backtest Pro is designed to use the instrument’s native currency, so changing this is not necessary.
Order Size : Essentially disabled. Position sizing is handled in the Inputs tab and is based on a percentage of equity.
Pyramiding : Set as desired.
Commission : Enter as a percentage of position value. The Backtest Pro is designed to work only with commission expressed this way.
Verify Price for Limit Orders : Set as desired.
Slippage : Set as desired. See the Dwn/Up Gap values in Data Window to get an idea of possible values to use.
Margin (Leverage Trading):
The Backtest Pro supports both leveraged and non-leveraged trading (default is no leverage).
Note : The following two settings apply at the trade group level . For example, to trade with 5× leverage, enter 20 (1 ÷ 5 × 100 = 20).
Margin for Long Positions : Set as desired. Default is 100%.
Margin for Short Positions : Set as desired. Default is 100%.
Recalculate After Order Is Filled (default is enabled)
Enabling this allows the Backtest Pro to function correctly and to recalculate immediately after an order is filled , which makes it possible to:
Enter and exit on the same bar (because the strategy sees the fill instantly).
Trigger alerts immediately after the fill , instead of waiting for the next bar close.
You may see the following Caution! message in the TradingView Strategy Tester:
This warning occurs because the strategy parameter calc_on_order_fills = true . You can safely close the caution message and know the Backtest Pro will produce realistic backtest results.
Recalculate On every tick : Disable.
Fill Orders
Using Bar Magnifier : Recommended if your TradingView plan supports it. Improves intrabar accuracy, but the strategy can still run without it.
On Bar Close : Must remain disabled. Enabling this prevents the Backtest Pro from working as intended.
⚠️ Caution : Enabling On Bar Close forces all orders to be evaluated only at bar close. This disables intrabar logic, prevents same-bar entries and exits, and breaks trailing stop / pyramid behavior. For the Backtest Pro to work as intended, On Bar Close must remain disabled .
Using Standard OHLC : Recommended if running the strategy on Heikin Ashi charts. Otherwise, set as desired. The default is enabled.
📢 Using The Alert Dialog Box Message Field
When setting alerts, include alert() function calls with order fills to allow notifications for drawdown exceeded, Failed to Trade (if enabled), and to be warned of expiring GTC orders (if enabled).
Example Message for Order Fill Alerts
(This is just an example. Consult TV manual for possible placeholders to use.)
Position: Current = {{strategy.market_position}}, Previous = {{strategy.prev_market_position}}
{{strategy.order.action}} {{strategy.order.contracts}} shares at price = {{strategy.order.price}} on {{exchange}}:{{ticker}} (TF: {{interval}})
Equity_Multiplier = {{strategy.order.contracts}} x {{strategy.order.price}} ÷ {{plot("Equity")}}
{{strategy.order.alert_message}}
Note :
Use a known account equity multiplied by Equity_Multiplier to determine the total currency amount required for position sizing—especially when managing multiple accounts with different equity levels.
What {{strategy.order.alert_message}} Includes
This placeholder automatically inserts the additional information generated for each order fill alert (blank for exits):
Stop Price (on first entries is based on bar close prior to order fill bar)
TSL Offset (Pts) distance from Favorable Extreme (for pyramid entries)
TP (on first entries is based on bar close prior to order fill bar)
Price Gap (Pts) based on your gap selection and slippage entered
Example Message for Bot Trading Alerts
(You must consult your specific bot for configuring the alert message. This is just an example.)
"action": "{{strategy.order.action}}",
“price”: {{strategy.order.price}}
"amount": {{strategy.order.contracts}},
"botId": "1234"
Golden Vector Trend Orchestrator (GVTO)Golden Vector Trend Orchestrator (GVTO) is a composite trend-following strategy specifically engineered for XAUUSD (Gold) and volatile assets on H4 (4-Hour) and Daily timeframes.
This script aims to solve a common problem in trend trading: "Whipsaws in Sideways Markets." Instead of relying on a single indicator, GVTO employs a Multi-Factor Confluence System that filters out low-probability trades by requiring alignment across Trend Structure, Momentum, and Volatility.
🛠 Methodology & Logic
The strategy executes trades only when four distinct technical conditions overlap (Confluence). If any single condition is not met, the trade is filtered out to preserve capital.
1. Market Structure Filter (200 EMA)
Indicator: Exponential Moving Average (Length 200).
Logic: The 200 EMA acts as the baseline for the long-term trend regime.
Bullish Regime: Price must close above the 200 EMA.
Bearish Regime: Price must close below the 200 EMA.
Purpose: Prevents counter-trend trading against the macro direction.
2. Signal Trigger & Trailing Stop (Supertrend)
Indicator: Supertrend (ATR Length 14, Factor 3.5).
Logic: Uses Average True Range (ATR) to detect trend reversals while accounting for volatility.
Purpose: Provides the specific entry signal and acts as a dynamic trailing stop-loss to let profits run while cutting losses when the trend invalidates.
3. Volatility Gatekeeper (ADX Filter)
Indicator: Average Directional Index (Length 14).
Threshold: > 25.
Logic: A high ADX value indicates a strong trend presence, regardless of direction.
Purpose: This is the most critical filter. It prevents the strategy from entering trades during "choppy" or ranging markets (consolidation zones) where trend-following systems typically fail.
4. Momentum Confirmation (DMI)
Indicator: Directional Movement Index (DI+ and DI-).
Logic: Checks if the buying pressure (DI+) is physically stronger than selling pressure (DI-), or vice versa.
Purpose: Ensures that the price movement is backed by genuine momentum, not just a momentary price spike.
📋 How to Use This Strategy
🟢 LONG (BUY) Setup
A Buy signal is generated only when ALL of the following occur simultaneously:
Price Action: Price closes ABOVE the 200 EMA (Orange Line).
Trigger: Supertrend flips to GREEN (Bullish).
Strength: ADX is greater than 25 (Strong Trend).
Momentum: DI+ (Plus Directional Indicator) is greater than DI- (Minus).
🔴 SHORT (SELL) Setup
A Sell signal is generated only when ALL of the following occur simultaneously:
Price Action: Price closes BELOW the 200 EMA (Orange Line).
Trigger: Supertrend flips to RED (Bearish).
Strength: ADX is greater than 25 (Strong Trend).
Momentum: DI- (Minus Directional Indicator) is greater than DI+ (Plus).
🛡 Exit Strategy
Stop Loss / Take Profit: The strategy utilizes the Supertrend Line as a dynamic Trailing Stop.
Exit Long: When Supertrend turns Red.
Exit Short: When Supertrend turns Green.
Note: Traders can also use the real-time P/L Dashboard included in the script to manually secure profits based on their personal Risk:Reward ratio.
📊 Included Features
Real-Time P/L Dashboard: A table in the top-right corner displays the current trend status, ADX strength, and the Unrealized Profit/Loss % of the current active position.
Smart Labeling: Buy/Sell labels are coded to appear only on the initial entry trigger. They do not repaint and do not spam the chart if the trend continues (no pyramiding visualization).
Visual Aids: Background color changes (Green/Red) to visually represent the active trend based on the Supertrend status.
⚠️ Risk Warning & Best Practices
Asset Class: Optimized for XAUUSD (Gold) due to its high volatility nature. It also works well on Crypto (BTC, ETH) and Major Forex Pairs.
Timeframe: Highly recommended for H4 (4 Hours) or D1 (Daily). Using this on lower timeframes (M5, M15) may result in false signals due to market noise.
News Events: Automated strategies cannot predict economic news (CPI, NFP). Exercise caution or pause trading during high-impact economic releases.
Liquidity Retest Strategy (Apicode) - TP/SL Lines FixedTechnical Documentation:
1. Purpose and underlying concept
This strategy targets a common behavior in liquid markets: liquidity sweeps around meaningful support/resistance levels, followed by a retest and rejection (reversal) with confirmation.
The core thesis is that many initial “breaks” are not continuation moves, but rather stop-runs and order harvesting. After the sweep, price reclaims the level and closes back on the opposite side, offering a structured entry with defined risk.
The strategy includes:
Support/Resistance detection via pivots
Dynamic selection of the “working” level using an ATR-based proximity window
Rejection validation via candle structure (wick + close)
Optional filters: volume, VWAP-like bias, and EMA trend
Risk management with static TP/SL (ATR-based or %), plus trailing stop (ATR-based or %), with per-trade lines plotted
2. Main components
2.1. Volatility metric: ATR
atr = ta.atr(atrLength) is used in two essential places:
Level selection (proximity to S/R): prevents trading levels that are too far from current price.
Sweep validation (minimum wick size): requires the wick to extend beyond the level by a volatility-relative amount.
Optionally, ATR can also be used for:
Static TP/SL (when usePercent = false)
Trailing stop (when useTrailPercent = false)
2.2. Building S/R levels with pivots
Pivots are detected using:
pivotHigh = ta.pivothigh(pivotLookback, rightBars)
pivotLow = ta.pivotlow(pivotLookback, rightBars)
Each confirmed pivot is stored in arrays:
resistanceLevels for resistance
supportLevels for support
The array size is capped by maxLevels, which reduces noise and manages chart resource usage (lines).
2.3. Selecting the “best” level each bar
On each bar, a single support S and/or resistance R candidate is chosen:
Support: nearest level below price (L < price)
Resistance: nearest level above price (L > price)
Only levels within atr * maxDistATR are considered
This produces dynamic “working levels” that adapt to price location and volatility.
2.4. Rejection pattern (retest + sweep)
After selecting the working level:
Support rejection (long setup)
Conditions:
Low touches/crosses support: low <= S
Close reclaims above: close > S
Bullish candle: close > open
Sufficient wick below the level (liquidity sweep): (S - low) >= atr * minWickATR
This aims to capture a stop sweep below support followed by immediate recovery.
Resistance rejection (short setup)
Symmetric conditions:
High touches/crosses resistance: high >= R
Close rejects back below: close < R
Bearish candle: close < open
Sufficient wick above the level: (high - R) >= atr * minWickATR
2.5. Optional filters
Final signals are the rejection pattern AND enabled filters:
1.- Volume filter
High volume is defined as: volume > SMA(volume, 20) * volMult
When useVolFilter = true, setups require relatively elevated participation
2.- VWAP-like bias filter
A VWAP-like series is computed over vwapLength (typical price weighted by volume)
When useVWAPFilter = true:
- Longs only if close > vwap
- Shorts only if close < vwap
3.- EMA trend filter
Uptrend if EMA(fast) > EMA(slow)
When useTrendFilter = true:
- Longs only in uptrend
- Shorts only in downtrend
2.6. Backtest time window (time filter)
To keep testing focused and reduce long-history noise:
useMaxLookbackDays enables the filter
maxLookbackDays defines how many days back from timenow entries are allowed
Entries are permitted only when time >= startTime.
3. Entry rules and position control
3.1. Entries
strategy.entry('Long', strategy.long) when longSetup and no long position is open
strategy.entry('Short', strategy.short) when shortSetup and no short position is open
No pyramiding is allowed (pyramiding = 0). Position gating is handled by:
Long allowed if strategy.position_size <= 0
Short allowed if strategy.position_size >= 0
4. Risk management: TP/SL and trailing (with plotted lines)
4.1. Detecting entry/exit events
Events are identified via changes in strategy.position_size:
LongEntry: transition into a long
shortEntry: transition into a short
flatExit: transition back to flat
This drives per-trade line creation, updates, and cleanup of state variables.
4.2. Static TP/SL
On entry, entryPrice := strategy.position_avg_price is stored.
Percent mode (usePercent = true)
Long:
staticSL = entryPrice*(1 - slPerc/100)
staticTP = entryPrice*(1 + tpPerc/100)
Short:
staticSL = entryPrice*(1 + slPerc/100)
staticTP = entryPrice*(1 - tpPerc/100)
ATR mode (usePercent = false)
Long:
staticSL = entryPrice - atrAtEntry*slATR
staticTP = entryPrice + atrAtEntry*tpATR
Short:
staticSL = entryPrice + atrAtEntry*slATR
staticTP = entryPrice - atrAtEntry*tpATR
4.3. Trailing stop (custom)
While a position is open, the script tracks the most favorable excursion:
Long: hhSinceEntry = highest high since entry
Short: llSinceEntry = lowest low since entry
A trailing candidate is computed:
Percent trailing (useTrailPercent = true)
Long: trailCandidate = hhSinceEntry*(1 - trailPerc/100)
Short: trailCandidate = llSinceEntry*(1 + trailPerc/100)
ATR trailing (useTrailPercent = false)
Long: trailCandidate = hhSinceEntry - atr*trailATR
Short: trailCandidate = llSinceEntry + atr*trailATR
Then the effective stop is selected:
Long: slUsed = max(staticSL, trailCandidate) when useTrail is enabled
Short: slUsed = min(staticSL, trailCandidate) when useTrail is enabled
If useTrail is disabled, slUsed remains the static stop.
Take profit remains static:
tpUsed = staticTP
Exit orders are issued via:
strategy.exit(..., stop=slUsed, limit=tpUsed)
4.4. Per-trade TP/SL lines
On each entry, two lines are created (SL and TP) via f_createLines().
During the trade, the SL line updates when trailing moves the stop; TP remains fixed.
On exit (flatExit), both lines are finalized on the exit bar and left on the chart as historical references.
This makes it straightforward to visually audit each trade: entry context, intended TP, and trailing evolution until exit.
5. Visualization and debugging
BUY/SELL labels with configurable size (xsize)
Debug mode (showDebug) plots the chosen working support/resistance level each bar
Stored pivot levels are drawn using reusable line slots, projected a fixed 20 bars to the right to keep the chart readable and efficient
6. Parameter guidance and practical notes
pivotLookback / rightBars: controls pivot significance vs responsiveness. Lower rightBars confirms pivots earlier but can increase noise.
maxDistATR: too low may reject valid levels; too high may select distant, less relevant levels.
minWickATR: key quality gate for “real” sweeps. Higher values reduce frequency but often improve signal quality.
Filters:
Volume filter tends to help in ranges and active sessions.
VWAP bias is useful intraday to align trades with session positioning.
EMA trend filter is helpful in directional markets but may remove good mean-reversion setups.
Percent TP/SL: provides consistent behavior across assets with variable volatility, but is less adaptive to sudden regime shifts.
Percent trailing: can capture extensions well; calibrate trailPerc per asset/timeframe (too tight = premature exits).
7. Known limitations
Pivot-derived levels are a heuristic; in strong trends, valid retests may be limited.
The time filter uses timenow; behavior may vary depending on historical context and how the platform evaluates “current time.”
TP/SL and trailing are computed from bar OHLC; in live trading, intrabar sequencing and fills may differ from bar-close simulation.
CryptoFlux Dynamo [JOAT]CryptoFlux Dynamo: Velocity Scalping Strategy
WHAT THIS STRATEGY IS
CryptoFlux Dynamo is an open-source Pine Script v6 strategy designed for momentum-based scalping on cryptocurrency perpetual futures. It combines multiple technical analysis methods into a unified system that adapts its behavior based on current market volatility conditions.
This script is published open-source so you can read, understand, and modify the complete logic. The description below explains everything the strategy does so that traders who cannot read Pine Script can fully understand how it works before using it.
HOW THIS STRATEGY IS ORIGINAL AND WHY THE INDICATORS ARE COMBINED
This strategy uses well-known indicators (MACD, EMA, RSI, MFI, Bollinger Bands, Keltner Channels, ATR). The originality is not in the individual indicators themselves, but in the specific way they are integrated into a regime-adaptive system. Here is the detailed justification for why these components are combined and how they work together:
The Problem Being Solved:
Standard indicator-based strategies use fixed thresholds. For example, a typical MACD strategy might enter when the histogram crosses above zero. However, in cryptocurrency markets, volatility changes dramatically throughout the day and week. A MACD crossover during a low-volatility consolidation period has very different implications than the same crossover during a high-volatility trending period. Using the same entry thresholds and stop distances in both conditions leads to either:
Too many false signals during consolidation (if thresholds are loose)
Missing valid opportunities during expansion (if thresholds are tight)
Stops that are too tight during volatility spikes (causing premature exits)
Stops that are too wide during compression (giving back profits)
The Solution Approach:
This strategy first classifies the current volatility regime using normalized ATR (ATR as a percentage of price), then dynamically adjusts ALL other parameters based on that classification. This creates a context-aware system rather than a static threshold comparison.
How Each Component Contributes to the System:
ATR-Based Regime Classification (The Foundation)
The strategy calculates ATR over 21 periods, smooths it with a 13-period EMA to reduce noise from wicks, then divides by price to get a normalized percentage. This ATR% is classified into three regimes:
- Compression (ATR% < 0.8%): Market is consolidating, breakouts are more likely but false signals are common
- Expansion (ATR% 0.8% - 1.6%): Normal trending conditions
- Velocity (ATR% > 1.6%): High volatility, larger moves but also larger adverse excursions
This regime classification then controls stop distances, profit targets, trailing stop offsets, and signal strength requirements. The regime acts as a "meta-parameter" that tunes the entire system.
EMA Ribbon (8/21/34) - Trend Structure Detection
The three EMAs establish trend direction and structure. When EMA 8 > EMA 21 > EMA 34, the trend structure is bullish. The slope of the middle EMA (21) is calculated over 8 bars and converted to degrees using arctangent. This slope measurement quantifies trend strength, not just direction.
Why these specific periods? The 8/21/34 sequence follows Fibonacci-like spacing and provides good separation on 5-minute cryptocurrency charts. The fast EMA (8) responds to immediate price action, the mid EMA (21) represents the short-term trend, and the slow EMA (34) acts as a trend filter.
The EMA ribbon works with the regime classification: during compression regimes, the strategy requires stronger ribbon alignment before entry because false breakouts are more common.
MACD (8/21/5) - Momentum Measurement
The MACD uses faster parameters (8/21/5) than the standard (12/26/9) because cryptocurrency markets move faster than traditional markets. The histogram is smoothed with a 5-period EMA to reduce noise.
The key innovation is the adaptive histogram baseline. Instead of using a fixed threshold, the strategy calculates a rolling baseline from the smoothed absolute histogram value, then multiplies by a sensitivity factor (1.15). This means the threshold for "significant momentum" automatically adjusts based on recent momentum levels.
The MACD works with the regime classification: during velocity regimes, the histogram baseline is effectively higher because recent momentum has been stronger, preventing entries on relatively weak momentum.
RSI (21 period) and MFI (21 period) - Independent Momentum Confirmation
RSI measures momentum using price changes only. MFI (Money Flow Index) measures momentum using price AND volume. By requiring both to confirm, the strategy filters out price moves that lack volume support.
The 21-period length is longer than typical (14) to reduce noise on 5-minute charts. The trigger threshold (55 for longs, 45 for shorts) is slightly offset from 50 to require momentum in the trade direction, not just neutral readings.
These indicators work together: a signal requires RSI > 55 AND MFI > 55 for longs. This dual confirmation reduces false signals from price manipulation or low-volume moves.
Bollinger Bands (1.5 mult) and Keltner Channels (1.8 mult) - Squeeze Detection
When Bollinger Bands contract inside Keltner Channels, volatility is compressing and a breakout is likely. This is the "squeeze" condition. When the bands expand back outside the channels, the squeeze "releases."
The strategy uses a 1.5 multiplier for Bollinger Bands (tighter than standard 2.0) and 1.8 for Keltner Channels. These values were chosen to identify meaningful squeezes on 5-minute cryptocurrency charts without triggering too frequently.
The squeeze detection works with the regime classification: squeeze releases during compression regimes receive additional signal strength points because breakouts from consolidation are more significant.
Volume Impulse Detection - Institutional Participation Filter
The strategy calculates a volume baseline (34-period SMA) and standard deviation. A "volume impulse" is detected when current volume exceeds the baseline by 1.15x OR when the volume z-score exceeds 0.5.
This filter ensures entries occur when there is meaningful market participation, not during low-volume periods where price moves are less reliable.
Volume impulse is required for all entries and adds points to the composite signal strength score.
Cycle Oscillator - Trend Alignment Filter
The strategy calculates a 55-period EMA as a cycle basis, then measures price deviation from this basis as a percentage. When price is more than 0.15% above the cycle basis, the cycle is bullish. When more than 0.15% below, the cycle is bearish.
This filter prevents counter-trend entries. Long signals require bullish cycle alignment; short signals require bearish cycle alignment.
BTC Dominance Filter (Optional) - Market Regime Filter
The strategy can optionally use BTC.D (Bitcoin Dominance) as a market regime filter. When BTC dominance is rising (slope > 0.12), the market is in "risk-off" mode and long entries on altcoins are filtered. When dominance is falling (slope < -0.12), short entries are filtered.
This filter is optional because the BTC.D data feed may lag during low-liquidity periods.
How The Components Work Together (The Mashup Justification):
The strategy uses a composite scoring system where each signal pathway contributes points:
Trend Break pathway (30 points): Requires EMA ribbon alignment + positive slope + price breaks above recent structure high
Momentum Surge pathway (30 points): Requires MACD histogram > adaptive baseline + MACD line > signal + RSI > 55 + MFI > 55 + volume impulse
Squeeze Release pathway (25 points): Requires BB inside KC (squeeze) then release + momentum bias + histogram confirmation
Micro Pullback pathway (15 points): Requires shallow retracement to fast EMA within established trend + histogram confirmation + volume impulse
Additional modifiers:
+5 points if volume impulse is present, -5 if absent
+5 points in velocity regime, -2 in compression regime
+5 points if cycle is aligned, -5 if counter-trend
A trade only executes when the composite score reaches the minimum threshold (default 55) AND all filters agree (session, cycle bias, BTC dominance if enabled).
This scoring system is the core innovation: instead of requiring ALL conditions to be true (which would generate very few signals) or ANY condition to be true (which would generate too many false signals), the strategy requires ENOUGH conditions to be true, with different conditions contributing different weights based on their reliability.
HOW THE STRATEGY CALCULATES ENTRIES AND EXITS
Entry Logic:
1. Calculate current volatility regime from ATR%
2. Calculate all indicator values (MACD, EMA, RSI, MFI, squeeze, volume)
3. Evaluate each signal pathway and sum points
4. Check all filters (session, cycle, dominance, kill switch)
5. If composite score >= 55 AND all filters pass, generate entry signal
6. Calculate position size based on risk per trade and regime-adjusted stop distance
7. Execute entry with regime name as comment
Position Sizing Formula:
RiskCapital = Equity * (0.65 / 100)
StopDistance = ATR * StopMultiplier(regime)
RawQuantity = RiskCapital / StopDistance
MaxQuantity = Equity * (12 / 100) / Price
Quantity = min(RawQuantity, MaxQuantity)
Quantity = round(Quantity / 0.001) * 0.001
This ensures each trade risks approximately 0.65% of equity regardless of volatility, while capping total exposure at 12% of equity.
Stop Loss Calculation:
Stop distance is ATR multiplied by a regime-specific multiplier:
Compression regime: 1.05x ATR (tighter stops because moves are smaller)
Expansion regime: 1.55x ATR (standard stops)
Velocity regime: 2.1x ATR (wider stops to avoid premature exits during volatility)
Take Profit Calculation:
Target distance is ATR multiplied by regime-specific multiplier and base risk/reward:
Compression regime: 1.6x ATR * 1.8 base R:R * 0.9 regime bonus = approximately 2.6x ATR
Expansion regime: 2.05x ATR * 1.8 base R:R * 1.0 regime bonus = approximately 3.7x ATR
Velocity regime: 2.8x ATR * 1.8 base R:R * 1.15 regime bonus = approximately 5.8x ATR
Trailing Stop Logic:
When adaptive trailing is enabled, the strategy calculates a trailing offset based on ATR and regime:
Compression regime: 1.1x base offset (looser trailing to avoid noise)
Expansion regime: 1.0x base offset (standard)
Velocity regime: 0.8x base offset (tighter trailing to lock in profits during fast moves)
The trailing stop only activates when it would be tighter than the initial stop.
Momentum Fail-Safe Exits:
The strategy closes positions early if momentum reverses:
Long positions close if MACD histogram turns negative OR EMA ribbon structure breaks (fast EMA crosses below mid EMA)
Short positions close if MACD histogram turns positive OR EMA ribbon structure breaks
This prevents holding through momentum reversals even if stop loss hasn't been hit.
Kill Switch:
If maximum drawdown exceeds 6.5%, the strategy disables new entries until manually reset. This prevents continued trading during adverse conditions.
HOW TO USE THIS STRATEGY
Step 1: Apply to Chart
Use a 5-minute chart of a high-liquidity cryptocurrency perpetual (BTC/USDT, ETH/USDT recommended)
Ensure at least 200 bars of history are loaded for indicator stabilization
Use standard candlestick charts only (not Heikin Ashi, Renko, or other non-standard types)
Step 2: Understand the Visual Elements
EMA Ribbon: Three lines (8/21/34 periods) showing trend structure. Bullish when stacked upward, bearish when stacked downward.
Background Color: Shows current volatility regime
- Indigo/dark blue = Compression (low volatility)
- Purple = Expansion (normal volatility)
- Magenta/pink = Velocity (high volatility)
Bar Colors: Reflect signal strength divergence. Brighter colors indicate stronger directional bias.
Triangle Markers: Entry signals. Up triangles below bars = long entry. Down triangles above bars = short entry.
Dashboard (top-right): Real-time display of regime, ATR%, signal strengths, position status, stops, targets, and risk metrics.
Step 3: Interpret the Dashboard
Regime: Current volatility classification (Compression/Expansion/Velocity)
ATR%: Normalized volatility as percentage of price
Long/Short Strength: Current composite signal scores (0-100)
Cycle Osc: Price deviation from 55-period EMA as percentage
Dominance: BTC.D slope and filter status
Position: Current position direction or "Flat"
Stop/Target: Current stop loss and take profit levels
Kill Switch: Status of drawdown protection
Volume Z: Current volume z-score
Impulse: Whether volume impulse condition is met
Step 4: Adjust Parameters for Your Needs
For more conservative trading: Increase "Minimum Composite Signal Strength" to 65 or higher
For more aggressive trading: Decrease to 50 (but expect more false signals)
For higher timeframes (15m+): Increase "Structure Break Window" to 12-15, increase "RSI Momentum Trigger" to 58
For lower liquidity pairs: Increase "Volume Impulse Multiplier" to 1.3, increase slippage in strategy properties
To disable short selling: Uncheck "Enable Short Structure"
To disable BTC dominance filter: Uncheck "BTC Dominance Confirmation"
STRATEGY PROPERTIES (BACKTEST SETTINGS)
These are the exact settings used in the strategy's Properties dialog box. You must use these same settings when evaluating the backtest results shown in the publication:
Initial Capital: $100,000
Justification: This amount is higher than typical retail accounts. I chose this value to demonstrate percentage-based returns that scale proportionally. The strategy uses percentage-based position sizing (0.65% risk per trade), so a $10,000 account would see the same percentage returns with 10x smaller position sizes. The absolute dollar amounts in the backtest should be interpreted as percentages of capital.
Commission: 0.04% (commission_value = 0.04)
Justification: This reflects typical perpetual futures exchange fees. Major exchanges charge between 0.02% (maker) and 0.075% (taker). The 0.04% value is a reasonable middle estimate. If your exchange charges different fees, adjust this value accordingly. Higher fees will reduce net profitability.
Slippage: 1 tick
Justification: This is conservative for liquid pairs like BTC/USDT on major exchanges during normal conditions. For less liquid altcoins or during high volatility, actual slippage may be higher. If you trade less liquid pairs, increase this value to 2-3 ticks for more realistic results.
Pyramiding: 1
Justification: No position stacking. The strategy holds only one position at a time. This simplifies risk management and prevents overexposure.
calc_on_every_tick: true
Justification: The strategy evaluates on every price update, not just bar close. This is necessary for scalping timeframes where waiting for bar close would miss opportunities. Note that this setting means backtest results may differ slightly from bar-close-only evaluation.
calc_on_order_fills: true
Justification: The strategy recalculates immediately after order fills for faster response to position changes.
RISK PER TRADE JUSTIFICATION
The default risk per trade is 0.65% of equity. This is well within the TradingView guideline that "risking more than 5-10% on a trade is not typically considered viable."
With the 12% maximum exposure cap, even if the strategy takes multiple consecutive losses, the total risk remains manageable. The kill switch at 6.5% drawdown provides additional protection by halting new entries during adverse conditions.
The position sizing formula ensures that stop distance (which varies by regime) is accounted for, so actual risk per trade remains approximately 0.65% regardless of volatility conditions.
SAMPLE SIZE CONSIDERATIONS
For statistically meaningful backtest results, you should select a dataset that generates at least 100 trades. On 5-minute BTC/USDT charts, this typically requires:
2-3 months of data during normal market conditions
1-2 months during high-volatility periods
3-4 months during low-volatility consolidation periods
The strategy's selectivity (requiring 55+ composite score plus all filters) means it generates fewer signals than less filtered approaches. If your backtest shows fewer than 100 trades, extend the date range or reduce the minimum signal strength threshold.
Fewer than 100 trades produces statistically unreliable results. Win rate, profit factor, and other metrics can vary significantly with small sample sizes.
STRATEGY DESIGN COMPROMISES AND LIMITATIONS
Every strategy involves trade-offs. Here are the compromises made in this design and the limitations you should understand:
Selectivity vs. Opportunity Trade-off
The 55-point minimum threshold filters many potential trades. This reduces false signals but also misses valid setups that don't meet all criteria. Lowering the threshold increases trade frequency but decreases win rate. There is no "correct" threshold; it depends on your preference for fewer higher-quality signals vs. more signals with lower individual quality.
Regime Classification Lag
The ATR-based regime detection uses historical data (21 periods + 13-period smoothing). It cannot predict sudden volatility spikes. During flash crashes or black swan events, the strategy may be classified in the wrong regime for several bars before the classification updates. This is an inherent limitation of any lagging indicator.
Indicator Parameter Sensitivity
The default parameters (MACD 8/21/5, EMA 8/21/34, RSI 21, etc.) are tuned for BTC/ETH perpetuals on 5-minute charts during 2024 market conditions. Different assets, timeframes, or market regimes may require different parameters. There is no guarantee that parameters optimized on historical data will perform similarly in the future.
BTC Dominance Filter Limitations
The CRYPTOCAP:BTC.D data feed may lag during low-liquidity periods or weekends. The dominance slope calculation uses a 5-bar SMA, adding additional delay. If you notice the filter behaving unexpectedly, consider disabling it.
Backtest vs. Live Execution Differences
TradingView backtesting does not replicate actual broker execution. Key differences:
Backtests assume perfect fills at calculated prices; real execution involves order book depth, latency, and partial fills
The calc_on_every_tick setting improves backtest realism but still cannot capture sub-bar price action or order book dynamics
Commission and slippage settings are estimates; actual costs vary by exchange, time of day, and market conditions
Funding rates on perpetual futures are not modeled in backtests and can significantly impact profitability over time
Exchange-specific limitations (position limits, liquidation mechanics, order types) are not modeled
Market Condition Dependencies
This strategy is designed for trending and breakout conditions. During extended sideways consolidation with no clear direction, the strategy may generate few signals or experience whipsaws. No strategy performs well in all market conditions.
Cryptocurrency-Specific Risks
Cryptocurrency markets operate 24/7 without session boundaries. This means:
No natural "overnight" risk reduction
Volatility can spike at any time
Liquidity varies significantly by time of day
Exchange outages or issues can occur at any time
WHAT THIS STRATEGY DOES NOT DO
To be straightforward about limitations:
This strategy does not guarantee profits. Past backtest performance does not indicate future results.
This strategy does not predict the future. It reacts to current conditions based on historical patterns.
This strategy does not account for funding rates, which can significantly impact perpetual futures profitability.
This strategy does not model exchange-specific execution issues (partial fills, requotes, outages).
This strategy does not adapt to fundamental news events or black swan scenarios.
This strategy is not optimized for all market conditions. It may underperform during extended consolidation.
IMPORTANT RISK WARNINGS
Past performance does not guarantee future results. The backtest results shown reflect specific historical market conditions and parameter settings. Markets change constantly, and strategies that performed well historically may underperform or lose money in the future. A single backtest run does not constitute proof of future profitability.
Trading involves substantial risk of loss. Cryptocurrency derivatives are highly volatile instruments. You can lose your entire investment. Only trade with capital you can afford to lose completely.
This is not financial advice. This strategy is provided for educational and informational purposes only. It does not constitute investment advice, trading recommendations, or any form of financial guidance. The author is not a licensed financial advisor.
You are responsible for your own decisions. Before using this strategy with real capital:
Thoroughly understand the code and logic by reading the open-source implementation
Forward test with paper trading or very small positions for an extended period
Verify that commission, slippage, and execution assumptions match your actual trading environment
Understand that live results will differ from backtest results
Consider consulting with a qualified financial advisor
No guarantees or warranties. This strategy is provided "as is" without any guarantees of profitability, accuracy, or suitability for any purpose. The author is not responsible for any losses incurred from using this strategy.
OPEN-SOURCE CODE STRUCTURE
The strategy code is organized into these sections for readability:
Configuration Architecture: Input parameters organized into logical groups (Core Controls, Optimization Constants, Regime Intelligence, Signal Pathways, Risk Architecture, Visualization)
Helper Functions: calcQty() for position sizing, clamp01() and normalize() for value normalization, calcMFI() for Money Flow Index calculation
Core Indicator Engine: EMA ribbon, ATR and regime classification, MACD with adaptive baseline, RSI, MFI, volume analytics, cycle oscillator, BTC dominance filter, squeeze detection
Signal Pathway Logic: Trend break, momentum surge, squeeze release, micro pullback pathways with composite scoring
Entry/Exit Orchestration: Signal filtering, position sizing, entry execution, stop/target calculation, trailing stop logic, momentum fail-safe exits
Visualization Layer: EMA plots, regime background, bar coloring, signal labels, dashboard table
You can read and modify any part of the code. Understanding the logic before deployment is strongly recommended.
- Made with passion by officialjackofalltrades
Liquidity Maxing [JOAT]Liquidity Maxing - Institutional Liquidity Matrix
Introduction
Liquidity Maxing is an open-source strategy for TradingView built around institutional market structure concepts. It identifies structural shifts, evaluates trades through multi-factor confluence, and implements layered risk controls.
The strategy is designed for swing trading on 4-hour timeframes, focusing on how institutional order flow manifests in price action through structure breaks, inducements, and liquidity sweeps.
Core Functionality
Liquidity Maxing performs three primary functions:
Tracks market structure to identify when control shifts between buyers and sellers
Scores potential trades using an eight-factor confluence system
Manages position sizing and risk exposure dynamically based on volatility and user-defined limits
The goal is selective trading when multiple conditions align, rather than frequent entries.
Market Structure Engine
The structure engine tracks three key events:
Break of Structure (BOS): Price pushes beyond a prior pivot in the direction of trend
Change of Character (CHoCH): Control flips from bullish to bearish or vice versa
Inducement Sweeps (IDM): Market briefly runs stops against trend before moving in the real direction
The structure module continuously updates strong highs and lows, labeling structural shifts visually. IDM markers are optional and disabled by default to maintain chart clarity.
The trade engine requires valid structure alignment before considering entries. No structure, no trade.
Eight-Factor Confluence System
Instead of relying on a single indicator, Liquidity Maxing uses an eight-factor scoring system:
Structure alignment with current trend
RSI within healthy bands (different ranges for up and down trends)
MACD momentum agreement with direction
Volume above adaptive baseline
Price relative to main trend EMA
Session and weekend filter (configurable)
Volatility expansion/contraction via ATR shifts
Higher-timeframe EMA confirmation
Each factor contributes one point to the confluence score. The default minimum confluence threshold is 6 out of 8, but you can adjust this from 1-8 based on your preference for trade frequency versus selectivity.
Only when structure and confluence agree does the strategy proceed to risk evaluation.
Dynamic Risk Management
Risk controls are implemented in multiple layers:
ATR-based stops and targets with configurable risk-to-reward ratio (default 2:1)
Volatility-adjusted position sizing to maintain consistent risk per trade as ranges expand or compress
Daily and weekly risk budgets that halt new entries once thresholds are reached
Correlation cooldown to prevent clustered trades in the same direction
Global circuit breaker with maximum drawdown limit and emergency kill switch
If any guardrail is breached, the strategy will not open new positions. The dashboard clearly displays risk state for transparency.
Market Presets
The strategy includes configuration presets optimized for different market types:
Crypto (BTC/ETH): RSI bands 70/30, volume multiplier 1.2, enhanced ATR scaling
Forex Majors: RSI bands 75/25, volume multiplier 1.5
Indices (SPY/QQQ): RSI bands 70/30, volume multiplier 1.3
Custom: Default values for user customization
For crypto assets, the strategy automatically applies ATR volatility scaling to account for higher volatility characteristics.
Monitoring and Dashboards
The strategy includes optional monitoring layers:
Risk Operations Dashboard (top-right):
Trend state
Confluence score
ATR value
Current position size percentage
Global drawdown
Daily and weekly risk consumption
Correlation guard state
Alert mode status
Performance Console (top-left):
Net profit
Current equity
Win rate percentage
Average trade value
Sharpe-style ratio (rolling 50-bar window)
Profit factor
Open trade count
Optional risk tint on chart background provides visual indication of "safe to trade" versus "halted" state.
All visualization elements can be toggled on/off from the inputs for clean chart viewing or full telemetry during parameter tuning.
Alerts and Automation
The strategy supports alert integration with two formats:
Standard alerts: Human-readable messages for long, short, and risk-halt conditions
Webhook format: JSON-formatted payloads ready for external execution systems (optional)
Alert messages are predictable and unambiguous, suitable for manual review or automated forwarding to execution engines.
Built-in Validation Suite
The strategy includes an optional validation layer that can be enabled from inputs. It checks:
Internal consistency of structure and confluence metrics
Sanity and ordering of risk parameters
Position sizing compliance with user-defined floors and caps
This validation is optional and not required for trading, but provides transparency into system operation during development or troubleshooting.
Strategy Parameters
Market Presets:
Configuration Preset: Choose between Crypto (BTC/ETH), Forex Majors, Indices (SPY/QQQ), or Custom
Market Structure Architecture:
Pivot Length: Default 5 bars
Filter by Inducement (IDM): Default enabled
Visualize Structure: Default enabled
Structure Lookback: Default 50 bars
Risk & Capital Preservation:
Risk:Reward Ratio: Default 2.0
ATR Period: Default 14
ATR Multiplier (Stop): Default 2.0
Max Drawdown Circuit Breaker: Default 10%
Risk per Trade (% Equity): Default 1.5%
Daily Risk Limit: Default 6%
Weekly Risk Limit: Default 12%
Min Position Size (% Equity): Default 0.25%
Max Position Size (% Equity): Default 5%
Correlation Cooldown (bars): Default 3
Emergency Kill Switch: Default disabled
Signal Confluence:
RSI Length: Default 14
Trend EMA: Default 200
HTF Confirmation TF: Default Daily
Allow Weekend Trading: Default enabled
Minimum Confluence Score (0-8): Default 6
Backtesting Considerations
When backtesting this strategy, consider the following:
Commission: Default 0.05% (adjustable in strategy settings)
Initial Capital: Default $100,000 (adjustable)
Position Sizing: Uses percentage of equity (default 2% per trade)
Timeframe: Optimized for 4-hour charts, though can be tested on other timeframes
Results will vary significantly based on:
Market conditions and volatility regimes
Parameter settings, especially confluence threshold
Risk limit configuration
Symbol characteristics (crypto vs forex vs equities)
Past performance does not guarantee future results. Win rate, profit factor, and other metrics should be evaluated in context of drawdown periods, trade frequency, and market conditions.
How to Use This Strategy
This is a framework that requires understanding and parameter tuning, not a one-size-fits-all solution.
Recommended workflow:
Start on 4-hour timeframe with default parameters and appropriate market preset
Run backtests and study performance console metrics: focus on drawdown behavior, win rate, profit factor, and trade frequency
Adjust confluence threshold to match your risk appetite—higher thresholds mean fewer but more selective trades
Set realistic daily and weekly risk budgets appropriate for your account size and risk tolerance
Consider ATR multiplier adjustments based on market volatility characteristics
Only connect alerts or automation after thorough testing and parameter validation
Treat this as a risk framework with an integrated entry engine, not merely an entry signal generator. The risk controls are as important as the trade signals.
Strategy Limitations
Designed for swing trading timeframes; may not perform optimally on very short timeframes
Requires sufficient market structure to identify pivots; may struggle in choppy or low-volatility environments
Crypto markets require different parameter tuning than traditional markets
Risk limits may prevent entries during favorable setups if daily/weekly budgets are exhausted
Correlation cooldown may delay entries that would otherwise be valid
Backtesting results depend on data quality and may not reflect live trading with slippage
Design Philosophy
Many indicators tell you when price crossed a moving average or RSI left oversold. This strategy addresses questions institutional traders ask:
Who is in control of the market right now?
Is this move structurally significant or just noise?
Do I want to add more risk given what I've already done today/week?
If I'm wrong, exactly how painful can this be?
The strategy provides disciplined, repeatable answers to these questions through systematic structure analysis, confluence filtering, and multi-layer risk management.
Technical Implementation
The strategy uses Pine Script v6 with:
Custom types for structure, confluence, and risk state management
Functional programming approach for reusable calculations
State management through persistent variables
Optional visual elements that can be toggled independently
The code is open-source and can be modified to suit individual needs. All important logic is visible in the source code.
Disclaimer
This script is provided for educational and informational purposes only. It is not intended as financial, investment, trading, or any other type of advice or recommendation. Trading involves substantial risk of loss and is not suitable for all investors. Past performance, whether real or indicated by historical tests of strategies, is not indicative of future results.
No representation is being made that any account will or is likely to achieve profits or losses similar to those shown. In fact, there are frequently sharp differences between backtested results and actual results subsequently achieved by any particular trading strategy.
The user should be aware of the risks involved in trading and should trade only with risk capital. The authors and publishers of this script are not responsible for any losses or damages, including without limitation, any loss of profit, which may arise directly or indirectly from use of or reliance on this script.
This strategy uses technical analysis methods and indicators that are not guaranteed to be accurate or profitable. Market conditions change, and strategies that worked in the past may not work in the future. Users should thoroughly test any strategy in a paper trading environment before risking real capital.
Commission and slippage settings in backtests may not accurately reflect live trading conditions. Real trading results will vary based on execution quality, market liquidity, and other factors not captured in backtesting.
The user assumes full responsibility for all trading decisions made using this script. Always consult with a qualified financial advisor before making investment decisions.
Enjoy - officialjackofalltrades
Infinity Algo Backtest█ OVERVIEW
Infinity Algo Backtest is a strategy testing system with 5 entry modes, 6 take-profit levels, and optional Auto-Tune optimization (historical simulation).
Switch between trend-following, contrarian, and sniper entries within one strategy. Auto-Tune runs historical simulations across hundreds of parameter combinations and selects the best-scoring configuration based on your chosen metric (not predictive AI).
Includes trailing stop-loss options, optional add-on entries (pyramiding), and structured alert messages for automation.
█ KEY FEATURES
✅ 5 Entry Modes: Normal, Smart, AI, HL Sniper, AI Sniper
✅ 3 Exit Modes: Percentage targets, Signal step-outs, Opposite signal flip
✅ 6 Take-Profit Levels with customizable partial position sizing
✅ Trailing Stop-Loss (None / Breakeven / Moving Target)
✅ Auto-Tune Optimization (Walk-Forward or Static)
✅ Optional add-on entries (pyramiding)
✅ Structured alert messages for webhook automation
✅ Designed for crypto, forex, stocks, indices, and commodities
█ WHAT MAKES THIS STRATEGY DIFFERENT
🧠 Auto-Tune Engine
Unlike static strategies, this system tests 500+ parameter combinations — varying sensitivity (5-28), thresholds, and trigger configs — then selects the best-scoring settings from historical simulations.
Choose from 12 scoring metrics: Sharpe Ratio, Sortino Ratio, Calmar Ratio, SQN, Martin Ratio, GPR, Win Rate, Total Profit, Average Profit, Profit Factor, Sortino + Calmar Composite, and Robust Score.
Note: Auto-Tune is systematic parameter optimization on historical data — not predictive AI. Past performance does not guarantee future results.
🎯 Multi-Mode Entry System
Switch between trend-following, contrarian, and sniper modes — all within one strategy. No need to maintain multiple scripts.
🛡️ Adaptive Risk Management
Trailing SL modes that respond to your TP hits:
Breakeven: Locks in safety after your chosen TP is reached
Moving Target: Ratchets your stop to the previous TP level as profit grows
📊 Reproducible Results
Full transparency on strategy properties so you can replicate exact backtest conditions.
█ ENTRY ENGINES
Normal + Smart (Default)
Normal: Contrarian entries — momentum cross against the trend filter for reversal plays
Smart: Trend-following entries — momentum cross with the trend filter for continuation plays
Auto-Tune Mode
Tests 500+ parameter combinations against historical data
Simulates trades internally using your TP/SL configuration
Scores by your chosen metric (Sharpe, Sortino, Calmar, Win Rate, etc.)
Walk-Forward: Re-optimizes every N bars to adapt to regime changes
Static: Locks in best-scoring settings from full available history
HL Sniper
Trend-trigger mode for more selective entries
Fewer signals, but more selective setups
Auto-Tune Sniper
Optimizes RSI period, smoothing factor, and trigger sensitivity
Adapts sniper configuration based on historical performance
█ EXIT MODES
1) Percentage Targets
Up to 6 TP levels (TP1…TP6) with customizable partial exits
Configure both price distance (%) and position size (%) for each level
Designed for scaling out rather than all-in/all-out
2) Signal Step-Outs
Momentum-shift condition triggers partial exits
Optional higher-timeframe confirmation
"New TP Must Beat Last" prevents weak consecutive exits
3) Opposite Signal
Closes/flips position when the next opposite entry signal appears
Best for trend-following systems
█ USE CASES
📈 Trending Markets
Use "Smart" signals + Percentage TPs. Stay aligned with momentum while scaling out at multiple targets. Enable Moving Target trailing to lock in profits.
📉 Ranging / Choppy Markets
Use "Normal" signals (contrarian mode). Catch reversals at range boundaries. Tighter TP targets work better here.
⚡ High Volatility / News Events
Use "HL Sniper" for selective entries. Fewer signals, more selective. Wider SL to accommodate volatility.
🤖 Automation & Bots
Structured alert payloads work with popular bot platforms and custom webhooks. Entry + 6 TPs + SL in one alert.
█ HOW TO USE
Apply to your chart (any timeframe, any market)
Start with Entry Signals = "Normal + Smart", Exit Mode = "Percentage"
Pick your direction (Long / Short / Both)
Adjust signal thresholds and trend filter length to match your style
Configure TP% levels and Qty% — total should sum to 100%
Enable Stop-Loss and choose a trailing mode
Set commission and slippage in Strategy Properties for realistic results
Optional: Enable Auto-Tune for adaptive optimization
█ STRATEGY PROPERTIES
Default settings for reproducible backtests:
Initial capital: 10,000 USD
Order size type: Cash
Default order size: 10,000
Process orders on close: Enabled
Pyramiding: Controlled by "Allow Add-On Entries"
For realistic results, set commission and slippage in Strategy Properties to match your broker/exchange.
█ ALERTS & AUTOMATION
The strategy outputs structured alert payloads compatible with:
Popular bot platforms and webhook receivers
Custom automation systems (JSON format)
Setup: Create alert → Select "Order fills and alert() function calls" → Use {{strategy.order.alert_message}} placeholder
█ WORKS ON
Crypto
Forex
Stocks
Indices
Commodities
█ REALISTIC EXPECTATIONS
No strategy wins 100% of the time — this is no exception
Auto-Tune optimizes on past data — it cannot predict the future
Backtest results ≠ live results (fees, slippage, and emotions matter)
Always validate with out-of-sample data before going live
Use proper position sizing and risk management
█ LIMITATIONS
Backtests are simulations — results depend on market conditions, fees, slippage, and parameters
Auto-Tune can overfit if used without out-of-sample validation
Multi-timeframe exit logic confirms on higher-TF bar closes (slight delay expected)
Use standard candles/bars for strategy testing (avoid Heikin Ashi, Renko)
█ DISCLAIMER
This strategy is provided for educational and informational purposes only and does not constitute financial advice. Past performance is not indicative of future results. Trading involves substantial risk of loss, and you are solely responsible for your own trading decisions.
V3 Valentini Pro Scalper [Dashboard]Gemini 3.0 pro's take on Fabio Valentini's world #1 strategy scalp 12/19/2025
ML Adaptive SuperTrend Strategy [trade_crush]# ML Adaptive SuperTrend Strategy - User Guide
## Introduction
The **ML Adaptive SuperTrend Strategy** is a sophisticated trading tool that combines traditional trend-following logic with **Machine Learning (K-Means Clustering)** to dynamically adapt to market volatility. Unlike standard SuperTrend indicators that use a fixed ATR, this strategy analyzes historical volatility to categorize the current market into distinct clusters, providing more precise entries and exits.
>
> **Special Thanks:** This strategy is based on the innovative work of **AlgoAlpha**. You can explore their extensive library of high-quality indicators and strategies on TradingView: (www.tradingview.com).
---
## Machine Learning Engine (K-Means)
The core of this strategy is its ability to "learn" from recent market behavior.
- **K-Means Clustering**: The script takes the last $N$ bars of ATR data and runs an iterative clustering algorithm to find three "centroids" representing **High**, **Medium**, and **Low** volatility.
- **Adaptive ATR**: Based on the current volatility, the strategy selects the nearest centroid to use as the ATR value for the SuperTrend calculation. This ensures the trailing stop tightens during low volatility and widens during high volatility to avoid "noise".
---
## Key Features
### 1. Non-Repainting Signals
- **Confirm Signals**: When enabled, signals are only triggered after a bar closes. This ensures that the arrows and entries you see on the chart are permanent and reliable for backtesting.
### 2. Intelligent Risk Management
- **Multiple SL/TP Types**: Choose between **Percentage** based stops or **ATR** based stops for both Stop Loss and Take Profit.
- **Trailing Stop Loss (TSL)**:
- Supports both Percentage and ATR modes.
- **Activation Offset**: Only activates the trailing mechanism after the price has moved a certain percentage in your favor, protecting early-stage trades.
### 3. Risk-Based Position Sizing
- **Dynamic Quantity**: If enabled, the strategy automatically calculates the trade size based on your **Risk % Per Trade** and the distance to your **Stop Loss**. This ensures you never lose more than your defined risk on a single trade.
---
## User Input Guide
### SuperTrend & ML Settings
- **ATR Length**: The window used to calculate market volatility.
- **SuperTrend Factor**: The multiplier that determines the distance of the trailing stop from the price.
- **Use ML Adaptive ATR**: Toggle between the ML-enhanced logic and standard ATR.
- **Training Data Length**: How many historical bars the ML engine analyzes to find clusters.
### Risk Management
- **Stop Loss Type**: Set to Percentage, ATR, or None.
- **TS Activation Offset**: The profit buffer required before the trailing stop starts following the price.
- **Use Risk-Based Sizing**: Toggle this to let the script manage your position size automatically.
---
## How to Trade with This Strategy
1. **Monitor the Dashboard**: Check the top-right table to see which volatility cluster the market is currently in.
2. **Observe the Fills**: The adaptive fills (green/red) visualize the "breathing room" the strategy is giving the price.
3. **Execution**: The strategy enters on "ML Bullish" (Triangle Up) and "ML Bearish" (Triangle Down) signals.
4. **Exits**: The script will automatically exit based on your SL, TP, or Trailing Stop settings.
---
## Credits
Original Concept: **AlgoAlpha**
Strategy Conversion & Enhancements: **Antigravity AI**
Signal Algo - Elephant Edge Strategy🔶 Strategy Overview:
This strategy is designed for intraday trading and focuses on taking trades near important price reference areas instead of random market locations.
This strategy is designed to:
Take trades only near important price levels
Avoid random mid-market entries
Validate every trade using multiple confirmation filters
It combines the following core concepts:
Elephant Edge zones based on previous session volatility
Index & F&O strike price levels (psychological and liquidity-based levels)
Previous Day OHLC levels (important institutional reference prices)
The goal of this strategy is to allow trades only when price behavior is meaningful and occurs near key market reference areas, while filtering out low-quality signals. All filters are optional, allowing traders to customize the strategy according to their trading style, risk preference, and market conditions.
🔶 How to Use: Elephant Edge Support–Resistance
This strategy is based on the Elephant Edge Support–Resistance concept, where trades are taken only near important price zones instead of random market areas.
The image above shows how the strategy identifies Support Zones, Resistance Zones, and how trade entries and exits are generated.
🟩 Support Zones:
Shown as green areas. These are considered potential Buy zones.
A positive price reaction from these zones is required before a Buy entry is generated.
🟥 Resistance Zones:
Shown as red areas. These are considered potential Sell zones.
Price rejection from these zones is required before a Sell entry is generated.
Important:
The strategy does not blindly buy or sell at the zone. Entries are generated only after additional confirmation, such as: Candle structure validation, Directional filters, Optional, volume and time filters (if enabled)
Trade entries are generated only when price touches a Support or Resistance zone.
These zones represent areas where price is more likely to react, helping to avoid low-quality trades during sideways or random market movement.
Final Understanding:
This strategy is not about predicting the market. It is about reacting to price behavior at important levels and trading only when conditions are meaningful.
🔶 How to Use: Index Strike Price Support–Resistance
This concept is based on *Index & F&O Strike Price levels*, where trades are taken near important *round-number strike prices* (for example: every 50 or 100 points), instead of random price locations.
The image above shows how *strike prices act as natural Support and Resistance levels** in index trading.
🟩 Strike Price Support:
Strike levels below the current price act as potential Support zones. Price reaction from these levels is required before a Buy entry is generated.
🟥 Strike Price Resistance:
Strike levels above the current price act as potential Resistance zones. Price rejection from these levels is required before a Sell entry is generated.
Trade entries are generated only when price touches or reacts near a strike price level.
These levels represent *psychological and liquidity-based areas*, where price is more likely to pause, reverse, or react.
🔶 How to Use: Previous Day OHLC Levels
This concept is based on *Previous Day Open, High, Low, and Close (OHLC)* levels, which are widely used as *important market reference prices* by traders and institutions.
The image above shows how price reacts around Previous Day OHLC levels and how they act as natural *Support and Resistance areas** during intraday trading.
🟩 Previous Day Support Levels:
Previous Day Open, Low, or Close levels below the current price act as potential Support zones.
A positive price reaction from these levels is required before a Buy entry is generated.
🟥 Previous Day Resistance Levels:
Previous Day Open, High, or Close levels above the current price act as potential Resistance zones. Price rejection from these levels is required before a Sell entry is generated.
Trade entries are generated only when price touches or reacts near a Previous Day OHLC level.
These levels represent *high-interest price areas* where price is more likely to pause, reverse, or show strong reactions.
🔵 Strategy Setting Features Overview :
Trade Direction Controls : -
Buy Only When enabled: The strategy will generate only Buy trades All Sell signals are ignored Sell Only When enabled: The strategy will generate only Sell trades All Buy signals are ignored
Important Note If both Buy Only and Sell Only are enabled: The strategy can generate both Buy and Sell trades
Candle Direction & Color Filter : -
Available Options:
Both - Candle color is ignored Trades depend only on strategy logic
Trend - Buy → Green candles only. Sell → Red candles only
O-Trend - Buy → Red candles only. Sell → Green candles only
Continuous Buy / Sell Check : -
When enabled: Prevents repeated trades in the same direction Reduces over-trading during sideways markets Example: After a Buy trade, another Buy trade will not be taken immediately unless conditions reset.
Elephant Edge Percentile Levels : -
When enabled: Buy trades are allowed only near lower percentile levels Sell trades are allowed only near upper percentile levels
Why this matters: Percentile levels act as dynamic intraday support and resistance based on historical price movement.
Strike Price Level Filters : -
When enabled: Buy trades require price to touch lower strike zones Sell trades require price to touch upper strike zones
Why strike levels are important: Strike prices often act as psychological and liquidity zones, especially in index trading.
Previous Day OHLC Levels : -
When enabled: Draws Previous Day Open, High, Low, and Close on the chart Trades are allowed only when price touches any of these levels
Why Previous Day levels matter: These levels are widely watched by traders and institutions Price often reacts strongly near them Helps filter out low-probability trades
Stoploss Settings : -
Candle Touch: Stoploss triggers immediately when price touches the level
Candle Close: Stoploss triggers only after candle closes beyond the level
Stoploss Type Choose how stoploss distance is calculated:
Candle High / Low
Fixed Points
Percentage based
Trailing Stoploss : -
Trailing stoploss helps protect profits as price moves favorably. Trailing Mode
Points
Percentage
Trailing Activation Defines how much profit is required before trailing starts.
Candle Structure Filters : -
Candle Size : Filter Avoids trades on: Very small candles (low momentum) Extremely large candles (high risk)
Candle Body : Filter Ensures trades are taken only on candles with sufficient body strength.
Wick Filter : Filters out candles with unusually long wicks, which often indicate fake breakouts.
Hammer Candle Detection : -
Enable Hammer Pattern Detects hammer-type candles using wick-to-body ratios.
Useful for: Reversal-based setups near key levels
Entry & Stop Buffers : -
Buffers add small offsets to: Entry price Stoploss price
Purpose: Helps avoid false triggers caused by small price spikes or noise.
Volume-Based Validation : -
Use Volume Alert Validity Trades are allowed only after a high-volume candle appears.
Why volume matters: High volume confirms participation and interest.
Time & Trade Limits : -
Entry / Exit Time Restricts trades to specific market hours. Trade Count Limits Controls the maximum number of trades per session to avoid over-trading.
Quantity Calculation: -
Investment Amount Automatically calculates trade quantity based on capital amount.
Benefit: Helps maintain consistent risk across different instruments.
JSON Alert Output: -
Used for: Automation Broker integration This does not affect strategy logic.
⚠️ Disclaimer This strategy is provided for educational and research purposes only. Past performance does not guarantee future results. Users should test and manage risk independently.
Antigravity OCC Strategy (MA 5 + Delayed TSL)# OCC Strategy Optimized (MA 5 + Delayed TSL) - User Guide
## Introduction
The **OCC Strategy Optimized** is an enhanced version of the classic **Open Close Cross (OCC)** strategy. This strategy is designed for high-precision trend following, utilizing the crossover logic of Open and Close moving averages to identify market shifts. This optimized version incorporates advanced risk management, multi-timeframe analysis, and a variety of moving average types to provide a robust trading solution for modern markets.
>
> **Special Thanks:** This strategy is based on the original work of **JustUncleL**, a renowned Pine Script developer. You can find their work and profile on TradingView here: (in.tradingview.com).
---
## Key Features
### 1. Optimized Core Logic
- **MA Period (Default: 5):** The strategy is tuned with a shorter MA length to reduce lag and capture trends earlier.
- **Crossing Logic:** Signals are generated when the Moving Average of the **Close** crosses the Moving Average of the **Open**.
### 2. Multi-Timeframe (MTF) Analysis
- **Alternate Resolution:** Use a higher timeframe (Resolution Multiplier) to filter out noise. By default, it uses $3 \times$ your current chart timeframe to confirm the trend.
- **Non-Repainting:** Includes an optional delay offset to ensure signals are confirmed and do not disappear (repaint) after the bar closes.
### 3. Advanced Risk Management
This script features a hierarchical exit system to protect your capital and lock in profits:
- **Fixed Stop Loss (Initial):** Protects against sudden market reversals immediately after entry.
- **Delayed Trailing Stop Loss (TSL):**
- **Activation Delay:** The TSL only activates after the trade reaches a specific profit threshold (e.g., 1%). This prevents being stopped out too early in the trade's development.
- **Ratchet Trail:** Once activated, the stop loss "ratchets" up/down, never moving backward, ensuring you lock in profits as the trend continues.
- **Take Profit (TP):** A fixed percentage target to exit the trade at a pre-defined profit level.
### 4. Versatility
- **12 MA Types:** Choose from SMA, EMA, DEMA, TEMA, WMA, VWMA, SMMA, HullMA, LSMA, ALMA, SSMA, and TMA.
- **Trade Direction:** Toggle between Long-only, Short-only, or Both.
- **Visuals:** Optional bar coloring to visualize the trend directly on the candlesticks.
---
## User Input Guide
### Core Settings
- **Use Alternate Resolution?:** Enable this to use the MTF logic.
- **Multiplier for Alternate Resolution:** How many charts higher the "filter" timeframe should be.
- **MA Type:** Select your preferred moving average smoothing method.
- **MA Period:** The length of the Open/Close averages.
- **Delay Open/Close MA:** Use `1` or higher to force non-repainting behavior.
### Risk Management Settings
- **Use Trailing Stop Loss?:** Enables the TSL system.
- **Trailing Stop %:** The distance the stop follows behind the price.
- **TSL Activation % (Delay):** The profit % required before the TSL starts moving.
- **Initial Fixed Stop Loss %:** Your hard stop if the trade immediately goes against you.
- **Take Profit %:** Your ultimate profit target for the trade.
---
## How to Trade with This Strategy
1. **Identify the Trend:** Look for the Moving Average lines (Close vs Open) to cross.
2. **Wait for Confirmation:** If using MTF, ensure the higher timeframe also shows a trend change.
3. **Manage the Trade:** Let the TSL work. Once the trade hits the activation threshold, the TSL will take over, protecting your runner.
4. **Position Sizing:** Adjust the `Properties` tab in the script settings to match your desired capital allocation (Default is 10% of equity).
---
## Credits
Original Strategy by: **JustUncleL**
Optimized and Enhanced by: **Antigravity AI**
Trend Core Strategy v1.0 - GUMROADLog Regression Channel Pro Strategy
This is a trend-following pullback strategy built for TradingView (Pine Script v6).
It uses logarithmic regression channels to define the market’s primary trend, and looks for low-risk pullback entries within strong trending conditions.
Momentum and trend strength filters are applied to avoid ranging or weak markets.
This strategy is designed to be used when the market is clearly trending, not during choppy or sideways price action.
Best Used When
Strong uptrend or downtrend is present
Price is pulling back toward the regression channel
Volatility is sufficient (ADX confirms trend strength)
Suitable for 1H / 4H timeframes
Commonly used on BTC, ETH, and major crypto pairs
Key Characteristics
Non-repainting logic
Volatility-based risk management (ATR)
Designed for realistic backtesting
No martingale, no grid, no over-optimization
Gumroad Disclaimer (3 Lines)
This strategy is provided for educational purposes only and is not financial advice.
Trading involves risk, and losses may occur.
You are fully responsible for your own trading decisions.
Ace Algo [Anson5129]🏆 Exclusive Indicator: Ace Algo
📈 Works for stocks, forex, crypto, indices
📈 Easy to use, real-time alerts, no repaint
📈 No grid, no martingale, no hedging
📈 One position at a time
----------------------------------------------------------------------------------------
Ace Algo
A trend-following TradingView strategy using a confluence of technical indicators and time-based rules for structured long/short entries and exits:
----------------------------------------------------------------------------------------
Parameters Explanation
Moving Average Length
Indicates the number of historical data points used for the average price calculation.
Shorter = volatile (short-term trends); longer = smoother (long-term trends, less noise).
Default: 20
Entry delay in bars
After a trade is closed, delay the next entry in bars. The lower the number, the more trades you will get.
Default: 4
Take Profit delay in bars
After a trade is opened, delay the take profit in bars. The lower the number, the more trades you will get.
Default: 3
Enable ADX Filter
No order will be placed when ADX < 20
Default: Uncheck
Block Period
Set a block period during which no trading will take place.
----------------------------------------------------------------------------------------
Entry Condition:
Only Long when the price is above the moving average (Orange line).
Only Short when the price is below the moving average (Orange line).
* Also, with some hidden parameter that I set in the backend.
Exit Condition:
When getting profit:
Trailing Stop Activates after a position has been open for a set number of bars (to avoid premature exits).
When losing money:
In a long position, when the price falls below the moving average, and the conditions for a short position are met, the long position will be closed, and the short position will be opened.
In a short position, when the price rises above the moving average, and the conditions for a long position are met, the short position will be closed, and the long position will be opened.
----------------------------------------------------------------------------------------
How to get access to the strategy
Read the author's instructions on the right to learn how to get access to the strategy.
Momentum Quality Index Strategyfiles.fm
Welcome to the Momentum Quality Index Strategy!
This is a fairly conservative strategy with a sharp criteria for entries and taking profits. This strategy has been tested amongst the top 50 stocks with volatility over 2%, and the verdict was that the profitability was often times over 85% profitability, often times reaching over 90% profitability. This strategy thrives in more volatile environments, often times beating the buying and holding strategy YTD performance by large margins.
This strategy is highly optimized for the 30 minute chart, giving insights into shorter term movements. It is based on cash trades of $1,000 per position, with a maximum of 4 trades being placed at once.
This strategy is optimized for common stock trading in more liquid markets, and not yet optimized for options trading (however I plan on developing highly profitable strategies for this purpose soon). The take profit is customizable.
I would refer to the image link I have posted at the top of this article for the strategy's effectiveness. The strategy report on this article isn't accurate, as this strategy is based on trading $1,000 per trade, therefore over longer term periods of time will not be as successful due to the fact that there is no compounding. However, over the course of smaller time frames (such as one year), it beats buying and holding of many assets.
This strategy is meant for day trading and short term swing trading, and is not meant to beat buying and holding of successful assets over the course of long periods of time.
BTC DCA Risk Metric StrategyBTC DCA Risk Strategy - Automated Dollar Cost Averaging with 3Commas Integration
Overview
This strategy combines the proven Oakley Wood Risk Metric with an intelligent tiered Dollar Cost Averaging (DCA) system, designed to help traders systematically accumulate Bitcoin during periods of low risk and take profits during high-risk conditions.
Key Features
📊 Multi-Component Risk Assessment
4-Year SMA Deviation: Measures Bitcoin's distance from its long-term mean
20-Week MA Analysis: Tracks medium-term momentum shifts
50-Day/50-Week MA Ratio: Captures short-to-medium term trend strength
All metrics are normalized by time to account for Bitcoin's maturing market dynamics
💰 3-Tier DCA Buy System
Level 1 (Low Risk): Conservative entry with base allocation
Level 2 (Lower Risk): Increased allocation as opportunity improves
Level 3 (Extreme Low Risk): Maximum allocation during rare buying opportunities
Buys execute every bar while risk remains below thresholds, enabling true DCA accumulation
📈 Progressive Profit Taking
Sell Level 1: Take initial profits as risk increases
Sell Level 2: Scale out further positions during elevated risk
Sell Level 3: Final exit during extreme market conditions
Sell levels automatically reset when new buy signals occur, allowing flexible re-entry
🤖 3Commas Integration
Fully automated webhook alerts for Custom Signal Bots
JSON payloads formatted per 3Commas API specifications
Supports multiple exchanges (Binance, Coinbase, Kraken, Gemini, Bybit)
Configurable quote currency (USD, USDT, BUSD)
How It Works
The strategy calculates a composite risk metric (0-1 scale):
0.0-0.2: Extreme buying opportunity (green zone)
0.2-0.5: Favorable accumulation range (yellow zone)
0.5-0.8: Neutral to cautious territory (orange zone)
0.8-1.0+: High risk, profit-taking zone (red zone)
Buy Logic: As risk decreases, position sizes increase automatically. If risk drops from L1 to L3 threshold, the strategy combines all three tier allocations for maximum exposure.
Sell Logic: Sequential profit-taking ensures you capture gains progressively. The system won't advance to Sell L2 until L1 completes, preventing premature full exits.
Configuration
Risk Metric Parameters:
All calculations use Bitcoin price data (any BTC chart works)
Time-normalized formulas adapt to market maturity
No manual parameter tuning required
Buy Settings:
Set risk thresholds for each tier (default: 0.20, 0.10, 0.00)
Define dollar amounts per tier (default: $10, $15, $20)
Fully customizable to your risk tolerance and capital
Sell Settings:
Configure risk thresholds for profit-taking (default: 1.00, 1.50, 2.00)
Set percentage of position to sell at each level (default: 25%, 35%, 40%)
3Commas Setup:
Create a Custom Signal Bot in 3Commas
Copy Bot UUID and Secret Token into strategy inputs
Enable 3Commas Alerts checkbox
Create TradingView alert: Condition → "alert() function calls only", Webhook → api.3commas.io
Backtesting Results
Strengths:
Systematically buys dips without emotion
Averages down during extended bear markets
Captures explosive bull run profits through tiered exits
Pyramiding (1000 max orders) allows true DCA behavior
Considerations:
Requires sufficient capital for multiple buys during prolonged downtrends
Backtest on Daily timeframe for most reliable signals
Past performance does not guarantee future results
Visual Design
The indicator pane displays:
Color-coded risk metric line: Changes from white→red→orange→yellow→green as risk decreases
Background zones: Green (buy), yellow (hold), red (sell) areas
Dashed threshold lines: Clear visual markers for each buy/sell level
Entry/Exit labels: Green buy labels and orange/red sell labels mark all trades
Credits
Original Risk Metric: Oakley Wood
Strategy Development & 3Commas Integration: Claude AI (Anthropic)
Modifications: pommesUNDwurst
Disclaimer
This strategy is for educational and informational purposes only. Cryptocurrency trading carries substantial risk of loss. Always conduct your own research and never invest more than you can afford to lose. The authors are not financial advisors and assume no responsibility for trading decisions made using this tool.
US Market Long Horizon Momentum Summary in one paragraph
US Market Long Horizon Momentum is a trend following strategy for US index ETFs and futures built around a single eighteen month time series momentum measure. It helps you stay long during persistent bull regimes and step aside or flip short when long term momentum turns negative.
Scope and intent
• Markets. Large cap US equity indices, liquid US index ETFs, index futures
• Timeframes. 4h/ Daily charts
• Default demo used in the publication. SPY on 4h timeframe chart
• Purpose. Provide a minimal long bias index timing model that can reduce deep drawdowns and capture major cycles without parameter mining
• Limits. This is a strategy. Orders are simulated on standard candles only
Originality and usefulness
• Unique concept or fusion. One unscaled multiple month log return of an external benchmark symbol drives all entries and exits, with optional volatility targeting as a single risk control switch.
• Failure mode addressed. Fully passive buy and hold ignores the sign of long horizon momentum and can sit through multi year drawdowns. This script offers a way to step down risk in prolonged negative momentum without chasing short term noise.
• Testability. All parameters are visible in Inputs and the momentum series is plotted so users can verify every regime change in the Tester and on price history.
• Portable yardstick. The log return over a fixed window is a unit that can be applied to any liquid symbol with daily data.
Method overview in plain language
The method looks at how far the benchmark symbol has moved in log return terms over an eighteen month window in our example. If that long horizon return is positive the strategy allows a long stance on the traded symbol. If it is negative and shorts are enabled the strategy can flip short, otherwise it goes flat. There is an optional realised volatility estimate on the traded symbol that can scale position size toward a target annual volatility, but in the default configuration the model uses unit leverage and only the sign of momentum matters.
Base measures
Return basis. The core yardstick is the natural log of close divided by the close eighteen months ago on the benchmark symbol. Daily log returns of the traded symbol feed the realised volatility estimate when volatility targeting is enabled.
Components
• Component one Momentum eighteen months. Log of benchmark close divided by its close mom_lookback bars ago. Its sign defines the trend regime. No extra smoothing is applied beyond the long window itself.
• Component two Realised volatility optional. Standard deviation of daily log returns on the traded symbol over sixty three days. Annualised by the square root of 252. Used only when volatility targeting is enabled.
• Optional component Volatility targeting. Converts target annual volatility and realised volatility into a leverage factor clipped by a maximum leverage setting.
Fusion rule
The model uses a simple gate. First compute the sign of eighteen month log momentum on the benchmark symbol. Optionally compute leverage from volatility. The sign decides whether the strategy wants to be long, short, or flat. Leverage only rescales position size when enabled and does not change direction.
Signal rule
• Long suggestion. When eighteen month log momentum on the benchmark symbol is greater than zero, the strategy wants to be long.
• Short suggestion. When that log momentum is less than zero and shorts are allowed, the strategy wants to be short. If shorts are disabled it stays flat instead.
• Wait state. When the log momentum is exactly zero or history is not long enough the strategy stays flat.
• In position. In practice the strategy sits IN LONG while the sign stays positive and flips to IN SHORT or flat only when the sign changes.
Inputs with guidance
Setup
• Momentum Lookback (months). Controls the horizon of the log return on the benchmark symbol. Typical range 6 to 24 months. Raising it makes the model slower and more selective. Lowering it makes it more reactive and sensitive to medium term noise.
• Symbol. External symbol used for the momentum calculation, SPY by default. Changing it lets you time other indices or run signals from a benchmark while trading a correlated instrument.
Logic
• Allow Shorts. When true the strategy will open short positions during negative momentum regimes. When false it will stay flat whenever momentum is negative. Practical setting is tied to whether you use a margin account or an ETF that supports shorting.
Internal risk parameters (not exposed as inputs in this version) are:
• Target Vol (annual). Target annual volatility for volatility targeting, default 0.2.
• Vol Lookback (days). Window for realised volatility, default 63 trading days.
• Max Leverage. Cap on leverage when volatility targeting is enabled, default 2.
Usage recipes
Swing continuation
• Signal timeframe. Use the daily chart.
• Benchmark symbol. Leave at SPY for US equity index exposure.
• Momentum lookback. Eighteen months as a default, with twelve months as an alternative preset for a faster swing bias.
Properties visible in this publication
• Initial capital. 100000
• Base currency. USD
• Default order size method. 5% of the total capital in this example
• Pyramiding. 0
• Commission. 0.03 percent
• Slippage. 3 ticks
• Process orders on close. On
• Bar magnifier. Off
• Recalculate after order is filled. Off
• Calc on every tick. Off
• All request.security calls use lookahead = barmerge.lookahead_off
Realism and responsible publication
The strategy is for education and research only. It does not claim any guaranteed edge or future performance. All results in Strategy Tester are hypothetical and depend on the data vendor, costs, and slippage assumptions. Intrabar motion is not modeled inside daily bars so extreme moves and gaps can lead to fills that differ from live trading. The logic is built for standard candles and should not be used on synthetic chart types for execution decisions.
Performance is sensitive to regime structure in the US equity market, which may change over time. The strategy does not protect against single day crash risk inside bars and does not model gap risk explicitly. Past behavior of SPY and the momentum effect does not guarantee future persistence.
Honest limitations and failure modes
• Long sideways regimes with small net change over eighteen months can lead to whipsaw around the zero line.
• Very sharp V shaped reversals after deep declines will often be missed because the model waits for momentum to turn positive again.
• The sample size in a full SPY history is small because regime changes are infrequent, so any test must be interpreted as indicative rather than statistically precise.
• The model is highly dependent on the chosen lookback. Users should test nearby values and validate that behavior is qualitatively stable.
Legal
Education and research only. Not investment advice. You are responsible for your own decisions. Always test on historical data and in simulation with realistic costs before any live use.
Trend Signal MomentumOVERVIEW
Signal Trend Momentum is a hybrid strategy that combines multiple confirmations and filters to obtain better potential trading signals. Each confirmation and filter in Signal Trend Momentum aims to avoid possible false and trap signals.
HYBRID CONCEPTS
Smart Money Concept – This indicator forms market structure and Bullish & Bearish Order Block areas to make it easier to identify market trends and strong areas where price reversals often occur. Its purpose is to simplify recognizing market direction and serve as the first confirmation.
MSS + BOS (Market Structure Shift + Break of Structure) – This indicator serves as additional confirmation for the Smart Money Concept. With the presence of two types of market structure, the market trend direction becomes clearer and more convincing.
RSI Momentum Signal – This indicator becomes the third confirmation. When the Market Trend is clear and convincing, supported by the formation of Bearish and Bullish Order Blocks, the role of the Momentum Signal here becomes crucial as it provides trend momentum based on overbought and oversold areas.
Momentum Position – This indicator becomes the next confirmation based on buyer and seller VOLUME in the market. If buyer volume is higher, the momentum position will be depicted on the chart with an upward arrow, and conversely, if seller volume is higher, it will be depicted with a downward arrow.
SnR (Support and Resistance) – This final indicator is Support and Resistance, which will serve as the last and more convincing confirmation. Support and Resistance will strengthen the Order Block areas formed by the Smart Money Concept indicator. A Bullish Order Block + Support creates a higher possibility for an upward trend in the market, conversely, a Bearish Order Block + Resistance creates a higher possibility for a downward trend in the market.
The combination of these several indicators will provide a strong market direction + persistent buyer and seller areas, as well as depict momentum based on volume + RSI which serve as additional confirmations.
These additional confirmations will produce stronger signals and help avoid false and trap signals in the market.
HOW TO USE
A SHORT SIGNAL will be strong if there is a Downtrend Market Structure + Bearish Order Block + Resistance + Oversold RSI Momentum + Strong Seller Volume Momentum.
A LONG SIGNAL will be strong if there is an Uptrend Market Structure + Bullish Order Block + Support + Overbought RSI Momentum + Strong Buyer Volume Momentum.
CONCLUSION
Signal Trend Momentum is a combination of several powerful indicators designed to produce stronger, clearer, and easier-to-read signals.
This strategy is highly suitable for traders seeking more convincing trade signals based on multiple confirmations from the combined indicators, thereby creating a strong signal with a higher probability.
Strategy: HMA 50 + Supertrend SniperHMA 50 + Supertrend Confluence Strategy (Trend Following with Noise Filtering)
Description:
Introduction and Concept This strategy is designed to solve a common problem in trend-following trading: Lag vs. False Signals. Standard Moving Averages often lag too much, while price action indicators can generate false signals during choppy markets. This script combines the speed of the Hull Moving Average (HMA) with the volatility-based filtering of the Supertrend indicator to create a robust "Confluence System."
The primary goal of this script is not just to overlay two indicators, but to enforce a strict rule where a trade is only taken when Momentum (HMA) and Volatility Direction (Supertrend) are in perfect agreement.
Why this combination? (The Logic Behind the Mashup)
Hull Moving Average (HMA 50): We use the HMA because it significantly reduces lag compared to SMA or EMA by using weighted calculations. It acts as our primary Trend Direction detector. However, HMA can be too sensitive and "whipsaw" during sideways markets.
Supertrend (ATR-based): We use the Supertrend (Factor 3.0, Period 10) as our Volatility Filter. It uses Average True Range (ATR) to determine the significant trend boundary.
How it Works (Methodology) The strategy uses a boolean logic system to filter out low-quality trades:
Bullish Confluence: The HMA must be rising (Slope > 0) AND the Close Price must be above the Supertrend line (Uptrend).
Bearish Confluence: The HMA must be falling (Slope < 0) AND the Close Price must be below the Supertrend line (Downtrend).
The "Choppy Zone" (Noise Filter): This is a unique feature of this script. If the HMA indicates one direction (e.g., Rising) but the Supertrend indicates the opposite (e.g., Downtrend), the market is considered "Choppy" or indecisive. In this state, the script paints the candles or HMA line Gray and exits all positions (optional setting) to preserve capital.
Visual Guide & Signals To make the script easy to interpret for traders who do not read Pine Script, I have implemented specific visual cues:
Green Cross (+): Indicates a LONG entry signal. Both HMA and Supertrend align bullishly.
Red Cross (X): Indicates a SHORT entry signal. Both HMA and Supertrend align bearishly.
Thick Line (HMA): The main line changes color based on the trend.
Green: Bullish Confluence.
Red: Bearish Confluence.
Gray: Divergence/Choppy (No Trade Zone).
Thin Step Line: This is the Supertrend line, serving as your dynamic Trailing Stop Loss.
Strategy Settings
HMA Length: Default is 50 (Mid-term trend).
ATR Factor/Period: Default is 3.0/10 (Standard for trend catching).
Exit on Choppy: A toggle switch allowing users to decide whether to hold through noise or exit immediately when indicators disagree.
Risk Warning This strategy performs best in trending markets (Forex, Crypto, Indices). Like all trend-following systems, it may experience drawdown during prolonged accumulation/distribution phases. Please backtest with your specific asset before using it with real capital.






















