Blackbox (Backtesting version)Blackbox Backtest version is a script with 12 built-in indicators, a list of different conditions you can check/uncheck to enter and exit the market on specific points and 3 different strategies styles.
Use this script to backtest different strategies.
It can't be used to create alerts.
If you found a good strategy and you want to do set alerts too you have to switch to Blackbox Alert version. It's the same script but without the strategy part.
Indicators:
Chaikin Money Flow
Chaikin Money Flow
Chaikin Oscillator
Volume Oscillator
Ichimoku Baseline
SSL
William R%
RSI
Bollinger Bands
ROC
RSI probability (custom)
EMAs
Aroon
ATR
... new indicators very soon
Conditions
Check/uncheck different conditions from setting panel for both entries and exits.
Combine them to create complex strategies and alerts.
This list is constantly updated.
Data Range
Set a data range to backtest.
From Year, Month, Day, Hour, Minute to Year, Month, Day, Hour, Minute.
Order size/settings
ATR Period
TP Multiplier (Used for Take Profit = ATR*TP Multiplier strategies)
SL Multiplier (Used for Stop Loss = ATR*SL Multiplier strategies)
Pips_tp Set a fixed amount of pips for your Take Profit level
Pips_sl Set a fixed amount of pips for your Stop Loss level
Select a strategy style
ATR as TP/SL
Fixed TP/SL
With Exit conditions
Stop Loss for exit conditions
Last update: 13/02/2020
ค้นหาในสคริปต์สำหรับ "the strat"
CCI 0Trend Strategy (by Marcoweb) v1.0Hi guys,
I am trying to create a strategy that consists in the crossover/under of the 0 line of the Commodity Channel Index . Every time the price crosses over the 0 line in the CCI the strategy has to long getting short on the cross under and viceversa.
I have published here another script strategy (consists in a crossover/under of the Overbought/Oversold levels of the CCI) that works so I could have the opportunity to share with you the main idea that as per now is mistaken:
//@version=2
strategy(title="CCI 0Trend Strategy (by Marcoweb) v1.0", shorttitle="CCI_0T_Stra_v1.0", overlay=true)
///////////// CCI
length = input(20, minval=1)
src = input(close, title="Source")
ma = sma(src, length)
cci = (src - ma) / (0.015 * dev(src, length))
plot(cci, color=black)
band1 = hline(100, color=blue, linestyle=solid)
band0 = hline(-100, color=red, linestyle=solid)
bandl = hline(0, color=orange, linestyle=solid)
fill(band1, band0, color=olive)
p1 = plot(band0, color=red,title="-100")
p2 = plot(band1, color=blue,title="100")
p3 = plot(bandl, color=orange,title="0")
///////////// CCI 0Trend Strategy (by Marcoweb) v1.0 Strategy
if (not na(cci))
if (crossover(cci, bandl)
strategy.entry("CCI_L", strategy.long, stop=bandl, oca_type=strategy.oca.cancel, comment="CCI_L")
else
strategy.cancel(id="CCI_L")
if (crossunder(cci, bandl)
strategy.entry("CCI_S", strategy.short, stop=bandl, oca_type=strategy.oca.cancel, comment="CCI_S")
else
strategy.cancel(id="CCI_S")
//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)
With this coding I get the error : line 24 (if (crossover(cci, bandl): mismatched input '|E|' expecting RPAR
Hope you like the idea ;)
NEXT GEN INSPIRED BY OLIVER VELEZDYOR NFA
1. Initial Setup & Application
Load the Strategy to your desired chart (e.g., EURUSD M5, as suggested by the script's backtest).
Overlay: Ensure the script is set to overlay=true (which it is) so the signals and Moving Averages plot directly on the price chart.
Equity Management: Review the initial strategy settings for capital and position sizing:
Initial Capital: Defaults to 10,000.
Default Qty Type: Set to strategy.percent_of_equity (22%), meaning 22% of your available equity is used per trade. Adjust this percentage based on your personal risk tolerance.
2. Reviewing Key Indicator Inputs
The script uses default values that are optimized, but you can adjust them in the settings panel:
Fast EMA: Defaults to 9 (e.g., a 9-period Exponential Moving Average).
Slow EMA: Defaults to 21 (e.g., a 21-period Exponential Moving Average). These EMAs define the short-term trend.
ATR: Defaults to 14 (Average True Range). Used to dynamically calculate volatility for SL/TP distances.
Final R:R: Defaults to 4.5 (minimum R:R required for a signal). This is the core of the strategy's high reward goal.
3. Interpreting Entry Signals
A trade signal is generated only when all conditions—EMA trend, "Elephant Logic" momentum, and non-ranging market—are met.
Long Signal: Appears as a green triangle (▲) below the bar, labeled "COMBO".
Short Signal: Appears as a red triangle (▼) above the bar, labeled "COMBO".
Live Plan: Upon signal, a detailed label is immediately plotted on the chart showing the FULL BATTLE PLAN:
SL: Calculated Stop Loss price.
TP: Calculated Take Profit price (based on the Final R:R).
Risk/Reward Pips: The calculated pips for the trade's risk and reward.
R:R = 1:4.5: The exact Risk-to-Reward ratio.
4. Understanding Market Conditions & Visuals
The script provides visuals to help you understand the current market state:
Trend EMAs: The 9 EMA (green) and 21 EMA (purple/magenta) are plotted to show the underlying trend.
Long trades only fire when Price > 9 EMA > 21 EMA.
Short trades only fire when Price < 9 EMA < 21 EMA.
Ranging Market (Rejection): Bars turn a light gray/silver when the proprietary "Reject Ranging" logic is active, indicating a low-volatility period. No new trades will be taken during these bars.
Momentum Bar: Bars turn a gold/yellow color when the "Elephant Logic" (high-momentum, large-body candles over 2-3 periods) is detected, highlighting powerful price movement.
5. Execution and Exit Logic
The strategy handles entry, scaling, and exit automatically:
Entry: A market order is placed (strategy.entry) immediately upon the bar where the longSetup or shortSetup condition is met.
Scaling Out (+1R): If the trade moves favorably by an amount equal to the initial risk (1R), the script closes a portion of the position (strategy.close with comment "+1R"). This partial exit locks in profit equivalent to the initial risk.
Re-entry (Pyramiding): After the +1R exit, the strategy attempts a re-entry (LONG RE/SHORT RE diamond plot) if the price meets certain criteria near the 9 EMA, trying to capitalize on further trend continuation.
Final Exits:
Take Profit: A limit order is set at the calculated TP level (stopDist * minRR).
Stop Loss: A stop order is set at the calculated SL level (stopDist * 1.3), slightly wider than the initial SL distance, likely to account for spread/slippage, ensuring the maximum loss is defined.
Trailing Stop: A trailing stop is applied to the re-entry positions (LONG RE/SHORT RE) to protect profits as the market moves further in the direction of the trade.
SMC Adaptive Breakout v1XSMC Adaptive Breakout v1X — Adaptive Smart Money Breakout Strategy
SMC Adaptive Breakout v1X is a Smart-Money–inspired breakout strategy that adapts to changing volatility and market structure in real time. It identifies recent pivot structure, verifies volatility expansion, uses ATR-scaled stops, and manages exits with fixed profit targets plus price-based trailing.
Why this strategy is unique / original
This strategy combines three concept layers into a single, cohesive system: (1) structure detection using adaptive pivots, (2) a normalized volatility filter (range percentile over a long lookback) to permit only expansion-phase breakouts, and (3) context-aware trade management using ATR-scaled stops and percentage-based profit/ trailing rules. The combination reduces false breakouts during low-volatility periods while preserving entries when institutional-style expansion occurs.
Core logic (high level)
1. Structure detection: recent pivot highs and lows (configurable lookback) form the active Support and Resistance reference levels used to define breakouts.
2. Volatility confirmation: raw bar range is normalized into a percentile within a long volatility lookback window; breakouts are only considered when normalized volatility exceeds the user filter threshold.
3. Order-block / gap detection: the script detects large price gaps relative to ATR(200) and flags them as bullish/bearish gaps (order-block style footprints) to add confluence to entries.
4. Entry criteria: a long entry is signalled when price closes above the most recent resistance and the volatility filter is satisfied (or a bullish gap condition is met). Shorts mirror this logic below support. Debug/force flags allow manual/backtest forcing of trades.
5. Risk & exits: stops are ATR-based (ATR length configurable, multiplier configurable) giving context-aware stop distances. Each entry sets a profit target as a percent of entry and attaches a trailing exit (points and offset defined as percent of price) to protect profits. Exits are placed with one strategy.exit per entry so they are executed by the strategy engine.
6. Non-premature confirmation: entries are determined using closed-bar conditions (no intrabar triggers), consistent with strategy backtesting expectations.
Key inputs (and what they control)
1. Levels Period (length) — pivot lookback used to compute support/resistance structure; larger values = larger, fewer zones.
2. Volatility Filter (filter 0–100) — normalized volatility threshold (percentile) required to allow breakout signals. Increase to reduce signals during quiet markets.
3. Volatility lookback (volatility_len) — window length used to normalize the raw range into a percentile.
4. ATR length (atr_len) & ATR Stop Multiplier (atr_multiplier) — ATR parameters used for stop distance; ATR gives volatility-adaptive stop sizing.
5. Profit target (%) — target as percent of entry price.
6. Trailing points (%) & offset (%) — trailing stop size and activation offset, expressed as percent of price (converted internally to price points).
7. Visual & debug toggles — show/hide levels, entry markers, and enable debug/force entry flags for manual/backtest validation.
Practical Usage & Recommended Settings
Timeframes – Works efficiently across multiple time horizons.
• 5–15 minutes → Scalping setups.
• 15 minutes–1 hour → Intraday opportunities.
• 4 hours–1 day → Swing trading confirmation.
Adjust length and Volatility Filter parameters to match your timeframe and instrument behavior.
Default Sensitivity –
The default length = 20 offers balanced structure detection.
• Lower values → faster, more frequent signals.
• Higher values → smoother structure and fewer breakouts.
Volatility Tuning –
Modify the Volatility Filter (0–100) according to market conditions.
• Increase the filter during low-volume or choppy sessions to reduce false signals.
• Decrease it during trending or high-volatility markets for greater responsiveness.
Stop / Target Sizing –
ATR-based stop-losses automatically adapt to market volatility.
• Recommended starting point: ATR Multiplier = 1.5 and Profit Target = 1.5%.
• Fine-tune both based on each asset’s typical volatility profile.
Backtesting –
Use TradingView’s built-in Strategy Tester to analyze results over different symbols and timeframes.
The strategy executes only on bar close, ensuring accurate, non-repainting backtest results.
What the strategy plots / visual cues
•Forward-extended pivot lines for support/resistance (configurable color/transparency).
•Order-block / gap markers when large ATR-scaled gaps are detected.
•Entry labels (“LONG” / “SHORT”) at position changes if enabled.
•Strategy entries/exits are placed through strategy.entry and strategy.exit so performance reports are available in the Tester.
Risk management & notes
•This script is a discretionary tool — it automates entries and exits for backtesting and strategy simulation, but users should still confirm trades with broader market context and higher-timeframe bias.
•Always run thorough backtests (multi-symbol, multi-timeframe) and forward test on a paper account before any live deployment.
•Adjust position sizing externally; the strategy code sets orders and exits but does not enforce a specific money-management sizing rule. Use the strategy tester’s default position size controls or integrate a sizing method in your own workflow.
Technical details & behavior
•Pine Script v6 strategy.
•Uses closed-bar confirmation for signals (no repainting on close).
•Order-block / gap detection uses ATR(200) as a volatility reference to identify large structural gaps.
•Trail calculations convert percent-based inputs to absolute price units each bar to maintain consistent behavior across price levels.
Limitations & disclaimers
•Past performance is not indicative of future results. This strategy does not guarantee profits and will produce losing trades.
•Results depend on parameter choices, instrument volatility, market regime, and execution slippage. Always test on the exact symbol and timeframe you intend to trade.
Invite-only / Access note (for Publish window)
This strategy is invite-only. Please use the TradingView Request Access button on this page to request access.
SigmaKernel - AdaptiveSigmaKernel - Adaptive Self-Optimizing Multi-Factor Trading System
SigmaKernel - Adaptive is a self-learning algorithmic trading strategy that combines four distinct analytical dimensions—momentum, market structure, volume flow, and reversal patterns—within a machine-learning-inspired framework that continuously adjusts its own parameters based on realized trading performance. Unlike traditional fixed-parameter strategies that maintain static weightings regardless of market conditions or results, this system implements a feedback loop that tracks which signal types, directional biases, and market conditions produce profitable outcomes, then mathematically adjusts component weightings, minimum score thresholds, position sizing multipliers, and trade spacing requirements to optimize future performance.
The strategy is designed for futures traders operating on prop firm accounts or live capital, incorporating realistic execution mechanics including configurable entry modes (stop breakout orders, limit pullback entries, or market-on-open), commission structures calibrated to retail futures contracts ($0.62 per contract default), one-tick slippage modeling, and professional risk controls including trailing drawdown guards, daily loss limits, and weekly profit targets. The system features universal futures compatibility—it automatically detects and adapts to any futures contract by reading the instrument's tick size and point value directly from the chart, eliminating the need for manual configuration across different markets.
What Makes This Approach Different
Adaptive Weight Optimization System
The core differentiation is the adaptive learning architecture. The strategy maintains four independent scoring components: momentum analysis (using RSI multi-timeframe, MACD histogram, and DMI/ADX), market structure detection (breakout identification via pivot-based support/resistance and moving average positioning), volume flow analysis (Volume Price Trend indicator with standard deviation confirmation), and reversal pattern recognition (oversold/overbought conditions combined with structural levels).
Each component generates a directional score that is multiplied by its current weight. After every closed trade, the system performs a retrospective analysis on the last N trades (configurable Learning Period, default 15 trades) to calculate win rates for each signal type independently. For example, if momentum-driven trades won 65% of the time while reversal trades won only 35%, the adaptive algorithm increases the momentum weight and decreases the reversal weight proportionally. The adjustment formula is:
New_Weight = Current_Weight + (Component_Win_Rate - Average_Win_Rate) × Adaptation_Speed
This creates a self-correcting mechanism where successful signal generators receive more influence in future composite scores, while underperforming components are de-emphasized. The system separately tracks long versus short win rates and applies directional bias corrections—if shorts consistently outperform longs, the strategy applies a 10% reduction to bullish signals to prevent fighting the prevailing market character.
Dynamic Parameter Adjustment
Beyond component weightings, three critical strategy parameters self-adjust based on performance:
Minimum Signal Score: The threshold required to trigger a trade. If overall win rate falls below 45%, the system increments this threshold by 0.10 per adjustment cycle, making the strategy more selective. If win rate exceeds 60%, the threshold decreases to allow more opportunities. This prevents the strategy from overtrading during unfavorable conditions and capitalizes on high-probability environments.
Risk Multiplier: Controls position sizing aggression. When drawdown exceeds 5%, risk per trade reduces by 10% per cycle. When drawdown falls below 2%, risk increases by 5% per cycle. This implements the professional risk management principle of "bet small when losing, bet bigger when winning" algorithmically.
Bars Between Trades: Spacing filter to prevent overtrading. Base value (default 9 bars) multiplies by drawdown factor and losing streak factor. During drawdown or consecutive losses, spacing expands up to 2x to allow market conditions to change before re-entering.
All adaptation operates during live forward-testing or real trading—there is no in-sample optimization applied to historical data. The system learns solely from its own realized trades.
Universal Futures Compatibility
The strategy implements universal futures instrument detection that automatically adapts to any futures contract without requiring manual configuration. Instead of hardcoding specific contract specifications, the system reads three critical values directly from TradingView's symbol information:
Tick Size Detection: Uses `syminfo.mintick` to obtain the minimum price increment for the current instrument. This value varies widely across markets—ES trades in 0.25 ticks, crude oil (CL) in 0.01 ticks, gold (GC) in 0.10 ticks, and treasury futures (ZB) in increments of 1/32nds. The strategy adapts all entry buffer calculations and stop placement logic to the detected tick size.
Point Value Detection: Uses `syminfo.pointvalue` to determine the dollar value per full point of price movement. For ES, one point equals $50; for crude oil, one point equals $1,000; for gold, one point equals $100. This automatic detection ensures accurate P&L calculations and risk-per-contract measurements across all instruments.
Tick Value Calculation: Combines tick size and point value to compute dollar value per tick: Tick_Value = Tick_Size × Point_Value. This derived value drives all position sizing calculations, ensuring the risk management system correctly accounts for each instrument's economic characteristics.
This universal approach means the strategy functions identically on emini indices (ES, MES, NQ, MNQ), micro indices, energy contracts (CL, NG, RB), metals (GC, SI, HG), agricultural futures (ZC, ZS, ZW), treasury futures (ZB, ZN, ZF), currency futures (6E, 6J, 6B), and any other futures contract available on TradingView. No parameter adjustments or instrument-specific branches exist in the code—the adaptation happens automatically through symbol information queries.
Stop-Out Rate Monitoring System
The strategy includes an intelligent stop-out rate tracking system that monitors the percentage of your last 20 trades (or available trades if fewer than 20) that were stopped out. This metric appears in the dashboard's Performance section with color-coded guidance:
Green (<30% stop-out rate): Very few trades are being stopped out. This suggests either your stops are too loose (giving back profits on reversals) or you're in an exceptional trending market. Consider tightening your Stop Loss ATR multiplier to lock in profits more efficiently.
Orange (30-65% stop-out rate): Healthy range. Your stop placement is appropriately sized for current market conditions and the strategy's risk-reward profile. No adjustment needed.
Red (>65% stop-out rate): Too many trades are being stopped out prematurely. Your stops are likely too tight for the current volatility regime. Consider widening your Stop Loss ATR multiplier to give trades more room to develop.
Critical Design Philosophy: Unlike some systems that automatically adjust stops based on performance statistics, this strategy intentionally keeps stop-loss control in the user's hands. Automatic stop adjustment creates dangerous feedback loops—widening stops increases risk per contract, which forces position size reduction, which distorts performance metrics, leading to incorrect adaptations. Instead, the dashboard provides visibility into stop performance, empowering you to make informed manual adjustments when warranted. This preserves the integrity of the adaptive system while giving you the critical data needed for stop optimization.
Execution Kernel Architecture
The entry system offers three distinct execution modes to match trader preference and market character:
StopBreakout Mode: Places buy-stop orders above the prior bar's high (for longs) or sell-stop orders below the prior bar's low (for shorts), plus a 2-tick buffer. This ensures entries only occur when price confirms directional momentum by breaking recent structure. Ideal for trending and momentum-driven markets.
LimitPullback Mode: Places limit orders at a pullback price calculated as: Entry_Price = Close - (ATR × Pullback_Multiplier) for longs, or Close + (ATR × Pullback_Multiplier) for shorts. Default multiplier is 0.5 ATR. This waits for mean-reversion before entering in the signal direction, capturing better prices in volatile or oscillating markets.
MarketNextOpen Mode: Executes at market on the bar immediately following signal generation. This provides fastest execution but sacrifices the filtering effect of requiring price confirmation.
All pending entry orders include a configurable Time-To-Live (TTL, default 6 bars). If an order is not filled within the TTL period, it cancels automatically to prevent stale signals from executing in changed market conditions.
Professional Exit Management
The exit system implements a three-stage progression: initial stop loss, breakeven adjustment, and dynamic trailing stop.
Initial Stop Loss: Calculated as entry price ± (ATR × User_Stop_Multiplier × Volatility_Adjustment). Users have direct control via the Stop Loss ATR multiplier (default 1.25). The system then applies volatility regime adjustments: ×1.2 in high-volatility environments (stops automatically widen), ×0.8 in low volatility (stops tighten), ×1.0 in normal conditions. This ensures stops adapt to market character while maintaining user control over baseline risk tolerance.
Breakeven Trigger: When profit reaches a configurable multiple of initial risk (default 1.0R), the stop loss automatically moves to breakeven (entry price). This locks in zero-loss status once the trade demonstrates favorable movement.
Trailing Stop Activation: When profit reaches the Trail_Trigger_R multiple (default 1.2R), the system cancels the fixed stop and activates a dynamic trailing stop. The trail uses Step and Offset parameters defined in R-multiples. For example, with Trail_Offset_R = 1.0 and Trail_Step_R = 1.5, the stop trails 1.0R behind price and moves in 1.5R increments. This captures extended moves while protecting accumulated profit.
Additional failsafes include maximum time-in-trade (exits after N bars if specified) and end-of-session flatten (automatically closes all positions X minutes before session end to avoid overnight exposure).
Core Calculation Methodology
Signal Component Scoring
Momentum Component:
- Calculates 14-period DMI (Directional Movement Index) with ADX strength filter (trending when ADX > 25)
- Computes three RSI timeframes: fast (7-period), medium (14-period), slow (21-period)
- Analyzes MACD (12/26/9) histogram for directional acceleration
- Bullish momentum: uptrend (DI+ > DI- with ADX > 25) + MACD histogram rising above zero + RSI fast between 50-80 = +1.6 score
- Bearish momentum: downtrend (DI- > DI+ with ADX > 25) + MACD histogram falling below zero + RSI fast between 20-50 = -1.6 score
- Score multiplies by volatility adjustment factor: ×0.8 in high volatility (momentum less reliable), ×1.2 in low volatility (momentum more persistent)
Structure Component:
- Identifies swing highs and lows using 10-bar pivot lookback on both sides
- Maintains most recent swing high as dynamic resistance, most recent swing low as dynamic support
- Detects breakouts: bullish when close crosses above resistance with prior bar below; bearish when close crosses below support with prior bar above
- Breakout score: ±1.0 for confirmed break
- Moving average alignment: +0.5 when price > SMA20 > SMA50 (bullish structure); -0.5 when price < SMA20 < SMA50 (bearish structure)
- Total structure range: -1.5 to +1.5
Volume Component:
- Calculates Volume Price Trend: VPT = Σ [(Close - Close ) / Close × Volume]
- Compares VPT to its 10-period EMA as signal line (similar to MACD logic)
- Computes 20-period volume moving average and standard deviation
- High volume event: current volume > (volume_average + 1× std_dev)
- Bullish volume: VPT > VPT_signal AND high_volume = +1.0
- Bearish volume: VPT < VPT_signal AND high_volume = -1.0
- No score if volume is not elevated (filters out low-conviction moves)
Reversal Component:
- Identifies extreme RSI conditions: RSI slow < 30 (oversold) or > 70 (overbought)
- Requires structural confluence: price at or below support level for bullish reversal; at or above resistance for bearish reversal
- Requires momentum shift: RSI fast must be rising (for bull) or falling (for bear) to confirm reversal in progress
- Bullish reversal: RSI < 30 AND price ≤ support AND RSI rising = +1.0
- Bearish reversal: RSI > 70 AND price ≥ resistance AND RSI falling = -1.0
Composite Score Calculation
Final_Score = (Momentum × Weight_M) + (Structure × Weight_S) + (Volume × Weight_V) + (Reversal × Weight_R)
Initial weights: Momentum = 1.0, Structure = 1.2, Volume = 0.8, Reversal = 0.6
These weights adapt after each trade based on component-specific performance as described above.
The system also applies directional bias adjustment: if recent long trades have significantly lower win rate than shorts, bullish scores multiply by 0.9 to reduce aggressive long entries. Vice versa for underperforming shorts.
Position Sizing Algorithm
The position sizing calculation incorporates multiple confidence factors and automatically scales to any futures contract:
1. Base risk amount = Account_Size × Base_Risk_Percent × Adaptive_Risk_Multiplier
2. Stop distance in price units = ATR × User_Stop_Multiplier × Volatility_Regime_Multiplier × Entry_Buffer
3. Risk per contract = Stop_Distance × Dollar_Per_Point (automatically detected from instrument)
4. Raw position size = Risk_Amount / Risk_Per_Contract
Then applies confidence scaling:
- Signal confidence = min(|Weighted_Score| / Min_Score_Threshold, 2.0) — higher scores receive larger size, capped at 2×
- Direction confidence = Long_Win_Rate (for bulls) or Short_Win_Rate (for bears)
- Type confidence = Win_Rate of dominant signal type (momentum/structure/volume/reversal)
- Total confidence = (Signal_Confidence + Direction_Confidence + Type_Confidence) / 3
Adjusted size = Raw_Size × Total_Confidence × Losing_Streak_Reduction
Losing streak reduction = 0.5 if losing_streak ≥ 5, otherwise 1.0
Universal Maximum Position Calculation: Instead of hardcoded limits per instrument, the system calculates maximum position size as: Max_Contracts = Account_Size / 25000, clamped between 1 and 10 contracts. This means a $50,000 account allows up to 2 contracts, a $100,000 account allows up to 4 contracts, regardless of which futures contract is being traded. This universal approach maintains consistent risk exposure across different instruments while preventing overleveraging.
Final size is rounded to integer and bounded by the calculated maximum.
Session and Risk Management System
Timezone-Aware Session Control
The strategy implements timezone-correct session filtering. Users specify session start hour, end hour, and timezone from 12 supported zones (New York, Chicago, Los Angeles, London, Frankfurt, Moscow, Tokyo, Hong Kong, Shanghai, Singapore, Sydney, UTC). The system converts bar timestamps to the selected timezone before applying session logic.
For split sessions (e.g., Asian session 18:00-02:00), the logic correctly handles time wraparound. Weekend trading can be optionally disabled (default: disabled) to avoid low-liquidity weekend price action.
Multi-Layer Risk Controls
Daily Loss Limit: Strategy ceases all new entries when daily P&L reaches negative threshold (default $2,000). This prevents catastrophic drawdown days. Resets at timezone-corrected day boundary.
Weekly Profit Target: Strategy ceases trading when weekly profit reaches target (default $10,000). This implements the professional principle of "take the win and stop pushing luck." Resets on timezone-corrected Monday.
Maximum Daily Trades: Hard cap on entries per day (default 20) to prevent overtrading during volatile conditions when many signals may generate.
Trailing Drawdown Guard: Optional prop-firm-style trailing stop on account equity. When enabled, if equity drops below (Peak_Equity - Trailing_DD_Amount), all trading halts. This simulates the common prop firm rule where exceeding trailing drawdown results in account termination.
All limits display status in the real-time dashboard, showing "MAX LOSS HIT", "WEEKLY TARGET MET", or "ACTIVE" depending on current state.
How To Use This Strategy
Initial Setup
1. Apply the strategy to your desired futures chart (tested on 5-minute through daily timeframes)
2. The strategy will automatically detect your instrument's specifications—no manual configuration needed for different contracts
3. Configure your account size and risk parameters in the Core Settings section
4. Set your trading session hours and timezone to match your availability
5. Adjust the Stop Loss ATR multiplier based on your risk tolerance (0.8-1.2 for tighter stops, 1.5-2.5 for wider stops)
6. Select your preferred entry execution mode (recommend StopBreakout for beginners)
7. Enable adaptation (recommended) or disable for fixed-parameter operation
8. Review the strategy's Properties in the Strategy Tester settings and verify commission/slippage match your broker's actual costs
The universal futures detection means you can switch between ES, NQ, CL, GC, ZB, or any other futures contract without changing any strategy parameters—the system will automatically adapt its calculations to each instrument's unique specifications.
Dashboard Interpretation
The strategy displays a comprehensive real-time dashboard in the top-right corner showing:
Market State Section:
- Trend: Shows UPTREND/DOWNTREND/CONSOLIDATING/NEUTRAL based on ADX and DMI analysis
- ADX Value: Current trend strength (>25 = strong trend, <20 = consolidating)
- Momentum: BULL/BEAR/NEUTRAL classification with current momentum score
- Volatility: HIGH/LOW/NORMAL regime with ATR percentage of price
Volume Profile Section (Large dashboard only):
- VPT Flow: Directional bias from volume analysis
- Volume Status: HIGH/LOW/NORMAL with relative volume multiplier
Performance Section:
- Daily P&L: Current day's profit/loss with color coding
- Daily Trades: Number of completed trades today
- Weekly P&L: Current week's profit/loss
- Target %: Progress toward weekly profit target
- Stop-Out Rate: Percentage of last 20 trades (or available trades if <20) that were stopped out. Includes all stop types: initial stops, breakeven stops, trailing stops, timeout exits, and EOD flattens. Color coded with actionable guidance:
- Green (<30%): Shows "TIGHTEN" guidance. Very few stop-outs suggests stops may be too loose or exceptional market conditions. Consider reducing Stop Loss ATR multiplier.
- Orange (30-65%): Shows "OK" guidance. Healthy stop-out rate indicating appropriate stop placement for current conditions.
- Red (>65%): Shows "WIDEN" guidance. Too many premature stop-outs. Consider increasing Stop Loss ATR multiplier to give trades more room.
- Status: Overall trading status (ACTIVE/MAX LOSS HIT/WEEKLY TARGET MET/FILTERS ACTIVE)
Adaptive Engine Section:
- Min Score: Current minimum threshold for trade entry (higher = more selective)
- Risk Mult: Current position sizing multiplier (adjusts with performance)
- Bars BTW: Current minimum bars required between trades
- Drawdown: Current drawdown percentage from equity peak
- Weights: M/S/V/R showing current component weightings
Win Rates Section:
- Type: Win rates for Momentum, Structure, Volume, Reversal signal types
- Direction: Win rates for Long vs Short trades
Color coding shows green for >50% win rate, red for <50%
Session Info Section:
- Session Hours: Active trading window with timezone
- Weekend Trading: ENABLED/DISABLED status
- Session Status: ACTIVE/INACTIVE based on current time
Signal Generation and Entry
The strategy generates entries when the weighted composite score exceeds the adaptive minimum threshold (initial value configurable, typically 1.5 to 2.5). Entries display as layered triangle markers on the chart:
- Long Signal: Three green upward triangles below the entry bar
- Short Signal: Three red downward triangles above the entry bar
Triangle tooltip shows the signal score and dominant signal type (MOMENTUM/STRUCTURE/VOLUME/REVERSAL).
Position Management and Stop Optimization
Once entered, the strategy automatically manages the position through its three-stage exit system. Monitor the Stop-Out Rate metric in the dashboard to optimize your stop placement:
If Stop-Out Rate is Green (<30%): You're rarely being stopped out. This could mean:
- Your stops are too loose, allowing trades to give back too much profit on reversals
- You're in an exceptional trending market where tight stops would work better
- Action: Consider reducing your Stop Loss ATR multiplier by 0.1-0.2 to tighten stops and lock in profits more efficiently
If Stop-Out Rate is Orange (30-65%): Optimal range. Your stops are appropriately sized for the strategy's risk-reward profile and current market volatility. No adjustment needed.
If Stop-Out Rate is Red (>65%): You're being stopped out too frequently. This means:
- Your stops are too tight for current market volatility
- Trades need more room to develop before reaching profit targets
- Action: Increase your Stop Loss ATR multiplier by 0.1-0.3 to give trades more breathing room
Remember: The stop-out rate calculation includes all exit types (initial stops, breakeven stops, trailing stops, timeouts, EOD flattens). A trade that reaches breakeven and gets stopped out at entry price counts as a stop-out, even though it didn't lose money. This is intentional—it indicates the stop placement didn't allow the trade to develop into profit.
Optimization Workflow
For traders wanting to customize the strategy for their specific instrument and timeframe:
Week 1-2: Run with defaults, adaptation enabled
Allow the system to execute at least 30-50 trades (the Learning Period plus additional buffer). Monitor which session periods, signal types, and market conditions produce the best results. Observe your stop-out rate—if it's consistently red or green, plan to adjust Stop Loss ATR multiplier after the learning period. Do not adjust parameters yet—let the adaptive system establish baseline performance data.
Week 3-4: Analyze adaptation behavior and optimize stops
Review the dashboard's adaptive weights and win rates. If certain signal types consistently show <40% win rate, consider slightly reducing their base weight. If a particular entry mode produces better fill quality and win rate, switch to that mode. If you notice the minimum score threshold has climbed very high (>3.0), market conditions may not suit the strategy's logic—consider switching instruments or timeframes.
Based on your Stop-Out Rate observations:
- Consistently <30%: Reduce Stop Loss ATR multiplier by 0.2-0.3
- Consistently >65%: Increase Stop Loss ATR multiplier by 0.2-0.4
- Oscillating between zones: Leave stops at default and let volatility regime adjustments handle it
Ongoing: Fine-tune risk and execution
Adjust the following based on your risk tolerance and account type:
- Base Risk Per Trade: 0.5% for conservative, 0.75% for moderate, 1.0% for aggressive
- Stop Loss ATR Multiplier: 0.8-1.2 for tight stops (scalping), 1.5-2.5 for wide stops (swing trading)
- Bars Between Trades: Lower (5-7) for more opportunities, higher (12-20) for more selective
- Entry Mode: Experiment between modes to find best fit for current market character
- Session Hours: Narrow to specific high-performance session windows if certain hours consistently underperform
Never adjust: Do not manually modify the adaptive weights, minimum score, or risk multiplier after the system has begun learning. These parameters are self-optimizing and manual interference defeats the adaptive mechanism.
Parameter Descriptions and Optimization Guidelines
Adaptive Intelligence Group
Enable Self-Optimization (default: true): Master switch for the adaptive learning system. When enabled, component weights, minimum score, risk multiplier, and trade spacing adjust based on realized performance. Disable to run the strategy with fixed parameters (useful for comparing adaptive vs non-adaptive performance).
Learning Period (default: 15 trades): Number of most recent trades to analyze for performance calculations. Shorter values (10-12) adapt more quickly to recent conditions but may overreact to variance. Longer values (20-30) produce more stable adaptations but respond slower to regime changes. For volatile markets, use shorter periods. For stable trends, use longer periods.
Adaptation Speed (default: 0.25): Controls the magnitude of parameter adjustments per learning cycle. Lower values (0.05-0.15) make gradual, conservative changes. Higher values (0.35-0.50) make aggressive adjustments. Faster adaptation helps in rapidly changing markets but increases parameter instability. Start with default and increase only if you observe the system failing to adapt quickly enough to obvious performance patterns.
Performance Memory (default: 100 trades): Maximum number of historical trades stored for analysis. This array size does not affect learning (which uses only Learning Period trades) but provides data for future analytics features including stop-out rate tracking. Higher values consume more memory but provide richer historical dataset. Typical users should not need to modify this.
Core Settings Group
Account Size (default: $50,000): Starting capital for position sizing calculations. This should match your actual account size for accurate risk per trade. The strategy uses this value to calculate dollar risk amounts and determine maximum position size (1 contract per $25,000).
Weekly Profit Target (default: $10,000): When weekly P&L reaches this value, the strategy stops taking new trades for the remainder of the week. This implements a "quit while ahead" rule common in professional trading. Set to a realistic weekly goal—20% of account size per week ($10K on $50K) is very aggressive; 5-10% is more sustainable.
Max Daily Loss (default: $2,000): When daily P&L reaches this negative threshold, strategy stops all new entries for the day. This is your maximum acceptable daily loss. Professional traders typically set this at 2-4% of account size. A $2,000 loss on a $50,000 account = 4%.
Base Risk Per Trade % (default: 0.5%): Initial percentage of account to risk on each trade before adaptive multiplier and confidence scaling. 0.5% is conservative, 0.75% is moderate, 1.0-1.5% is aggressive. Remember that actual risk per trade = Base Risk × Adaptive Risk Multiplier × Confidence Factors, so the realized risk will vary.
Trade Filters Group
Base Minimum Signal Score (default: 1.5): Initial threshold that composite weighted score must exceed to generate a signal. Lower values (1.0-1.5) produce more trades with lower average quality. Higher values (2.0-3.0) produce fewer, higher-quality setups. This value adapts automatically when adaptive mode is enabled, but the base sets the starting point. For trending markets, lower values work well. For choppy markets, use higher values.
Base Bars Between Trades (default: 9): Minimum bars that must elapse after an entry before another signal can trigger. This prevents overtrading and allows previous trades time to develop. Lower values (3-6) suit scalping on lower timeframes. Higher values (15-30) suit swing trading on higher timeframes. This value also adapts based on drawdown and losing streaks.
Max Daily Trades (default: 20): Hard limit on total trades per day regardless of signal quality. This prevents runaway trading during extremely volatile days when many signals may generate. For 5-minute charts, 20 trades/day is reasonable. For 1-hour charts, 5-10 trades/day is more typical.
Session Group
Session Start Hour (default: 5): Hour (0-23 format) when trading is allowed to begin, in the timezone specified. For US futures trading in Chicago time, session typically starts at 5:00 or 6:00 PM (17:00 or 18:00) Sunday evening.
Session End Hour (default: 17): Hour when trading stops and no new entries are allowed. For US equity index futures, regular session ends at 4:00 PM (16:00) Central Time.
Allow Weekend Trading (default: false): Whether strategy can trade on Saturday/Sunday. Most futures have low volume on weekends; keeping this disabled is recommended unless you specifically trade Sunday evening open.
Session Timezone (default: America/Chicago): Timezone for session hour interpretation. Select your local timezone or the timezone of your instrument's primary exchange. This ensures session logic aligns with your intended trading hours.
Prop Guards Group
Trailing Drawdown Guard (default: false): Enables prop-firm-style trailing maximum drawdown. When enabled, if equity drops below (Peak Equity - Trailing DD Amount), all trading halts for the remainder of the backtest/live session. This simulates rules used by funded trader programs where exceeding trailing drawdown terminates the account.
Trailing DD Amount (default: $2,500): Dollar amount of drawdown allowed from equity peak. If your equity reaches $55,000, the trailing stop sets at $52,500. If equity then drops to $52,499, the guard triggers and trading ceases.
Execution Kernel Group
Entry Mode (default: StopBreakout):
- StopBreakout: Places stop orders above/below signal bar requiring price confirmation
- LimitPullback: Places limit orders at pullback prices seeking better fills
- MarketNextOpen: Executes immediately at market on next bar
Limit Offset (default: 0.5x ATR): For LimitPullback mode, how far below/above current price to place the limit order. Smaller values (0.3-0.5) seek minor pullbacks. Larger values (0.8-1.2) wait for deeper retracements but may miss trades.
Entry TTL (default: 6 bars, 0=off): Bars an entry order remains pending before cancelling. Shorter values (3-4) keep signals fresh. Longer values (8-12) allow more time for fills but risk executing stale signals. Set to 0 to disable TTL (orders remain active indefinitely until filled or opposite signal).
Exits Group
Stop Loss (default: 1.25x ATR): Base stop distance as a multiple of the 14-period ATR. This is your primary risk control parameter and directly impacts your stop-out rate. Lower values (0.8-1.0) create tighter stops that reduce risk per trade but may get stopped out prematurely in volatile conditions—expect stop-out rates above 65% (red zone). Higher values (1.5-2.5) give trades more room to breathe but increase risk per contract—expect stop-out rates below 30% (green zone). The system applies additional volatility regime adjustments on top of this base: ×1.2 in high volatility environments (stops widen automatically), ×0.8 in low volatility (stops tighten), ×1.0 in normal conditions. For scalping on lower timeframes, use 0.8-1.2. For swing trading on higher timeframes, use 1.5-2.5. Monitor the Stop-Out Rate metric in the dashboard and adjust this parameter to keep it in the healthy 30-65% orange zone.
Move to Breakeven at (default: 1.0R): When profit reaches this multiple of initial risk, stop moves to breakeven. 1.0R means after price moves in your favor by the distance you risked, you're protected at entry price. Lower values (0.5-0.8R) lock in breakeven faster. Higher values (1.5-2.0R) allow more room before protection.
Start Trailing at (default: 1.2R): When profit reaches this multiple, the fixed stop transitions to a dynamic trailing stop. This should be greater than the BE trigger. Values typically range 1.0-2.0R depending on how much profit you want secured before trailing activates.
Trail Offset (default: 1.0R): How far behind price the trailing stop follows. Tighter offsets (0.5-0.8R) protect profit more aggressively but may exit prematurely. Wider offsets (1.5-2.5R) allow more room for profit to run but risk giving back more on reversals.
Trail Step (default: 1.5R): How far price must move in profitable direction before the stop advances. Smaller steps (0.5-1.0R) move the stop more frequently, tightening protection continuously. Larger steps (2.0-3.0R) move the stop less often, giving trades more breathing room.
Max Bars In Trade (default: 0=off): Maximum bars allowed in a position before forced exit. This prevents trades from "going stale" during periods of no meaningful price action. For 5-minute charts, 50-100 bars (4-8 hours) is reasonable. For daily charts, 5-10 bars (1-2 weeks) is typical. Set to 0 to disable.
Flatten near Session End (default: true): Whether to automatically close all positions as session end approaches. Recommended to avoid carrying positions into off-hours with low liquidity.
Minutes before end (default: 5): How many minutes before session end to flatten. 5-15 minutes provides buffer for order execution before the session boundary.
Visual Effects Configuration Group
Dashboard Size (default: Normal): Controls information density in the dashboard. Small shows only critical metrics (excludes stop-out rate). Normal shows comprehensive data including stop-out rate. Large shows all available metrics including weights, session info, and volume analysis. Larger sizes consume more screen space but provide complete visibility.
Show Quantum Field (default: true): Displays animated grid pattern on the chart indicating market state. Disable if you prefer cleaner charts or experience performance issues on lower-end hardware.
Show Wick Pressure Lines (default: true): Draws dynamic lines from bars with extreme wicks, indicating potential support/resistance or liquidity absorption zones. Disable for simpler visualization.
Show Morphism Energy Beams (default: true): Displays directional beams showing momentum energy flow. Beams intensify during strong trends. Disable if you find this visually distracting.
Show Order Flow Clouds (default: true): Draws translucent boxes representing volume flow bullish/bearish bias. Disable for cleaner price action visibility.
Show Fractal Grid (default: true): Displays multi-timeframe support/resistance levels based on fractal price structure at 10/20/30/40/50 bar periods. Disable if you only want to see primary pivot levels.
Glow Intensity (default: 4): Controls the brightness and thickness of visual effects. Lower values (1-2) for subtle visualization. Higher values (7-10) for maximum visibility but potentially cluttered charts.
Color Theme (default: Cyber): Visual color scheme. Cyber uses cyan/magenta futuristic colors. Quantum uses aqua/purple. Matrix uses green/red terminal style. Aurora uses pastel pink/purple gradient. Choose based on personal preference and monitor calibration.
Show Watermark (default: true): Displays animated watermark at bottom of chart with creator credit and current P&L. Disable if you want completely clean charts or need screen space.
Performance Characteristics and Best Use Cases
Optimal Conditions
This strategy performs best in markets exhibiting:
Trending phases with periodic pullbacks: The combination of momentum and structure components excels when price establishes directional bias but provides retracement opportunities for entries. Markets with 60-70% trending bars and 30-40% consolidation produce the highest win rates.
Medium to high volatility: The ATR-based stop sizing and dynamic risk adjustment require sufficient price movement to generate meaningful profit relative to risk. Instruments with 2-4% daily ATR relative to price work well. Extremely low volatility (<1% daily ATR) generates too many scratch trades.
Clear volume patterns: The VPT volume component adds significant edge when volume expansions align with directional moves. Instruments and timeframes where volume data reflects actual transaction flow (versus tick volume proxies) perform better.
Regular session structure: Futures markets with defined opening and closing hours, consistent liquidity throughout the session, and clear overnight/day session separation allow the session controls and time-based failsafes to function optimally.
Sufficient liquidity for stop execution: The stop breakout entry mode requires that stop orders can fill without significant slippage. Highly liquid contracts work better than illiquid instruments where stop orders may face adverse fills.
Suboptimal Conditions
The strategy may struggle with:
Extreme chop with no directional persistence: When ADX remains below 15 for extended periods and price oscillates rapidly without establishing trends, the momentum component generates conflicting signals. Win rate typically drops below 40% in these conditions, triggering the adaptive system to increase minimum score thresholds until conditions improve. Stop-out rates may also spike into the red zone.
Gap-heavy instruments: Markets with frequent overnight gaps disrupt the continuous price assumptions underlying ATR stops and EMA-based structure analysis. Gaps can also cause stop orders to fill at prices far from intended levels, distorting stop-out rate metrics.
Very low timeframes with excessive noise: On 1-minute or tick charts, the signal components react to micro-structure noise rather than meaningful price swings. The strategy works best on 5-minute through daily timeframes where price movements reflect actual order flow shifts.
Extended low-volatility compression: During historically low volatility periods, profit targets become difficult to reach before mean-reversion occurs. The trail offset, even when set to minimum, may be too wide for the compressed price environment. Stop-out rates may drop to green zone indicating stops should be tightened.
Parabolic moves or climactic exhaustion: Vertical price advances or selloffs where price moves multiple ATRs in single bars can trigger momentum signals at exhaustion points. The structure and reversal components attempt to filter these, but extreme moves may override normal logic.
The adaptive learning system naturally reduces signal frequency and position sizing during unfavorable conditions. If you observe multiple consecutive days with zero trades and "FILTERS ACTIVE" status, this indicates the strategy has self-adjusted to avoid poor conditions rather than forcing trades.
Instrument Recommendations
Emini Index Futures (ES, MES, NQ, MNQ, YM, RTY): Excellent fit. High liquidity, clear volatility patterns, strong volume signals, defined session structure. These instruments have been extensively tested and the universal detection handles all contract specifications automatically.
Micro Index Futures (MES, MNQ, M2K, MYM): Excellent fit for smaller accounts. Same market characteristics as the standard eminis but with reduced contract sizes allowing proper risk management on accounts below $50,000.
Energy Futures (CL, NG, RB, HO): Good to mixed fit. Crude oil (CL) works well due to strong trends and reasonable volatility. Natural gas (NG) can be extremely volatile—consider reducing Base Risk to 0.3-0.4% and increasing Stop Loss ATR multiplier to 1.8-2.2 for NG. The strategy automatically detects the $10/tick value for CL and adjusts position sizing accordingly.
Metal Futures (GC, SI, HG, PL): Good fit. Gold (GC) and silver (SI) exhibit clear trending behavior and work well with the momentum/structure components. The strategy automatically handles the different point values ($100/point for gold, $5,000/point for silver).
Agricultural Futures (ZC, ZS, ZW, ZL): Good fit. Grain futures often trend strongly during seasonal periods. The strategy handles the unique tick sizes (1/4 cent increments) and point values ($50/point for corn/wheat, $60/point for soybeans) automatically.
Treasury Futures (ZB, ZN, ZF, ZT): Good fit for trending rates environments. The strategy automatically handles the fractional tick sizing (32nds for ZB/ZN, halves of 32nds for ZF/ZT) through the universal detection system.
Currency Futures (6E, 6J, 6B, 6A, 6C): Good fit. Major currency pairs exhibit smooth trending behavior. The strategy automatically detects point values which vary significantly ($12.50/tick for 6E, $12.50/tick for 6J, $6.25/tick for 6B).
Cryptocurrency Futures (BTC, ETH, MBT, MET): Mixed fit. These markets have extreme volatility requiring parameter adjustment. Increase Base Risk to 0.8-1.2% and Stop Loss ATR multiplier to 2.0-3.0 to account for wider stop distances. Enable 24-hour trading and weekend trading as these markets have no traditional sessions.
The universal futures compatibility means you can apply this strategy to any of these markets without code modification—simply open the chart of your desired contract and the strategy will automatically configure itself to that instrument's specifications.
Important Disclaimers and Realistic Expectations
This is a sophisticated trading strategy that combines multiple analytical methods within an adaptive framework designed for active traders who will monitor performance and market conditions. It is not a "set and forget" fully automated system, nor should it be treated as a guaranteed profit generator.
Backtesting Realism and Limitations
The strategy includes realistic trading costs and execution assumptions:
- Commission: $0.62 per contract per side (accurate for many retail futures brokers)
- Slippage: 1 tick per entry and exit (conservative estimate for liquid futures)
- Position sizing: Realistic risk percentages and maximum contract limits based on account size
- No repainting: All calculations use confirmed bar data only—signals do not change retroactively
However, backtesting cannot fully capture live trading reality:
- Order fill delays: In live trading, stop and limit orders may not fill instantly at the exact tick shown in backtest
- Volatile periods: During high volatility or low liquidity (news events, rollover days, pre-holidays), slippage may exceed the 1-tick assumption significantly
- Gap risk: The backtest assumes stops fill at stop price, but gaps can cause fills far beyond intended exit levels
- Psychological factors: Seeing actual capital at risk creates emotional pressures not present in backtesting, potentially leading to premature manual intervention
The strategy's backtest results should be viewed as best-case scenarios. Real trading will typically produce 10-30% lower returns than backtest due to the above factors.
Risk Warnings
All trading involves substantial risk of loss. The adaptive learning system can improve parameter selection over time, but it cannot predict future price movements or guarantee profitable performance. Past wins do not ensure future wins.
Losing streaks are inevitable. Even with a 60% win rate, you will encounter sequences of 5, 6, or more consecutive losses due to normal probability distributions. The strategy includes losing streak detection and automatic risk reduction, but you must have sufficient capital to survive these drawdowns.
Market regime changes can invalidate learned patterns. If the strategy learns from 50 trades during a trending regime, then the market shifts to a ranging regime, the adapted parameters may initially be misaligned with the new environment. The system will re-adapt, but this transition period may produce suboptimal results.
Prop firm traders: understand your specific rules. Every prop firm has different rules regarding maximum drawdown, daily loss limits, consistency requirements, and prohibited trading behaviors. While this strategy includes common prop guardrails, you must verify it complies with your specific firm's rules and adjust parameters accordingly.
Never risk capital you cannot afford to lose. This strategy can produce substantial drawdowns, especially during learning periods or market regime shifts. Only trade with speculative capital that, if lost, would not impact your financial stability.
Recommended Usage
Paper trade first: Run the strategy on a simulated account for at least 50 trades or 1 month before committing real capital. Observe how the adaptive system behaves, identify any patterns in losing trades, monitor your stop-out rate trends, and verify your understanding of the entry/exit mechanics.
Start with minimum position sizing: When transitioning to live trading, reduce the Base Risk parameter to 0.3-0.4% initially (vs 0.5-1.0% in testing) to reduce early impact while the system learns your live broker's execution characteristics.
Monitor daily, but do not micromanage: Check the dashboard daily to ensure the strategy is operating normally and risk controls have not triggered unexpectedly. Pay special attention to the Stop-Out Rate metric—if it remains in the red or green zones for multiple days, adjust your Stop Loss ATR multiplier accordingly. However, resist the urge to manually adjust adaptive weights or disable trades based on short-term performance. Allow the adaptive system at least 30 trades to establish patterns before making manual changes.
Combine with other analysis: While this strategy can operate standalone, professional traders typically use systematic strategies as one component of a broader approach. Consider using the strategy for trade execution while applying your own higher-timeframe analysis or fundamental view for trade filtering or sizing adjustments.
Keep a trading journal: Document each week's results, note market conditions (trending vs ranging, high vs low volatility), record stop-out rates and any Stop Loss ATR adjustments you made, and document any manual interventions. Over time, this journal will help you identify conditions where the strategy excels versus struggles, allowing you to selectively enable or disable trading during certain environments.
Technical Implementation Notes
All calculations execute on closed bars only (`calc_on_every_tick=false`) ensuring that signals and values do not repaint. Once a bar closes and a signal generates, that signal is permanent in the history.
The strategy uses fixed-quantity position sizing (`default_qty_type=strategy.fixed, default_qty_value=1`) with the actual contract quantity determined by the position sizing function and passed to the entry commands. This approach provides maximum control over risk allocation.
Order management uses Pine Script's native `strategy.entry()` and `strategy.exit()` functions with appropriate parameters for stops, limits, and trailing stops. All orders include explicit from_entry references to ensure they apply to the correct position.
The adaptive learning arrays (trade_returns, trade_directions, trade_types, trade_hours, trade_was_stopped) are maintained as circular buffers capped at PERFORMANCE_MEMORY size (default 100 trades). When a new trade closes, its data is added to the beginning of the array using `array.unshift()`, and the oldest trade is removed using `array.pop()` if capacity is exceeded. The stop-out tracking system analyzes the trade_was_stopped array to calculate the rolling percentage displayed in the dashboard.
Dashboard rendering occurs only on the confirmed bar (`barstate.isconfirmed`) to minimize computational overhead. The table is pre-created with sufficient rows for the selected dashboard size and cells are populated with current values each update.
Visual effects (fractal grid, wick pressure, morphism beams, order flow clouds, quantum field) recalculate on each bar for real-time chart updates. These are computationally intensive—if you experience chart lag, disable these visual components. The core strategy logic continues to function identically regardless of visual settings.
Timezone conversions use Pine Script's built-in timezone parameter on the `hour()`, `minute()`, and `dayofweek()` functions. This ensures session logic and daily/weekly resets occur at correct boundaries regardless of the chart's default timezone or the server's timezone.
The universal futures detection queries `syminfo.mintick` and `syminfo.pointvalue` on each strategy initialization to obtain the current instrument's specifications. These values remain constant throughout the strategy's execution on a given chart but automatically update when the strategy is applied to a different instrument.
The strategy has been tested on TradingView across timeframes from 5-minute through daily and across multiple futures instrument types including equity indices, energy, metals, agriculture, treasuries, and currencies. It functions identically on all instruments due to the percentage-based risk model and ATR-relative calculations which adapt automatically to price scale and volatility, combined with the universal futures detection system that handles contract-specific specifications.
Diabolos Long What the strategy tries to do
It looks for RSI dips into oversold, then waits for RSI to recover above a chosen level before placing a limit buy slightly below the current price. If the limit doesn’t fill within a few bars, it cancels it. Once in a trade, it sets a fixed take-profit and stop-loss. It can pyramid up to 3 entries.
Step-by-step
1) Inputs you control
RSI Length (rsiLen), Oversold level (rsiOS), and a re-entry threshold (rsiEntryLevel) you want RSI to reach after oversold.
Entry offset % (entryOffset): how far below the current close to place your limit buy.
Cancel after N bars (cancelAfterBars): if still not filled after this many bars, the limit order is canceled.
Risk & compounding knobs: initialRisk (% of equity for first order), compoundRate (% to artificially grow the equity base after each signal), plus fixed TP% and SL%.
2) RSI logic (arming the setup)
It calculates rsi = ta.rsi(close, rsiLen).
If RSI falls below rsiOS, it sets a flag inOversold := true (this “arms” the next potential long).
A long signal (longCondition) happens only when:
inOversold is true (we were oversold),
RSI comes back above rsiOS,
and RSI is at least rsiEntryLevel.
So: dip into OS → recover above OS and to your threshold → signal fires.
3) Placing the entry order
When longCondition is true:
It computes a limit price: close * (1 - entryOffset/100) (i.e., below the current bar’s close).
It sizes the order as positionRisk / close, where:
positionRisk starts as accountEquity * (initialRisk/100).
accountEquity was set once at script start to strategy.equity.
It places a limit long: strategy.order("Long Entry", strategy.long, qty=..., limit=limitPrice).
It then resets inOversold := false (disarms until RSI goes oversold again).
It remembers the bar index (orderBarIndex := bar_index) so it can cancel later if unfilled.
Important nuance about “compounding” here
After signaling, it does:
compoundedEquity := compoundedEquity * (1 + compoundRate/100)
positionRisk := compoundedEquity * (initialRisk/100)
This means your future order sizes grow by a fixed compound rate every time a signal occurs, regardless of whether previous trades won or lost. It’s not tied to actual PnL; it’s an artificial growth curve. Also, accountEquity was captured only once at start, so it doesn’t automatically track live equity changes.
4) Auto-cancel the limit if it doesn’t fill
On each bar, if bar_index - orderBarIndex >= cancelAfterBars, it does strategy.cancel("Long Entry") and clears orderBarIndex.
If the order already filled, cancel does nothing (there’s nothing pending with that id).
Behavioral consequence: Because you set inOversold := false at signal time (not on fill), if a limit order never fills and later gets canceled, the strategy will not fire a new entry until RSI goes below oversold again to re-arm.
5) Managing the open position
If strategy.position_size > 0, it reads the avg entry price, then sets:
takeProfitPrice = avgEntryPrice * (1 + exitGainPercentage/100)
stopLossPrice = avgEntryPrice * (1 - stopLossPercentage/100)
It places a combined exit:
strategy.exit("TP / SL", from_entry="Long Entry", limit=takeProfitPrice, stop=stopLossPrice)
With pyramiding=3, multiple fills can stack into one net long position. Using the same from_entry id ties the TP/SL to that logical entry group (not per-layer). That’s OK in TradingView (it will manage TP/SL for the position), but you don’t get per-layer TP/SL.
6) Visuals & alerts
It plots a green triangle under the bar when the long signal condition occurs.
It exposes an alert you can hook to: “Покупка при достижении уровня”.
A quick example timeline
RSI drops below rsiOS → inOversold = true (armed).
RSI rises back above rsiOS and reaches rsiEntryLevel → signal.
Strategy places a limit buy a bit below current price.
4a) If price dips to fill within cancelAfterBars, you’re long. TP/SL are set as fixed % from avg entry.
4b) If price doesn’t dip enough, after N bars the limit is canceled. The system won’t re-try until RSI becomes oversold again.
Key quirks to be aware of
Risk sizing isn’t PnL-aware. accountEquity is frozen at start, and compoundedEquity grows on every signal, not on wins. So size doesn’t reflect real equity changes unless you rewrite it to use strategy.equity each time and (optionally) size by stop distance.
Disarm on signal, not on fill. If a limit order goes stale and is canceled, the system won’t try again unless RSI re-enters oversold. That’s intentional but can reduce fills.
Single TP/SL id for pyramiding. Works, but you can’t manage each add-on with different exits.
Dynamic Swing Anchored VWAP STRAT (Zeiierman/PineIndicators)Dynamic Swing Anchored VWAP STRATEGY — Zeiierman × PineIndicators (Pine Script v6)
A pivot-to-pivot Anchored VWAP strategy that adapts to volatility, enters long on bullish structure, and closes on bearish structure. Built for TradingView in Pine Script v6.
Full credits to zeiierman.
Repainting notice: The original indicator logic is repainting. Swing labels (HH/HL/LH/LL) are finalized after enough bars have printed, so labels do not occur in real time. It is not possible to execute at historical label points. Treat results as educational and validate with Bar Replay and paper trading before considering any discretionary use.
Concept
The script identifies swing highs/lows over a user-defined lookback ( Swing Period ). When structure flips (most recent swing low is newer than the most recent swing high, or vice versa), a new regime begins.
At each confirmed pivot, a fresh Anchored VWAP segment is started and updated bar-by-bar using an EWMA-style decay on price×volume and volume.
Responsiveness is controlled by Adaptive Price Tracking (APT) . Optionally, APT auto-adjusts with an ATR ratio so that high volatility accelerates responsiveness and low volatility smooths it.
Longs are opened/held in bullish regimes and closed when the regime turns bearish. No short positions are taken by design.
How it works (under the hood)
Swing detection: Uses ta.highestbars / ta.lowestbars over prd to update swing highs (ph) and lows (pl), plus their bar indices (phL, plL).
Regime logic: If phL > plL → bullish regime; else → bearish regime. A change in this condition triggers a re-anchor of the VWAP at the newest pivot.
Adaptive VWAP math: APT is converted to an exponential decay factor ( alphaFromAPT ), then applied to running sums of price×volume and volume, producing the current VWAP estimate.
Rendering: Each pivot-anchored VWAP segment is drawn as a polyline and color-coded by regime. Optional structure labels (HH/HL/LH/LL) annotate the swing character.
Orders: On bullish flips, strategy.entry("L") opens/maintains a long; on bearish flips, strategy.close("L") exits.
Inputs & controls
Swing Period (prd) — Higher values identify larger, slower swings; lower values catch more frequent pivots but add noise.
Adaptive Price Tracking (APT) — Governs the VWAP’s “half-life.” Smaller APT → faster/closer to price; larger APT → smoother/stabler.
Adapt APT by ATR ratio — When enabled, APT scales with volatility so the VWAP speeds up in turbulent markets and slows down in quiet markets.
Volatility Bias — Tunes the strength of APT’s response to volatility (above 1 = stronger effect; below 1 = milder).
Style settings — Colors for swing labels and VWAP segments, plus line width for visibility.
Trade logic summary
Entry: Long when the swing structure turns bullish (latest swing low is more recent than the last swing high).
Exit: Close the long when structure turns bearish.
Position size: qty = strategy.equity / close × 5 (dynamic sizing; scales with account equity and instrument price). Consider reducing the multiplier for a more conservative profile.
Recommended workflow
Apply to instruments with reliable volume (equities, futures, crypto; FX tick volume can work but varies by broker).
Start on your preferred timeframe. Intraday often benefits from smaller APT (more reactive); higher timeframes may prefer larger APT (smoother).
Begin with defaults ( prd=50, APT=20 ); then toggle “Adapt by ATR” and vary Volatility Bias to observe how segments tighten/loosen.
Use Bar Replay to watch how pivots confirm and how the strategy re-anchors VWAP at those confirmations.
Layer your own risk rules (stops/targets, max position cap, session filters) before any discretionary use.
Practical tips
Context filter: Consider combining with a higher-timeframe bias (e.g., daily trend) and using this strategy as an entry timing layer.
First pivot preference: Some traders prefer only the first bullish pivot after a bearish regime (and vice versa) to reduce whipsaw in choppy ranges.
Deviations: You can add VWAP deviation bands to pre-plan partial exits or re-entries on mean-reversion pulls.
Sessions: Session-based filters (RTH vs. ETH) can materially change behavior on futures and equities.
Extending the script (ideas)
Add stops/targets (e.g., ATR stop below last swing low; partial profits at k×VWAP deviation).
Introduce mirrored short logic for two-sided testing.
Include alert conditions for regime flips or for price-VWAP interactions.
Incorporate HTF confirmation (e.g., only long when daily VWAP slope ≥ 0).
Throttle entries (e.g., once per regime flip) to avoid over-trading in ranges.
Known limitations
Repainting: Swing labels and pivot confirmations depend on future bars; historical labels can look “perfect.” Treat them as annotations, not executable signals.
Execution realism: Strategy includes commission and slippage fields, yet actual fills differ by venue/liquidity.
No guarantees: Past behavior does not imply future results. This publication is for research/education only and not financial advice.
Defaults (backtest environment)
Initial capital: 10,000
Commission value: 0.01
Slippage: 1
Overlay: true
Max bars back: 5000; Max labels/polylines set for deep swing histories
Quick checklist
Add to chart and verify that the instrument has volume.
Use defaults, then tune APT and Volatility Bias with/without ATR adaptation.
Observe how each pivot re-anchors VWAP and how regime flips drive entries/exits.
Paper trade across several symbols/timeframes before any discretionary decisions.
Attribution & license
Original indicator concept and logic: Zeiierman — please credit the author.
Strategy wrapper and publication: PineIndicators .
License: CC BY-NC-SA 4.0 (Attribution-NonCommercial-ShareAlike). Respect the license when forking or publishing derivatives.
Quantum Reversal Engine [ApexLegion]Quantum Reversal Engine
STRATEGY OVERVIEW
This strategy is constructed using 5 custom analytical filters that analyze different market dimensions - trend structure, momentum expansion, volume confirmation, price action patterns, and reversal detection - with results processed through a multi-component scoring calculation that determines signal generation and position management decisions.
Why These Custom Filters Were Independently Developed:
This strategy employs five custom-developed analytical filters:
1. Apex Momentum Core (AMC) - Custom oscillator with volatility-scaled deviation calculation
Standard oscillators lag momentum shifts by 2-3 bars. Custom calculation designed for momentum analysis
2. Apex Wick Trap (AWT) - Wick dominance analysis for trap detection
Existing wick analysis tools don't quantify trap conditions. Uses specific ratios for wick dominance detection
3. Apex Volume Pulse (AVP) - Volume surge validation with participation confirmation
Volume indicators typically use simple averages. Uses surge multipliers with participation validation
4. Apex TrendGuard (ATG) - Angle-based trend detection with volatility band integration
EMA slope calculations often produce false signals. Uses angle analysis with volatility bands for confirmation
5. Quantum Composite Filter (QCF) - Multi-component scoring and signal generation system
Composite scoring designed to filter noise by requiring multiple confirmations before signal activation.
Each filter represents mathematical calculations designed to address specific analytical requirements.
Framework Operation: The strategy functions as a scoring framework where each filter contributes weighted points based on market conditions. Entry signals are generated when minimum threshold scores are met. Exit management operates through a three-tier system with continued signal strength evaluation determining position holds versus closures at each TP level.
Integration Challenge: The core difficulty was creating a scoring system where five independent filters could work together without generating conflicting signals. This required backtesting to determine effective weight distributions.
Custom Filter Development:
Each of the five filters represents analytical approaches developed through testing and validation:
Integration Validation: Each filter underwent individual testing before integration. The composite scoring system required validation to verify that filters complement rather than conflict with each other, resulting in a cohesive analytical framework that was tested during the development period.
These filters represent custom-developed components created specifically for this strategy, with each component addressing different analytical requirements through testing and parameter adjustment.
Programming Features:
Multi-timeframe data handling with backup systems
Performance optimization techniques
Error handling for live trading scenarios
Parameter adaptation based on market conditions
Strategy Features:
Uses multi-filter confirmation approach
Adapts position holding based on continued signal strength
Includes analysis tools for trade review and optimization
Ongoing Development: The strategy was developed through testing and validation processes during the creation period.
COMPONENT EXPLANATION
EMA System
Uses 8 exponential moving averages (7, 14, 21, 30, 50, 90, 120, 200 periods) for trend identification. Primary signals come from 8/21 EMA crossovers, while longer EMAs provide structural context. EMA 1-4 determine short-term structure, EMA 5-8 provide long-term trend confirmation.
Apex Momentum Core (AMC)
Built custom oscillator mathematics after testing dozens of momentum calculation methods. Final algorithm uses price deviation from EMA baseline with volatility scaling to reduce lag while maintaining accuracy across different market conditions.
Custom momentum oscillator using price deviation from EMA baseline:
apxCI = 100 * (source - emaBase) / (sensitivity * sqrt(deviation + 1))
fastLine = EMA(apxCI, smoothing)
signalLine = SMA(fastLine, 4)
Signals generate when fastLine crosses signalLine at +50/-50 thresholds.
This identifies momentum expansion before traditional oscillators.
Apex Volume Pulse (AVP)
Created volume surge analysis that goes beyond simple averages. Extensive testing determined 1.3x multiplier with participation validation provides reliable confirmation while filtering false volume spikes.
Compares current volume to 21-period moving average.
Requires 1.3x average volume for signal confirmation. This filters out low-volume moves during quiet periods and confirms breakouts with actual participation.
Apex Wick Trap (AWT)
Developed proprietary wick trap detection through analysis of failed breakout patterns. Tested various ratio combinations before settling on 60% wick dominance + 20% body limit as effective trap identification parameters.
Analyzes candle structure to identify failed breakouts:
candleRange = math.max(high - low, 0.00001)
candleBody = math.abs(close - open)
bodyRatio = candleBody / candleRange
upperWick = high - math.max(open, close)
lowerWick = math.min(open, close) - low
upperWickRatio = upperWick / candleRange
lowerWickRatio = lowerWick / candleRange
trapWickLong = showAWT and lowerWickRatio > minWickDom and bodyRatio < bodyToRangeLimit and close > open
trapWickShort = showAWT and upperWickRatio > minWickDom and bodyRatio < bodyToRangeLimit and close < open This catches reversals after fake breakouts.
Apex TrendGuard (ATG)
Built angle-based trend detection after standard EMA crossovers proved insufficient. Combined slope analysis with volatility bands through iterative testing to eliminate false trend signals.
EMA slope analysis with volatility bands:
Fast EMA (21) vs Slow EMA (55) for trend direction
Angle calculation: atan(fast - slow) * 180 / π
ATR bands (1.75x multiplier) for breakout confirmation
Minimum 25° angle for strong trend classification
Core Algorithm Framework
1. Composite Signal Generation
calculateCompositeSignals() =>
// Component Conditions
structSignalLong = trapWickLong
structSignalShort = trapWickShort
momentumLong = amcBuySignal
momentumShort = amcSellSignal
volumeSpike = volume > volAvg_AVP * volMult_AVP
priceStrength_Long = close > open and close > close
priceStrength_Short = close < open and close < close
rsiMfiComboValue = (ta.rsi(close, 14) + ta.mfi(close, 14)) / 2
reversalTrigger_Long = ta.crossover(rsiMfiComboValue, 50)
reversalTrigger_Short = ta.crossunder(rsiMfiComboValue, 50)
isEMACrossUp = ta.crossover(emaFast_ATG, emaSlow_ATG)
isEMACrossDown = ta.crossunder(emaFast_ATG, emaSlow_ATG)
// Enhanced Composite Score Calculation
scoreBuy = 0.0
scoreBuy += structSignalLong ? scoreStruct : 0.0
scoreBuy += momentumLong ? scoreMomentum : 0.0
scoreBuy += flashSignal ? weightFlash : 0.0
scoreBuy += blinkSignal ? weightBlink : 0.0
scoreBuy += volumeSpike_AVP ? scoreVolume : 0.0
scoreBuy += priceStrength_Long ? scorePriceAction : 0.0
scoreBuy += reversalTrigger_Long ? scoreReversal : 0.0
scoreBuy += emaAlignment_Bull ? weightTrendAlign : 0.0
scoreBuy += strongUpTrend ? weightTrendAlign : 0.0
scoreBuy += highRisk_Long ? -1.2 : 0.0
scoreBuy += signalGreenDot ? 1.0 : 0.0
scoreBuy += isAMCUp ? 0.8 : 0.0
scoreBuy += isVssBuy ? 1.5 : 0.0
scoreBuy += isEMACrossUp ? 1.0 : 0.0
scoreBuy += signalRedX ? -1.0 : 0.0
scoreSell = 0.0
scoreSell += structSignalShort ? scoreStruct : 0.0
scoreSell += momentumShort ? scoreMomentum : 0.0
scoreSell += flashSignal ? weightFlash : 0.0
scoreSell += blinkSignal ? weightBlink : 0.0
scoreSell += volumeSpike_AVP ? scoreVolume : 0.0
scoreSell += priceStrength_Short ? scorePriceAction : 0.0
scoreSell += reversalTrigger_Short ? scoreReversal : 0.0
scoreSell += emaAlignment_Bear ? weightTrendAlign : 0.0
scoreSell += strongDownTrend ? weightTrendAlign : 0.0
scoreSell += highRisk_Short ? -1.2 : 0.0
scoreSell += signalRedX ? 1.0 : 0.0
scoreSell += isAMCDown ? 0.8 : 0.0
scoreSell += isVssSell ? 1.5 : 0.0
scoreSell += isEMACrossDown ? 1.0 : 0.0
scoreSell += signalGreenDot ? -1.0 : 0.0
compositeBuySignal = enableComposite and scoreBuy >= thresholdCompositeBuy
compositeSellSignal = enableComposite and scoreSell >= thresholdCompositeSell
if compositeBuySignal and compositeSellSignal
compositeBuySignal := false
compositeSellSignal := false
= calculateCompositeSignals()
// Final Entry Signals
entryCompositeBuySignal = compositeBuySignal and ta.rising(emaFast_ATG, 2)
entryCompositeSellSignal = compositeSellSignal and ta.falling(emaFast_ATG, 2)
Calculates weighted scores from independent modules and activates signals only when threshold requirements are met.
2. Smart Exit Hold Evaluation System
evaluateSmartHold() =>
compositeBuyRecentCount = 0
compositeSellRecentCount = 0
for i = 0 to signalLookbackBars - 1
compositeBuyRecentCount += compositeBuySignal ? 1 : 0
compositeSellRecentCount += compositeSellSignal ? 1 : 0
avgVolume = ta.sma(volume, 20)
volumeSpike = volume > avgVolume * volMultiplier
// MTF Bull/Bear conditions
mtf_bull = mtf_emaFast_final > mtf_emaSlow_final
mtf_bear = mtf_emaFast_final < mtf_emaSlow_final
emaBackupDivergence = math.abs(mtf_emaFast_backup - mtf_emaSlow_backup) / mtf_emaSlow_backup
emaBackupStrong = emaBackupDivergence > 0.008
mtfConflict_Long = inLong and mtf_bear and emaBackupStrong
mtfConflict_Short = inShort and mtf_bull and emaBackupStrong
// Layer 1: ATR-Based Dynamic Threshold (Market Volatility Intelligence)
atr_raw = ta.atr(atrLen)
atrValue = na(atr_raw) ? close * 0.02 : atr_raw
atrRatio = atrValue / close
dynamicThreshold = atrRatio > 0.02 ? 1.0 : (atrRatio > 0.01 ? 1.5 : 2.8)
// Layer 2: ROI-Conditional Time Intelligence (Selective Pressure)
timeMultiplier_Long = realROI >= 0 ? 1.0 : // Profitable positions: No time pressure
holdTimer_Long <= signalLookbackBars ? 1.0 : // Loss positions 1-8 bars: Base
holdTimer_Long <= signalLookbackBars * 2 ? 1.1 : // Loss positions 9-16 bars: +10% stricter
1.3 // Loss positions 17+ bars: +30% stricter
timeMultiplier_Short = realROI >= 0 ? 1.0 : // Profitable positions: No time pressure
holdTimer_Short <= signalLookbackBars ? 1.0 : // Loss positions 1-8 bars: Base
holdTimer_Short <= signalLookbackBars * 2 ? 1.1 : // Loss positions 9-16 bars: +10% stricter
1.3 // Loss positions 17+ bars: +30% stricter
// Dual-Layer Threshold Calculation
baseThreshold_Long = mtfConflict_Long ? dynamicThreshold + 1.0 : dynamicThreshold
baseThreshold_Short = mtfConflict_Short ? dynamicThreshold + 1.0 : dynamicThreshold
timeAdjustedThreshold_Long = baseThreshold_Long * timeMultiplier_Long
timeAdjustedThreshold_Short = baseThreshold_Short * timeMultiplier_Short
// Final Smart Hold Decision with Dual-Layer Intelligence
smartHold_Long = not mtfConflict_Long and smartScoreLong >= timeAdjustedThreshold_Long and compositeBuyRecentCount >= signalMinCount
smartHold_Short = not mtfConflict_Short and smartScoreShort >= timeAdjustedThreshold_Short and compositeSellRecentCount >= signalMinCount
= evaluateSmartHold()
Evaluates whether to hold positions past TP1/TP2/TP3 levels based on continued signal strength, volume confirmation, and multi-timeframe trend alignment
HOW TO USE THE STRATEGY
Step 1: Initial Setup
Apply strategy to your preferred timeframe (backtested on 15M)
Enable "Use Heikin-Ashi Base" for smoother signals in volatile markets
"Show EMA Lines" and "Show Ichimoku Cloud" are enabled for visual context
Set default quantities to match your risk management (5% equity default)
Step 2: Signal Recognition
Visual Signal Guide:
Visual Signal Guide - Complete Reference:
🔶 Red Diamond: Bearish momentum breakdown - short reversal signal
🔷 Blue Diamond: Strong bullish momentum - long reversal signal
🔵 Blue Dot: Volume-confirmed directional move - trend continuation
🟢 Green Dot: Bullish EMA crossover - trend reversal confirmation
🟠 Orange X: Oversold reversal setup - counter-trend opportunity
❌ Red X: Bearish EMA breakdown - trend reversal warning
✡ Star Uprising: Strong bullish convergence
💥 Ultra Entry: Ultra-rapid downward momentum acceleration
▲ VSS Long: Velocity-based bullish momentum confirmation
▼ VSS Short: Velocity-based bearish momentum confirmation
Step 3: Entry Execution
For Long Positions:
1. ✅ EMA1 crossed above EMA2 exactly 3 bars ago [ta.crossover(ema1,ema2) ]
2. ✅ Current EMA structure: EMA1 > EMA2 (maintained)
3. ✅ Composite score ≥ 5.0 points (6.5+ for 5-minute timeframes)
4. ✅ Cooldown period completed (no recent stop losses)
5. ✅ Volume spike confirmation (green dot/blue dot signals)
6. ✅ Bullish candle closes above EMA structure
For Short Positions:
1. ✅ EMA1 crossed below EMA2 exactly 3 bars ago [ta.crossunder(ema1,ema2) ]
2. ✅ Current EMA structure: EMA1 < EMA2 (maintained)
3. ✅ Composite score ≥ 5.4 points (7.0+ for 5-minute timeframes)
4. ✅ Cooldown period completed (no recent stop losses)
5. ✅ Momentum breakdown (red diamond/red X signals)
6. ✅ Bearish candle closes below EMA structure
🎯 Critical Timing Note: The strategy requires EMA crossover to have occurred 3 bars prior to entry, not at the current bar. This attempts to avoid premature entries and may improve signal reliability.
Step 4: Reading Market Context
EMA Ribbon Interpretation:
All EMAs ascending = Strong uptrend context
EMAs 1-3 above EMAs 4-8 = Bullish structure
Tight EMA spacing = Low volatility/consolidation
Wide EMA spacing = High volatility/trending
Ichimoku Cloud Context:
Price above cloud = Bullish environment
Price below cloud = Bearish environment
Cloud color intensity = Momentum strength
Thick cloud = Strong support/resistance
THE SMART EXIT GRID SYSTEM
Smart Exit Grid Approach:
The Smart Exit Grid uses dynamic hold evaluation that continuously analyzes market conditions after position entry. This differs from traditional fixed profit targets by adapting exit timing based on real-time signal strength.
How Smart Exit Grid System Works
The system operates through three evaluation phases:
Smart Score Calculation:
The smart score calculation aggregates 22 signal components in real-time, combining reversal warnings, continuation signals, trend alignment indicators, EMA structural analysis, and risk penalties into a numerical representation of market conditions. MTF analysis provides additional confirmation as a separate validation layer.
Signal Stack Management:
The per-tick signal accumulation system monitors 22 active signal types with MTF providing trend validation and conflict detection as a separate confirmation layer.
Take Profit Progression:
Smart Exit Activation:
The QRE system activates Smart Exit Grid immediately upon position entry. When strategy.entry() executes, the system initializes monitoring systems designed to track position progress.
Upon position opening, holdTimer begins counting, establishing the foundation for subsequent decisions. The Smart Exit Grid starts accumulating signals from entry, with all 22 signal components beginning real-time tracking when the trade opens.
The system operates on continuous evaluation where smartScoreLong and smartScoreShort calculate from the first tick after entry. QRE's approach is designed to capture market structure changes, trend deteriorations, or signal pattern shifts that can trigger protective exits even before the first take profit level is reached.
This activation creates a proactive position management framework. The 8-candle sliding window starts from entry, meaning that if market conditions change rapidly after entry - due to news events, liquidity shifts, or technical changes - the system can respond within the configured lookback period.
TP Markers as Reference Points:
The TP1, TP2, and TP3 levels function as reference points rather than mandatory exit triggers. When longTP1Hit or shortTP1Hit conditions activate, they serve as profit confirmation markers that inform the Smart Exit algorithm about achieved reward levels, but don't automatically initiate position closure.
These TP markers enhance the Smart Exit decision matrix by providing profit context to ongoing signal evaluation. The system recognizes when positions have achieved target returns, but the actual exit decision remains governed by continuous smart score evaluation and signal stack analysis.
TP2 Reached: Enhanced Monitoring
TP2 represents significant profit capture with additional monitoring features:
This approach is designed to help avoid premature profit-taking during trending conditions. If TP2 is reached but smartScoreLong remains above the dynamic threshold and the 8-candle sliding window shows persistent signals, the position continues holding. If market structure deteriorates before reaching TP2, the Smart Exit can trigger closure based on signal analysis.
The visual TP circles that appear when levels are reached serve as performance tracking tools, allowing users to see how frequently entries achieve various profit levels while understanding that actual exit timing depends on market structure analysis.
Risk Management Systems:
Operating independently from the Smart Exit Grid are two risk management systems: the Trap Wick Detection Protocol and the Stop Loss Mechanism. These systems maintain override authority over other exit logic.
The Trap Wick System monitors for conditionBearTrapExit during long positions and conditionBullTrapExit during short positions. When detected, these conditions trigger position closure with state reset, bypassing Smart Exit evaluations. This system recognizes that certain candlestick patterns may indicate reversal risk.
Volatility Exit Monitoring: The strategy monitors for isStrongBearCandle combined with conditionBearTrapExit, recognizing when market structure may be shifting.
Volume Validation: Before exiting on volatility, the strategy requires volume confirmation: volume > ta.sma(volume, 20) * 1.8. This is designed to filter exits on weak, low-volume movements.
The Stop Loss Mechanism operates through multiple triggers including traditional price-based stops (longSLHit, shortSLHit) and early exit conditions based on smart score deterioration combined with negative ROI. The early exit logic activates when smartScoreLong < 1.0 or smartScoreShort < 1.0 while realROI < -0.9%.
These risk management systems are designed so that risk scenarios can trigger protective closure with state reset across all 22 signal counters, TP tracking variables, and smart exit states.
This architecture - Smart Exit activation, TP markers as navigation tools, and independent risk management - creates a position management system that adapts to market conditions while maintaining risk discipline through dedicated protection protocols.
TP3 Reached: Enhanced Protection
Once TP3 is hit, the strategy shifts into enhanced monitoring:
EMA Structure Monitoring: isEMAStructureDown becomes a primary exit trigger
MTF Alignment: The higher timeframe receives increased consideration
Wick Trap Priority: conditionBearTrapExit becomes an immediate exit signal
Approach Differences:
Traditional Fixed Exits:
Exit at predetermined levels regardless of market conditions
May exit during trend continuation
May exit before trend completion
Limited adaptation to changing volatility
Smart Exit Grid Approach:
Adaptive timing based on signal conditions
Exits when supporting signals weaken
Multi-timeframe validation for trend confirmation
Volume confirmation requirements for holds
Structural monitoring for trend analysis
Dynamic ATR-Based Smart Score Threshold System
Market Volatility Adaptive Scoring
// Real-time ATR Analysis
atr_raw = ta.atr(atrLen)
atrValue = na(atr_raw) ? close * 0.02 : atr_raw
atrRatio = atrValue / close
// Three-Tier Dynamic Threshold Matrix
dynamicThreshold = atrRatio > 0.02 ? 1.0 : // High volatility: Lower threshold
(atrRatio > 0.01 ? 1.5 : // Medium volatility: Standard
2.8) // Low volatility: Higher threshold
The market volatility adaptive scoring calculates real-time ATR with a 2% fallback for new markets. The atrRatio represents the relationship between current volatility and price, creating a foundation for threshold adjustment.
The three-tier dynamic threshold matrix responds to market conditions by adjusting requirements based on volatility levels: lowering thresholds during high volatility periods above 2% ATR ratio to 1.0 points, maintaining standard requirements at 1.5 points for medium volatility between 1-2%, and raising standards to 2.8 points during low volatility periods below 1%.
Profit-Loss Adaptive Management:
The system applies different evaluation criteria based on position performance:
Winning Positions (realROI ≥ 0%):
→ timeMultiplier = 1.0 (No additional pressure)
→ Maintains base threshold requirements
→ Allows natural progression to TP2/TP3 levels
Losing Positions (realROI < 0%):
→ Progressive time pressure activated
→ Increasingly strict requirements over time
→ Faster decision-making on underperforming trades
ROI-Adaptive Smart Hold Decision Process:
The strategy uses a profit-loss adaptive system:
Winning Position Management (ROI ≥ 0%):
✅ Standard threshold requirements maintained
✅ No additional time-based pressure applied
✅ Allows positions to progress toward TP2/TP3 levels
✅ timeMultiplier remains at 1.0 regardless of hold duration
Losing Position Management (ROI < 0%):
⚠️ Time-based threshold adjustments activated
⚠️ Progressive increase in required signal strength over time
⚠️ Earlier exit evaluation on underperforming positions
⚠️ timeMultiplier increases from 1.0 → 1.1 → 1.3 based on hold duration
Real-Time Monitoring:
Monitor Analysis Table → "Smart" filter → "Score" vs "Dynamic Threshold"
Winning positions: Evaluation based on signal strength deterioration only
Losing positions: Evaluation considers both signal strength and progressive time adjustments
Breakeven positions (0% ROI): Treated as winning positions - no time adjustments
This approach differentiates between winning and losing positions in the hold evaluation process, requiring higher signal thresholds for extended holding of losing positions while maintaining standard requirements for winning ones.
ROI-Conditional Decision Matrix Examples:
Scenario 1 - Winning Position in Any Market:
Position ROI: +0.8% → timeMultiplier = 1.0 (regardless of hold time)
ATR Medium (1.2%) → dynamicThreshold = 1.5
Final Threshold = 1.5 × 1.0 = 1.5 points ✅ Position continues
Scenario 2 - Losing Position, Extended Hold:
Position ROI: -0.5% → Time pressure activated
Hold Time: 20 bars → timeMultiplier = 1.3
ATR Low (0.8%) → dynamicThreshold = 2.8
Final Threshold = 2.8 × 1.3 = 3.64 points ⚡ Enhanced requirements
Scenario 3 - Fresh Losing Position:
Position ROI: -0.3% → Time pressure activated
Hold Time: 5 bars → timeMultiplier = 1.0 (still early)
ATR High (2.1%) → dynamicThreshold = 1.0
Final Threshold = 1.0 × 1.0 = 1.0 points 📊 Recovery opportunity
Scenario 4 - Breakeven Position:
Position ROI: 0.0% → timeMultiplier = 1.0 (no pressure)
Hold Time: 15 bars → No time penalty applied
Final Threshold = dynamicThreshold only ⚖️ Neutral treatment
🔄8-Candle Sliding Window Signal Rotation System
Composite Signal Counting Mechanism
// Dynamic Lookback Window (configurable: default 8)
signalLookbackBars = input.int(8, "Composite Lookback Bars", minval=1, maxval=50)
// Rolling Signal Analysis
compositeBuyRecentCount = 0
compositeSellRecentCount = 0
for i = 0 to signalLookbackBars - 1
compositeBuyRecentCount += compositeBuySignal ? 1 : 0
compositeSellRecentCount += compositeSellSignal ? 1 : 0
Candle Flow Example (8-bar window):
→
✓ ✓ ✗ ✓ ✗ ✓ ✗ ✓ 🗑️
New Signal Count = 5/8 signals in window
Threshold Check: 5 ≥ signalMinCount (2) = HOLD CONFIRMED
Signal Decay & Refresh Mechanism
// Signal Persistence Tracking
if compositeBuyRecentCount >= signalMinCount
smartHold_Long = true
else
smartHold_Long = false
The composite signal counting operates through a configurable sliding window. The system maintains rolling counters that scan backward through the specified number of candles.
During each evaluation cycle, the algorithm iterates through historical bars, incrementing counters when composite signals are detected. This creates a dynamic signal persistence measurement where recent signal density determines holding decisions.
The sliding window rotation functions like a moving conveyor belt where new signals enter while the oldest signals drop off. For example, in an 8-bar window, if 5 out of 8 recent candles showed composite buy signals, and the minimum required count is 2, the system confirms the hold condition. As new bars form, the window slides forward, potentially changing the signal count and triggering exit conditions when signal density falls below the threshold.
Signal decay and refresh occur continuously where smartHold_Long remains true only when compositeBuyRecentCount exceeds signalMinCount. When recent signal density drops below the minimum requirement, the system switches to exit mode.
Advanced Signal Stack Management - 22-Signal Real-Time Evaluation
// Long Position Signal Stacking (calc_on_every_tick=true)
if inLong
// Primary Reversal Signals
if signalRedDiamond: signalCountRedDiamond += 1 // -0.5 points
if signalStarUprising: signalCountStarUprising += 1 // +1.5 points
if entryUltraShort: signalCountUltra += 1 // -1.0 points
// Trend Confirmation Signals
if strongUpTrend: trendUpCount_Long += 1 // +1.5 points
if emaAlignment_Bull: bullAlignCount_Long += 1 // +1.0 points
// Risk Assessment Signals
if highRisk_Long: riskCount_Long += 1 // -1.5 points
if topZone: tzoneCount_Long += 1 // -0.5 points
The per-tick signal accumulation system operates with calc_on_every_tick=true for real-time responsiveness. During long positions, the system monitors primary reversal signals where Red Diamond signals subtract 0.5 points as reversal warnings, Star Uprising adds 1.5 points for continuation signals, and Ultra Short signals deduct 1.0 points as counter-trend warnings.
Trend confirmation signals provide weighted scoring where strongUpTrend adds 1.5 points for aligned momentum, emaAlignment_Bull contributes 1.0 point for structural support, and various EMA-based confirmations contribute to the overall score. Risk assessment signals apply negative weighting where highRisk_Long situations subtract 1.5 points, topZone conditions deduct 0.5 points, and other risk factors create defensive scoring adjustments.
The smart score calculation aggregates all 22 components in real-time, combining reversal warnings, continuation signals, trend alignment indicators, EMA structural analysis, and risk penalties into a numerical representation of market conditions. This score updates continuously, providing the foundation for hold-or-exit decisions.
MULTI-TIMEFRAME (MTF) SYSTEM
MTF Data Collection
The strategy requests higher timeframe data (default 30-minute) for trend confirmation:
= request.security(syminfo.tickerid, mtfTimeframe, , lookahead=barmerge.lookahead_off, gaps=barmerge.gaps_off)
MTF Watchtower System - Implementation Logic
The system employs a timeframe discrimination protocol where currentTFInMinutes is compared against a 30-minute threshold. This creates different operational behavior between timeframes:
📊 Timeframe Testing Results:
30M+ charts: Full MTF confirmation → Tested with full features
15M charts: Local EMA + adjusted parameters → Standard testing baseline
5M charts: Local EMA only → Requires parameter adjustment
1M charts: High noise → Limited testing conducted
When the chart timeframe is 30 minutes or above, the strategy activates useMTF = true and requests external MTF data through request.security(). For timeframes below 30 minutes, including your 5-minute setup, the system deliberately uses local EMA calculations to avoid MTF lag and data inconsistencies.
The triple-layer data sourcing architecture works as follows: timeframes from 1 minute to 29 minutes rely on chart-based EMA calculations for immediate responsiveness. Timeframes of 30 minutes and above utilize MTF data through the security function, with a backup system that doubles the EMA length (emaLen * 2) if MTF data fails. When MTF data is unavailable or invalid, the system falls back to local EMA as the final safety net.
Data validation occurs through a pipeline where mtf_dataValid checks not only for non-null values but also verifies that EMA values are positive above zero. The system tracks data sources through mtf_dataSource which displays "MTF Data" for successful external requests, "Backup EMA" for failed MTF with backup system active, or "Chart EMA" for local calculations.
🔄 MTF Smart Score Caching & Recheck System
// Cache Update Decision Logic
mtfSmartIntervalSec = input.int(300, "Smart Grid Recheck Interval (sec)") // 5-minute cache
canRecheckSmartScore = na(timenow) ? false :
(na(lastCheckTime) or (timenow - lastCheckTime) > mtfSmartIntervalSec * 1000)
// Cache Management
if canRecheckSmartScore
lastCheckTime := timenow
cachedSmartScoreLong := smartScoreLong // Store current calculation
cachedSmartScoreShort := smartScoreShort
The performance-optimized caching system addresses the computational intensity of continuous MTF analysis through intelligent interval management. The mtfSmartIntervalSec parameter, defaulting to 300 seconds (5 minutes), determines cache refresh frequency. The system evaluates canRecheckSmartScore by comparing current time against lastCheckTime plus the configured interval.
When cache updates trigger, the system stores current calculations in cachedSmartScoreLong and cachedSmartScoreShort, creating stable reference points that reduce excessive MTF requests. This cache management balances computational efficiency with analytical accuracy.
The cache versus real-time hybrid system creates a multi-layered decision matrix where immediate signals update every tick for responsive market reaction, cached MTF scores refresh every 5 minutes for stability filtering, dynamic thresholds recalculate every bar for volatility adaptation, and sliding window analysis updates every bar for trend persistence validation.
This architecture balances real-time signal detection with multi-timeframe strategic validation, creating adaptive trading intelligence that responds immediately to market changes while maintaining strategic stability through cached analysis and volatility-adjusted decision thresholds.
⚡The Execution Section Deep Dive
The execution section represents the culmination of all previous systems – where analysis transforms into action.
🚪 Entry Execution: The Gateway Protocol
Primary Entry Validation:
Entry isn't just about seeing a signal – it's about passing through multiple security checkpoints, each designed to filter out low-quality opportunities.
Stage 1: Signal Confirmation
entryCompositeBuySignal must be TRUE for longs
entryCompositeSellSignal must be TRUE for shorts
Stage 2: Enhanced Entry Validation
The strategy employs an "OR" logic system that recognizes different types of market opportunities:
Path A - Trend Reversal Entry:
When emaTrendReversal_Long triggers, it indicates the market structure is shifting in favor of the trade direction. This isn't just about a single EMA crossing – it represents a change in market momentum that experienced traders recognize as potential high-probability setups.
Path B - Momentum Breakout Entry:
The strongBullMomentum condition is where QRE identifies accelerating market conditions:
Criteria:
EMA1 rising for 3+ candles AND
EMA2 rising for 2+ candles AND
Close > 10-period high
This combination captures those explosive moves where the market doesn't just trend – it accelerates, creating momentum-driven opportunities.
Path C - Recovery Entry:
When previous exit states are clean (no recent stop losses), the strategy permits entry based purely on signal strength. This pathway is designed to help avoid the strategy becoming overly cautious after successful trades.
🛡️ The Priority Exit Matrix: When Rules Collide
Not all exit signals are created equal. QRE uses a strict hierarchy that is designed to avoid conflicting signals from causing hesitation:
Priority Level 1 - Exception Exits (Immediate Action):
Condition: TP3 reached AND Wick Trap detected
Action: Immediate exit regardless of other signals
Rationale: Historical analysis suggests wick traps at TP3 may indicate potential reversals
Priority Level 2 - Structural Breakdown:
Condition: TP3 active AND EMA structure deteriorating AND Smart Score insufficient
Logic: isEMAStructureDown AND NOT smartHold_Long
This represents the strategy recognizing that the underlying market structure that justified the trade is failing. It's like a building inspector identifying structural issues – you don't wait for additional confirmation.
Priority Level 3 - Enhanced Volatility Exits:
Conditions: TP2 active AND Strong counter-candle AND Wick trap AND Volume spike
Logic: Multiple confirmation required to reduce false exits
Priority Level 4 - Standard Smart Score Exits:
Condition: Any TP level active AND smartHold evaluates to FALSE
This is the bread-and-butter exit logic where signal deterioration triggers exit
⚖️ Stop Loss Management: Risk Control Protocol
Dual Stop Loss System:
QRE provides two stop loss modes that users can select based on their preference:
Fixed Mode (Default - useAdaptiveSL = false):
Uses predetermined percentage levels regardless of market volatility:
- Long SL = entryPrice × (1 - fixedRiskP - slipBuffer)
- Short SL = entryPrice × (1 + fixedRiskP + slipBuffer)
- Default: 0.6% risk + 0.3% slippage buffer = 0.9% total stop
- Consistent and predictable stop loss levels
- Recommended for users who prefer stable risk parameters
Adaptive Mode (Optional - useAdaptiveSL = true):
Dynamic system that adjusts stop loss based on market volatility:
- Base Calculation uses ATR (Average True Range)
- Long SL = entryPrice × (1 - (ATR × atrMultSL) / entryPrice - slipBuffer)
- Short SL = entryPrice × (1 + (ATR × atrMultSL) / entryPrice + slipBuffer)
- Automatically widens stops during high volatility periods
- Tightens stops during low volatility periods
- Advanced users can enable for volatility-adaptive risk management
Trend Multiplier Enhancement (Both Modes):
When strongUpTrend is detected for long positions, the stop loss receives 1.5x breathing room. Strong trends often have deeper retracements before continuing. This is designed to help avoid the strategy being shaken out of active trades by normal market noise.
Mode Selection Guidance:
- New Users: Start with Fixed Mode for predictable risk levels
- Experienced Users: Consider Adaptive Mode for volatility-responsive stops
- Volatile Markets: Adaptive Mode may provide better stop placement
- Stable Markets: Fixed Mode often sufficient for consistent risk management
Early Exit Conditions:
Beyond traditional stop losses, QRE implements "smart stops" that trigger before price-based stops:
Early Long Exit: (smartScoreLong < 1.0 OR prev5BearCandles) AND realROI < -0.9%
🔄 State Management: The Memory System
Complete State Reset Protocol:
When a position closes, QRE doesn't just wipe the slate clean – it performs a methodical reset:
TP State Cleanup:
All Boolean flags: tp1/tp2/tp3HitBefore → FALSE
All Reached flags: tp1/tp2/tp3Reached → FALSE
All Active flags: tp1/tp2/tp3HoldActive → FALSE
Signal Counter Reset:
Every one of the 22 signal counters returns to zero.
This is designed to avoid signal "ghosting" where old signals influence new trades.
Memory Preservation:
While operational states reset, certain information is preserved for learning:
killReasonLong/Short: Why did this trade end?
lastExitWasTP1/TP2/TP3: What was the exit quality?
reEntryCount: How many consecutive re-entries have occurred?
🔄 Re-Entry Logic: The Comeback System
Re-Entry Conditions Matrix:
QRE implements a re-entry system that recognizes not all exits are created equal:
TP-Based Re-Entry (Enabled):
Criteria: Previous exit was TP1, TP2, or TP3
Cooldown: Minimal or bypassed entirely
Logic: Target-based exits indicate potentially viable market conditions
EMA-Based Re-Entry (Conditional):
Criteria: Previous exit was EMA-based (structural change)
Requirements: Must wait for EMA confirmation in new direction
Minimum Wait: 5 candles
Advanced Re-Entry Features:
When adjustReEntryTargets is enabled, the strategy becomes more aggressive with re-entries:
Target Adjustment: TP1 multiplied by reEntryTP1Mult (default 2.0)
Stop Adjustment: SL multiplied by reEntrySLMult (default 1.5)
Logic: If we're confident enough to re-enter, we should be confident enough to hold for bigger moves
Performance Tracking: Strategy tracks re-entry win rate, average ROI, and total performance separately from initial entries for optimization analysis.
📊 Exit Reason Analytics: Learning from Every Trade
Kill Reason Tracking:
Every exit is categorized and stored:
"TP3 Exit–Wick Trap": Exit at target level with wick pattern detection
"Smart Exit–EMA Down": Structural breakdown exit
"Smart Exit–Volatility": Volatility-based protection exit
"Exit Post-TP1/TP2/TP3": Standard smart exit progression
"Long SL Exit" / "Short SL Exit": Stop loss exits
Performance Differentiation:
The strategy tracks performance by exit type, allowing for continuous analysis:
TP-based exits: Achieved target levels, analyze for pattern improvement
EMA-based exits: Mixed results, analyze for pattern improvement
SL-based exits: Learning opportunities, adjust entry criteria
Volatility exits: Protective measures, monitor performance
🎛️ Trailing Stop Implementation:
Conditional Trailing Activation:
Activation Criteria: Position profitable beyond trailingStartPct AND
(TP hold active OR re-entry trade)
Dynamic Trailing Logic:
Unlike simple trailing stops, QRE's implementation considers market context:
Trending Markets: Wider trail offsets to avoid whipsaws
Volatile Markets: Tighter offsets to protect gains
Re-Entry Trades: Enhanced trailing to maximize second-chance opportunities
Return-to-Entry Protection:
When deactivateOnReturn is enabled, the strategy will close positions that return to entry level after being profitable. This is designed to help avoid the frustration of watching profitable trades turn into losers.
🧠 How It All Works Together
The beauty of QRE lies not in any single component, but in how everything integrates:
The Entry Decision: Multiple pathways are designed to help identify opportunities while maintaining filtering standards.
The Progression System: Each TP level unlocks new protection features, like achieving ranks in a video game.
The Exit Matrix: Prioritized decision-making aims to reduce analysis paralysis while providing appropriate responses to different market conditions.
The Memory System: Learning from each trade while preventing contamination between separate opportunities.
The Re-Entry Logic: Re-entry system that balances opportunity with risk management.
This creates a trading system where entry conditions filter for quality, progression systems adapt to changing market conditions, exit priorities handle conflicting signals intelligently, memory systems learn from each trade cycle, and re-entry logic maximizes opportunities while managing risk exposure.
📊 ANALYSIS TABLE INTERPRETATION -
⚙️ Enabling Analysis Mode
Navigate to strategy settings → "Testing & Analysis" → Enable "Show Analysis Table". The Analysis Table displays different information based on the selected test filter and provides real-time insight into all strategy components, helping users understand current market conditions, position status, and system decision-making processes.
📋 Filter Mode Interpretations
"All" Mode (Default View):
Composite Section:
Buy Score: Aggregated strength from all 22 bullish signals (threshold 5.0+ triggers entry consideration)
Sell Score: Aggregated strength from all 22 bearish signals (threshold 5.4+ triggers entry consideration)
APEX Filters:
ATG Trend: Shows current trend direction analysis
Indicates whether momentum filters are aligned for directional bias
ReEntry Section:
Most Recent Exit: Displays exit type and timeframe since last position closure
Status: Shows if ReEntry system is Ready/Waiting/Disabled
Count: Current re-entry attempts versus maximum allowed attempts
Position Section (When Active):
Status: Current position state (LONG/SHORT/FLAT)
ROI: Dual calculation showing Custom vs Real ROI percentages
Entry Price: Original position entry level
Current Price: Live market price for comparison
TP Tracking: Progress toward profit targets
"Smart" Filter (Critical for Active Positions):
Smart Exit Section:
Hold Timer: Time elapsed since position opened (bar-based counting)
Status: Whether Smart Exit Grid is Enabled/Disabled
Score: Current smart score calculation from 22-component matrix
Dynamic Threshold: ATR-based minimum score required for holding
Final Threshold: Time and ROI-adjusted threshold actually used for decisions
Score Check: Pass/Fail based on Score vs Final Threshold comparison
Smart Hold: Current hold decision status
Final Hold: Final recommendation based on all factors
🎯 Advanced Smart Exit Debugging - ROI & Time-Based Threshold System
Understanding the Multi-Layer Threshold System:
Layer 1: Dynamic Threshold (ATR-Based)
atrRatio = ATR / close
dynamicThreshold = atrRatio > 0.02 ? 1.0 : // High volatility: Lower threshold
(atrRatio > 0.01 ? 1.5 : // Medium volatility: Standard
2.8) // Low volatility: Higher threshold
Layer 2: Time Multiplier (ROI & Duration-Based)
Winning Positions (ROI ≥ 0%):
→ timeMultiplier = 1.0 (No time pressure, regardless of hold duration)
Losing Positions (ROI < 0%):
→ holdTimer ≤ 8 bars: timeMultiplier = 1.0 (Early stage, standard requirements)
→ holdTimer 9-16 bars: timeMultiplier = 1.1 (10% stricter requirements)
→ holdTimer 17+ bars: timeMultiplier = 1.3 (30% stricter requirements)
Layer 3: Final Threshold Calculation
finalThreshold = dynamicThreshold × timeMultiplier
Examples:
- Winning Position: 2.8 × 1.0 = 2.8 (Always standard)
- Losing Position (Early): 2.8 × 1.0 = 2.8 (Same as winning initially)
- Losing Position (Extended): 2.8 × 1.3 = 3.64 (Much stricter)
Real-Time Debugging Display:
Smart Exit Section shows:
Score: 3.5 → Current smartScoreLong/Short value
Dynamic Threshold: 2.8 → Base ATR-calculated threshold
Final Threshold: 3.64 (ATR×1.3) → Actual threshold used for decisions
Score Check: FAIL (3.5 vs 3.64) → Pass/Fail based on final comparison
Final Hold: NO HOLD → Actual system decision
Position Status Indicators:
Winner + Early: ATR×1.0 (No pressure)
Winner + Extended: ATR×1.0 (No pressure - winners can run indefinitely)
Loser + Early: ATR×1.0 (Recovery opportunity)
Loser + Extended: ATR×1.1 or ATR×1.3 (Increasing pressure to exit)
MTF Section:
Data Source: Shows whether using MTF Data/EMA Backup/Local EMA
Timeframe: Configured watchtower timeframe setting
Data Valid: Confirms successful MTF data retrieval status
Trend Signal: Higher timeframe directional bias analysis
Close Price: MTF price data availability confirmation
"Composite" Filter:
Composite Section:
Buy Score: Real-time weighted scoring from multiple indicators
Sell Score: Opposing directional signal strength
Threshold: Minimum scores required for signal activation
Components:
Flash/Blink: Momentum acceleration indicators (F = Flash active, B = Blink active)
Individual filter contributions showing which specific signals are firing
"ReEntry" Filter:
ReEntry System:
System: Shows if re-entry feature is Enabled/Disabled
Eligibility: Conditions for new entries in each direction
Performance: Success metrics of re-entry attempts when enabled
🎯 Key Status Indicators
Status Column Symbols:
✓ = Condition met / System active / Signal valid
✗ = Condition not met / System inactive / No signal
⏳ = Cooldown active (waiting period)
✅ = Ready state / Good condition
🔄 = Processing / Transitioning state
🔍 Critical Reading Guidelines
For Active Positions - Smart Exit Priority Reading:
1. First Check Position Type:
ROI ≥ 0% = Winning Position (Standard requirements)
ROI < 0% = Losing Position (Progressive requirements)
2. Check Hold Duration:
Early Stage (≤8 bars): Standard multiplier regardless of ROI
Extended Stage (9-16 bars): Slight pressure on losing positions
Long Stage (17+ bars): Strong pressure on losing positions
3. Score vs Final Threshold Analysis:
Score ≥ Final Threshold = HOLD (Continue position)
Score < Final Threshold = EXIT (Close position)
Watch for timeMultiplier changes as position duration increases
4. Understanding "Why No Hold?"
Common scenarios when Score Check shows FAIL:
Losing position held too long (timeMultiplier increased to 1.1 or 1.3)
Low volatility period (dynamic threshold raised to 2.8)
Signal deterioration (smart score dropped below required level)
MTF conflict (higher timeframe opposing position direction)
For Entry Signal Analysis:
Composite Score Reading: Signal strength relative to threshold requirements
Component Analysis: Individual filter contributions to overall score
EMA Structure: Confirm 3-bar crossover requirement met
Cooldown Status: Ensure sufficient time passed since last exit
For ReEntry Opportunities (when enabled):
System Status: Availability and eligibility for re-engagement
Exit Type Analysis: TP-based exits enable immediate re-entry, SL-based exits require cooldown
Condition Monitoring: Requirements for potential re-entry signals
Debugging Common Issues:
Issue: "Score is high but no hold?"
→ Check Final Threshold vs Score (not Dynamic Threshold)
→ Losing position may have increased timeMultiplier
→ Extended hold duration applying pressure
Issue: "Why different thresholds for same score?"
→ Position ROI status affects multiplier
→ Time elapsed since entry affects multiplier
→ Market volatility affects base threshold
Issue: "MTF conflicts with local signals?"
→ Higher timeframe trend opposing position
→ System designed to exit on MTF conflicts
→ Check MTF Data Valid status
⚡ Performance Optimization Notes
For Better Performance:
Analysis table updates may impact performance on some devices
Use specific filters rather than "All" mode for focused monitoring
Consider disabling during live trading for optimal chart performance
Enable only when needed for debugging or analysis
Strategic Usage:
Monitor "Smart" filter when positions are active for exit timing decisions
Use "Composite" filter during setup phases for signal strength analysis
Reference "ReEntry" filter after position closures for re-engagement opportunities
Track Final Threshold changes to understand exit pressure evolution
Advanced Debugging Workflow:
Position Entry Analysis:
Check Composite score vs threshold
Verify EMA crossover timing (3 bars prior)
Confirm cooldown completion
Hold Decision Monitoring:
Track Score vs Final Threshold progression
Monitor timeMultiplier changes over time
Watch for MTF conflicts
Exit Timing Analysis:
Identify which threshold layer caused exit
Track performance by exit type
Analyze re-entry eligibility
This analysis system provides transparency into strategy decision-making processes, allowing users to understand how signals are generated and positions are managed according to the programmed logic during various market conditions and position states.
SIGNAL TYPES AND CHARACTERISTICS
🔥 Core Momentum Signals
Flash Signal
Calculation: ta.rma(math.abs(close - close ), 5) > ta.sma(math.abs(close - close ), 7)
Purpose: Detects sudden price acceleration using smoothed momentum comparison
Characteristics: Triggers when recent price movement exceeds historical average movement
Usage: Primary momentum confirmation across multiple composite calculations
Weight: 1.3 points in composite scoring
Blink Signal
Calculation: math.abs(ta.change(close, 1)) > ta.sma(math.abs(ta.change(close, 1)), 5)
Purpose: Identifies immediate price velocity spikes
Characteristics: More sensitive than Flash, captures single-bar momentum bursts
Usage: Secondary momentum confirmation, often paired with Flash
Weight: 1.3 points in composite scoring
⚡ Advanced Composite Signals
Apex Pulse Signal
Calculation: apexAngleValue > 30 or apexAngleValue < -30
Purpose: Detects extreme EMA angle momentum
Characteristics: Identifies when trend angle exceeds ±30 degrees
Usage: Confirms directional momentum strength in trend-following scenarios
Pressure Surge Signal
Calculation: volSpike_AVP and strongTrendUp_ATG
Purpose: Combines volume expansion with trend confirmation
Characteristics: Requires both volume spike and strong uptrend simultaneously
Usage: bullish signal for trend continuation
Shift Wick Signal
Calculation: ta.crossunder(ema1, ema2) and isWickTrapDetected and directionFlip
Purpose: Detects bearish reversal with wick trap confirmation
Characteristics: Combines EMA crossunder with upper wick dominance and directional flip
Usage: Reversal signal for trend change identification
🛡️ Trap Exit Protection Signals
Bear Trap Exit
Calculation: isUpperWickTrap and isBearEngulfNow
Conditions: Previous bullish candle with 80%+ upper wick, followed by current bearish engulfing
Purpose: Emergency exit signal for long positions
Priority: Highest - overrides all other hold conditions
Action: Immediate position closure with full state reset
Bull Trap Exit
Calculation: isLowerWickTrap and isBullEngulfNow
Conditions: Previous bearish candle with 80%+ lower wick, followed by current bullish engulfing
Purpose: Emergency exit signal for short positions
Priority: Highest - overrides all other hold conditions
Action: Immediate position closure with full state reset
📊 Technical Analysis Foundation Signals
RSI-MFI Hybrid System
Base Calculation: (ta.rsi(close, 14) + ta.mfi(close, 14)) / 2
Oversold Threshold: < 35
Overbought Threshold: > 65
Weak Condition: < 35 and declining
Strong Condition: > 65 and rising
Usage: Momentum confirmation and reversal identification
ADX-DMI Trend Classification
Strong Up Trend: (adx > 25 and diplus > diminus and (diplus - diminus) > 5) or (ema1 > ema2 and ema2 > ema3 and ta.rising(ema2, 3))
Strong Down Trend: (adx > 20 and diminus > diplus - 5) or (ema1 < ema2 and ta.falling(ema1, 3))
Trend Weakening: adx < adx and adx < adx
Usage: Primary trend direction confirmation
Bollinger Band Squeeze Detection
Calculation: bbWidth < ta.lowest(bbWidth, 20) * 1.2
Purpose: Identifies low volatility periods before breakouts
Usage: Entry filter - avoids trades during consolidation
🎨 Visual Signal Indicators
Red X Signal
Calculation: isBearCandle and ta.crossunder(ema1, ema2)
Visual: Red X above price
Purpose: Bearish EMA crossunder with confirming candle
Composite Weight: +1.0 for short positions, -1.0 for long positions
Characteristics: Simple but effective trend change indicator
Green Dot Signal
Calculation: isBullCandle and ta.crossover(ema1, ema2)
Visual: Green dot below price
Purpose: Bullish EMA crossover with confirming candle
Composite Weight: +1.0 for long positions, -1.0 for short positions
Characteristics: Entry confirmation for trend-following strategies
Blue Diamond Signal
Trigger Conditions: amcBuySignal and score >= 4
Scoring Components: 11 different technical conditions
Key Requirements: AMC bullish + momentum rise + EMA expansion + volume confirmation
Visual: Blue diamond below price
Purpose: Bullish reversal or continuation signal
Characteristics: Multi-factor confirmation requiring 4+ technical alignments
Red Diamond Signal
Trigger Conditions: amcSellSignal and score >= 5
Scoring Components: 11 different technical conditions (stricter than Blue Diamond)
Key Requirements: AMC bearish + momentum crash + EMA compression + volume decline
Visual: Red diamond above price
Purpose: Potential bearish reversal or continuation signal
Characteristics: Requires higher threshold (5 vs 4) for more selective triggering
🔵 Specialized Detection Signals
Blue Dot Signal
Calculation: volumePulse and isCandleStrong and volIsHigh
Requirements: Volume > 2.0x MA, strong candle body > 35% of range, volume MA > 55
Purpose: Volume-confirmed momentum signal
Visual: Blue dot above price
Characteristics: Volume-centric signal for high-liquidity environments
Orange X Signal
Calculation: Complex multi-factor oversold reversal detection
Requirements: AMC oversold + wick trap + flash/blink + RSI-MFI oversold + bullish flip
Purpose: Oversold bounce signal with multiple confirmations
Visual: Orange X below price
Characteristics: Reversal signal requiring 5+ simultaneous conditions
VSS (Velocity Signal System)
Components: Volume spike + EMA angle + trend direction
Buy Signal: vssTrigger and vssTrendDir == 1
Sell Signal: vssTrigger and vssTrendDir == -1
Visual: Green/Red triangles
Purpose: Velocity-based momentum detection
Characteristics: Fast-response signal for momentum trading
⭐ Elite Composite Signals
Star Uprising Signal
Base Requirements: entryCompositeBuySignal and echoBodyLong and strongUpTrend and isAMCUp
Additional Confirmations: RSI hybrid strong + not high risk
Special Conditions: At bottom zone OR RSI bottom bounce OR strong volume bounce
Visual: Star symbol below price
Purpose: Bullish reversal signal from oversold conditions
Characteristics: Most selective bullish signal requiring multiple confirmations
Ultra Short Signal
Scoring System: 7-component scoring requiring 4+ points
Key Components: EMA trap + volume decline + RSI weakness + composite confirmation
Additional Requirements: Falling EMA structure + volume spike + flash confirmation
Visual: Explosion emoji above price
Purpose: Aggressive short entry for trend reversal or continuation
Characteristics: Complex multi-layered signal for experienced short selling
🎯 Composite Signal Architecture
Enhanced Composite Scoring
Long Composite: 15+ weighted components including structure, momentum, flash/blink, volume, price action, reversal triggers, trend alignment
Short Composite: Mirror structure with bearish bias
Threshold: 5.0 points required for signal activation
Conflict Resolution: If both long and short signals trigger simultaneously, both are disabled
Final Validation: Requires EMA momentum confirmation (ta.rising(emaFast_ATG, 2) for longs, ta.falling(emaFast_ATG, 2) for shorts)
Risk Assessment Integration
High Risk Long: RSI > 70 OR close > upper Bollinger Band 80%
High Risk Short: RSI < 30 OR close < lower Bollinger Band 80%
Zone Analysis: Top zone (95% of 50-bar high) vs Bottom zone (105% of 50-bar low)
Risk Penalty: High risk conditions subtract 1.5 points from composite scores
This signal architecture creates a multi-layered detection system where simple momentum signals provide foundation, technical analysis adds structure, visual indicators offer clarity, specialized detectors capture different market conditions, and composite signals identify potential opportunities while integrated risk assessment is designed to filter risky entries.
VISUAL FEATURES SHOWCASE
Ichimoku Cloud Visualization
Dynamic Color Intensity: Cloud transparency adapts to momentum strength - darker colors indicate stronger directional moves, while lighter transparency shows weakening momentum phases.
Gradient Color Mapping: Bullish momentum renders blue-purple spectrum with increasing opacity, while bearish momentum displays corresponding color gradients with intensity-based transparency.
Real-time Momentum Feedback: Color saturation provides immediate visual feedback on market structure strength, allowing traders to assess levels at a glance without additional indicators.
EMA Ribbon Bands
The 8-level exponential moving average system creates a comprehensive trend structure map with gradient color coding.
Signal Type Visualization
STRATEGY PROPERTIES & BACKTESTING DISCLOSURE
📊 Default Strategy Configuration:
✅ Initial Capital: 100,000 USD (realistic for average traders)
✅ Commission: 0.075% per trade (realistic exchange fees)
✅ Slippage: 3 ticks (market impact consideration)
✅ Position Size: 5% equity per trade (sustainable risk level)
✅ Pyramiding: Disabled (single position management)
✅ Sample Size: 185 trades over 12-month backtesting period
✅ Risk Management: Adaptive stop loss with maximum 1% risk per trade
COMPREHENSIVE BACKTESTING RESULTS
Testing Period & Market Conditions:
Backtesting Period: June 25, 2024 - June 25, 2025 (12 months)
Timeframe: 15-minute charts (MTF system active)
Market: BTCUSDT (Bitcoin/Tether)
Market Conditions: Full market cycle including volatility periods
Deep Backtesting: Enabled for maximum accuracy
📈 Performance Summary:
Total Return: +2.19% (+2,193.59 USDT)
Total Trades Executed: 185 trades
Win Rate: 34.05% (63 winning trades out of 185)
Profit Factor: 1.295 (gross profit ÷ gross loss)
Maximum Drawdown: 0.65% (653.17 USDT)
Risk-Adjusted Returns: Consistent with conservative risk management approach
📊 Detailed Trade Analysis:
Position Distribution:
Long Positions: 109 trades (58.9%) | Win Rate: 36.70%
Short Positions: 76 trades (41.1%) | Win Rate: 30.26%
Average Trade Duration: Optimized for 15-minute timeframe efficiency
Profitability Metrics:
Average Profit per Trade: 11.74 USDT (0.23%)
Average Winning Trade: 151.17 USDT (3.00%)
Average Losing Trade: 60.27 USDT (1.20%)
Win/Loss Ratio: 2.508 (winners are 2.5x larger than losses)
Largest Single Win: 436.02 USDT (8.69%)
Largest Single Loss: 107.41 USDT (controlled risk management)
💰 Financial Performance Breakdown:
Gross Profit: 9,523.93 USDT (9.52% of capital)
Gross Loss: 7,352.48 USDT (7.35% of capital)
Net Profit After Costs: 2,171.44 USDT (2.17%)
Commission Costs: 1,402.47 USDT (realistic trading expenses)
Maximum Equity Run-up: 2,431.66 USDT (2.38%)
⚖️ Risk Management Validation:
Maximum Drawdown: 0.65% showing controlled risk management
Drawdown Recovery: Consistent equity curve progression
Risk per Trade: Successfully maintained below 1.5% per position
Position Sizing: 5% equity allocation proved sustainable throughout testing period
📋 Strategy Performance Characteristics:
✅ Strengths Demonstrated:
Controlled Risk: Maximum drawdown well below industry standards (< 1%)
Positive Expectancy: Win/loss ratio of 2.5+ creates profitable edge
Consistent Performance: Steady equity curve without extreme volatility
Realistic Costs: Includes actual commission and slippage impacts
Sample Size: 185 trades during testing period
⚠️ Performance Considerations:
Win Rate: 34% win rate requires discipline to follow system signals
Market Dependency: Performance may vary significantly in different market conditions
Timeframe Sensitivity: Optimized for 15-minute charts; other timeframes may show different results
Slippage Impact: Real trading conditions may affect actual performance
📊 Benchmark Comparison:
Strategy Return: +2.19% over 12 months
Buy & Hold Bitcoin: +71.12% over same period
Strategy Advantage: Significantly lower drawdown and volatility
Risk-Adjusted Performance: Different risk profile compared to holding cryptocurrency
🎯 Real-World Application Insights:
Expected Trading Frequency:
Average: 15.4 trades per month (185 trades ÷ 12 months)
Weekly Frequency: Approximately 3-4 trades per week
Active Management: Requires regular monitoring during market hours
Capital Requirements:
Minimum Used in Testing: $10,000 for sustainable position sizing
Tested Range: $50,000-$100,000 for comfortable risk management
Commission Impact: 0.075% per trade totaled 1.4% of capital over 12 months
⚠️ IMPORTANT BACKTESTING DISCLAIMERS:
📈 Performance Reality:
Past performance does not guarantee future results. Backtesting results represent hypothetical performance and may not reflect actual trading outcomes due to market changes, execution differences, and emotional factors.
🔄 Market Condition Dependency:
This strategy's performance during the tested period may not be representative of performance in different market conditions, volatility regimes, or trending vs. sideways markets.
💸 Cost Considerations:
Actual trading costs may vary based on broker selection, market conditions, and trade size. Commission rates and slippage assumptions may differ from real-world execution.
🎯 Realistic Expectations:
The 34% win rate requires psychological discipline to continue following signals during losing streaks. Risk management and position sizing are critical for replicating these results.
⚡ Technology Dependencies:
Strategy performance assumes reliable internet connection, platform stability, and timely signal execution. Technical failures may impact actual results.
CONFIGURATION OPTIMIZATION
5-Minute Timeframe Optimization (Advanced Users Only)
⚠️ Important Warning: 5-minute timeframes operate without MTF confirmation, resulting in reduced signal quality and higher false signal rates.
Example 5-Minute Parameters:
Composite Thresholds: Long 6.5, Short 7.0 (vs 15M default 5.0/5.4)
Signal Lookback Bars: 12 (vs 15M default 8)
Volume Multiplier: 2.2 (vs 15M default 1.8)
MTF Timeframe: Disabled (automatic below 30M)
Risk Management Adjustments:
Position Size: Reduce to 3% (vs 5% default)
TP1: 0.8%, TP2: 1.2%, TP3: 2.0% (tighter targets)
SL: 0.8% (tighter stop loss)
Cooldown Minutes: 8 (vs 5 default)
Usage Notes for 5-Minute Trading:
- Wait for higher composite scores before entry
- Require stronger volume confirmation
- Monitor EMA structure more closely
15-Minute Scalping Setup:
TP1: 1.0%, TP2: 1.5%, TP3: 2.5%
Composite Threshold: 5.0 (higher filtering)
TP ATR Multiplier: 7.0
SL ATR Multiplier: 2.5
Volume Multiplier: 1.8 (requires stronger confirmation)
Hold Time: 2 bars minimum
3-Hour Swing Setup:
TP1: 2.0%, TP2: 4.0%, TP3: 8.0%
Composite Threshold: 4.5 (more signals)
TP ATR Multiplier: 8.0
SL ATR Multiplier: 3.2
Volume Multiplier: 1.2
Hold Time: 6 bars minimum
Market-Specific Adjustments
High Volatility Periods:
Increase ATR multipliers (TP: 2.0x, SL: 1.2x)
Raise composite thresholds (+0.5 points)
Reduce position size
Enable cooldown periods
Low Volatility Periods:
Decrease ATR multipliers (TP: 1.2x, SL: 0.8x)
Lower composite thresholds (-0.3 points)
Standard position sizing
Disable extended cooldowns
News Events:
Temporarily disable strategy 30 minutes before major releases
Increase volume requirements (2.0x multiplier)
Reduce position sizes by 50%
Monitor for unusual price action
RISK MANAGEMENT
Dual ROI System: Adaptive vs Fixed Mode
Adaptive RR Mode:
Uses ATR (Average True Range) for automatic adjustment
TP1: 1.0x ATR from entry price
TP2: 1.5x ATR from entry price
TP3: 2.0x ATR from entry price
Stop Loss: 1.0x ATR from entry price
Automatically adjusts to market volatility
Fixed Percentage Mode:
Uses predetermined percentage levels
TP1: 1.0% (default)
TP2: 1.5% (default)
TP3: 2.5% (default)
Stop Loss: 0.9% total (0.6% risk tolerance + 0.3% slippage buffer)(default)
Consistent levels regardless of volatility
Mode Selection: Enable "Use Adaptive RR" for ATR-based targets, disable for fixed percentages. Adaptive mode works better in varying volatility conditions, while fixed mode provides predictable risk/reward ratios.
Stop Loss Management
In Adaptive SL Mode:
Automatically scales with market volatility
Tight stops during low volatility (smaller ATR)
Wider stops during high volatility (larger ATR)
Include 0.3% slippage buffer in both modes
In Fixed Mode:
Consistent percentage-based stops
2% for crypto, 1.5% for forex, 1% for stocks
Manual adjustment needed for different market conditions
Trailing Stop System
Configuration:
Enable Trailing: Activates dynamic stop loss adjustment
Start Trailing %: Profit level to begin trailing (default 1.0%)
Trailing Offset %: Distance from current price (default 0.5%)
Close if Return to Entry: Optional immediate exit if price returns to entry level
Operation: Once position reaches trailing start level, stop loss automatically adjusts upward (longs) or downward (shorts) maintaining the offset distance from favorable price movement.
Timeframe-Specific Risk Considerations
15-Minute and Above (Tested):
✅ Full MTF system active
✅ Standard risk parameters apply
✅ Backtested performance metrics valid
✅ Standard position sizing (5%)
5-Minute Timeframes (Advanced Only):
⚠️ MTF system inactive - local signals only
⚠️ Higher false signal rate expected
⚠️ Reduced position sizing preferred (3%)
⚠️ Tighter stop losses required (0.8% vs 1.2%)
⚠️ Requires parameter optimization
⚠️ Monitor performance closely
1-Minute Timeframes (Limited Testing):
❌ Excessive noise levels
❌ Strategy not optimized for this frequency
Risk Management Practices
Allocate no more than 5% of your total investment portfolio to high-risk trading
Never trade with funds you cannot afford to lose
Thoroughly backtest and validate the strategy with small amounts before full implementation
Always maintain proper risk management and stop-loss settings
IMPORTANT DISCLAIMERS
Performance Disclaimer
Past performance does not guarantee future results. All trading involves substantial risk of loss. This strategy is provided for informational purposes and does not constitute financial advice.
Market Risk
Cryptocurrency and forex markets are highly volatile. Prices can move rapidly against positions, resulting in significant losses. Users should never risk more than they can afford to lose.
Strategy Limitations
This strategy relies on technical analysis and may not perform well during fundamental market shifts, news events, or unprecedented market conditions. No trading strategy can guarantee 100% success or eliminate the risk of loss.
Legal Compliance
You are responsible for compliance with all applicable regulations and laws in your jurisdiction. Consult with licensed financial professionals when necessary.
User Responsibility
Users are responsible for their own trading decisions, risk management, and compliance with applicable regulations in their jurisdiction.
Long/Short/Exit/Risk management Strategy # LongShortExit Strategy Documentation
## Overview
The LongShortExit strategy is a versatile trading system for TradingView that provides complete control over entry, exit, and risk management parameters. It features a sophisticated framework for managing long and short positions with customizable profit targets, stop-loss mechanisms, partial profit-taking, and trailing stops. The strategy can be enhanced with continuous position signals for visual feedback on the current trading state.
## Key Features
### General Settings
- **Trading Direction**: Choose to trade long positions only, short positions only, or both.
- **Max Trades Per Day**: Limit the number of trades per day to prevent overtrading.
- **Bars Between Trades**: Enforce a minimum number of bars between consecutive trades.
### Session Management
- **Session Control**: Restrict trading to specific times of the day.
- **Time Zone**: Specify the time zone for session calculations.
- **Expiration**: Optionally set a date when the strategy should stop executing.
### Contract Settings
- **Contract Type**: Select from common futures contracts (MNQ, MES, NQ, ES) or custom values.
- **Point Value**: Define the dollar value per point movement.
- **Tick Size**: Set the minimum price movement for accurate calculations.
### Visual Signals
- **Continuous Position Signals**: Implement 0 to 1 visual signals to track position states.
- **Signal Plotting**: Customize color and appearance of position signals.
- **Clear Visual Feedback**: Instantly see when entry conditions are triggered.
### Risk Management
#### Stop Loss and Take Profit
- **Risk Type**: Choose between percentage-based, ATR-based, or points-based risk management.
- **Percentage Mode**: Set SL/TP as a percentage of entry price.
- **ATR Mode**: Set SL/TP as a multiple of the Average True Range.
- **Points Mode**: Set SL/TP as a fixed number of points from entry.
#### Advanced Exit Features
- **Break-Even**: Automatically move stop-loss to break-even after reaching specified profit threshold.
- **Trailing Stop**: Implement a trailing stop-loss that follows price movement at a defined distance.
- **Partial Profit Taking**: Take partial profits at predetermined price levels:
- Set first partial exit point and percentage of position to close
- Set second partial exit point and percentage of position to close
- **Time-Based Exit**: Automatically exit a position after a specified number of bars.
#### Win/Loss Streak Management
- **Streak Cutoff**: Automatically pause trading after a series of consecutive wins or losses.
- **Daily Reset**: Option to reset streak counters at the start of each day.
### Entry Conditions
- **Source and Value**: Define the exact price source and value that triggers entries.
- **Equals Condition**: Entry signals occur when the source exactly matches the specified value.
### Performance Analytics
- **Real-Time Stats**: Track important performance metrics like win rate, P&L, and largest wins/losses.
- **Visual Feedback**: On-chart markers for entries, exits, and important events.
### External Integration
- **Webhook Support**: Compatible with TradingView's webhook alerts for automated trading.
- **Cross-Platform**: Connect to external trading systems and notification platforms.
- **Custom Order Execution**: Implement advanced order flows through external services.
## How to Use
### Setup Instructions
1. Add the script to your TradingView chart.
2. Configure the general settings based on your trading preferences.
3. Set session trading hours if you only want to trade specific times.
4. Select your contract specifications or customize for your instrument.
5. Configure risk parameters:
- Choose your preferred risk management approach
- Set appropriate stop-loss and take-profit levels
- Enable advanced features like break-even, trailing stops, or partial profit taking as needed
6. Define entry conditions:
- Select the price source (such as close, open, high, or an indicator)
- Set the specific value that should trigger entries
### Entry Condition Examples
- **Example 1**: To enter when price closes exactly at a whole number:
- Long Source: close
- Long Value: 4200 (for instance, to enter when price closes exactly at 4200)
- **Example 2**: To enter when an indicator reaches a specific value:
- Long Source: ta.rsi(close, 14)
- Long Value: 30 (triggers when RSI equals exactly 30)
### Best Practices
1. **Always backtest thoroughly** before using in live trading.
2. **Start with conservative risk settings**:
- Small position sizes
- Reasonable stop-loss distances
- Limited trades per day
3. **Monitor and adjust**:
- Use the performance table to track results
- Adjust parameters based on how the strategy performs
4. **Consider market volatility**:
- Use ATR-based stops during volatile periods
- Use fixed points during stable markets
## Continuous Position Signals Implementation
The LongShortExit strategy can be enhanced with continuous position signals to provide visual feedback about the current position state. These signals can help you track when the strategy is in a long or short position.
### Adding Continuous Position Signals
Add the following code to implement continuous position signals (0 to 1):
```pine
// Continuous position signals (0 to 1)
var float longSignal = 0.0
var float shortSignal = 0.0
// Update position signals based on your indicator's conditions
longSignal := longCondition ? 1.0 : 0.0
shortSignal := shortCondition ? 1.0 : 0.0
// Plot continuous signals
plot(longSignal, title="Long Signal", color=#00FF00, linewidth=2, transp=0, style=plot.style_line)
plot(shortSignal, title="Short Signal", color=#FF0000, linewidth=2, transp=0, style=plot.style_line)
```
### Benefits of Continuous Position Signals
- Provides clear visual feedback of current position state (long/short)
- Signal values stay consistent (0 or 1) until condition changes
- Can be used for additional calculations or alert conditions
- Makes it easier to track when entry conditions are triggered
### Using with Custom Indicators
You can adapt the continuous position signals to work with any custom indicator by replacing the condition with your indicator's logic:
```pine
// Example with moving average crossover
longSignal := fastMA > slowMA ? 1.0 : 0.0
shortSignal := fastMA < slowMA ? 1.0 : 0.0
```
## Webhook Integration
The LongShortExit strategy is fully compatible with TradingView's webhook alerts, allowing you to connect your strategy to external trading platforms, brokers, or custom applications for automated trading execution.
### Setting Up Webhooks
1. Create an alert on your chart with the LongShortExit strategy
2. Enable the "Webhook URL" option in the alert dialog
3. Enter your webhook endpoint URL (from your broker or custom trading system)
4. Customize the alert message with relevant information using TradingView variables
### Webhook Message Format Example
```json
{
"strategy": "LongShortExit",
"action": "{{strategy.order.action}}",
"price": "{{strategy.order.price}}",
"quantity": "{{strategy.position_size}}",
"time": "{{time}}",
"ticker": "{{ticker}}",
"position_size": "{{strategy.position_size}}",
"position_value": "{{strategy.position_value}}",
"order_id": "{{strategy.order.id}}",
"order_comment": "{{strategy.order.comment}}"
}
```
### TradingView Alert Condition Examples
For effective webhook automation, set up these alert conditions:
#### Entry Alert
```
{{strategy.position_size}} != {{strategy.position_size}}
```
#### Exit Alert
```
{{strategy.position_size}} < {{strategy.position_size}} or {{strategy.position_size}} > {{strategy.position_size}}
```
#### Partial Take Profit Alert
```
strategy.order.comment contains "Partial TP"
```
### Benefits of Webhook Integration
- **Automated Trading**: Execute trades automatically through supported brokers
- **Cross-Platform**: Connect to custom trading bots and applications
- **Real-Time Notifications**: Receive trade signals on external platforms
- **Data Collection**: Log trade data for further analysis
- **Custom Order Management**: Implement advanced order types not available in TradingView
### Compatible External Applications
- Trading bots and algorithmic trading software
- Custom order execution systems
- Discord, Telegram, or Slack notification systems
- Trade journaling applications
- Risk management platforms
### Implementation Recommendations
- Test webhook delivery using a free service like webhook.site before connecting to your actual trading system
- Include authentication tokens or API keys in your webhook URL or payload when required by your external service
- Consider implementing confirmation mechanisms to verify trade execution
- Log all webhook activities for troubleshooting and performance tracking
## Strategy Customization Tips
### For Scalping
- Set smaller profit targets (1-3 points)
- Use tighter stop-losses
- Enable break-even feature after small profit
- Set higher max trades per day
### For Day Trading
- Use moderate profit targets
- Implement partial profit taking
- Enable trailing stops
- Set reasonable session trading hours
### For Swing Trading
- Use longer-term charts
- Set wider stops (ATR-based often works well)
- Use higher profit targets
- Disable daily streak reset
## Common Troubleshooting
### Low Win Rate
- Consider widening stop-losses
- Verify that entry conditions aren't triggering too frequently
- Check if the equals condition is too restrictive; consider small tolerances
### Missing Obvious Trades
- The equals condition is extremely precise. Price must exactly match the specified value.
- Consider using floating-point precision for more reliable triggers
### Frequent Stop-Outs
- Try ATR-based stops instead of fixed points
- Increase the stop-loss distance
- Enable break-even feature to protect profits
## Important Notes
- The exact equals condition is strict and may result in fewer trade signals compared to other conditions.
- For instruments with decimal prices, exact equality might be rare. Consider the precision of your value.
- Break-even and trailing stop calculations are based on points, not percentage.
- Partial take-profit levels are defined in points distance from entry.
- The continuous position signals (0 to 1) provide valuable visual feedback but don't affect the strategy's trading logic directly.
- When implementing continuous signals, ensure they're aligned with the actual entry conditions used by the strategy.
---
*This strategy is for educational and informational purposes only. Always test thoroughly before using with real funds.*
Strategy Builder Pro [ChartPrime]ChartPrime Strategy Creator Overview
The ChartPrime Strategy Builder offers traders an innovative, structured approach to building and testing strategies. The Strategy Creator allows users to combine, test, and automate complex strategies with many parameters.
Key Features of the ChartPrime Strategy Builder
1. Customizable Buy and Sell Conditions
The Strategy Creator provides flexibility in establishing entry and exit rules, with separate sections for long and short strategies. Traders can combine multiple conditions in each section to fine-tune when positions are opened or closed. For instance, they might choose to only buy when the indicator signals a buy and the Dynamic Reactor (a low lag filter) indicator shows a bullish trend. Users are able to pick, mix and match the following list of features:
Signal Mode: Select the type of assistive signals you are requiring. Provided are both trend following signals with self optimization using backtest results as well as reversal signals, aiming to provide real time tops and bottoms in markets. Both these signal modes can be fine tuned using the tuning input to refine signals to a trader's liking. ChartPrime Trend Signals leverage audio engineering inspired techniques and low-pass filters in order to achieve and attempt to produce lower lag response times and therefore are designed to have a uniqueness when compared to more classical trend following approaches.
The Dynamic Reactor: provides a simple band passing through the chart. This can provide assistance in support and resistance locations as well as identifying the trend direction expressed via green and red colors. Taking a moving average and applying unique adaptivity calculations gives this plot a unique and fast behavior.
Candlestick structures: analyze candlestick formation putting a spin on classical candlestick patterns and provide the most relevant formations on the chart. These are not classical and are filtered by further analyzing market activity. A trader's classic with a spin.
The Prime Trend Assistant: provides a trend following dynamic support and resistance level. This makes it perfect to use in confluence or as a filter for other supporting indicators. This is an adaptive trend following system designed to handle volatility leveraging filter kernels as opposed to low pass filters.
Money Flow: with further filters applied for early response to money flow changes in the market. This can be a great filter in trends.
Oscillator reversals: are built in leveraging an oscillator focusing on market momentum allowing users to enter based on market shifts and trends along with reversals.
Volume-Inspired Signals: determine overbought and oversold conditions, adding another layer of analysis to the oscillator. These appear as orange labels, providing a simple reading into a possible reversal.
The Volume Matrix: is a volume oscillator that shows whether money is flowing into or out of the market. Green suggests an uptrend with buyers in control, while red indicates a majority of sellers. By incorporating smoothed volume analysis, it distinguishes between bullish and bearish volumes, offering an early indication of potential trend reversals.
The True 7: is a middle-ranking system that evaluates the strength of a move and the overall trend, offering a numeric or visual representation of trend strength. It can also indicate when a trend is starting to reverse, providing leading signals for potential market shifts. Rather than using an oscillator, this offers the unique edge of falling into set categories, making understanding it simple. This can be a great confluence point when designing a strategy.
Take profits: These offer real-time suggestions from our algorithm on when it might be a good time to take profit. Using these as part of a strategy allows for great entries at bottoms and tops of trends.
Using features such as the Dynamic reactor have dual purposes. Traders can use this as both a filter and an entry condition. This allows for true interoperability when using the Strategy Builder. The above conditions are duplicated for short entries too allowing for symmetrical trading systems. By disabling all of the entry conditions on either long or short areas of the settings will create a strategy that only takes a single type of position. For example; a trader that just wants to take longs can disable all short options.
2. Layered Entries
Layered entries, a feature to enhance the uniqueness in the tool. It allows traders to average into positions as the market moves, rather than committing all capital at once. This feature is particularly useful for volatile markets where prices may fluctuate substantially. The Strategy Builder lets users adjust the number of layered entries, which can help in managing risk and optimizing entry points as well as the aggressiveness of the safety orders. With each safety order placed the system will automatically and dynamically scale into positions reducing the average entry price and hence dynamically adjust the potential take profits. Due to the potential complexities of exiting during multiple orders, a smart system is employed to automatically take profits on the layered system aiming to take profits at peaks of trends.
Users are able to override this smart TP system at the bottom of the settings instead targeting percentage profits for both short and long positions.
Entries lowering average buy price
The ability to adjust how quickly the system layers into positions can also be adjusted via the layered entries drop down between fast and slow mode where the slow mode will be more cautious when producing new orders.
3. Flexible Take Profit (TP) and Stop Loss (SL) Options
Traders can set their TP and SL levels according to various parameters, including ATR (Average True Range), risk-reward ratio, trailing stops, or specific price changes. If layered entries are active, an automatic TP method is applied by default, though traders can manually specify TP values if they prefer. This setup allows for precise control over trade exits, tailored to the strategy’s risk profile.
Provided options
The ability to use external take profits and stop losses is also provided. By loading an indicator of your choice the plots will be added to the chart. By navigating to the external sources area of the settings, users can select this plot and use it as part of a wider trading system.
Example: Let’s say a user has entries based on the inbuilt trend signals and wishes to exit whenever the RSI crosses above 70, they can add RSI to the chart, select crossing up and enter the value of 70.
4. Integrated Reinvestment for Compounding Gains
The reinvestment option allows traders to reinvest a portion of their gains into future trades, increasing trade size over time and benefiting from compounding. For example, a user might set 30% of each trade's profit to reinvest, with the remaining 70% allocated for risk management or additional safety orders. This approach can enhance long-term growth while balancing risk.
Generally in trading it can be a good approach to take profits so we suggest a healthy balance. This setting is generally best used for slow steady strategies with the long term aim of accumulating as much of the asset as possible.
5. Leverage and Position Sizing
Users can configure leverage and position sizing to simulate varying risk levels and capital allocations. A dashboard on the interface displays margin requirements based on the selected leverage, allowing traders to estimate trade sizes relative to their available capital. Whenever using leverage especially with layered entries it’s important to keep a close eye on the position sizes to avoid potential liquidations.
6. Pre-Configured Strategies for Immediate Testing
For users seeking a starting point, ChartPrime includes a range of preset strategies. These were developed and backtested by ChartPrime’s team. This allows traders to start with a stable base and adapt it to their own preferences. It is vital to understand that historical performance doesn't guarantee future success, and traders should be mindful of overfitting. These pre-built configurations offer a structured way and base to design strategies off of. These are also subject to changing results as new price action arrives and they become outdated. They serve the purpose of simply being example use cases.
7. In-Depth Specific Backtesting Ranges
The Strategy Builder includes backtesting capabilities, providing a clear view of how different setups would have performed over specified time periods. Traders can select date ranges to target specific market conditions, then review results on TradingView to see how their strategies perform across different market trends.
Example Use Case: Developing a Strategy
Consider a trader who is focused on long positions only and prefers a lower-risk strategy (note these tools can be used for all assets; we are using an undisclosed asset as an example). Using the Strategy Builder, they could:
- Disable short conditions.
- Set long entry rules to trigger when both the ChartPrime oscillator and Quantum Reactor indicators show bullish signals.
- Enable layered entries to improve average entry prices by adding to positions during market dips.
- Run a backtest over a two-year period to see historical performance trends, making adjustments as needed.
The backtest will show where entries and exits would have occurred and how layered entries may have impacted profitability.
8. Iterative design
Strategy builders and creating a strategy is often an iterative process. By experimenting and using logic; a trader can arrive at a more sustainable system. Analyzing the shortcomings of your strategy and iteratively designing and filtering them out is the goal. For example; let’s say a strategy has high drawdown, a user would want to tighten stop losses for example to reduce this and find a balance point between optimizing winning trades and reducing the drawdown. When designing a strategy there are generally tradeoffs and optimizing taking into consideration a wide range of factors is key. This also applies to filtering techniques, entries and exits and every variable in the strategy.
Let’s say a strategy was taking too many long positions in a downtrend and after you’ve analyzed the data, you come to the conclusion this needs to be solved. Filtering these using built in trend following tools can be a great approach and refining with logic is a great approach.
The Strategy Builder also takes into consideration those who seek to automate especially via reinvesting and leverage features.
Considerations
The ChartPrime Strategy Builder aims to help traders build clear, rule-based strategies without excessive complexity. As with all backtesting tools, it's crucial to understand that historical performance doesn't guarantee future success, and traders should be mindful of overfitting. This tool offers a structured way to test strategies against various market conditions, helping traders refine their approaches with data-driven insights. Traders should also ensure they enter the correct fees when designing strategies and ensure usage on standard candle types.
Trend Harvester PRO Trend Harvester PRO – Adaptive Trend-Following Strategy for Crypto
Trend Harvester PRO is a fully systematic trend-following strategy built for cryptocurrency markets on intraday timeframes — particularly optimized for the 1-hour chart. The script combines ZLEMA-based trend tracking, momentum confirmation, and a volatility-aware filter to detect high-probability directional moves with clarity and precision.
This is not a mashup of random indicators — each component serves a specific purpose in validating trends, avoiding choppy zones, and timing entries responsibly.
🔍 Strategy Logic Overview
The core objective is to detect sustainable, real-time trends and exit with multi-stage profit targets. To do this, the script uses several layers of confirmation:
1. 📊 ZLEMA Trend Engine (Zero Lag EMA)
This is the backbone of the strategy.
ZLEMA (Zero-Lag EMA) is a moving average that minimizes lag by adjusting for past data offset.
The strategy uses a fast ZLEMA and a slow ZLEMA, combined with a slope calculation, to assess the current trend.
When:
Fast ZLEMA > Slow ZLEMA
The ZLEMA is rising (positive slope)
→ The market is considered in an uptrend.
Conversely, if:
Fast ZLEMA < Slow ZLEMA
The slope is negative
→ The market is considered in a downtrend.
This setup detects not just direction, but also whether the trend has meaningful acceleration.
2. ⚡ Momentum Confirmation
Trend direction alone isn’t enough — we also need momentum agreement.
The script calculates a smoothed Rate of Change (ROC) to evaluate if momentum supports the direction of the ZLEMA trend.
For long trades: ROC must be positive
For short trades: ROC must be negative
This prevents taking trades where price is crossing moving averages but lacks follow-through power.
3. 🌪️ Volatility Filter
Choppy markets are common in crypto. To reduce false signals:
The script compares short-term volatility (10-bar standard deviation of price changes) to longer-term volatility.
If the ratio is too high (i.e., short-term volatility is spiking), the strategy avoids entry.
This ensures trades are only taken when the market is relatively calm and directional — avoiding false breakouts.
4. 🧠 Confirmation Bars + Trend State
Signals only trigger after a certain number of consecutive bars confirm trend direction (confirmBars).
This prevents reacting to just 1 candle and requires consistent evidence of trend.
A state machine is used to track current trend status:
+1 = confirmed uptrend
-1 = confirmed downtrend
0 = neutral / no trade
This trend state changes only after all conditions are met and confirmation bars pass.
5. 🧊 Cooldown Enforcement
After a trade exits (from TP or a trend reversal), the strategy enforces a cooldown period before new entries are allowed. This:
Prevents back-to-back entries on trend flips
Reduces overtrading
Helps avoid whipsaws or same-bar reversal trades
6. 🎯 Multi-Level Take Profits (TP1 & TP2)
Once a trade is entered:
Two limit exits are set automatically:
TP1: Closes 50% of the position at a configurable profit level
TP2: Closes the remaining 50%
If the trend weakens before TP2 is reached, the position is closed early.
Both long and short trades use the same logic, with user-defined percentages.
This system allows for partial profit-taking while keeping a portion of the trade running.
7. 🧾 Built-in Dashboard
The script includes a real-time dashboard showing:
Trend direction: Bullish, Bearish, or Neutral
Whether TP1 / TP2 was hit
Entry price
If currently in a trade
How many bars the trade has been open
This helps monitor strategy performance at a glance without needing extra labels.
8. 🔔 Webhook-Compatible Alerts
The strategy includes custom alerts that can be used for:
Long and Short entries
TP1 and TP2 hits
Exiting trades
These can be integrated into automated bot systems or used manually.
🔒 Non-Repainting Logic
The strategy uses only confirmed bar data (i.e., values from closed bars).
There are no repainting indicators.
Entries and exits are placed using strategy.entry and strategy.exit on confirmed conditions.
✅ How to Use It
Apply the strategy to 1H altcoin charts (BTC, ETH, SOL, etc.).
Tune the TP percentages (longTP1Pct, longTP2Pct, etc.) based on volatility.
Use the dashboard to monitor trend state and trade progress.
Combine with additional tools (like support/resistance or volume) for higher confluence.
Use the date filter to run backtests over defined periods.
⚠️ Risk Management Notice
This strategy does not include stop losses by default. It is designed to exit based on trend reversal or take-profit limits.
Always backtest thoroughly and use realistic sizing.
Do not risk more than 5–10% of your account on any trade.
Past results do not guarantee future performance. This tool is for educational and research purposes.
🧬 What Makes This Original
Trend Harvester PRO was built from scratch with tightly integrated logic:
ZLEMA tracks early trend direction with low lag
ROC confirms momentum in the same direction
Volatility filter avoids false setups
Multi-bar confirmation and cooldown logic control trade pacing
Dual TP exits manage partial profit-taking
A live dashboard makes real-time tracking intuitive
Unlike mashups of indicators with no synergy, each component here directly supports the quality of trade decisions, and the logic is modular, transparent, and non-repainting.
Dskyz (DAFE) Quantum Sentiment Flux - Beginners Dskyz (DAFE) Quantum Sentiment Flux - Beginners:
Welcome to the Dskyz (DAFE) Quantum Sentiment Flux - Beginners , a strategy and concept that’s your ultimate wingman for trading futures like MNQ, NQ, MES, and ES. This gem combines lightning-fast momentum signals, market sentiment smarts, and bulletproof risk management into a system so intuitive, even newbies can trade like pros. With clean DAFE visuals, preset modes for every vibe, and a revamped dashboard that’s basically a market GPS, this strategy makes futures trading feel like a high-octane sci-fi mission.
Built on the Dskyz (DAFE) legacy of Aurora Divergence, the Quantum Sentiment Flux is designed to empower beginners while giving seasoned traders a lean, sentiment-driven edge. It uses fast/slow EMA crossovers for entries, filters trades with VIX, SPX trends, and sector breadth, and keeps your account safe with adaptive stops and cooldowns. Tuned for more action with faster signals and a slick bottom-left dashboard, this updated version is ready to light up your charts and outsmart institutional traps. Let’s dive into why this strat’s a must-have and break down its brilliance.
Why Traders Need This Strategy
Futures markets are a wild ride—fast moves, volatility spikes (like the April 28, 2025 NQ 1k-point drop), and institutional games that can wreck unprepared traders. Beginners often get lost in complex systems or burned by impulsive trades. The Quantum Sentiment Flux is the antidote, offering:
Dead-Simple Setup: Preset modes (Aggressive, Balanced, Conservative) auto-tune signals, risk, and sizing, so you can trade without a quant degree.
Sentiment Superpower: VIX filter, SPX trend, and sector breadth visuals keep you aligned with market health, dodging chop and riding trends.
Ironclad Safety: Tighter ATR-based stops, 2:1 take-profits, and preset cooldowns protect your capital, even in chaotic sessions.
Next-Level Visuals: Green/red entry triangles, vibrant EMAs, a sector breadth background, and a beefed-up dashboard make signals and context pop.
DAFE Swagger: The clean aesthetics, sleek dashboard—ties it to Dskyz’s elite brand, making your charts a work of art.
Traders need this because it’s a plug-and-play system that blends beginner-friendly simplicity with pro-level market awareness. Whether you’re just starting or scalping 5min MNQ, this strat’s your key to trading with confidence and style.
Strategy Components
1. Core Signal Logic (High-Speed Momentum)
The strategy’s engine is a momentum-based system using fast and slow Exponential Moving Averages (EMAs), now tuned for faster, more frequent trades.
How It Works:
Fast/Slow EMAs: Fast EMA (Aggressive: 5, Balanced: 7, Conservative: 9 bars) and slow EMA (12/14/18 bars) track short-term vs. longer-term momentum.
Crossover Signals:
Buy: Fast EMA crosses above slow EMA, and trend_dir = 1 (fast EMA > slow EMA + ATR * strength threshold).
Sell: Fast EMA crosses below slow EMA, and trend_dir = -1 (fast EMA < slow EMA - ATR * strength threshold).
Strength Filter: ma_strength = fast EMA - slow EMA must exceed an ATR-scaled threshold (Aggressive: 0.15, Balanced: 0.18, Conservative: 0.25) for robust signals.
Trend Direction: trend_dir confirms momentum, filtering out weak crossovers in choppy markets.
Evolution:
Faster EMAs (down from 7–10/21–50) catch short-term trends, perfect for active futures markets.
Lower strength thresholds (0.15–0.25 vs. 0.3–0.5) make signals more sensitive, boosting trade frequency without sacrificing quality.
Preset tuning ensures beginners get optimized settings, while pros can tweak via mode selection.
2. Market Sentiment Filters
The strategy leans hard into market sentiment with a VIX filter, SPX trend analysis, and sector breadth visuals, keeping trades aligned with the big picture.
VIX Filter:
Logic: Blocks long entries if VIX > threshold (default: 20, can_long = vix_close < vix_limit). Shorts are always allowed (can_short = true).
Impact: Prevents longs during high-fear markets (e.g., VIX spikes in crashes), while allowing shorts to capitalize on downturns.
SPX Trend Filter:
Logic: Compares S&P 500 (SPX) close to its SMA (Aggressive: 5, Balanced: 8, Conservative: 12 bars). spx_trend = 1 (UP) if close > SMA, -1 (DOWN) if < SMA, 0 (FLAT) if neutral.
Impact: Provides dashboard context, encouraging trades that align with market direction (e.g., longs in UP trend).
Sector Breadth (Visual):
Logic: Tracks 10 sector ETFs (XLK, XLF, XLE, etc.) vs. their SMAs (same lengths as SPX). Each sector scores +1 (bullish), -1 (bearish), or 0 (neutral), summed as breadth (-10 to +10).
Display: Green background if breadth > 4, red if breadth < -4, else neutral. Dashboard shows sector trends (↑/↓/-).
Impact: Faster SMA lengths make breadth more responsive, reflecting sector rotations (e.g., tech surging, energy lagging).
Why It’s Brilliant:
- VIX filter adds pro-level volatility awareness, saving beginners from panic-driven losses.
- SPX and sector breadth give a 360° view of market health, boosting signal confidence (e.g., green BG + buy signal = high-probability trade).
- Shorter SMAs make sentiment visuals react faster, perfect for 5min charts.
3. Risk Management
The risk controls are a fortress, now tighter and more dynamic to support frequent trading while keeping accounts safe.
Preset-Based Risk:
Aggressive: Fast EMAs (5/12), tight stops (1.1x ATR), 1-bar cooldown. High trade frequency, higher risk.
Balanced: EMAs (7/14), 1.2x ATR stops, 1-bar cooldown. Versatile for most traders.
Conservative: EMAs (9/18), 1.3x ATR stops, 2-bar cooldown. Safer, fewer trades.
Impact: Auto-scales risk to match style, making it foolproof for beginners.
Adaptive Stops and Take-Profits:
Logic: Stops = entry ± ATR * atr_mult (1.1–1.3x, down from 1.2–2.0x). Take-profits = entry ± ATR * take_mult (2x stop distance, 2:1 reward/risk). Longs: stop below entry, TP above; shorts: vice versa.
Impact: Tighter stops increase trade turnover while maintaining solid risk/reward, adapting to volatility.
Trade Cooldown:
Logic: Preset-driven (Aggressive/Balanced: 1 bar, Conservative: 2 bars vs. old user-input 2). Ensures bar_index - last_trade_bar >= cooldown.
Impact: Faster cooldowns (especially Aggressive/Balanced) allow more trades, balanced by VIX and strength filters.
Contract Sizing:
Logic: User sets contracts (default: 1, max: 10), no preset cap (unlike old 7/5/3 suggestion).
Impact: Flexible but risks over-leverage; beginners should stick to low contracts.
Built To Be Reliable and Consistent:
- Tighter stops and faster cooldowns make it a high-octane system without blowing up accounts.
- Preset-driven risk removes guesswork, letting newbies trade confidently.
- 2:1 TPs ensure profitable trades outweigh losses, even in volatile sessions like April 27, 2025 ES slippage.
4. Trade Entry and Exit Logic
The entry/exit rules are simple yet razor-sharp, now with VIX filtering and faster signals:
Entry Conditions:
Long Entry: buy_signal (fast EMA crosses above slow EMA, trend_dir = 1), no position (strategy.position_size = 0), cooldown passed (can_trade), and VIX < 20 (can_long). Enters with user-defined contracts.
Short Entry: sell_signal (fast EMA crosses below slow EMA, trend_dir = -1), no position, cooldown passed, can_short (always true).
Logic: Tracks last_entry_bar for visuals, last_trade_bar for cooldowns.
Exit Conditions:
Stop-Loss/Take-Profit: ATR-based stops (1.1–1.3x) and TPs (2x stop distance). Longs exit if price hits stop (below) or TP (above); shorts vice versa.
No Other Exits: Keeps it straightforward, relying on stops/TPs.
5. DAFE Visuals
The visuals are pure DAFE magic, blending clean function with informative metrics utilized by professionals, now enhanced by faster signals and a responsive breadth background:
EMA Plots:
Display: Fast EMA (blue, 2px), slow EMA (orange, 2px), using faster lengths (5–9/12–18).
Purpose: Highlights momentum shifts, with crossovers signaling entries.
Sector Breadth Background:
Display: Green (90% transparent) if breadth > 4, red (90%) if breadth < -4, else neutral.
Purpose: Faster breadth_sma_len (5–12 vs. 10–50) reflects sector shifts in real-time, reinforcing signal strength.
- Visuals are intuitive, turning complex signals into clear buy/sell cues.
- Faster breadth background reacts to market rotations (e.g., tech vs. energy), giving a pro-level edge.
6. Sector Breadth Dashboard
The new bottom-left dashboard is a game-changer, a 3x16 table (black/gray theme) that’s your market command center:
Metrics:
VIX: Current VIX (red if > 20, gray if not).
SPX: Trend as “UP” (green), “DOWN” (red), or “FLAT” (gray).
Trade Longs: “OK” (green) if VIX < 20, “BLOCK” (red) if not.
Sector Breadth: 10 sectors (Tech, Financial, etc.) with trend arrows (↑ green, ↓ red, - gray).
Placeholder Row: Empty for future metrics (e.g., ATR, breadth score).
Purpose: Consolidates regime, volatility, market trend, and sector data, making decisions a breeze.
- VIX and SPX metrics add context, helping beginners avoid bad trades (e.g., no longs if “BLOCK”).
Sector arrows show market health at a glance, like a cheat code for sentiment.
Key Features
Beginner-Ready: Preset modes and clear visuals make futures trading a breeze.
Sentiment-Driven: VIX filter, SPX trend, and sector breadth keep you in sync with the market.
High-Frequency: Faster EMAs, tighter stops, and short cooldowns boost trade volume.
Safe and Smart: Adaptive stops/TPs and cooldowns protect capital while maximizing wins.
Visual Mastery: DAFE’s clean flair, EMAs, dashboard—makes trading fun and clear.
Backtestable: Lean code and fixed qty ensure accurate historical testing.
How to Use
Add to Chart: Load on a 5min MNQ/ES chart in TradingView.
Pick Preset: Aggressive (scalping), Balanced (versatile), or Conservative (safe). Balanced is default.
Set Contracts: Default 1, max 10. Stick low for safety.
Check Dashboard: Bottom-left shows preset, VIX, SPX, and sectors. “OK” + green breadth = strong buy.
Backtest: Run in strategy tester to compare modes.
Live Trade: Connect to Tradovate or similar. Watch for slippage (e.g., April 27, 2025 ES issues).
Replay Test: Try April 28, 2025 NQ drop to see VIX filter and stops in action.
Why It’s Brilliant
The Dskyz (DAFE) Quantum Sentiment Flux - Beginners is a masterpiece of simplicity and power. It takes pro-level tools—momentum, VIX, sector breadth—and wraps them in a system anyone can run. Faster signals and tighter stops make it a trading machine, while the VIX filter and dashboard keep you ahead of market chaos. The DAFE visuals and bottom-left command center turn your chart into a futuristic cockpit, guiding you through every trade. For beginners, it’s a safe entry to futures; for pros, it’s a scalping beast with sentiment smarts. This strat doesn’t just trade—it transforms how you see the market.
Final Notes
This is more than a strategy—it’s your launchpad to mastering futures with Dskyz (DAFE) flair. The Quantum Sentiment Flux blends accessibility, speed, and market savvy to help you outsmart the game. Load it, watch those triangles glow, and let’s make the markets your canvas!
Official Statement from Pine Script Team
(see TradingView help docs and forums):
"This warning may appear when you call functions such as ta.sma inside a request.security in a loop. There is no runtime impact. If you need to loop through a dynamic list of tickers, this cannot be avoided in the present version... Values will still be correct. Ignore this warning in such contexts."
(This publishing will most likely be taken down do to some miscellaneous rule about properly displaying charting symbols, or whatever. Once I've identified what part of the publishing they want to pick on, I'll adjust and repost.)
Use it with discipline. Use it with clarity. Trade smarter.
**I will continue to release incredible strategies and indicators until I turn this into a brand or until someone offers me a contract.
Created by Dskyz, powered by DAFE Trading Systems. Trade fast, trade bold.
is_strategyCorrection-Adaptive Trend Strategy (Open-Source)
Core Advantage: Designed specifically for the is_correction indicator, with full transparency and customization options.
Key Features:
Open-Source Code:
✅ Full access to the strategy logic – study how every trade signal is generated.
✅ Freedom to customize – modify entry/exit rules, risk parameters, or add new indicators.
✅ No black boxes – understand and trust every decision the strategy makes.
Built for is_correction:
Filters out false signals during market noise.
Works only in confirmed trends (is_correction = false).
Adaptable for Your Needs:
Change Take Profit/Stop Loss ratios directly in the code.
Add alerts, notifications, or integrate with other tools (e.g., Volume Profile).
For Developers/Traders:
Use the code as a template for your own strategies.
Test modifications risk-free on historical data.
How the Strategy Works:
Main Goal:
Automatically buys when the price starts rising and sells when it starts falling, but only during confirmed trends (ignoring temporary pullbacks).
What You See on the Chart:
📈 Up arrows ▼ (below the candle) = Buy signal.
📉 Down arrows ▲ (above the candle) = Sell signal.
Gray background = Market is in a correction (no trades).
Key Mechanics:
Buy Condition:
Price closes higher than the previous candle + is_correction confirms the main trend (not a pullback).
Example: Red candle → green candle → ▼ arrow → buy.
Sell Condition:
Price closes lower than the previous candle + is_correction confirms the trend (optional: turn off short-selling in settings).
Exit Rules:
Closes trades automatically at:
+0.5% profit (adjustable in settings).
-0.5% loss (adjustable).
Or if a reverse signal appears (e.g., sell signal after a buy).
User-Friendly Settings:
Sell – On (default: ON):
ON → Allows short-selling (selling when price falls).
OFF → Strategy only buys and closes positions.
Revers (default: OFF):
ON → Inverts signals (▼ = sell, ▲ = buy).
%Profit & %Loss:
Adjust these values (0-30%) to increase/decrease profit targets and risk.
Example Scenario:
Buy Signal:
Price rises for 3 days → green ▼ arrow → strategy buys.
Stop loss set 0.5% below entry price.
If price keeps rising → trade closes at +0.5% profit.
Correction Phase:
After a rally, price drops for 1 day → gray background → strategy ignores the drop (no action).
Stop Loss Trigger:
If price drops 0.5% from entry → trade closes automatically.
Key Features:
Correction Filter (is_correction):
Acts as a “noise filter” → avoids trades during temporary pullbacks.
Flexibility:
Disable short-selling, flip signals, or tweak profit/loss levels in seconds.
Transparency:
Open-source code → see exactly how every signal is generated (click “Source” in TradingView).
Tips for Beginners:
Test First:
Run the strategy on historical data (click the “Chart” icon in TradingView).
See how it performed in the past.
Customize It:
Increase %Profit to 2-3% for volatile assets like crypto.
Turn off Sell – On if short-selling confuses you.
Trust the Stop Loss:
Even if you think the price will rebound, the strategy will close at -0.5% to protect your capital.
Where to Find Settings:
Click the strategy name on the top-left of your chart → adjust sliders/toggles in the menu.
Русская Версия
Трендовая стратегия с открытым кодом
Главное преимущество: Полная прозрачность логики и адаптация под ваши нужды.
Особенности:
Открытый исходный код:
✅ Видите всю «кухню» стратегии – как формируются сигналы, когда открываются сделки.
✅ Меняйте правила – корректируйте тейк-профит, стоп-лосс или добавляйте новые условия.
✅ Никаких секретов – вы контролируете каждое правило.
Заточка под is_correction:
Игнорирует ложные сигналы в коррекциях.
Работает только в сильных трендах (is_correction = false).
Гибкая настройка:
Подстройте параметры под свой риск-менеджмент.
Добавьте свои индикаторы или условия для входа.
Для трейдеров и разработчиков:
Используйте код как основу для своих стратегий.
Тестируйте изменения на истории перед реальной торговлей.
Простыми словами:
Почему это удобно:
Открытый код = полный контроль. Вы можете:
Увидеть, как именно стратегия решает купить или продать.
Изменить правила закрытия сделок (например, поставить TP=2% вместо 1.5%).
Добавить новые условия (например, торговать только при высоком объёме).
Примеры кастомизации:
Новички: Меняйте только TP/SL в настройках (без кодинга).
Продвинутые: Добавьте RSI-фильтр, чтобы избегать перекупленности.
Разработчики: Встройте стратегию в свою торговую систему.
Как начать:
Скачайте код из TradingView.
Изучите логику в разделе strategy.entry/exit.
Меняйте параметры в блоке input.* (безопасно!).
Тестируйте изменения и оптимизируйте под свои цели.
Как работает стратегия:
Главная задача:
Автоматически покупает, когда цена начинает расти, и продаёт, когда падает. Но делает это «умно» — только когда рынок в основном тренде, а не во временном откате (коррекции).
Что видно на графике:
📈 Стрелки вверх ▼ (под свечой) — сигнал на покупку.
📉 Стрелки вниз ▲ (над свечой) — сигнал на продажу.
Серый фон — рынок в коррекции (не торгуем).
Как это работает:
Когда покупаем:
Если цена закрылась выше предыдущей и индикатор is_correction показывает «основной тренд» (не коррекция).
Пример: Была красная свеча → стала зелёная → появилась стрелка ▼ → покупаем.
Когда продаём:
Если цена закрылась ниже предыдущей и is_correction подтверждает тренд (опционально, можно отключить в настройках).
Когда закрываем сделку:
Автоматически при достижении:
+0.5% прибыли (можно изменить в настройках).
-0.5% убытка (можно изменить).
Или если появился противоположный сигнал (например, после покупки пришла стрелка продажи).
Настройки для чайников:
«Sell – On» (включено по умолчанию):
Если включено → стратегия будет продавать в шорт.
Если выключено → только покупки и закрытие позиций.
«Revers» (выключено по умолчанию):
Если включить → стратегия будет работать наоборот (стрелки ▼ = продажа, ▲ = покупка).
«%Profit» и «%Loss»:
Меняйте эти цифры (от 0 до 30), чтобы увеличить/уменьшить прибыль и риски.
Пример работы:
Сигнал на покупку:
Цена 3 дня растет → появляется зелёная стрелка ▼ → стратегия покупает.
Стоп-лосс ставится на 0.5% ниже цены входа.
Если цена продолжает расти → сделка закрывается при +0.5% прибыли.
Коррекция:
После роста цена падает на 1 день → фон становится серым → стратегия игнорирует это падение (не закрывает сделку).
Стоп-лосс:
Если цена упала на 0.5% от точки входа → сделка закрывается автоматически.
Важные особенности:
Фильтр коррекций (is_correction):
Это «защита от шума» — стратегия не реагирует на мелкие откаты, работая только в сильных трендах.
Гибкие настройки:
Можно запретить шорты, перевернуть сигналы или изменить уровни прибыли/убытка за 2 клика.
Прозрачность:
Весь код открыт → вы можете увидеть, как формируется каждый сигнал (меню «Исходник» в TradingView).
Советы для новичков:
Начните с теста:
Запустите стратегию на исторических данных (кнопка «Свеча» в окне TradingView).
Посмотрите, как она работала в прошлом.
Настройте под себя:
Увеличьте %Profit до 2-3%, если торгуете валюты.
Отключите «Sell – On», если не понимаете шорты.
Доверяйте стоп-лоссу:
Даже если кажется, что цена развернётся — стратегия закроет сделку при -0.5%, защитив ваш депозит.
Где найти настройки:
Кликните на название стратегии в верхнем левом углу графика → откроется меню с ползунками и переключателями.
Важно: Стратегия предоставляет «рыбу» – чтобы она стала «уловистой», адаптируйте её под свой стиль торговли!
Dollar Cost Averaging (DCA) | FractalystWhat's the purpose of this strategy?
The purpose of dollar cost averaging (DCA) is to grow investments over time using a disciplined, methodical approach used by many top institutions like MicroStrategy and other institutions.
Here's how it functions:
Dollar Cost Averaging (DCA): This technique involves investing a set amount of money regularly, regardless of market conditions. It helps to mitigate the risk of investing a large sum at a peak price by spreading out your investment, thus potentially lowering your average cost per share over time.
Regular Contributions: By adding money to your investments on a pre-determined frequency and dollar amount defined by the user, you take advantage of compounding. The script will remind you to contribute based on your chosen schedule, which can be weekly, bi-weekly, monthly, quarterly, or yearly. This systematic approach ensures that your returns can earn their own returns, much like interest on savings but potentially at a higher rate.
Technical Analysis: The strategy employs a market trend ratio to gauge market sentiment. It calculates the ratio of bullish vs bearish breakouts across various timeframes, assigning this ratio a percentage-based score to determine the directional bias. Once this score exceeds a user-selected percentage, the strategy looks to take buy entries, signaling a favorable time for investment based on current market trends.
Fundamental Analysis: This aspect looks at the health of the economy and companies within it to determine bullish market conditions. Specifically, we consider:
Specifically, it considers:
Interest Rate: High interest rates can affect borrowing costs, potentially slowing down economic growth or making stocks less attractive compared to fixed income.
Inflation Rate: Inflation erodes purchasing power, but moderate inflation can be a sign of a healthy economy. We look for investments that might benefit from or withstand inflation.
GDP Rate: GDP growth indicates the overall health of the economy; we aim to invest in sectors poised to grow with the economy.
Unemployment Rate: Lower unemployment typically signals consumer confidence and spending power, which can boost certain sectors.
By integrating these elements, the strategy aims to:
Reduce Investment Volatility: By spreading out your investments, you're less impacted by short-term market swings.
Enhance Growth Potential: Using both technical and fundamental filters helps in choosing investments that are more likely to appreciate over time.
Manage Risk: The strategy aims to balance the risk of market timing by investing consistently and choosing assets wisely based on both economic data and market conditions.
----
What are Regular Contributions in this strategy?
Regular Contributions involve adding money to your investments on a pre-determined frequency and dollar amount defined by the user. The script will remind you to contribute based on your chosen schedule, which can be weekly, bi-weekly, monthly, quarterly, or yearly. This systematic approach ensures that your returns can earn their own returns, much like interest on savings but potentially at a higher rate.
----
How do regular contributions enhance compounding and reduce timing risk?
Enhances Compounding: Regular contributions leverage the power of compounding, where returns on investments can generate their own returns, potentially leading to exponential growth over time.
Reduces Timing Risk: By investing regularly, the strategy minimizes the risk associated with trying to time the market, spreading out the investment cost over time and potentially reducing the impact of volatility.
Automated Reminders: The script reminds users to make contributions based on their chosen schedule, ensuring consistency and discipline in investment practices, which is crucial for long-term success.
----
How does the strategy integrate technical and fundamental analysis for investors?
A: The strategy combines technical and fundamental analysis in the following manner:
Technical Analysis: It uses a market trend ratio to determine the directional bias by calculating the ratio of bullish vs bearish breakouts. Once this ratio exceeds a user-selected percentage threshold, the strategy signals to take buy entries, optimizing the timing within the given timeframe(s).
Fundamental Analysis: This aspect assesses the broader economic environment to identify sectors or assets that are likely to benefit from current economic conditions. By understanding these fundamentals, the strategy ensures investments are made in assets with strong growth potential.
This integration allows the strategy to select investments that are both technically favorable for entry and fundamentally sound, providing a comprehensive approach to investment decisions in the crypto, stock, and commodities markets.
----
How does the strategy identify market structure? What are the underlying calculations?
Q: How does the strategy identify market structure?
A: The strategy identifies market structure by utilizing an efficient logic with for loops to pinpoint the first swing candle that features a pivot of 2. This marks the beginning of the break of structure, where the market's previous trend or pattern is considered invalidated or changed.
What are the underlying calculations for identifying market structure?
A: The underlying calculations involve:
Identifying Swing Points: The strategy looks for swing highs (marked with blue Xs) and swing lows (marked with red Xs). A swing high is identified when a candle's high is higher than the highs of the candles before and after it. Conversely, a swing low is when a candle's low is lower than the lows of the candles before and after it.
Break of Structure (BOS):
Bullish BOS: This occurs when the price breaks above the swing high level of the previous structure, indicating a potential shift to a bullish trend.
Bearish BOS: This happens when the price breaks below the swing low level of the previous structure, signaling a potential shift to a bearish trend.
Structural Liquidity and Invalidation:
Structural Liquidity: After a break of structure, liquidity levels are updated to the first swing high in a bullish BOS or the first swing low in a bearish BOS.
Structural Invalidation: If the price moves back to the level of the first swing low before the bullish BOS or the first swing high before the bearish BOS, it invalidates the break of structure, suggesting a potential reversal or continuation of the previous trend.
This method provides users with a technical approach to filter market regimes, offering an advantage by minimizing the risk of overfitting to historical data, which is often a concern with traditional indicators like moving averages.
By focusing on identifying pivotal swing points and the subsequent breaks of structure, the strategy maintains a balance between sensitivity to market changes and robustness against historical data anomalies, ensuring a more adaptable and potentially more reliable market analysis tool.
What entry criteria are used in this script?
The script uses two entry models for trading decisions: BreakOut and Fractal.
Underlying Calculations:
Breakout: The script records the most recent swing high by storing it in a variable. When the price closes above this recorded level, and all other predefined conditions are satisfied, the script triggers a breakout entry. This approach is considered conservative because it waits for the price to confirm a breakout above the previous high before entering a trade. As shown in the image, as soon as the price closes above the new candle (first tick), the long entry gets taken. The stop-loss is initially set and then moved to break-even once the price moves in favor of the trade.
Fractal: This method involves identifying a swing low with a period of 2, which means it looks for a low point where the price is lower than the two candles before and after it. Once this pattern is detected, the script executes the trade. This is an aggressive approach since it doesn't wait for further price confirmation. In the image, this is represented by the 'Fractal 2' label where the script identifies and acts on the swing low pattern.
----
How does the script calculate trend score? What are the underlying calculations?
Market Trend Ratio: The script calculates the ratio of bullish to bearish breakouts. This involves:
Counting Bullish Breakouts: A bullish breakout is counted when the price breaks above a recent swing high (as identified in the strategy's market structure analysis).
Counting Bearish Breakouts: A bearish breakout is counted when the price breaks below a recent swing low.
Percentage-Based Score: This ratio is then converted into a percentage-based score:
For example, if there are 10 bullish breakouts and 5 bearish breakouts in a given timeframe, the ratio would be 10:5 or 2:1. This could be translated into a score where 66.67% (10/(10+5) * 100) represents the bullish trend strength.
The score might be calculated as (Number of Bullish Breakouts / Total Breakouts) * 100.
User-Defined Threshold: The strategy uses this score to determine when to take buy entries. If the trend score exceeds a user-defined percentage threshold, it indicates a strong enough bullish trend to justify a buy entry. For instance, if the user sets the threshold at 60%, the script would look for a buy entry when the trend score is above this level.
Timeframe Consideration: The calculations are performed across the timeframes specified by the user, ensuring the trend score reflects the market's behavior over different periods, which could be daily, weekly, or any other relevant timeframe.
This method provides a quantitative measure of market trend strength, helping to make informed decisions based on the balance between bullish and bearish market movements.
What type of stop-loss identification method are used in this strategy?
This strategy employs two types of stop-loss methods: Initial Stop-loss and Trailing Stop-Loss.
Underlying Calculations:
Initial Stop-loss:
ATR Based: The strategy uses the Average True Range (ATR) to set an initial stop-loss, which helps in accounting for market volatility without predicting price direction.
Calculation:
- First, the True Range (TR) is calculated for each period, which is the greatest of:
- Current Period High - Current Period Low
- Absolute Value of Current Period High - Previous Period Close
- Absolute Value of Current Period Low - Previous Period Close
- The ATR is then the moving average of these TR values over a specified period, typically 14 periods by default. This ATR value can be used to set the stop-loss at a distance from the entry price that reflects the current market volatility.
Swing Low Based:
For this method, the stop-loss is set based on the most recent swing low identified in the market structure analysis. This approach uses the lowest point of the recent price action as a reference for setting the stop-loss.
Trailing Stop-Loss:
The strategy uses structural liquidity and structural invalidation levels across multiple timeframes to adjust the stop-loss once the trade is profitable. This method involves:
Detecting Structural Liquidity: After a break of structure, the liquidity levels are updated to the first swing high in a bullish scenario or the first swing low in a bearish scenario. These levels serve as potential areas where the price might find support or resistance, allowing the stop-loss to trail the price movement.
Detecting Structural Invalidation: If the price returns to the level of the first swing low before a bullish break of structure or the first swing high before a bearish break of structure, it suggests the trend might be reversing or invalidating, prompting the adjustment of the stop-loss to lock in profits or minimize losses.
By using these methods, the strategy dynamically adjusts the initial stop-loss based on market volatility, helping to protect against adverse price movements while allowing for enough room for trades to develop. The ATR-based stop-loss adapts to the current market conditions by considering the volatility, ensuring that the stop-loss is not too tight during volatile periods, which could lead to premature exits, nor too loose during calm markets, which might result in larger losses. Similarly, the swing low based stop-loss provides a logical exit point if the market structure changes unfavorably.
Each market behaves differently across various timeframes, and it is essential to test different parameters and optimizations to find out which trailing stop-loss method gives you the desired results and performance. This involves backtesting the strategy with different settings for the ATR period, the distance from the swing low, and how the trailing stop-loss reacts to structural liquidity and invalidation levels.
Through this process, you can tailor the strategy to perform optimally in different market environments, ensuring that the stop-loss mechanism supports the trade's longevity while safeguarding against significant drawdowns.
What type of break-even and take profit identification methods are used in this strategy? What are the underlying calculations?
For Break-Even:
Percentage (%) Based:
Moves the initial stop-loss to the entry price when the price reaches a certain percentage above the entry.
Calculation:
Break-even level = Entry Price * (1 + Percentage / 100)
Example:
If the entry price is $100 and the break-even percentage is 5%, the break-even level is $100 * 1.05 = $105.
Risk-to-Reward (RR) Based:
Moves the initial stop-loss to the entry price when the price reaches a certain RR ratio.
Calculation:
Break-even level = Entry Price + (Initial Risk * RR Ratio)
For TP
- You can choose to set a take profit level at which your position gets fully closed.
- Similar to break-even, you can select either a percentage (%) or risk-to-reward (RR) based take profit level, allowing you to set your TP1 level as a percentage amount above the entry price or based on RR.
What's the day filter Filter, what does it do?
The day filter allows users to customize the session time and choose the specific days they want to include in the strategy session. This helps traders tailor their strategies to particular trading sessions or days of the week when they believe the market conditions are more favorable for their trading style.
Customize Session Time:
Users can define the start and end times for the trading session.
This allows the strategy to only consider trades within the specified time window, focusing on periods of higher market activity or preferred trading hours.
Select Days:
Users can select which days of the week to include in the strategy.
This feature is useful for excluding days with historically lower volatility or unfavorable trading conditions (e.g., Mondays or Fridays).
Benefits:
Focus on Optimal Trading Periods:
By customizing session times and days, traders can focus on periods when the market is more likely to present profitable opportunities.
Avoid Unfavorable Conditions:
Excluding specific days or times can help avoid trading during periods of low liquidity or high unpredictability, such as major news events or holidays.
What tables are available in this script?
- Summary: Provides a general overview, displaying key performance parameters such as Net Profit, Profit Factor, Max Drawdown, Average Trade, Closed Trades and more.
Total Commission: Displays the cumulative commissions incurred from all trades executed within the selected backtesting window. This value is derived by summing the commission fees for each trade on your chart.
Average Commission: Represents the average commission per trade, calculated by dividing the Total Commission by the total number of closed trades. This metric is crucial for assessing the impact of trading costs on overall profitability.
Avg Trade: The sum of money gained or lost by the average trade generated by a strategy. Calculated by dividing the Net Profit by the overall number of closed trades. An important value since it must be large enough to cover the commission and slippage costs of trading the strategy and still bring a profit.
MaxDD: Displays the largest drawdown of losses, i.e., the maximum possible loss that the strategy could have incurred among all of the trades it has made. This value is calculated separately for every bar that the strategy spends with an open position.
Profit Factor: The amount of money a trading strategy made for every unit of money it lost (in the selected currency). This value is calculated by dividing gross profits by gross losses.
Avg RR: This is calculated by dividing the average winning trade by the average losing trade. This field is not a very meaningful value by itself because it does not take into account the ratio of the number of winning vs losing trades, and strategies can have different approaches to profitability. A strategy may trade at every possibility in order to capture many small profits, yet have an average losing trade greater than the average winning trade. The higher this value is, the better, but it should be considered together with the percentage of winning trades and the net profit.
Winrate: The percentage of winning trades generated by a strategy. Calculated by dividing the number of winning trades by the total number of closed trades generated by a strategy. Percent profitable is not a very reliable measure by itself. A strategy could have many small winning trades, making the percent profitable high with a small average winning trade, or a few big winning trades accounting for a low percent profitable and a big average winning trade. Most mean-reversion successful strategies have a percent profitability of 40-80% but are profitable due to risk management control.
BE Trades: Number of break-even trades, excluding commission/slippage.
Losing Trades: The total number of losing trades generated by the strategy.
Winning Trades: The total number of winning trades generated by the strategy.
Total Trades: Total number of taken traders visible your charts.
Net Profit: The overall profit or loss (in the selected currency) achieved by the trading strategy in the test period. The value is the sum of all values from the Profit column (on the List of Trades tab), taking into account the sign.
- Monthly: Displays performance data on a month-by-month basis, allowing users to analyze performance trends over each month and year.
- Weekly: Displays performance data on a week-by-week basis, helping users to understand weekly performance variations.
- UI Table: A user-friendly table that allows users to view and save the selected strategy parameters from user inputs. This table enables easy access to key settings and configurations, providing a straightforward solution for saving strategy parameters by simply taking a screenshot with Alt + S or ⌥ + S.
User-input styles and customizations:
Please note that all background colors in the style are disabled by default to enhance visualization.
How to Use This Strategy to Create a Profitable Edge and Systems?
Choose Your Strategy mode:
- Decide whether you are creating an investing strategy or a trading strategy.
Select a Market:
- Choose a one-sided market such as stocks, indices, or cryptocurrencies.
Historical Data:
- Ensure the historical data covers at least 10 years of price action for robust backtesting.
Timeframe Selection:
- Choose the timeframe you are comfortable trading with. It is strongly recommended to use a timeframe above 15 minutes to minimize the impact of commissions/slippage on your profits.
Set Commission and Slippage:
- Properly set the commission and slippage in the strategy properties according to your broker/prop firm specifications.
Parameter Optimization:
- Use trial and error to test different parameters until you find the performance results you are looking for in the summary table or, preferably, through deep backtesting using the strategy tester.
Trade Count:
- Ensure the number of trades is 200 or more; the higher, the better for statistical significance.
Positive Average Trade:
- Make sure the average trade is above zero.
(An important value since it must be large enough to cover the commission and slippage costs of trading the strategy and still bring a profit.)
Performance Metrics:
- Look for a high profit factor, and net profit with minimum drawdown.
- Ideally, aim for a drawdown under 20-30%, depending on your risk tolerance.
Refinement and Optimization:
- Try out different markets and timeframes.
- Continue working on refining your edge using the available filters and components to further optimize your strategy.
What makes this strategy original?
Incorporation of Fundamental Analysis:
This strategy integrates fundamental analysis by considering key economic indicators such as interest rates, inflation, GDP growth, and unemployment rates. These fundamentals help in assessing the broader economic health, which in turn influences sector performance and market trends. By understanding these economic conditions, the strategy can identify sectors or assets that are likely to thrive, ensuring investments are made in environments conducive to growth. This approach allows for a more informed investment decision, aligning technical entries with fundamentally strong market conditions, thus potentially enhancing the strategy's effectiveness over time.
Technical Analysis Without Classical Methods:
The strategy's technical analysis diverges from traditional methods like moving averages by focusing on market structure through a trend score system.
Instead of using lagging indicators, it employs a real-time analysis of market trends by calculating the ratio of bullish to bearish breakouts. This provides several benefits:
Immediate Market Sentiment: The trend score system reacts more dynamically to current market conditions, offering insights into the market's immediate sentiment rather than historical trends, which can often lag behind real-time changes.
Reduced Overfitting: By not relying on moving averages or similar classical indicators, the strategy avoids the common pitfall of overfitting to historical data, which can lead to poor performance in new market conditions. The trend score provides a fresh perspective on market direction, potentially leading to more robust trading signals.
Clear Entry Signals: With the trend score, entry decisions are based on a clear percentage threshold, making the strategy's decision-making process straightforward and less subjective than interpreting moving average crossovers or similar signals.
Regular Contributions and Reminders:
The strategy encourages regular investments through a system of predefined frequency and amount, which could be weekly, bi-weekly, monthly, quarterly, or yearly. This systematic approach:
Enhances Compounding: Regular contributions leverage the power of compounding, where returns on investments can generate their own returns, potentially leading to exponential growth over time.
Reduces Timing Risk: By investing regularly, the strategy minimizes the risk associated with trying to time the market, spreading out the investment cost over time and potentially reducing the impact of volatility.
Automated Reminders: The script reminds users to make contributions based on their chosen schedule, ensuring consistency and discipline in investment practices, which is crucial for long-term success.
Long-Term Wealth Building:
Focused on long-term wealth accumulation, this strategy:
Promotes Patience and Discipline: By emphasizing regular contributions and a disciplined approach to both entry and risk management, it aligns with the principles of long-term investing, discouraging impulsive decisions based on short-term market fluctuations.
Diversification Across Asset Classes: Operating across crypto, stocks, and commodities, the strategy provides diversification, which is a key component of long-term wealth building, reducing risk through varied exposure.
Growth Over Time: The strategy's design to work with the market's natural growth cycles, supported by fundamental analysis, aims for sustainable growth rather than quick profits, aligning with the goals of investors looking to build wealth over decades.
This comprehensive approach, combining fundamental insights, innovative technical analysis, disciplined investment habits, and a focus on long-term growth, offers a unique and potentially effective pathway for investors seeking to build wealth steadily over time.
Terms and Conditions | Disclaimer
Our charting tools are provided for informational and educational purposes only and should not be construed as financial, investment, or trading advice. They are not intended to forecast market movements or offer specific recommendations. Users should understand that past performance does not guarantee future results and should not base financial decisions solely on historical data.
Built-in components, features, and functionalities of our charting tools are the intellectual property of @Fractalyst Unauthorized use, reproduction, or distribution of these proprietary elements is prohibited.
- By continuing to use our charting tools, the user acknowledges and accepts the Terms and Conditions outlined in this legal disclaimer and agrees to respect our intellectual property rights and comply with all applicable laws and regulations.
Flux Charts - S&D Automation💎 GENERAL OVERVIEW
The MTF Supply & Demand Zones (S&D) Automation is a powerful and versatile tool designed to help traders rigorously test their trading strategies against historical market data. With various advanced settings, traders can fine-tune their strategies, assess performance, and identify key improvements before deploying in live trading environments. This tool offers a wide range of configurable settings, explained within this write-up.
Features of the new S&D Automation:
Step By Step : Configure your strategy step by step, which will allow you to have OR & AND logic in your strategies.
Highly Configurable : Offers multiple parameters for fine-tuning trade entry and exit conditions.
Multi-Timeframe Analysis : Allows traders to analyze multiple timeframes simultaneously for enhanced accuracy.
Provides advanced stop-loss, take-profit, and break-even settings.
Incorporates Supply & Demand Zone conditions, with settings like Sensitivity, Zone Invalidation, Minimum Zone Width & Minimum Zone Length settings for refined strategy execution.
🚩 UNIQUENESS
The S&D Automation stands out from conventional backtesting tools due to its unparalleled flexibility, precision, and advanced trading logic integration. Key factors that make it unique include:
✅ Comprehensive Strategy Customization – Unlike traditional backtesters that offer basic entry and exit conditions, S&D Automation provides a highly detailed parameter set, allowing traders to fine-tune their strategies with precision.
✅ Multi-Timeframe Supply & Demand Zones – This is the first-ever tool that allows traders to backtest Supply & Demand zones on multiple timeframes.
✅ Customizable Take-Profit Conditions – Offers various methods to set take-profit exits, including using core features from Supply & Demand Zones, and fixed exits like ATR, % change or price change, enabling traders to tailor their exit strategies to specific market behaviors.
✅ Customizable Stop-Loss Conditions – Provides several ways to set up stop losses, including using concepts from Supply & Demand Zones and trailing stops or fixed exits like ATR, % change or price change, allowing for dynamic risk management tailored to individual strategies.
✅ Integration of External Indicators – Allows the inclusion of other indicators or data sources from TradingView for creating strategy conditions, enabling traders to enhance their strategies with additional insights and data points.
By integrating these advanced features, S&D Automation ensures that traders can rigorously test and optimize their strategies with great accuracy and efficiency.
📌 HOW DOES IT WORK ?
The first setting you will want to set it the pyramiding setting. This setting controls the number of simultaneous trades in the same direction allowed in the strategy. For example, if you set it to 1, only one trade can be active in any time, and the second trade will not be entered unless the first one is exited. If it is set to 2, the script will handle both of them at the same time. Note that you should enter the same value to this pyramiding setting, and the pyramiding setting in the "Properties" tab of the script for this to work.
You can enable and set a backtesting window that will limit the entries to between the start date & end date.
Then, you can enter your desired settings for Supply & Demand Zones. You can also enable and set up to 3 timeframes, which you can use later on when customizing your strategies enter / exit conditions.
Entry Conditions
From the "Long Conditions" or the "Short Conditions" groups, you can set your position entry conditions. For settings like "initial capital" or "order size", you can open the "Properties" tab, where these are handled.
The S&D Automation can use the following conditions for entry conditions :
1. Demand Zone
Detection: Triggered when a Demand Zone forms or is detected
Retest: Triggered when price retests a Demand Zone. A retest is confirmed when a candle enters a Demand Zone and closes outside of it.
2nd Retest: Triggered when price retests a Demand Zone for the second time. A retest is confirmed when a candle enters a Demand Zone and closes outside of it.
3rd Retest: Triggered when price retests a Demand Zone for the third time. A retest is confirmed when a candle enters a Demand Zone and closes outside of it.
Retracement: Triggered when price touches a Demand Zone
Break: Triggered when a Demand Zone is invalidated by candle close or wick, depending on the user's input.
2. Supply Zone
Detection: Triggered when a Supply Zone forms or is detected
Retest: Triggered when price retests a Supply Zone. A retest is confirmed when a candle enters a Supply Zone and closes outside of it.
2nd Retest: Triggered when price retests a Supply Zone for the second time. A retest is confirmed when a candle enters a Supply Zone and closes outside of it.
3rd Retest: Triggered when price retests a Supply Zone for the third time. A retest is confirmed when a candle enters a Supply Zone and closes outside of it.
Retracement: Triggered when price touches a Supply Zone
Break: Triggered when a Supply Zone is invalidated by candle close or wick, depending on the user's input.
3. Any Zone
Detection: Triggered when any Supply or Demand Zone forms or is detected
Retest: Triggered when price retests any Supply or Demand Zone. A retest is confirmed when a candle enters any Supply or Demand Zone and closes outside of it.
2nd Retest: Triggered when price retests any Supply or Demand Zone for the second time. A retest is confirmed when a candle enters any Supply or Demand Zone and closes outside of it.
3rd Retest: Triggered when price retests any Supply or Demand Zone for the third time. A retest is confirmed when a candle enters any Supply or Demand Zone and closes outside of it.
Retracement: Triggered when price touches any Supply or Demand Zone
Break: Triggered when any Supply or Demand Zone is invalidated by candle close or wick, depending on the user's input.
🕒 TIMEFRAME CONDITIONS
The S&D Automation supports Multi-Timeframe (MTF) features, just like the Supply & Demand indicator. When setting an entry condition, you can also choose the timeframe.
To set up MTF conditions, navigate to the 'Timeframes' section in the settings, select your desired timeframes, and enable them. You can choose up to three timeframes.
Once you've selected your timeframes, you can use them in your strategy. When setting long and short entry/exit conditions, you can choose from Timeframe 1, Timeframe 2, or Timeframe 3.
External Conditions
Users can use external indicators on the chart to set entry conditions.
The second dropdown in the external condition settings allows you to choose a conditional operator to compare external outputs. Available options include:
Less Than or Equal To: <=
Less Than: <
Equal To: =
Greater Than: >
Greater Than or Equal To: >=
The position entry conditions work like this ;
Each side has 5 S&D Zone conditions and 1 Source condition. Each condition can be enabled or disabled using the checkbox on the left side of them.
The next selection is the alert type, which you can select between "Detection", "Retest", "Retracement" or "Break".
You can select which timeframe this condition should work on from Timeframe 1, 2, or 3. If you select "Any Timeframe", the condition will work for all timeframes.
Lastly select the step of this condition from 1 to 6.
The Source Condition
The last condition on each side is a source condition that is different from the others. Using this condition, you can create your own logic using other indicators' outputs on your chart. For example, suppose that you have an EMA indicator in your chart. You can have the source condition to something like "EMA > high".
The Step System
Each condition has a step number, and conditions are in topological order based on them.
The conditions are executed step by step. This means the condition with step 2 cannot be executed before the condition with step 1 is executed.
Conditions with the same step numbers have "OR" logic. This means that if you have 2 conditions with step 3, the condition with step 4 can trigger after only one of the step 3 conditions is executed.
➕ OTHER ENTRY FEATURES
The S&D Automation allows traders to choose when to execute trades and when not to execute trades.
1. Only Take Trades
This setting lets users specify the time period when their strategy can open or execute trades.
2. Don't Take Trades
This setting lets users specify time periods when their strategy can't open or execute trades.
↩️ EXIT CONDITIONS
1. Exit on Opposite Signal
When enabled, a long position will close when short entry conditions are met, and a short position will close when long entry conditions are met.
2. Exit on Session End
When enabled, positions will be closed at the end of the trading session.
📈 TAKE PROFIT CONDITIONS
There are several methods available for setting take profit exits and conditions.
1. Entry Condition TP
Users can use entry conditions as triggers for take-profit exits. This setting can be found under the long and short exit conditions.
2. Fixed TP
Users can set a fixed TP for exits. This setting can be found under the long and short exit conditions. Users can choose between the following:
Price: This method triggers a TP exit when price reaches a specified level. For example, if you set the Price TP to 10 and buy NASDAQ:TSLA at $190, the trade will automatically exit when the price reaches $200 ($190 + $10).
Ticks: This method triggers a TP exit when price moves a specified number of ticks.
Percentage (%): This method triggers a TP exit when price moves a specified percentage.
ATR: This method triggers a TP exit based on a specified multiple of the Average True Range (ATR).
📉 STOP LOSS CONDITIONS
There are several methods available for setting stop-loss exits and conditions.
1. Entry Condition SL
Users can use entry conditions as triggers for stop-loss exits. This setting can be found under the long and short exit conditions.
2. Fixed SL
Users can set a fixed SL for exits. This setting can be found under the long and short exit conditions. Users can choose between the following:
Price: This method triggers a SL exit when price reaches a specified level. For example, if you set the Price SL to 10 and buy NASDAQ:TSLA at $200, the trade will automatically exit when the price reaches $190 ($200 - $10).
Ticks: This method triggers a SL exit when price moves a specified number of ticks.
Percentage (%): This method triggers a SL exit when price moves a specified percentage.
ATR: This method triggers a SL exit based on a specified multiple of the Average True Range (ATR).
3. Trailing Stop
An explanation & example for the trailing stop feature is present on the write-up within the next section.
Exit conditions have the same logic of constructing conditions like the entry ones. You can construct a Take-Profit Condition & a Stop-Loss Condition. Note that the Take-Profit condition will only work if the position is in profit, regardless of if it's triggered or not. The same applies for the Stop-Loss condition, meaning that it will only work if the position is in loss.
You can also set a Fixed TP & Fixed SL based on the price movement after the position is entered. You have options like "Price", "Ticks", "%", or "Average True Range". For example, you can set a Fixed TP like "5%", and the position will be entered once it moves 5% up in a long position.
Trailing Stop
For the Fixed SL, you also have a "Trailing" stop option, for which you can set its activation level as well. The Trailing stop activation level and its value are expressed in ticks. Check this scenario for an example :
We have a ticker with a tick value of $1. Our Trailing Stop is set to 10 ticks, and the activation level is set to 30 ticks.
We buy 1 contract when the price is $100.
When the price becomes $110, we are in $10 (10 ticks) profit and the trailing stop is now activated.
The current price our stop's on is $110 - $30 (30 ticks), which is the level of $80.
The trailing stop will only move if the price moves up the highest high the price has been after we entered the position.
Let's suppose that price moves up $40 right after our trailing stop is activated. The price will now be $150, and our trailing stop will sit on $150 - $30 (30 ticks) = $120.
If the price is down the $120 level, our stop loss will be triggered.
There is also a "Hard SL" option designed for a backup stop-loss when trailing stops are enabled. You can enable & set this option and if the price goes down before our trailing stop even activates, the position will be exited.
You can also move stop-loss to the break-even (entry price of the position) after a certain profit is achieved using the last setting of the exit conditions. Note that for this to work, you must have a Fixed SL set-up.
➕ OTHER EXIT FEATURES
1. Move Stop Loss to Breakeven
This setting allows the strategy to automatically move the SL to Breakeven (BE) when the position is in profit by a certain amount. Users can choose between the following:
Price: This method moves the SL to BE when price reaches a specified level.
Ticks: This method moves the SL to BE when price moves a specified number of ticks.
Percentage (%): This method moves the SL to BE when price moves a specified percentage.
ATR: This method moves the SL to BE when price moves a specified multiple of the Average True Range (ATR).
Example Entry Scenario
To give an example , check this scenario; out conditions are :
LONG CONDITIONS
Demand Zone Detection, Step 1
Supply Zone Retest, Step 2
Demand Zone Break, Step 2
open > close, Step 3
First, the strategy needs to detect a Demand Zone Detection in order to start working.
After it's detected, now it's looking for either a Supply Zone Retest, or a Demand Zone Break to proceed to the next step, the reason for this is that they both have the same step number.
After one of them is detected, the strategy will consistently check candlesticks for the condition open > close. If a bullish candlestick occurs, a long position will be entered.
⏰ ALERTS
This indicator uses TradingView's strategy alert system. All entries and exits will be sent as an alert if configured. It's possible to further customize these alerts to your liking. For more information check TradingView's strategy alert customization page : www.tradingview.com
⚙️ SETTINGS
1. Backtesting Settings
Pyramiding: Controls the number of simultaneous trades allowed in the strategy. This setting must have the same value that is entered on the script's properties tab on the settings pane.
Enable Custom Backtesting Period: Restricts backtesting to a specific date range.
Start & End Time Configuration: Define precise start and end dates for historical analysis.
2. General Configuration
Detection Method: There are two detection methods you can choose from for identifying Supply & Demand Zones. Both methods aim to identify key areas where price is likely to react, but they do so using different approaches. Traders can choose the method that aligns with their trading style and time horizon.
Sensitivity: The Sensitivity setting allows traders to adjust how aggressively the script identifies supply and demand zones when using the Momentum Detection Method. This setting directly impacts the threshold for detecting zones when using the momentum detection method.
Zone Invalidation: The Zone Invalidation setting determines how supply and demand zones are invalidated.
Wick -> A zone is invalidated if a candle’s wick goes below a demand zone or above a supply zone.
Close -> A zone is invalidated if a candle closes below a demand zone or above a supply zone.
Zone Visibility Range: The Zone Visibility Range setting controls how far from the current price supply and demand zones are displayed on the chart. It helps traders focus on relevant zones while avoiding clutter from distant or less impactful areas.
Minimum Zone Width: The Minimum Zone Width setting defines the smallest size a supply or demand zone must have to be displayed on the chart. It uses the Average True Range (ATR) as a reference to ensure zones are proportionate to current market volatility.
Minimum Zone Length: The Minimum Zone Length setting determines the minimum number of bars a supply or demand zone must span to be displayed on the chart. This setting helps filter out short-lived or insignificant zones, ensuring only meaningful areas of supply or demand are highlighted.
3. Multi-Timeframe Analysis
Enable Up to Three Timeframes: Select and analyze trades across multiple timeframes.
4. Entry Conditions for Long & Short Trades
Multiple Conditions (1-6): Configure up to six independent conditions per trade direction.
Condition Types: Options include Detection, Retest, 2nd Retest, 3rd Retest, Retracement, and Break.
Timeframe Specification: Choose between "Any Timeframe", "Timeframe 1", "Timeframe 2", or "Timeframe 3".
Trade Execution Filters: Restrict trades within specific trading sessions.
5. Exit Conditions for Long & Short Trades
Exit on Opposite Signal: Automatically exit trades upon opposite trade conditions.
Exit on Session End: Closes all positions at the end of the trading session.
Multiple Take-Profit (TP) and Stop-Loss (SL) Configurations:
TP/SL based on % move, ATR, Ticks, or Fixed Price.
Hard SL option for additional risk control.
Move SL to BE (Break Even) after a certain profit threshold.
Flux Charts - PAT Automation💎 GENERAL OVERVIEW
The PAT Automation is a powerful and versatile tool designed to help traders rigorously test their trading strategies against historical market data. With an array of advanced settings, traders can fine-tune their strategies, assess performance, and identify key improvements before deploying in live trading environments. This backtester offers a wide range of configurable settings, explained within this write-up.
Features of the PAT Automation:
Step By Step : Configure your strategy step by step, which will allow you to have OR & AND logic in your strategies.
Highly Configurable : Offers multiple parameters for fine-tuning trade entry and exit conditions.
Multi-Timeframe Analysis : Allows traders to analyze multiple timeframes simultaneously for enhanced accuracy.
Provides advanced stop-loss, take-profit, and break-even settings.
Incorporates volume-based conditions, liquidity grabs , order blocks , market structures and fair value gaps for refined strategy execution.
🚩 UNIQUENESS
The PAT Automation stands out from conventional backtesting tools due to its unparalleled flexibility, precision, and advanced trading logic integration. Key factors that make it unique include:
✅ Comprehensive Strategy Customization – Unlike traditional backtesters that offer basic entry and exit conditions, PAT Automation provides a highly detailed parameter set, allowing traders to fine-tune their strategies with precision.
✅ Multi-Timeframe Price Action Features – This is the first-ever tool that allows traders to backtest price action with multi-timeframe features such as Fair Value Gaps (FVGs), Inversion Fair Value Gaps (IFVGs), Order Blocks & Breaker Blocks.
✅ Customizable Take-Profit Conditions – Offers various methods to set take-profit exits, including using core features from price action, and fixed exits like ATR, % change or price change, enabling traders to tailor their exit strategies to specific market behaviors.
✅ Customizable Stop-Loss Conditions – Provides several ways to set up stop losses, including using concepts from price action and trailing stops or fixed exits like ATR, % change or price change, allowing for dynamic risk management tailored to individual strategies.
✅ Integration of External Indicators – Allows the inclusion of other indicators or data sources from TradingView for creating strategy conditions, enabling traders to enhance their strategies with additional insights and data points.
By integrating these advanced features, PAT Automation ensures that traders can rigorously test and optimize their strategies with great accuracy and efficiency.
📌 HOW DOES IT WORK?
The first setting you will want to set it the pyramiding setting. This setting controls the number of simultaneous trades in the same direction allowed in the strategy. For example, if you set it to 1, only one trade can be active in any time, and the second trade will not be entered unless the first one is exited. If it is set to 2, the script will handle both of them at the same time. Note that you should enter the same value to this pyramiding setting, and the pyramiding setting in the "Properties" tab of the script for this to work.
For deep backtesting, you can set "Max Distance To Last Bar" to "Unlimited". If you encounter any memory issues, try decreasing this setting to a lower value.
You can enable and set a backtesting window that will limit the entries to between the start date & end date.
Then, you can enter your desired settings to Price Action features like FVGs, IFVGs, Order Blocks, Breaker Blocks, Liquidity Grabs, Market Structures, EQH & EQL and Volume Imbalances. You can also enable and set up to 3 timeframes, which you can use later on when customizing your strategies enter / exit conditions.
Entry Conditions
From the "Long Conditions" or the "Short Conditions" groups, you can set your position entry conditions. For settings like "initial capital" or "order size", you can open the "Properties" tab, where these are handled.
The PAT Automation can use the following conditions for entry conditions :
1. Order Block (OB)
Detection: Triggered when an Order Block forms or is detected
Retest: Triggered when price retests an Order Block. A retest is confirmed when a candle enters an Order Block and closes outside of it.
Retracement: Triggered when price touches an Order Block
Break: Triggered when an Order Block is invalidated by candle close or wick, depending on the user's input.
2. Breaker Block (BB)
Detection: Triggered when a Breaker Block forms or is detected
Retest: Triggered when price retests a Breaker Block. A retest is confirmed when a candle enters a Breaker Block and closes outside of it.
Retracement: Triggered when price touches a Breaker Block
Break: Triggered when a Breaker Block is invalidated by candle close or wick, depending on the user's input.
3. Fair Value Gap (FVG)
Detection: Triggered when an FVG forms or is detected
Retest: Triggered when price retests an FVG. A retest is confirmed when a candle enters an FVG and closes outside of it.
Retracement: Triggered when price touches an FVG
Break: Triggered when an FVG is invalidated by candle close or wick, depending on the user's input.
4. Inversion Fair Value Gap (IFVG)
Detection: Triggered when an IFVG forms or is detected
Retest: Triggered when price retests an IFVG. A retest is confirmed when a candle enters an IFVG and closes outside of it.
Retracement: Triggered when price touches an IFVG
Break: Triggered when an IFVG is invalidated by candle close or wick, depending on the user's input.
5. Break of Structure (BOS)
Detection: Triggered when a BOS forms or is detected
6. Change of Character (CHoCH)
Detection: Triggered when a CHoCH forms or is detected
7. Change of Character Plus (CHoCH+)
Detection: Triggered when a CHoCH+ forms or is detected
8. Volume Imbalance (VI)
Detection: Triggered when a Volume Imbalance forms or is detected
9. Equal High (EQH)
Detection: Triggered when an EQH is detected
10. Equal Low (EQL)
Detection: Triggered when an EQL is detected
11. Buyside Liquidity Grab
Detection: Triggered when a liquidity grab occurs at Buyside Liquidity (BSL).
12. Sellside Liquidity Grab
Detection: Triggered when a liquidity grab occurs at Sellside Liquidity (SSL).
🕒 TIMEFRAME CONDITIONS
The PAT Automation supports Multi-Timeframe (MTF) features, just like the Price Action Toolkit. When setting an entry condition, you can also choose the timeframe.
To set up MTF conditions, navigate to the 'Timeframes' section in the settings, select your desired timeframes, and enable them. You can choose up to three timeframes.
Once you've selected your timeframes, you can use them in your strategy. When setting long and short entry / exit conditions, you can choose from Timeframe 1, Timeframe 2, or Timeframe 3.
External Conditions
Users can use external indicators on the chart to set entry conditions.
The second dropdown in the external condition settings allows you to choose a conditional operator to compare external outputs. Available options include:
Less Than or Equal To: <=
Less Than: <
Equal To: =
Greater Than: >
Greater Than or Equal To: >=
The position entry conditions work like this ;
Each side has 5 Price Action conditions and 1 Source condition. Each condition can be enabled or disabled using the checkbox on the left side.
For Price Action Conditions, you can set a direction: "Any", "Bullish" or "Bearish".
Then a Price Action Feature, like "FVG" or "Order Block".
The last part of our constructed condition is the alert type, which you can select between "Detection", "Retest", "Retracement" or "Break".
Now you should have a constructed condition, which should look like "Bullish Order Block Retest".
You can select which timeframe should this condition work on from Timeframe 1, 2 or 3. If you select "Any Timeframe", the condition will work for all timeframes.
Lastly select the step of this condition from 1 to 6.
The Source Condition
The last condition on each side is a source condition that is different from the others. Using this condition, you can create your own logic using other indicators' outputs on your chart. For example, suppose that you have an EMA indicator in your chart. You can have the source condition to something like "EMA > high".
The Step System
Each condition has a step number, and conditions are in topological order based on them.
The conditions are executed step by step. This means the condition with step 2 cannot be executed before the condition with step 1 is executed.
Conditions with the same step numbers have "OR" logic. This means that if you have 2 conditions with step 3, the condition with step 4 can trigger after only one of the step 3 conditions is executed.
➕ OTHER ENTRY FEATURES
The PAT Automation allows traders to choose when to execute trades and when not to execute trades.
1. Only Take Trades
This setting lets users specify the time period when their strategy can open or execute trades.
2. Don't Take Trades
This setting lets users specify time periods when their strategy can't open or execute trades.
↩️ EXIT CONDITIONS
1. Exit on Opposite Signal
When enabled, a long position will close when short entry conditions are met, and a short position will close when long entry conditions are met.
2. Exit on Session End
When enabled, positions will be closed at the end of the trading session.
📈 TAKE PROFIT CONDITIONS
There are several methods available for setting take profit exits and conditions.
1. Entry Condition TP
Users can use entry conditions as triggers for take-profit exits. This setting can be found under the long and short exit conditions.
2. Fixed TP
Users can set a fixed TP for exits. This setting can be found under the long and short exit conditions. Users can choose between the following:
Price: This method triggers a TP exit when price reaches a specified level. For example, if you set the Price TP to 10 and buy NASDAQ:TSLA at $190, the trade will automatically exit when the price reaches $200 ($190 + $10).
Ticks: This method triggers a TP exit when price moves a specified number of ticks.
Percentage (%): This method triggers a TP exit when price moves a specified percentage.
ATR: This method triggers a TP exit based on a specified multiple of the Average True Range (ATR).
📉 STOP LOSS CONDITIONS
There are several methods available for setting stop-loss exits and conditions.
1. Entry Condition SL
Users can use entry conditions as triggers for stop-loss exits. This setting can be found under the long and short exit conditions.
2. Fixed SL
Users can set a fixed SL for exits. This setting can be found under the long and short exit conditions. Users can choose between the following:
Price: This method triggers a SL exit when price reaches a specified level. For example, if you set the Price SL to 10 and buy NASDAQ:TSLA at $200, the trade will automatically exit when the price reaches $190 ($200 - $10).
Ticks: This method triggers a SL exit when price moves a specified number of ticks.
Percentage (%): This method triggers a SL exit when price moves a specified percentage.
ATR: This method triggers a SL exit based on a specified multiple of the Average True Range (ATR).
3. Trailing Stop
An explanation & example for the trailing stop feature is present on the write-up within the next section.
Exit conditions have the same logic of constructing conditions like the entry ones. You can construct a Take-Profit Condition & a Stop-Loss Condition. Note that the Take-Profit condition will only work if the position is in profit, regardless of if it's triggered or not. The same applies for the Stop-Loss condition, meaning that it will only work if the position is in loss.
You can also set a Fixed TP & Fixed SL based on the price movement after the position is entered. You have options like "Price", "Ticks", "%", or "Average True Range". For example, you can set a Fixed TP like "5%", and the position will be entered once it moves 5% up in a long position.
Trailing Stop
For the Fixed SL, you also have a "Trailing" stop option, which you can set it's activation level as well. The Trailing stop activation level and it's value are expressed in ticks. Check this scenerio for an example :
We have a ticker with a tick value of $1. Our Trailing Stop is set to 10 ticks and activation level is set to 30 ticks.
We buy 1 contract when the price is $100.
When the price becomes $110, we are in $10 (10 ticks) profit and the trailing stop is now activated.
The current price our stop's on is $110 - $30 (30 ticks), which is the level of $80.
The trailing stop will only move if the price moves up the highest high the price has been after we entered the position.
Let's suppose that price moves up $40 right after our trailing stop is activated. The price will now be $150, and our trailing stop will sit on $150 - $30 (30 ticks) = $120.
If the price is down the $120 level, our stop loss will be triggered.
There is also a "Hard SL" option designed for a backup stop-loss when trailing stops are enabled. You can enable & set this option and if the price goes down before our trailing stop even activates, the position will be exited.
You can also move stop-loss to the break-even (entry price of the position) after a certain profit is achieved using the last setting of the exit conditions. Note that for this to work, you will need to have a Fixed SL set-up.
➕ OTHER EXIT FEATURES
1. Move Stop Loss to Breakeven
This setting allows the strategy to automatically move the SL to Breakeven (BE) when the position is in profit by a certain amount. Users can choose between the following:
Price: This method moves the SL to BE when price reaches a specified level.
Ticks: This method moves the SL to BE when price moves a specified number of ticks.
Percentage (%): This method moves the SL to BE when price moves a specified percentage.
ATR: This method moves the SL to BE when price moves a specified multiple of the Average True Range (ATR).
Example Entry Scenario
To give an example , check this scenario; out conditions are :
LONG CONDITIONS
Bullish Order Block Detection, Step 1
Bullish CHoCH Detection, Step 2
Bullish Volume Imbalance Detection, Step 2
Bullish IFVG Retest, Step 3
First, the strategy needs to detect a Bullish Order Block in order to start working.
After it's detected, now it's looking for either a CHoCH, or a Volume Imbalance to proceed to the next step, the reason for this is that they both have the same step number.
After one of them is detected, the strategy will consistently check all IFVGs for a retest. If the retest occurs, a long position will be entered.
⏰ ALERTS
This indicator uses TradingView's strategy alert system. All entries and exits will be sent as an alert if configured. It's possible to further customize these alerts to your liking. For more information check TradingView's strategy alert customization page: www.tradingview.com
⚙️ SETTINGS
1. Backtesting Settings
Pyramiding: Controls the number of simultaneous trades allowed in the strategy. This setting must have the same value that is entered on the script's properties tab on the settings pane.
Max Distance to Last Bar: Determines the depth of historical data used to prevent memory overload.
Enable Custom Backtesting Period: Restricts backtesting to a specific date range.
Start & End Time Configuration: Define precise start and end dates for historical analysis.
2. Fair Value Gaps Settings
Zone Invalidation: Select between "Wick" and "Close" invalidation.
Filtering: Choose between "Average Range" and "Volume Threshold".
FVG Sensitivity: Ranges from Extreme to Low to detect FVGs with varying strictness.
Allow Gaps: Enables analysis on tickers that have different open-close price gaps.
3. Inversion Fair Value Gaps Settings
Zone Invalidation: Choose between "Wick" and "Close".
4. Order Block Settings
Swing Length: Adjusts the minimum number of bars required for OB formation.
Zone Invalidation Method: Select between "Wick" and "Close".
5. Breaker Block Settings
Zone Invalidation: Set invalidation method as "Wick" or "Close".
6. Liquidity Grabs Settings
Pivot Length: Adjusts the number of bars used to detect liquidity grabs.
Wick-Body Ratio: Defines the proportion of wick-to-body size for liquidity grab detection.
7. Multi-Timeframe Analysis
Enable Up to Three Timeframes: Select and analyze trades across multiple timeframes.
8. Market Structures
Swing Length: Defines the number of bars required for structure shifts.
Includes BOS, CHoCH, CHoCH+ Detection.
9. Equal Highs & Lows
ATR Multiplier: Defines the sensitivity of equal highs/lows detection.
10. Volume Imbalances
Gap Size Sensitivity: Ranges from "Ultra" to "Low".
Disable Overnight Gaps: Filters out volume imbalances occurring due to overnight gaps.
11. Entry Conditions for Long & Short Trades
Multiple Conditions (1-6): Configure up to six independent conditions per trade direction.
Condition Types: Options include Detection, Retest, Retracement, and Break.
Timeframe Specification: Choose between "Any Timeframe", "Timeframe 1", "Timeframe 2", or "Timeframe 3".
Trade Execution Filters: Restrict trades within specific trading sessions.
12. Exit Conditions for Long & Short Trades
Exit on Opposite Signal: Automatically exit trades upon opposite trade conditions.
Exit on Session End: Closes all positions at the end of the trading session.
Multiple Take-Profit (TP) and Stop-Loss (SL) Configurations:
TP/SL based on % move, ATR, Ticks, or Fixed Price.
Hard SL option for additional risk control.
Move SL to BE (Break Even) after a certain profit threshold.
Flux Charts - SFX Automation💎 GENERAL OVERVIEW
The SFX Automation is a powerful and versatile tool designed to help traders rigorously test their trading strategies against historical market data. With various advanced settings, traders can fine-tune their strategies, assess performance, and identify key improvements before deploying in live trading environments. This tool offers a wide range of configurable settings, explained within this write-up.
Features of the new SFX Automation :
Step By Step : Configure your strategy step by step, which will allow you to have OR & AND logic in your strategies.
Highly Configurable : Offers multiple parameters for fine-tuning trade entry and exit conditions.
Multi-Timeframe Analysis : Allows traders to analyze multiple timeframes simultaneously for enhanced accuracy.
Provides advanced stop-loss, take-profit, and break-even settings.
Incorporates Buy & Sell signals, with settings like Signal Sensitivity, Strength, Time Weighting, Dynamic TP & SL Methods and more for refined strategy execution.
🚩 UNIQUENESS
The SFX Automation stands out from conventional backtesting tools due to its unparalleled flexibility, precision, and advanced trading logic integration. Key factors that make it unique include:
✅ Comprehensive Strategy Customization – Unlike traditional backtesters that offer basic entry and exit conditions, SFX Automation provides a highly detailed parameter set, allowing traders to fine-tune their strategies with precision.
✅ Multi-Timeframe Signals – This is the first-ever tool that allows traders to backtest Buy & Sell Signals on multiple timeframes.
✅ Customizable Take-Profit Conditions – Offers various methods to set take-profit exits, including using core features from SFX Algo, and dynamic exits like signal rating upgrades/downgrades, enabling traders to tailor their exit strategies to specific market behaviors.
✅ Customizable Stop-Loss Conditions – Provides several ways to set up stop losses, including using concepts from SFX Algo and trailing stops or dynamic exits like signal rating upgrades/downgrades, allowing for dynamic risk management tailored to individual strategies.
✅ Integration of External Indicators – Allows the inclusion of other indicators or data sources from TradingView for creating strategy conditions, enabling traders to enhance their strategies with additional insights and data points.
By integrating these advanced features, SFX Automation ensures that traders can rigorously test and optimize their strategies with great accuracy and efficiency.
📌 HOW DOES IT WORK ?
The first setting you will want to set it the pyramiding setting. This setting controls the number of simultaneous trades in the same direction allowed in the strategy. For example, if you set it to 1, only one trade can be active in any time, and the second trade will not be entered unless the first one is exited. If it is set to 2, the script will handle both of them at the same time. Note that you should enter the same value to this pyramiding setting, and the pyramiding setting in the "Properties" tab of the script for this to work.
You can enable and set a backtesting window that will limit the entries to between the start date & end date.
Entry Conditions
From the "Long Conditions" or the "Short Conditions" groups, you can set your position entry conditions. For settings like "initial capital" or "order size", you can open the "Properties" tab, where these are handled.
The SFX Algo can use the following conditions for entry conditions :
1. Buy Signal (Any, or 1-5 ☆)
This condition is triggered when a Buy Signal occurs. Other timeframes are supported with this condition.
2. Buy | TP (1, 2 or 3)
This condition is triggered when a TP signal of any Buy signal occurs.
3. Buy | SL
This condition is triggered when a SL signal of any Buy signal occurs.
4. Buy | Rating Upgrade
This condition is triggered when the rating of a buy signal is increased.
5. Buy | Rating Downgrade
This condition is triggered when the rating of a buy signal is decreased.
6. Sell Signal (Any, or 1-5 ☆)
This condition is triggered when a Sell Signal occurs. Other timeframes are supported with this condition.
7. Sell | TP (1, 2 or 3)
This condition is triggered when a TP signal of any Sell signal occurs.
8. Sell | SL
This condition is triggered when a SL signal of any Sell signal occurs.
9. Sell | Rating Upgrade
This condition is triggered when the rating of a sell signal is increased.
10. Sell | Rating Downgrade
This condition is triggered when the rating of a sell signal is decreased.
11. Retracement Wave Retest (Bullish or Bearish)
A retest on the Retracement Wave occurs when the price temporarily moves against the prevailing trend, touching or entering the wave before continuing in the original trend direction. This retest serves as a confirmation that the wave is acting as dynamic support or resistance.
12. Retracement Wave Retracement (Bullish or Bearish)
A retracement on the Retracement Wave occurs when the price touches the wave, the condition is triggered immediately.
13. Volatility Bands Retest (Bullish or Bearish)
A retest of Volatility Bands occurs when the price initially moves beyond the bands, then pulls back to "retest" the band it just broke through before continuing its move. This can provide traders with confirmation of a breakout or signal a potential reversal.
14. Volatility Bands Retracement (Bullish or Bearish)
A retracement on the Volatility Bands occur when the price touches the band, the condition is triggered immediately.
🕒 TIMEFRAME CONDITIONS
The SFX Automation supports Multi-Timeframe (MTF) features for Buy & Sell signals. When setting an entry condition, you can also choose the timeframe.
External Conditions
Users can use external indicators on the chart to set entry conditions.
The second dropdown in the external condition settings allows you to choose a conditional operator to compare external outputs. Available options include:
Less Than or Equal To: <=
Less Than: <
Equal To: =
Greater Than: >
Greater Than or Equal To: >=
The position entry conditions work like this ;
Each side has 3 SFX Algo conditions and 2 Source conditions. Each condition can be enabled or disabled using the checkbox on the left side of them.
You can select which timeframe this condition should work on for Buy & Sell signals. If you select "Chart", the condition will work for the chart's current timeframe.
Lastly select the step of this condition from 1 to 6.
The Source Condition
The last condition on each side is a source condition that is different from the others. Using this condition, you can create your own logic using other indicators' outputs on your chart. For example, suppose that you have an EMA indicator in your chart. You can have the source condition to something like "EMA > high".
The Step System
Each condition has a step number, and conditions are in topological order based on them.
The conditions are executed step by step. This means the condition with step 2 cannot be executed before the condition with step 1 is executed.
Conditions with the same step numbers have "OR" logic. This means that if you have 2 conditions with step 3, the condition with step 4 can trigger after only one of the step 3 conditions is executed.
➕ OTHER ENTRY FEATURES
The SFX Automation allows traders to choose when to execute trades and when not to execute trades.
1. Only Take Trades
This setting lets users specify the time period when their strategy can open or execute trades.
2. Don't Take Trades
This setting lets users specify time periods when their strategy can't open or execute trades.
↩️ EXIT CONDITIONS
1. Exit on Opposite Signal
When enabled, a long position will close when short entry conditions are met, and a short position will close when long entry conditions are met.
2. Exit on Session End
When enabled, positions will be closed at the end of the trading session.
📈 TAKE PROFIT CONDITIONS
There are several methods available for setting take profit exits and conditions.
1. Entry Condition TP
Users can use entry conditions as triggers for take profit exits. This setting can be found under the long and short exit conditions.
2. Fixed TP
Users can set a fixed TP for exits. This setting can be found under the long and short exit conditions. Users can choose between the following:
Price: This method triggers a TP exit when price reaches a specified level. For example, if you set the Price TP to 10 and buy NASDAQ:TSLA at $190, the trade will automatically exit when the price reaches $200 ($190 + $10).
Ticks: This method triggers a TP exit when price moves a specified number of ticks.
Percentage (%): This method triggers a TP exit when price moves a specified percentage.
ATR: This method triggers a TP exit based on a specified multiple of the Average True Range (ATR).
🧩EXIT PERCENTAGES
For each 3 dynamic take-profit conditions, you can set the amount of the position to exit in terms of percentage. It's important to make sure that the total of the exit percentages are 100%.
📉 STOP LOSS CONDITIONS
There are several methods available for setting stop-loss exits and conditions.
1. Entry Condition SL
Users can use entry conditions as triggers for stop-loss exits. This setting can be found under the long and short exit conditions.
2. Fixed SL
Users can set a fixed SL for exits. This setting can be found under the long and short exit conditions. Users can choose between the following:
Price: This method triggers a SL exit when price reaches a specified level. For example, if you set the Price SL to 10 and buy NASDAQ:TSLA at $200, the trade will automatically exit when the price reaches $190 ($200 - $10).
Ticks: This method triggers a SL exit when price moves a specified number of ticks.
Percentage (%): This method triggers a SL exit when price moves a specified percentage.
ATR: This method triggers a SL exit based on a specified multiple of the Average True Range (ATR).
3. Trailing Stop
An explanation & example for the trailing stop feature is present on the write-up within the next section.
Exit conditions have the same logic of constructing conditions like the entry ones. You can construct a Take-Profit Condition & a Stop-Loss Condition. Note that the Take-Profit condition will only work if the position is in profit, regardless of if it's triggered or not. The same applies for the Stop-Loss condition, meaning that it will only work if the position is in loss.
You can also set a Fixed TP & Fixed SL based on the price movement after the position is entered. You have options like "Price", "Ticks", "%", or "Average True Range". For example, you can set a Fixed TP like "5%", and the position will be entered once it moves 5% up in a long position.
Trailing Stop
For the Fixed SL, you also have a "Trailing" stop option, which you can set it's activation level as well. The Trailing stop activation level and it's value are expressed in ticks. Check this scenerio for an example :
We have a ticker with a tick value of $1. Our Trailing Stop is set to 10 ticks, and the activation level is set to 30 ticks.
We buy 1 contract when the price is $100.
When the price becomes $110, we are in $10 (10 ticks) profit and the trailing stop is now activated.
The current price our stop's on is $110 - $30 (30 ticks), which is the level of $80.
The trailing stop will only move if the price moves up the highest high the price has been after we entered the position.
Let's suppose that price moves up $40 right after our trailing stop is activated. The price will now be $150, and our trailing stop will sit on $150 - $30 (30 ticks) = $120.
If the price is down the $120 level, our stop loss will be triggered.
There is also a "Hard SL" option designed for a backup stop-loss when trailing stops are enabled. You can enable & set this option and if the price goes down before our trailing stop even activates, the position will be exited.
You can also move stop-loss to the break-even (entry price of the position) after a certain profit is achieved using the last setting of the exit conditions. Note that for this to work, you will need to have a Fixed SL setup.
➕ OTHER EXIT FEATURES
1. Move Stop Loss to Breakeven
This setting allows the strategy to automatically move the SL to Breakeven (BE) when the position is in profit by a certain amount. Users can choose between the following:
Price: This method moves the SL to BE when price reaches a specified level.
Ticks: This method moves the SL to BE when price moves a specified number of ticks.
Percentage (%): This method moves the SL to BE when price moves a specified percentage.
ATR: This method moves the SL to BE when price moves a specified multiple of the Average True Range (ATR).
Example Entry Scenario
To give an example , check this scenario; out conditions are :
LONG CONDITIONS
Buy Signal Any☆, Step 1
Bullish R. Wave Retest, Step 2
Bullish V. Bands Retest, Step 2
open > close, Step 3
First, the strategy needs to detect a Buy Signal with any star rating in order to start working.
After it's detected, now it's looking for either a Bullish R. Wave Retest, or a Bullish V. Bands Retest to proceed to the next step, the reason for this is that they both have the same step number.
After one of them is detected, the strategy will consistently check candlesticks for the condition open > close. If a bullish candlestick occurs, a long position will be entered.
⏰ ALERTS
This indicator uses TradingView's strategy alert system. All entries and exits will be sent as an alert if configured. It's possible to further customize these alerts to your liking. For more information, check TradingView's strategy alert customization page: www.tradingview.com
⚙️ SETTINGS
1. Backtesting Settings
Pyramiding: Controls the number of simultaneous trades allowed in the strategy. This setting must have the same value that is entered on the script's properties tab on the settings pane.
Enable Custom Backtesting Period: Restricts backtesting to a specific date range.
Start & End Time Configuration: Define precise start and end dates for historical analysis.
2. Algorithm Settings
Sensitivity: The sensitivity setting is a key parameter that influences the number of signals the SFX Algo generates. By adjusting this parameter, you can control the frequency of signals produced by the algorithm.
Signal Strength: The Signal Strength setting filters signals based on their quality, allowing traders to focus on the most reliable opportunities. This feature helps traders balance the quantity and reliability of the algorithm’s signals to suit their trading strategy.
Time Weighting: The Time Weighting setting determines how the SFX Algo evaluates historical market data to generate signals.
a) Recent Trends
Focuses on the most recent movements for short-term analysis. This setting is good for scalpers and intraday traders who need to react quickly to market changes.
b) Mixed Trends
Balances recent and historical price movements for a comprehensive market view. This setting is well-suited for swing traders and those who want to capture medium-term opportunities by combining the benefits of short-term responsiveness with the reliability of long-term trends.
c) Long-term Trends
Relies on extended historical market data to identify broader market trends, making it an excellent choice for traders focused on long-term strategies.
Minimum Star Rating: The Minimum Star Rating setting allows you to filter signals based on their strength, showing only those that meet or exceed your chosen threshold. For instance, setting the minimum star rating to 3 ensures you only receive signals with a rating of 3 stars or higher.
3. Take Profit / Stop Loss Methods
Key Levels
The Key Levels method uses pivot points to set take profit and stop-loss levels. The TP and SL levels are shown when a new signal is generated.
Volatility Bands
This TP/SL method uses the Volatility Bands overlay to set dynamic TP and SL levels. These levels are not predetermined so they will not be shown in advance when a signal is generated.
Signal Rating
Sets take profit and stop-loss levels based on changes in a signal's rating strength. These levels are not predetermined so they will not be shown in advance when a signal is generated.
Auto Stop-Loss
The auto method can only be applied to the SL. The auto method allows the algorithm to detect SL automatically when a momentum shift is detected. You can adjust the risk tolerance of the Auto SL by adjusting the ‘Auto Risk Tolerance’ setting. You can choose between Low, Medium, and High. A high-risk tolerance will result in stop losses being triggered less often.
4. Entry Conditions for Long & Short Trades
Multiple Conditions (1-6): Configure up to six independent conditions per trade direction.
Timeframe Specification: Choose between timeframes for Buy & Sell signals.
Trade Execution Filters: Restrict trades within specific trading sessions.
5. Exit Conditions for Long & Short Trades
Exit on Opposite Signal: Automatically exit trades upon opposite trade conditions.
Exit on Session End: Closes all positions at the end of the trading session.
Multiple Take-Profit (TP) and Stop-Loss (SL) Configurations:
TP/SL based on % move, ATR, Ticks, or Fixed Price.
Hard SL option for additional risk control.
Move SL to BE (Break Even) after a certain profit threshold.
Iron Bot Statistical Trend Filter📌 Iron Bot Statistical Trend Filter
📌 Overview
Iron Bot Statistical Trend Filter is an advanced trend filtering strategy that combines statistical methods with technical analysis.
By leveraging Z-score and Fibonacci levels, this strategy quantitatively analyzes market trends to provide high-precision entry signals.
Additionally, it includes an optional EMA filter to enhance trend reliability.
Risk management is reinforced with Stop Loss (SL) and four Take Profit (TP) levels, ensuring a balanced approach to risk and reward.
📌 Key Features
🔹 1. Statistical Trend Filtering with Z-Score
This strategy calculates the Z-score to measure how much the price deviates from its historical mean.
Positive Z-score: Indicates a statistically high price, suggesting a strong uptrend.
Negative Z-score: Indicates a statistically low price, signaling a potential downtrend.
Z-score near zero: Suggests a ranging market with no strong trend.
By using the Z-score as a filter, market noise is reduced, leading to more reliable entry signals.
🔹 2. Fibonacci Levels for Trend Reversal Detection
The strategy integrates Fibonacci retracement levels to identify potential reversal points in the market.
High Trend Level (Fibo 23.6%): When the price surpasses this level, an uptrend is likely.
Low Trend Level (Fibo 78.6%): When the price falls below this level, a downtrend is expected.
Trend Line (Fibo 50%): Acts as a midpoint, helping to assess market balance.
This allows traders to visually confirm trend strength and turning points, improving entry accuracy.
🔹 3. EMA Filter for Trend Confirmation (Optional)
The strategy includes an optional 200 EMA (Exponential Moving Average) filter for trend validation.
Price above 200 EMA: Indicates a bullish trend (long entries preferred).
Price below 200 EMA: Indicates a bearish trend (short entries preferred).
Enabling this filter reduces false signals and improves trend-following accuracy.
🔹 4. Multi-Level Take Profit (TP) and Stop Loss (SL) Management
To ensure effective risk management, the strategy includes four Take Profit levels and a Stop Loss:
Stop Loss (SL): Automatically closes trades when the price moves against the position by a certain percentage.
TP1 (+0.75%): First profit-taking level.
TP2 (+1.1%): A higher probability profit target.
TP3 (+1.5%): Aiming for a stronger trend move.
TP4 (+2.0%): Maximum profit target.
This system secures profits at different stages and optimizes risk-reward balance.
🔹 5. Automated Long & Short Trading Logic
The strategy is built using Pine Script®’s strategy.entry() and strategy.exit(), allowing fully automated trading.
Long Entry:
Price is above the trend line & high trend level.
Z-score is positive (indicating an uptrend).
(Optional) Price is also above the EMA for stronger confirmation.
Short Entry:
Price is below the trend line & low trend level.
Z-score is negative (indicating a downtrend).
(Optional) Price is also below the EMA for stronger confirmation.
This logic helps filter out unnecessary trades and focus only on high-probability entries.
📌 Trading Parameters
This strategy is designed for flexible capital management and risk control.
💰 Account Size: $5000
📉 Commissions and Slippage: Assumes 94 pips commission per trade and 1 pip slippage.
⚖️ Risk per Trade: Adjustable, with a default setting of 1% of equity.
These parameters help preserve capital while optimizing the risk-reward balance.
📌 Visual Aids for Clarity
To enhance usability, the strategy includes clear visual elements for easy market analysis.
✅ Trend Line (Blue): Indicates market midpoint and helps with entry decisions.
✅ Fibonacci Levels (Yellow): Highlights high and low trend levels.
✅ EMA Line (Green, Optional): Confirms long-term trend direction.
✅ Entry Signals (Green for Long, Red for Short): Clearly marked buy and sell signals.
These features allow traders to quickly interpret market conditions, even without advanced technical analysis skills.
📌 Originality & Enhancements
This strategy is developed based on the IronXtreme and BigBeluga indicators,
combining a unique Z-score statistical method with Fibonacci trend analysis.
Compared to conventional trend-following strategies, it leverages statistical techniques
to provide higher-precision entry signals, reducing false trades and improving overall reliability.
📌 Summary
Iron Bot Statistical Trend Filter is a statistically-driven trend strategy that utilizes Z-score and Fibonacci levels.
High-precision trend analysis
Enhanced accuracy with an optional EMA filter
Optimized risk management with multiple TP & SL levels
Visually intuitive chart design
Fully customizable parameters & leverage support
This strategy reduces false signals and helps traders ride the trend with confidence.
Try it out and take your trading to the next level! 🚀
HOD/LOD/PMH/PML/PDH/PDL Strategy by @tradingbauhaus This script is a trading strategy @tradingbauhaus designed to trade based on key price levels, such as the High of Day (HOD), Low of Day (LOD), Premarket High (PMH), Premarket Low (PML), Previous Day High (PDH), and Previous Day Low (PDL). Below, I’ll explain in detail what the script does:
Core Functionality of the Script:
Calculates Key Price Levels:
HOD (High of Day): The highest price of the current day.
LOD (Low of Day): The lowest price of the current day.
PMH (Premarket High): The highest price during the premarket session (before the market opens).
PML (Premarket Low): The lowest price during the premarket session.
PDH (Previous Day High): The highest price of the previous day.
PDL (Previous Day Low): The lowest price of the previous day.
Draws Horizontal Lines on the Chart:
Plots horizontal lines on the chart for each key level (HOD, LOD, PMH, PML, PDH, PDL) with specific colors for easy visual identification.
Defines Entry and Exit Rules:
Long Entry (Buy): If the price crosses above the PMH (Premarket High) or the PDH (Previous Day High).
Short Entry (Sell): If the price crosses below the PML (Premarket Low) or the PDL (Previous Day Low).
Long Exit: If the price reaches the HOD (High of Day) during a long position.
Short Exit: If the price reaches the LOD (Low of Day) during a short position.
How the Script Works Step by Step:
Calculates Key Levels:
Uses the request.security function to fetch the HOD and LOD of the current day, as well as the highs and lows of the previous day (PDH and PDL).
Calculates the PMH and PML during the premarket session (before 9:30 AM).
Plots Levels on the Chart:
Uses the plot function to draw horizontal lines on the chart representing the key levels (HOD, LOD, PMH, PML, PDH, PDL).
Each level has a specific color for easy identification:
HOD: White.
LOD: Purple.
PDH: Orange.
PDL: Blue.
PMH: Green.
PML: Red.
Defines Trading Rules:
Uses conditions with ta.crossover and ta.crossunder to detect when the price crosses key levels.
Long Entry: If the price crosses above the PMH or PDH, a long position (buy) is opened.
Short Entry: If the price crosses below the PML or PDL, a short position (sell) is opened.
Long Exit: If the price reaches the HOD during a long position, the position is closed.
Short Exit: If the price reaches the LOD during a short position, the position is closed.
Executes Orders Automatically:
Uses the strategy.entry and strategy.close functions to open and close positions automatically based on the defined rules.
Advantages of This Strategy:
Based on Key Levels: Uses important price levels that often act as support and resistance.
Easy to Visualize: Horizontal lines on the chart make it easy to identify levels.
Automated: Entries and exits are executed automatically based on the defined rules.
Limitations of This Strategy:
Dependent on Volatility: Works best in markets with significant price movements.
False Crosses: There may be false crosses that generate incorrect signals.
No Advanced Risk Management: Does not include dynamic stop-loss or take-profit mechanisms.
How to Improve the Strategy:
Add Stop-Loss and Take-Profit: To limit losses and lock in profits.
Filter Signals with Indicators: Use RSI, MACD, or other indicators to confirm signals.
Optimize Levels: Adjust key levels based on the asset’s behavior.
In summary, this script is a trading strategy that operates based on key price levels, such as HOD, LOD, PMH, PML, PDH, and PDL. It is useful for traders who want to trade based on significant support and resistance levels.
Trend Following Strategy with KNN
### 1. Strategy Features
This strategy combines the K-Nearest Neighbors (KNN) algorithm with a trend-following strategy to predict future price movements by analyzing historical price data. Here are the main features of the strategy:
1. **Dynamic Parameter Adjustment**: Uses the KNN algorithm to dynamically adjust parameters of the trend-following strategy, such as moving average length and channel length, to adapt to market changes.
2. **Trend Following**: Captures market trends using moving averages and price channels to generate buy and sell signals.
3. **Multi-Factor Analysis**: Combines the KNN algorithm with moving averages to comprehensively analyze the impact of multiple factors, improving the accuracy of trading signals.
4. **High Adaptability**: Automatically adjusts parameters using the KNN algorithm, allowing the strategy to adapt to different market environments and asset types.
### 2. Simple Introduction to the KNN Algorithm
The K-Nearest Neighbors (KNN) algorithm is a simple and intuitive machine learning algorithm primarily used for classification and regression problems. Here are the basic concepts of the KNN algorithm:
1. **Non-Parametric Model**: KNN is a non-parametric algorithm, meaning it does not make any assumptions about the data distribution. Instead, it directly uses training data for predictions.
2. **Instance-Based Learning**: KNN is an instance-based learning method that uses training data directly for predictions, rather than generating a model through a training process.
3. **Distance Metrics**: The core of the KNN algorithm is calculating the distance between data points. Common distance metrics include Euclidean distance, Manhattan distance, and Minkowski distance.
4. **Neighbor Selection**: For each test data point, the KNN algorithm finds the K nearest neighbors in the training dataset.
5. **Classification and Regression**: In classification problems, KNN determines the class of a test data point through a voting mechanism. In regression problems, KNN predicts the value of a test data point by calculating the average of the K nearest neighbors.
### 3. Applications of the KNN Algorithm in Quantitative Trading Strategies
The KNN algorithm can be applied to various quantitative trading strategies. Here are some common use cases:
1. **Trend-Following Strategies**: KNN can be used to identify market trends, helping traders capture the beginning and end of trends.
2. **Mean Reversion Strategies**: In mean reversion strategies, KNN can be used to identify price deviations from the mean.
3. **Arbitrage Strategies**: In arbitrage strategies, KNN can be used to identify price discrepancies between different markets or assets.
4. **High-Frequency Trading Strategies**: In high-frequency trading strategies, KNN can be used to quickly identify market anomalies, such as price spikes or volume anomalies.
5. **Event-Driven Strategies**: In event-driven strategies, KNN can be used to identify the impact of market events.
6. **Multi-Factor Strategies**: In multi-factor strategies, KNN can be used to comprehensively analyze the impact of multiple factors.
### 4. Final Considerations
1. **Computational Efficiency**: The KNN algorithm may face computational efficiency issues with large datasets, especially in real-time trading. Optimize the code to reduce access to historical data and improve computational efficiency.
2. **Parameter Selection**: The choice of K value significantly affects the performance of the KNN algorithm. Use cross-validation or other methods to select the optimal K value.
3. **Data Standardization**: KNN is sensitive to data standardization and feature selection. Standardize the data to ensure equal weighting of different features.
4. **Noisy Data**: KNN is sensitive to noisy data, which can lead to overfitting. Preprocess the data to remove noise.
5. **Market Environment**: The effectiveness of the KNN algorithm may be influenced by market conditions. Combine it with other technical indicators and fundamental analysis to enhance the robustness of the strategy.
Honest Volatility Grid [Honestcowboy]The Honest Volatility Grid is an attempt at creating a robust grid trading strategy but without standard levels.
Normal grid systems use price levels like 1.01;1.02;1.03;1.04... and place an order at each of these levels. In this program instead we create a grid using keltner channels using a long term moving average.
🟦 IS THIS EVEN USEFUL?
The idea is to have a more fluid style of trading where levels expand and follow price and do not stick to precreated levels. This however also makes each closed trade different instead of using fixed take profit levels. In this strategy a take profit level can even be a loss. It is useful as a strategy because it works in a different way than most strategies, making it a good tool to diversify a portfolio of trading strategies.
🟦 STRATEGY
There are 10 levels below the moving average and 10 above the moving average. For each side of the moving average the strategy uses 1 to 3 orders maximum (3 shorts at top, 3 longs at bottom). For instance you buy at level 2 below moving average and you increase position size when level 6 is reached (a cheaper price) in order to spread risks.
By default the strategy exits all trades when the moving average is reached, this makes it a mean reversion strategy. It is specifically designed for the forex market as these in my experience exhibit a lot of ranging behaviour on all the timeframes below daily.
There is also a stop loss at the outer band by default, in case price moves too far from the mean.
What are the risks?
In case price decides to stay below the moving average and never reaches the outer band one trade can create a very substantial loss, as the bands will keep following price and are not at a fixed level.
Explanation of default parameters
By default the strategy uses a starting capital of 25000$, this is realistic for retail traders.
Lot sizes at each level are set to minimum lot size 0.01, there is no reason for the default to be risky, if you want to risk more or increase equity curve increase the number at your own risk.
Slippage set to 20 points: that's a normal 2 pip slippage you will find on brokers.
Fill limit assumtion 20 points: so it takes 2 pips to confirm a fill, normal forex spread.
Commission is set to 0.00005 per contract: this means that for each contract traded there is a 5$ or whatever base currency pair has as commission. The number is set to 0.00005 because pinescript does not know that 1 contract is 100000 units. So we divide the number by 100000 to get a realistic commission.
The script will also multiply lot size by 100000 because pinescript does not know that lots are 100000 units in forex.
Extra safety limit
Normally the script uses strategy.exit() to exit trades at TP or SL. But because these are created 1 bar after a limit or stop order is filled in pinescript. There are strategy.orders set at the outer boundaries of the script to hedge against that risk. These get deleted bar after the first order is filled. Purely to counteract news bars or huge spikes in price messing up backtest.
🟦 VISUAL GOODIES
I've added a market profile feature to the edge of the grid. This so you can see in which grid zone market has been the most over X bars in the past. Some traders may wish to only turn on the strategy whenever the market profile displays specific characteristics (ranging market for instance).
These simply count how many times a high, low, or close price has been in each zone for X bars in the past. it's these purple boxes at the right side of the chart.
🟦 Script can be fully automated to MT5
There are risk settings in lot sizes or % for alerts and symbol settings provided at the bottom of the indicator. The script will send alert to MT5 broker trying to mimic the execution that happens on tradingview. There are always delays when using a bridge to MT5 broker and there could be errors so be mindful of that. This script sends alerts in format so they can be read by tradingview.to which is a bridge between the platforms.
Use the all alert function calls feature when setting up alerts and make sure you provide the right webhook if you want to use this approach.
Almost every setting in this indicator has a tooltip added to it. So if any setting is not clear hover over the (?) icon on the right of the setting.
Strategy Tester [Cometreon]Strategy Tester is a powerful backtesting engine designed to evaluate and optimize trading strategies built with the Strategy Builder or signals triggered by the Signal Tester.
It provides a full-featured environment for assessing strategy performance across symbols and timeframes, offering smart tools for risk management, capital allocation, and alert handling.
Whether you're refining a custom strategy or validating signals, Strategy Tester helps you test with confidence and clarity.
🔷 Key Features
🟩 Multi-Symbol, Multi-Timeframe Testing
Easily test strategies across different assets and timeframes to understand how they behave in diverse market conditions.
🟩 Advanced Risk Management
Implement multiple Take Profit and Stop Loss combinations, break-even, trailing systems, and exit rules tailored to your style.
🟩 Flexible Session and Capital Settings
Customize trading hours, session windows, and initial capital allocation for ultra-precise testing scenarios.
🟩 Custom Alerts
Generate personalized alerts for entries, exits, and SL/TP adjustments to simulate real-time execution.
🔷 Technical Details and Customizable Inputs
1️⃣ Source Entry Long and Short - Select entry conditions for the strategy from the "Signal Tester" or "Strategy Builder".
2️⃣ Source Exit Long and Short - Select exit conditions for the strategy from the "Signal Tester" or "Strategy Builder".
3️⃣ Trading Session - Choose the period in which the strategy will enter positions, selecting from: Months, Days, up to 3 hourly sessions, and the strategy's activity range, i.e., start and end date.
4️⃣ Alert Message - Set custom messages for each type of Alert, such as Entry Long, Exit Short, or Change SL Long.
5️⃣ Plot - Choose whether to show Long and Short positions on the chart.
🔷 Risk Management Settings
1️⃣ Initial Capital - Set the starting capital for the strategy.
2️⃣ Quantity - Choose the entry quantity for each type of position, selecting from: Contracts, USD, Percentage of equity, or percentage of initial capital.
3️⃣ Take Profit - Configure up to 4 Take Profits using one of the following types:
%: Percentage from the entry price
USD: Distance in dollars
Pip: Distance in Pips
ATR: Based on ATR multiplier
Swing: Uses swing length
Risk Reward: Linked to Stop Loss or vice versa
4️⃣ Stop Loss - Set the SL using the same types as TP for maximum flexibility.
5️⃣ Break Even - Automatically modify SL when price hits a TP level, adjusting by % / USD / Pip from entry.
6️⃣ Trailing Take Profit - Activates a dynamic TP when a condition is met, updating it as price evolves (e.g., new highs).
7️⃣ Trailing Stop Loss - Updates SL automatically when the market moves in your favor (e.g., new lows in long trades).
8️⃣ Exit Before End Session - Exit positions a few candles before the session ends to avoid overnight risks.
🔍 How to Use Strategy Tester
🧩 Add the Indicator:
Load Strategy Tester onto your chart and connect it to any Cometreon signal generator.
⚙️ Configure Risk Settings:
Set up capital, risk, SL/TP parameters, and time filters to match your strategy profile.
🧪 Run the Test:
Execute the backtest and analyze the visual + data output for insight.
📊 Optimize and Repeat:
Adjust key parameters and re-run until your strategy achieves optimal performance.
☄️ Take your trading to the next level with TradeLab Beta's Strategy Tester this powerful backtesting tool and start optimizing your trading strategies today.
👉 Don't waste any more time and visit the link to get access to all Cometreon indicators.
Monthly Breakout StrategyThis Monthly High/Low Breakout Strategy is designed to take long or short positions based on breakouts from the high or low of the previous month. Users can select whether they want to go long at a breakout above the previous month’s high, short at a breakdown below the previous month’s low, or use the reverse logic. Additionally, it includes a month filter, allowing trades to be executed only during user-specified months.
Breakout strategies, particularly those based on monthly highs and lows, aim to capitalize on price momentum. These systems rely on the assumption that once a significant price level is breached (such as the previous month's high or low), the market is likely to continue moving in the same direction due to increased volatility and trend-following behaviors by traders. Studies have demonstrated the potential effectiveness of breakout strategies in financial markets.
Scientific Evidence Supporting Breakout Strategies:
Momentum in Financial Markets:
Research on momentum-based strategies, which include breakout trading, shows that securities breaking key levels of support or resistance tend to continue their price movement in the direction of the breakout. Jegadeesh and Titman (1993) found that stocks with strong performance over a given period tend to continue performing well in subsequent periods, a principle also applied to breakout strategies.
Behavioral Finance:
The psychological factor of herd behavior is one of the driving forces behind breakout strategies. When prices break out of a key level (such as a monthly high), it triggers increased buying or selling pressure as traders join the trend. Barberis, Shleifer, and Vishny (1998) explained how cognitive biases, such as overconfidence and sentiment, can amplify price trends, which breakout strategies attempt to exploit.
Market Efficiency:
While markets are generally efficient, periods of inefficiency can occur, particularly around the breakouts of significant price levels. These inefficiencies often result in temporary price trends, which breakout strategies can exploit before the market corrects itself (Fama, 1970).
Risk Considerations:
Despite the potential for profit, the Monthly Breakout Strategy comes with several risks:
False Breakouts:
One of the most common risks in breakout strategies is the occurrence of false breakouts. These happen when the price temporarily moves above (or below) a key level but quickly reverses direction, causing losses for traders who entered positions too early. This is particularly risky in low-volatility environments.
Market Volatility:
Monthly breakout strategies rely on momentum, which may not be consistent across different market conditions. During periods of low volatility, price breakouts might lack the follow-through required for the strategy to succeed, leading to poor performance.
Whipsaw Risk:
The strategy is vulnerable to whipsaw markets, where prices oscillate around key levels without establishing a clear direction. This can result in frequent entry and exit signals that lead to losses, especially if trading costs are not managed properly.
Overfitting to Past Data:
If the month-selection filter is overly optimized based on historical data, the strategy may suffer from overfitting—performing well in backtests but poorly in real-time trading. This happens when strategies are tailored to past market conditions that may not repeat.
Conclusion:
While monthly breakout strategies can be effective in markets with strong momentum, they are subject to several risks, including false breakouts, volatility dependency, and whipsaw behavior. It is crucial to backtest this strategy thoroughly and ensure it aligns with your risk tolerance before implementing it in live trading.
References:
Jegadeesh, N., & Titman, S. (1993). Returns to Buying Winners and Selling Losers: Implications for Stock Market Efficiency. Journal of Finance, 48(1), 65-91.
Barberis, N., Shleifer, A., & Vishny, R. (1998). A Model of Investor Sentiment. Journal of Financial Economics, 49(3), 307-343.
Fama, E. F. (1970). Efficient Capital Markets: A Review of Theory and Empirical Work. Journal of Finance, 25(2), 383-417.






















