ARVEXV1“Failed Reversal – Opposite Candle Only (No Doji/Hammer/Hanging Man)”:
This strategy captures failed reversal attempts where the current candle is opposite to the previous candle and volume is higher. It enters long if a bearish candle fails to break a previous bullish candle’s low, and short if a bullish candle fails to break a previous bearish candle’s high. Signals are canceled for Doji, Hammer, or Hanging Man candles. Entries only, fully backtestable.
Forecasting
XAUUSD 1m SMC Zones (BOS + Flexible TP Modes + Trailing Runner)//@version=6
strategy("XAUUSD 1m SMC Zones (BOS + Flexible TP Modes + Trailing Runner)",
overlay = true,
initial_capital = 10000,
pyramiding = 10,
process_orders_on_close = true)
//━━━━━━━━━━━━━━━━━━━
// 1. INPUTS
//━━━━━━━━━━━━━━━━━━━
// TP / SL
tp1Pips = input.int(10, "TP1 (pips)", minval = 1)
fixedSLpips = input.int(50, "Fixed SL (pips)", minval = 5)
runnerRR = input.float(3.0, "Runner RR (TP2 = SL * RR)", step = 0.1, minval = 1.0)
// Daily risk
maxDailyLossPct = input.float(5.0, "Max daily loss % (stop trading)", step = 0.5)
maxDailyProfitPct = input.float(20.0, "Max daily profit % (stop trading)", step = 1.0)
// HTF S/R (1H)
htfTF = input.string("60", "HTF timeframe (minutes) for S/R block")
// Profit strategy (Option C)
profitStrategy = input.string("Minimal Risk | Full BE after TP1", "Profit Strategy", options = )
// Runner stop mode (your option 4)
runnerStopMode = input.string( "BE only", "Runner Stop Mode", options = )
// ATR trail settings (only used if ATR mode selected)
atrTrailLen = input.int(14, "ATR Length (trail)", minval = 1)
atrTrailMult = input.float(1.0, "ATR Multiplier (trail)", step = 0.1, minval = 0.1)
// Pip size (for XAUUSD: 1 pip = 0.10 if tick = 0.01)
pipSize = syminfo.mintick * 10.0
tp1Points = tp1Pips * pipSize
slPoints = fixedSLpips * pipSize
baseQty = input.float (1.0, "Base order size" , step = 0.01, minval = 0.01)
//━━━━━━━━━━━━━━━━━━━
// 2. DAILY RISK MANAGEMENT
//━━━━━━━━━━━━━━━━━━━
isNewDay = ta.change(time("D")) != 0
var float dayStartEquity = na
var bool dailyStopped = false
equityNow = strategy.initial_capital + strategy.netprofit
if isNewDay or na(dayStartEquity)
dayStartEquity := equityNow
dailyStopped := false
dailyPnL = equityNow - dayStartEquity
dailyPnLPct = dayStartEquity != 0 ? (dailyPnL / dayStartEquity) * 100.0 : 0.0
if not dailyStopped
if dailyPnLPct <= -maxDailyLossPct
dailyStopped := true
if dailyPnLPct >= maxDailyProfitPct
dailyStopped := true
canTradeToday = not dailyStopped
//━━━━━━━━━━━━━━━━━━━
// 3. 1H S/R ZONES (for direction block)
//━━━━━━━━━━━━━━━━━━━
htOpen = request.security(syminfo.tickerid, htfTF, open)
htHigh = request.security(syminfo.tickerid, htfTF, high)
htLow = request.security(syminfo.tickerid, htfTF, low)
htClose = request.security(syminfo.tickerid, htfTF, close)
// Engulf logic on HTF
htBullPrev = htClose > htOpen
htBearPrev = htClose < htOpen
htBearEngulf = htClose < htOpen and htBullPrev and htOpen >= htClose and htClose <= htOpen
htBullEngulf = htClose > htOpen and htBearPrev and htOpen <= htClose and htClose >= htOpen
// Liquidity sweep on HTF previous candle
htSweepHigh = htHigh > ta.highest(htHigh, 5)
htSweepLow = htLow < ta.lowest(htLow, 5)
// Store last HTF zones
var float htResHigh = na
var float htResLow = na
var float htSupHigh = na
var float htSupLow = na
if htBearEngulf and htSweepHigh
htResHigh := htHigh
htResLow := htLow
if htBullEngulf and htSweepLow
htSupHigh := htHigh
htSupLow := htLow
// Are we inside HTF zones?
inHtfRes = not na(htResHigh) and close <= htResHigh and close >= htResLow
inHtfSup = not na(htSupLow) and close >= htSupLow and close <= htSupHigh
// Block direction against HTF zones
longBlockedByZone = inHtfRes // no buys in HTF resistance
shortBlockedByZone = inHtfSup // no sells in HTF support
//━━━━━━━━━━━━━━━━━━━
// 4. 1m LOCAL ZONES (LIQUIDITY SWEEP + ENGULF + QUALITY SCORE)
//━━━━━━━━━━━━━━━━━━━
// 1m engulf patterns
bullPrev1 = close > open
bearPrev1 = close < open
bearEngulfNow = close < open and bullPrev1 and open >= close and close <= open
bullEngulfNow = close > open and bearPrev1 and open <= close and close >= open
// Liquidity sweep by previous candle on 1m
sweepHighPrev = high > ta.highest(high, 5)
sweepLowPrev = low < ta.lowest(low, 5)
// Local zone storage (one active support + one active resistance)
// Quality score: 1 = engulf only, 2 = engulf + sweep (we only trade ≥2)
var float supLow = na
var float supHigh = na
var int supQ = 0
var bool supUsed = false
var float resLow = na
var float resHigh = na
var int resQ = 0
var bool resUsed = false
// New resistance zone: previous bullish candle -> bear engulf
if bearEngulfNow
resLow := low
resHigh := high
resQ := sweepHighPrev ? 2 : 1
resUsed := false
// New support zone: previous bearish candle -> bull engulf
if bullEngulfNow
supLow := low
supHigh := high
supQ := sweepLowPrev ? 2 : 1
supUsed := false
// Raw "inside zone" detection
inSupRaw = not na(supLow) and close >= supLow and close <= supHigh
inResRaw = not na(resHigh) and close <= resHigh and close >= resLow
// QUALITY FILTER: only trade zones with quality ≥ 2 (engulf + sweep)
highQualitySup = supQ >= 2
highQualityRes = resQ >= 2
inSupZone = inSupRaw and highQualitySup and not supUsed
inResZone = inResRaw and highQualityRes and not resUsed
// Plot zones
plot(supLow, "Sup Low", color = color.new(color.lime, 60), style = plot.style_linebr)
plot(supHigh, "Sup High", color = color.new(color.lime, 60), style = plot.style_linebr)
plot(resLow, "Res Low", color = color.new(color.red, 60), style = plot.style_linebr)
plot(resHigh, "Res High", color = color.new(color.red, 60), style = plot.style_linebr)
//━━━━━━━━━━━━━━━━━━━
// 5. MODERATE BOS (3-BAR FRACTAL STRUCTURE)
//━━━━━━━━━━━━━━━━━━━
// 3-bar swing highs/lows
swHigh = high > high and high > high
swLow = low < low and low < low
var float lastSwingHigh = na
var float lastSwingLow = na
if swHigh
lastSwingHigh := high
if swLow
lastSwingLow := low
// BOS conditions
bosUp = not na(lastSwingHigh) and close > lastSwingHigh
bosDown = not na(lastSwingLow) and close < lastSwingLow
// Zone “arming” and BOS validation
var bool supArmed = false
var bool resArmed = false
var bool supBosOK = false
var bool resBosOK = false
// Arm zones when first touched
if inSupZone
supArmed := true
if inResZone
resArmed := true
// BOS after arming → zone becomes valid for entries
if supArmed and bosUp
supBosOK := true
if resArmed and bosDown
resBosOK := true
// Reset BOS flags when new zones are created
if bullEngulfNow
supArmed := false
supBosOK := false
if bearEngulfNow
resArmed := false
resBosOK := false
//━━━━━━━━━━━━━━━━━━━
// 6. ENTRY CONDITIONS (ZONE + BOS + RISK STATE)
//━━━━━━━━━━━━━━━━━━━
flatOrShort = strategy.position_size <= 0
flatOrLong = strategy.position_size >= 0
longSignal = canTradeToday and not longBlockedByZone and inSupZone and supBosOK and flatOrShort
shortSignal = canTradeToday and not shortBlockedByZone and inResZone and resBosOK and flatOrLong
//━━━━━━━━━━━━━━━━━━━
// 7. ORDER LOGIC – TWO PROFIT STRATEGIES
//━━━━━━━━━━━━━━━━━━━
// Common metrics
atrTrail = ta.atr(atrTrailLen)
// MINIMAL MODE: single trade, BE after TP1, optional trailing
// HYBRID MODE: two trades (Scalp @ TP1, Runner @ TP2)
// Persistent tracking
var float longEntry = na
var float longTP1 = na
var float longTP2 = na
var float longSL = na
var bool longBE = false
var float longRunEntry = na
var float longRunTP1 = na
var float longRunTP2 = na
var float longRunSL = na
var bool longRunBE = false
var float shortEntry = na
var float shortTP1 = na
var float shortTP2 = na
var float shortSL = na
var bool shortBE = false
var float shortRunEntry = na
var float shortRunTP1 = na
var float shortRunTP2 = na
var float shortRunSL = na
var bool shortRunBE = false
isMinimal = profitStrategy == "Minimal Risk | Full BE after TP1"
isHybrid = profitStrategy == "Hybrid | Scalp TP + Runner TP"
//━━━━━━━━━━ LONG ENTRIES ━━━━━━━━━━
if longSignal
if isMinimal
longEntry := close
longSL := longEntry - slPoints
longTP1 := longEntry + tp1Points
longTP2 := longEntry + slPoints * runnerRR
longBE := false
strategy.entry("Long", strategy.long)
supUsed := true
supArmed := false
supBosOK := false
else if isHybrid
longRunEntry := close
longRunSL := longRunEntry - slPoints
longRunTP1 := longRunEntry + tp1Points
longRunTP2 := longRunEntry + slPoints * runnerRR
longRunBE := false
// Two separate entries, each 50% of baseQty (for backtest)
strategy.entry("LongScalp", strategy.long, qty = baseQty * 0.5)
strategy.entry("LongRun", strategy.long, qty = baseQty * 0.5)
supUsed := true
supArmed := false
supBosOK := false
//━━━━━━━━━━ SHORT ENTRIES ━━━━━━━━━━
if shortSignal
if isMinimal
shortEntry := close
shortSL := shortEntry + slPoints
shortTP1 := shortEntry - tp1Points
shortTP2 := shortEntry - slPoints * runnerRR
shortBE := false
strategy.entry("Short", strategy.short)
resUsed := true
resArmed := false
resBosOK := false
else if isHybrid
shortRunEntry := close
shortRunSL := shortRunEntry + slPoints
shortRunTP1 := shortRunEntry - tp1Points
shortRunTP2 := shortRunEntry - slPoints * runnerRR
shortRunBE := false
strategy.entry("ShortScalp", strategy.short, qty = baseQty * 50)
strategy.entry("ShortRun", strategy.short, qty = baseQty * 50)
resUsed := true
resArmed := false
resBosOK := false
//━━━━━━━━━━━━━━━━━━━
// 8. EXIT LOGIC – MINIMAL MODE
//━━━━━━━━━━━━━━━━━━━
// LONG – Minimal Risk: 1 trade, BE after TP1, runner to TP2
if isMinimal and strategy.position_size > 0 and not na(longEntry)
// Move to BE once TP1 is touched
if not longBE and high >= longTP1
longBE := true
// Base SL: BE or initial SL
float dynLongSL = longBE ? longEntry : longSL
// Optional trailing after BE
if longBE
if runnerStopMode == "Structure trail" and not na(lastSwingLow) and lastSwingLow > longEntry
dynLongSL := math.max(dynLongSL, lastSwingLow)
if runnerStopMode == "ATR trail"
trailSL = close - atrTrailMult * atrTrail
dynLongSL := math.max(dynLongSL, trailSL)
strategy.exit("Long Exit", "Long", stop = dynLongSL, limit = longTP2)
// SHORT – Minimal Risk: 1 trade, BE after TP1, runner to TP2
if isMinimal and strategy.position_size < 0 and not na(shortEntry)
if not shortBE and low <= shortTP1
shortBE := true
float dynShortSL = shortBE ? shortEntry : shortSL
if shortBE
if runnerStopMode == "Structure trail" and not na(lastSwingHigh) and lastSwingHigh < shortEntry
dynShortSL := math.min(dynShortSL, lastSwingHigh)
if runnerStopMode == "ATR trail"
trailSLs = close + atrTrailMult * atrTrail
dynShortSL := math.min(dynShortSL, trailSLs)
strategy.exit("Short Exit", "Short", stop = dynShortSL, limit = shortTP2)
//━━━━━━━━━━━━━━━━━━━
// 9. EXIT LOGIC – HYBRID MODE
//━━━━━━━━━━━━━━━━━━━
// LONG – Hybrid: Scalp + Runner
if isHybrid
// Scalp leg: full TP at TP1
if strategy.opentrades > 0
strategy.exit("LScalp TP", "LongScalp", stop = longRunSL, limit = longRunTP1)
// Runner leg
if strategy.position_size > 0 and not na(longRunEntry)
if not longRunBE and high >= longRunTP1
longRunBE := true
float dynLongRunSL = longRunBE ? longRunEntry : longRunSL
if longRunBE
if runnerStopMode == "Structure trail" and not na(lastSwingLow) and lastSwingLow > longRunEntry
dynLongRunSL := math.max(dynLongRunSL, lastSwingLow)
if runnerStopMode == "ATR trail"
trailRunSL = close - atrTrailMult * atrTrail
dynLongRunSL := math.max(dynLongRunSL, trailRunSL)
strategy.exit("LRun TP", "LongRun", stop = dynLongRunSL, limit = longRunTP2)
// SHORT – Hybrid: Scalp + Runner
if isHybrid
if strategy.opentrades > 0
strategy.exit("SScalp TP", "ShortScalp", stop = shortRunSL, limit = shortRunTP1)
if strategy.position_size < 0 and not na(shortRunEntry)
if not shortRunBE and low <= shortRunTP1
shortRunBE := true
float dynShortRunSL = shortRunBE ? shortRunEntry : shortRunSL
if shortRunBE
if runnerStopMode == "Structure trail" and not na(lastSwingHigh) and lastSwingHigh < shortRunEntry
dynShortRunSL := math.min(dynShortRunSL, lastSwingHigh)
if runnerStopMode == "ATR trail"
trailRunSLs = close + atrTrailMult * atrTrail
dynShortRunSL := math.min(dynShortRunSL, trailRunSLs)
strategy.exit("SRun TP", "ShortRun", stop = dynShortRunSL, limit = shortRunTP2)
//━━━━━━━━━━━━━━━━━━━
// 10. RESET STATE WHEN FLAT
//━━━━━━━━━━━━━━━━━━━
if strategy.position_size == 0
longEntry := na
shortEntry := na
longBE := false
shortBE := false
longRunEntry := na
shortRunEntry := na
longRunBE := false
shortRunBE := false
//━━━━━━━━━━━━━━━━━━━
// 11. VISUAL ENTRY MARKERS
//━━━━━━━━━━━━━━━━━━━
plotshape(longSignal, title = "Long Signal", style = shape.triangleup,
location = location.belowbar, color = color.lime, size = size.tiny, text = "L")
plotshape(shortSignal, title = "Short Signal", style = shape.triangledown,
location = location.abovebar, color = color.red, size = size.tiny, text = "S")
12M Return Strategy This strategy is based on the original Dual Momentum concept presented by Gary Antonacci in his book “Dual Momentum Investing.”
It implements the absolute momentum portion of the framework using a 12-month rate of change, combined with a moving-average filter for trend confirmation.
The script automatically adapts the lookback period depending on chart timeframe, ensuring the return calculation always represents approximately one year, whether you are on daily, weekly, or monthly charts.
How the Strategy Works
1. 12-Month Return Calculation
The core signal is the 12-month price return, computed as:
(Current Price ÷ Price from ~1 year ago) − 1
This return:
Plots as a histogram
Turns green when positive
Turns red when negative
The lookback adjusts automatically:
1D chart → 252 bars
1W chart → 52 bars
1M chart → 12 bars
Other timeframes → estimated to approximate 1 calendar year
2. Trend Filter (Moving Average of Return)
To smooth volatility and avoid noise, the strategy applies a moving average to the 12M return:
Default length: 12 periods
Plotted as a white line on the indicator panel
This becomes the benchmark used for crossovers.
3. Trade Signals (Long / Short / Cash)
Trades are generated using a simple crossover mechanism:
Bullish Signal (Go Long)
When:
12M Return crosses ABOVE its MA
Action:
Close short (if any)
Enter long
Bearish Signal (Go Short or Go Flat)
When:
12M Return crosses BELOW its MA
Action:
If shorting is enabled → Enter short
If shorting is disabled → Exit position and go to cash
Shorting can be enabled or disabled with a single input switch.
4. Position Sizing
The strategy uses:
Percent of Equity position sizing
You can specify the percentage of your portfolio to allocate (default 100%).
No leverage is required, but the strategy supports it if your account settings allow.
5. Visual Signals
To improve clarity, the strategy marks signals directly on the indicator panel:
Green Up Arrows: return > MA
Red Down Arrows: return < MA
A status label shows the current mode:
LONG
SHORT
CASH
6. Backtest-Ready
This script is built as a full TradingView strategy, not just an indicator.
This means you can:
Run complete backtests
View performance metrics
Compare long-only vs long/short behavior
Adjust inputs to tune the system
It provides a clean, rule-driven interpretation of the classic absolute momentum approach.
Inspired By: Gary Antonacci – Dual Momentum Investing
This script reflects the absolute momentum side of Antonacci’s original research:
Uses 12-month momentum (the most statistically validated lookback)
Applies a trend-following overlay to control downside risk
Recreates the classic signal structure used in academic studies
It is a simplified, transparent version intended for practical use and educational clarity.
Disclaimer
This script is for educational and research purposes only.
Historical performance does not guarantee future results.
Always use proper risk management.
BTC Mon 8am Buy / Wed 2pm Sell (NY Time, Daily + Intraday)This strategy implements a fixed weekly time-based trading schedule for Bitcoin, using New York market hours as the reference clock. It is designed to test whether a consistent pattern exists between early-week accumulation and mid-week distribution in BTC price behavior.
Entry Rule — Monday 8:00 AM (NY Time)
The strategy enters a long position every Monday at exactly 08:00 AM Eastern Time, one hour after the U.S. equities market pre-open activity begins influencing global liquidity.
This timing attempts to capture early-week directional moves in Bitcoin, which sometimes occur as traditional markets come online.
Exit Rule — Wednesday 2:00 PM (NY Time)
The strategy closes the position every Wednesday at 2:00 PM Eastern Time, a point in the week where:
U.S. equity markets are still open
BTC often experiences mid-week volatility rotations
Liquidity is generally high
This exit removes exposure before later-week uncertainty and gives a consistent, measurable time window for each trade.
Timeframe Compatibility
Works on intraday charts (recommended 1h or lower) using precise time-based triggers.
Also runs on daily charts, where entries and exits occur on the Monday and Wednesday bars respectively (daily charts cannot show intraday timestamps).
All timestamps are synced to America/New_York regardless of the exchange’s native timezone.
Trading Frequency
Exactly one trade per week, preventing overtrading and allowing comparison of weekly performance across years of historical BTC price data.
Purpose of the Strategy
This is not a value-based or trend-following system, but a behavioral/time-cycle analysis tool.
It helps evaluate whether a repeating short-term edge exists based solely on:
Weekday timing
Liquidity cycles
Institutional market influence
BTC’s habitual early-week momentum patterns
It is ideal for:
Backtesting weekly BTC behavior
Studying time-based edges
Comparing alternative weekday/time combinations
Visualizing weekly P&L structure
Risk Notes
This strategy does not attempt to predict price direction and should not be assumed profitable without robust backtesting.
Time-based edges can appear, disappear, or invert depending on macro conditions.
There is no stop loss or risk management included by default, so the strategy reflects raw timing-based performance.
QQQ Quant Power STRATEGY v13.3 (Ribbon + TQQQ Specs)1. The Quant Engine (Data Processing)
Weighted Scoring: It assigns specific weights to stocks (e.g., NVDA gets 8.5% weight, TXN gets 1.0%).
Z-Score Pressure: It calculates how "unusual" the current buying/selling pressure is compared to the average (Standard Deviation).
Alignment Bonus: It boosts the "Conviction Score" if Mega Caps (Top 8) and Large Caps (Next 12) are moving in the same direction.
2. The Dashboard (Mission Control)
The dashboard gives you an X-Ray view of the market:
Main Status: Tells you if the market is BULLISH, BEARISH, or CHOP (Sit Out).
Conviction %: A probability score (0-99%). Higher = Safer trade.
Breadth: Counts how many of the top 20 stocks are above their EMA.
Chop Logic: If Breadth is mixed (between 6 and 14 stocks above EMA), it declares "CHOP" and blocks trades.
Mega/Large Net: Shows the net buying/selling pressure for each group.
3. Visuals
Pressure Line: The line on the chart isn't just a Moving Average; it's the Net Pressure of the 20 stocks pushing price up or down.
Conviction Ribbon: The squares at the bottom of the screen.
🟩 Green: High Probability Long (>77%).
🟥 Red: High Probability Short (>77%).
⬜ Gray: Low Conviction / Holding.
4. Strategy Logic (Automated Trading)
Entry: Enters when the "Basket" of stocks is aligned (Bull/Bear Pressure) AND the Conviction Score is high (>77%).
Exit: Closes the trade if Conviction drops (Signal fades) or hits a Hard Stop Loss.
Time Filters: Includes strict trading windows (e.g., No trading during lunch 12-1pm, closes all positions on Friday).
Summary
This is a Market Breadth & Momentum Strategy. It assumes that QQQ cannot sustain a trend unless its underlying components (NVDA, AAPL, etc.) are pushing it. It filters out "fake moves" where QQQ moves but the components don't support it.
SSL ST Strategy – Accuracy Enhanced v2.0 (Parser Safe)This strategy is built to identify high-probability trend breakouts using a combination of SSL Channel, Baseline, Hull / EMA signals, and Candle-based confirmations.
The goal is to filter noise, avoid false breakouts, and enter only when the trend is truly shifting.
This strategy identifies high-probability trend breakouts using SSL Channel, Baseline, Hull/EMA, and candle
confirmations.
1. SSL shows trend shift when price breaks high/low levels.
2. Baseline filters direction (price above = buy bias, below = sell bias).
3. Hull/EMA gives early momentum confirmation.
4. Candle breakout ensures real momentum (breaks previous high/low).
5. Optional filters: ATR, reversal logic, continuation entries.
6. Exits occur on SSL flip, baseline cross, or weakness
Disclaimer
This strategy is provided strictly for educational and informational purposes only. It does not guarantee any profit, nor does it protect against losses of any kind. Financial markets are inherently unpredictable, and any market movement can only be assumed or estimated with a probability that is never guaranteed and can often be no better than a 50/50 chance.
By using this strategy, you acknowledge that all trading decisions are made solely at your own risk. I am not liable for any profits, losses, or financial consequences incurred by anyone using or relying on this strategy. Always perform your own research, manage your risk responsibly, and consult with a qualified financial advisor before trading.
EMA Trend Pro [Hedging & Fixed Risk]
This strategy is a comprehensive trend-following system designed to capture significant market movements while strictly managing risk. It combines multiple Exponential Moving Averages (EMAs) for trend identification, ADX for trend strength filtering, and Volume confirmation to reduce false signals.
Key Features:
Hedging Mode Compatible: The script is designed to handle Long and Short positions independently. This is ideal for markets where trends can reverse quickly or for traders who prefer hedging logic (requires hedging=true in strategy settings).
Professional Risk Management: Unlike standard strategies that use fixed contract sizes, this script calculates Position Size based on Risk. You can define a fixed risk per trade (e.g., 1% of equity or $100 fixed risk). The script automatically adjusts the lot size based on the Stop Loss distance (ATR).
Multi-Stage Take Profit: The strategy scales out positions at 3 different levels (TP1, TP2, TP3) to lock in profits while letting the remaining position ride the trend.
Strategy Logic:
Trend Identification:
Long Entry: EMA 7 > EMA 14 > EMA 21 > EMA 144 (Bullish Alignment).
Short Entry: EMA 7 < EMA 14 < EMA 21 < EMA 144 (Bearish Alignment).
Filters:
ADX Filter: Entries are only taken if ADX (14) > Threshold (default 20) to ensure the market is trending, avoiding chopping ranging markets.
Volume Filter: Current volume must exceed the 20-period SMA volume by 10% to confirm momentum.
Exits & Trade Management:
Stop Loss: Dynamic SL based on ATR (e.g., 1.8x ATR).
Breakeven: Once TP1 is hit, the Stop Loss is automatically moved to Breakeven to protect capital.
Take Profits:
TP1: 1x Risk Distance (30% pos)
TP2: 2x Risk Distance (50% pos)
TP3: 3x Risk Distance (Remaining pos)
Settings Guide:
Risk Type: Choose between "Percent" (of equity) or "Fixed Amount" (USD).
Risk Value: Input your desired risk (e.g., 1.0 for 1% risk).
Fee %: Set your exchange's Taker fee (e.g., 0.05 or 0.06) for accurate backtesting.
ADX Threshold: Adjust to filter out noise (Higher = Stricter trend requirement).
Disclaimer: This script is for educational and backtesting purposes only. Past performance does not guarantee future results. Please use proper risk management.
Final Scalping Strategy - RELAXED ENTRY, jangan gopoh braderEMA Scalping System (MTF) Guide (1HR direction, 15 min entry)
Objective
To capture small, consistent profits by entering trades when 15-minute momentum aligns with the 1-hour trend.
Trades are executed only during high-liquidity London and New York sessions to increase the probability of execution and success.
Strategy Setup
Chart Timeframe (Execution): 15-Minute (M15).
Trend Filter (HTF): 1-Hour (H1) chart data is used for the long-term EMA.
Long-Term Trend Filter: 50-Period EMA (based on H1 data).
Short-Term Momentum Signal: 20-Period EMA (based on M15 data).
Risk
Metric: 14-period ATR for dynamic Stop Loss calculation.
✅ Trading Rules🟢
Long (Buy) Entry Conditions
Session: Must be within the London (0800-1700 GMT) or New York (1300-2200 GMT) sessions.
HTF Trend: Current price must be above the 1-Hour EMA 50.
Momentum Signal: Price crosses above the 15-Minute EMA 20.
Confirmation: The bar immediately following the crossover must close above the 15-Minute EMA 20.
Ent
ry: A market order is executed on the close of the confirmation candle.
🔴 Short (Sell) Entry Conditions
Session: Must be within the London (0800-1700 GMT) or New York (1300-2200 GMT) sessions.
HTF Trend: Current price must be below the 1-Hour EMA 50.
Momentum Signal: Price crosses below the 15-Minute EMA 20.
Confirmation: The bar immediately following the crossover must close below the 15-Minute EMA 20.
Entry: A market order is executed on the close of the confirmation candle.
🛑 Trade Management & Exits
Stop Loss (SL): Placed dynamically at 2.0 times the 14-period ATR distance from the entry candle's low (for Buys) or high (for Sells).
Take Profit (TP): Placed dynamically to achieve a 1.5 Risk-Reward Ratio (RR) (TP distance = 1.5 x SL d
istance).
📊 On-Chart Visuals
Detailed Labels: A box appears on the entry bar showing the action, SL/TP prices, Risk/Reward in Pips, and the exact R:R ratio.
Horizontal Lines: Dashed lines display the calculated SL (Red) and TP (Green) levels while the trade is active.
Background: The chart background is shaded to highlight the active London and New York tradi
ng sessions.
Roboquant RP Profits NY Open Retest StrategyRoboquant RP Profits NY Open Retest Strategy A good strategy for CL
Buy&Hold Profitcalculator in EuroTitle: Buy & Hold Strategy in Euro
Description:
This Pine Script implements a simple yet flexible Buy & Hold strategy denominated in Euros, suitable for a wide range of assets including cryptocurrencies, forex pairs, and stocks.
Key Features:
Custom Investment Amount: Define your invested capital in Euros.
Flexible Start & End Dates: Specify exact entry and exit dates for the strategy.
Automatic Currency Conversion: Supports assets priced in USD or USDT, converting the invested capital to chart currency using the EUR/USD exchange rate.
Single Entry and Exit: Executes a one-time Buy & Hold position based on the defined timeframe.
Profit and Performance Tracking: Calculates total profit/loss in Euros and percentage returns.
Smart Exit Label: Displays a dynamic label at the exit showing final position value, net profit/loss, and return percentage. The label automatically adjusts its position above or below the price bar for optimal visibility.
Visual Enhancements:
Position value and profit/loss plotted on the chart.
Background color highlights the active investment period.
Buy and Sell markers clearly indicate entry and exit points.
This strategy is ideal for traders and investors looking to simulate long-term positions and evaluate performance in Euro terms, even when trading USD-denominated assets.
Usage Notes:
Best used on daily charts for medium- to long-term analysis.
Adjust start and end dates, as well as invested capital, to simulate different scenarios.
Works with any asset, but currency conversion is optimized for USD or USDT-pegged instruments.
US/SPY- Financial Regime Index Swing Strategy Credits: concept inspired by EdgeTools Bloomberg Financial Conditions Index (Proxy)
Improvements: eight component basket, inverse volatility weights, winsorization option( statistical technique used to limit the influence of outliers in a dataset by replacing extreme values with less extreme ones, rather than removing them entirely), slope and price gates, exit guards, table and gradients.
Summary in one paragraph
A macro regime swing strategy for index ETFs, futures, FX majors, and large cap equities on daily calculation with optional lower time execution. It acts only when a composite Financial Conditions proxy plus slope and an optional price filter align. Originality comes from an eight component macro basket with inverse volatility weights and winsorized return z scores that produce a portable yardstick.
Scope and intent
Markets: SPY and peers, ES futures, ACWI, liquid FX majors, BTC, large cap equities.
Timeframes: calculation daily by default, trade on any chart.
Default demo: SPY on Daily.
Purpose: convert broad financial conditions into clear swing bias and exits.
Originality and usefulness
Unique fusion: return z scores for eight liquid proxies with inverse volatility weighting and optional winsorization, then slope and price gates.
Failure mode addressed: false starts in chop and early shorts during easy liquidity.
Testability: all knobs are inputs and the table shows components and weights.
Portable yardstick: z scores center at zero so thresholds transfer across symbols.
Method overview in plain language
Base measures
Return basis: natural log return over a configurable window, standardized to a z score. Winsorization optional to cap extremes.
Components
EQ US and EQ GLB measure equity tone.
CREDIT uses LQD over HYG. Higher credit quality outperformance is risk off so sign is flipped after z score.
RATES2Y uses two year yield, sign flipped.
SLOPE uses ten minus two year yield spread.
USD uses DXY, sign flipped.
VOL uses VIX, sign flipped.
LIQ uses BIL over SPY, sign flipped.
Each component is smoothed by the composite EMA.
Fusion rule
Weighted sum where weights are equal or inverse volatility with exponent gamma, normalized to percent so they sum to one.
Signal rule
Long when composite crosses up the long threshold and its slope is positive and price is above the SMA filter, or when composite is above the configured always long floor.
Short when composite crosses down the short threshold and its slope is negative and price is below the SMA filter.
Long exit on cross down of the long exit line or on a fresh short signal.
Short exit on cross up of the short exit line or on a fresh long signal, or when composite falls below the force short exit guard.
What you will see on the chart
Markers on suggestion bars: L for long, S for short, LX and SX for exits.
Reference lines at zero and soft regime bands at plus one and minus one.
Optional background gradient by regime intensity.
Compact table with component z, weight percent, and composite readout.
Table fields and quick reading guide
Component: EQ US, EQ GLB, CREDIT, RATES2Y, SLOPE, USD, VOL, LIQ.
Z: current standardized value, green for positive risk tone where applicable.
Weight: contribution percent after normalization.
Composite: current index value.
Reading tip: a broadly green Z column with slope positive often precedes better long context.
Inputs with guidance
Setup
Calc timeframe: default Daily. Leave blank to inherit chart.
Lookback: 50 to 1500. Larger length stabilizes regimes and delays turns.
EMA smoothing: 1 to 200. Higher smooths noise and delays signals.
Normalization
Winsorize z at ±3: caps extremes to reduce one off shocks.
Return window for equities: 5 to 260. Shorter reacts faster.
Weighting
Weight lookback: 20 to 520.
Weight mode: Equal or InvVol.
InvVol exponent gamma: 0.1 to 3. Higher compresses noisy components more.
Signals
Trade side: Long Short or Both.
Entry threshold long and short: portable z thresholds.
Exit line long and short: soft exits that give back less.
Slope lookback bars: 1 to 20.
Always long floor bfci ≥ X: macro easy mode keep long.
Force short exit when bfci < Y: macro stress guard.
Confirm
Use price trend filter and Price SMA length.
View
Glow line and Show component table.
Symbols
SPY ACWI HYG LQD VIX DXY US02Y US10Y BIL are defaults and can be changed.
Realism and responsible publication
No performance claims. Past is not future.
Shapes can move intrabar and settle on close.
Execution is on standard candles only.
Honest limitations and failure modes
Major economic releases and illiquid sessions can break assumptions.
Very quiet regimes reduce contrast. Use longer windows or higher thresholds.
Component proxies are ETFs and indexes and cannot match a proprietary FCI exactly.
Strategy notice
Orders are simulated on standard candles. All security calls use lookahead off. Nonstandard chart types are not supported for strategies.
Entries and exits
Long rule: bfci cross above long threshold with positive slope and optional price filter OR bfci above the always long floor.
Short rule: bfci cross below short threshold with negative slope and optional price filter.
Exit rules: long exit on bfci cross below long exit or on a short signal. Short exit on bfci cross above short exit or on a long signal or on force close guard.
Position sizing
Percent of equity by default. Keep target risk per trade low. One percent is a sensible starting point. For this example we used 3% of the total capital
Commisions
We used a 0.05% comission and 5 tick slippage
Legal
Education and research only. Not investment advice. Test in simulation first. Use realistic costs.
CE+ZLSMA RovTrading StrateryThe strategy is optimized for scalping in small timeframes like M15 and M30, as well as M5.
It combines two indicators: CE and ZLSMA.
Try it now!
Moon Phases Long/Short StrategyThis is an experiment of Moon Phases, likely buy when full moon and sell when new moon with few changes, like it would buy a day ahead or sometimes sell a day post these events, with Stop loss and take profits, 50% profitable so sounds good to me
Long only good for bitcoin gold, both modes(L+S) better for stocks and alt coins
超趨勢策略 (中文)-Caelusif ta.change(direction) < 0
strategy.entry("My Long Entry Id", strategy.long)
if ta.change(direction) > 0
strategy.entry("My Short Entry Id", strategy.short)
my_strategy_2.0Overview:
This is a high-speed scalping strategy optimized for volatile crypto assets (BTC, ETH, etc.) on timeframes 1m–5m. It combines trend-following SuperTrend with confirmations from MACD, RSI, Bollinger Bands, and volume spikes for precise entries. Focus on quick profits (1–3 ATR) with strict risk control: partial take-profits, stop-loss, and trailing breakeven after the first TP.
Key Signals:
Long: SuperTrend flip up + MACD crossover up + RSI >50 + BB Upper breakout + volume spike + volatility filter (ATR >0.5%).
Short: Similar but downward.
Exits and Risks:
TP: 33% at +1 ATR, 33% at +2 ATR, 34% at +3 ATR (customizable).
SL: Initial at -1 ATR, after TP1 — to breakeven with trailing on BB midline (optional).
Filters: Minimum ATR to avoid flat markets; realistic commissions in backtests.
Recommendations:
Test on 2020–2025 data (out-of-sample 2024+). Expected Win Rate ~55%, Profit Factor >1.8, Drawdown <10%. Ideal for 1–2% risk per trade. Not for beginners — use paper trading.
Disclaimer: Past results do not guarantee future performance. Trade at your own risk.
(Pine v6 code, ready for publication. Author: gopog777 with expert fixes.)
Dwaggy Scalping Trio (VWAP + EMA + RSI)First attempt at pine script this is a scalping indicator that combines VWAP, EMA, and RSI to signal entry/exit for scalping lower time frames
Optimized ADX DI CCI Strategy### Key Features:
- Combines ADX, DI+/-, CCI, and RSI for signal generation.
- Supports customizable timeframes for indicators.
- Offers multiple exit conditions (Moving Average cross, ADX change, performance-based stop-loss).
- Tracks and displays trade statistics (e.g., win rate, capital growth, profit factor).
- Visualizes trades with labels and optional background coloring.
- Allows countertrading (opening an opposite trade after closing one).
1. **Indicator Calculation**:
- **ADX and DI+/-**: Calculated using the `ta.dmi` function with user-defined lengths for DI and ADX smoothing.
- **CCI**: Computed using the `ta.cci` function with a configurable source (default: `hlc3`) and length.
- **RSI (optional)**: Calculated using the `ta.rsi` function to filter overbought/oversold conditions.
- **Moving Averages**: Used for CCI signal smoothing and trade exits, with support for SMA, EMA, SMMA (RMA), WMA, and VWMA.
2. **Signal Generation**:
- **Buy Signal**: Triggered when DI+ > DI- (or DI+ crosses over DI-), CCI > MA (or CCI crosses over MA), and optional ADX/RSI filters are satisfied.
- **Sell Signal**: Triggered when DI+ < DI- (or DI- crosses over DI+), CCI < MA (or CCI crosses under MA), and optional ADX/RSI filters are satisfied.
3. **Trade Execution**:
- **Entry**: Long or short trades are opened using `strategy.entry` when signals are detected, provided trading is allowed (`allow_long`/`allow_short`) and equity is positive.
- **Exit**: Trades can be closed based on:
- Opposite signal (if no other exit conditions are used).
- MA cross (price crossing below/above the exit MA for long/short trades).
- ADX percentage change exceeding a threshold.
- Performance-based stop-loss (trade loss exceeding a percentage).
- **Countertrading**: If enabled, closing a trade triggers an opposite trade (e.g., closing a long opens a short).
4. **Visualization**:
- Labels are plotted at trade entries/exits (e.g., "BUY," "SELL," arrows).
- Optional background coloring highlights open trades (green for long, red for short).
- A statistics table displays real-time metrics (e.g., capital, win rates).
5. **Trade Tracking**:
- Tracks the number of long/short trades, wins, and overall performance.
- Monitors equity to prevent trading if it falls to zero.
### 2.3 Key Components
- **Indicator Calculations**: Uses `request.security` to fetch indicator data for the specified timeframe.
- **MA Function**: A custom `ma_func` handles different MA types for CCI and exit conditions.
- **Signal Logic**: Combines crossover/under checks with recent bar windows for flexibility.
- **Exit Conditions**: Multiple configurable exit strategies for risk management.
- **Statistics Table**: Updates dynamically with trade and capital metrics.
## 3. Configuration Options
The script provides extensive customization through input parameters, grouped for clarity in the TradingView settings panel. Below is a detailed breakdown of each setting and its impact.
### 3.1 Strategy Settings (Global)
- **Initial Capital**: Default `10000`. Sets the starting capital for backtesting.
- **Effect**: Determines the base equity for calculating position sizes and performance metrics.
- **Default Quantity Type**: `strategy.percent_of_equity` (50% of equity).
- **Effect**: Controls the size of each trade as a percentage of available equity.
- **Pyramiding**: Default `2`. Allows up to 2 simultaneous trades in the same direction.
- **Effect**: Enables multiple entries if conditions are met, increasing exposure.
- **Commission**: 0.2% per trade.
- **Effect**: Simulates trading fees, reducing net profit in backtesting.
- **Margin**: 100% for long and short trades.
- **Effect**: Assumes no leverage; adjust for margin trading simulations.
- **Calc on Every Tick**: `true`.
- **Effect**: Ensures real-time signal updates for precise execution.
### 3.2 Indicator Settings
- **Indicator Timeframe** (`indicator_timeframe`):
- **Options**: `""` (chart timeframe), `1`, `5`, `15`, `30`, `60`, `240`, `D`, `W`.
- **Default**: `""` (uses chart timeframe).
- **Effect**: Determines the timeframe for ADX, DI, CCI, and RSI calculations. A higher timeframe reduces noise but may delay signals.
### 3.3 ADX & DI Settings
- **DI Length** (`adx_di_len`):
- **Default**: `30`.
- **Range**: Minimum `1`.
- **Effect**: Sets the period for calculating DI+ and DI-. Longer periods smooth trends but reduce sensitivity.
- **ADX Smoothing Length** (`adx_smooth_len`):
- **Default**: `14`.
- **Range**: Minimum `1`.
- **Effect**: Smooths the ADX calculation. Longer periods produce smoother ADX values.
- **Use ADX Filter** (`use_adx_filter`):
- **Default**: `false`.
- **Effect**: If `true`, requires ADX to exceed the threshold for signals to be valid, filtering out weak trends.
- **ADX Threshold** (`adx_threshold`):
- **Default**: `25`.
- **Range**: Minimum `0`.
- **Effect**: Sets the minimum ADX value for valid signals when the filter is enabled. Higher values restrict trades to stronger trends.
### 3.4 CCI Settings
- **CCI Length** (`cci_length`):
- **Default**: `20`.
- **Range**: Minimum `1`.
- **Effect**: Sets the period for CCI calculation. Longer periods reduce noise but may lag.
- **CCI Source** (`cci_src`):
- **Default**: `hlc3` (average of high, low, close).
- **Effect**: Defines the price data for CCI. `hlc3` is standard, but users can choose other sources (e.g., `close`).
- **CCI MA Type** (`ma_type`):
- **Options**: `SMA`, `EMA`, `SMMA (RMA)`, `WMA`, `VWMA`.
- **Default**: `SMA`.
- **Effect**: Determines the moving average type for CCI signal smoothing. EMA is more responsive; VWMA weights by volume.
- **CCI MA Length** (`ma_length`):
- **Default**: `14`.
- **Range**: Minimum `1`.
- **Effect**: Sets the period for the CCI MA. Longer periods smooth the MA but may delay signals.
### 3.5 RSI Filter Settings
- **Use RSI Filter** (`use_rsi_filter`):
- **Default**: `false`.
- **Effect**: If `true`, applies RSI-based overbought/oversold filters to signals.
- **RSI Length** (`rsi_length`):
- **Default**: `14`.
- **Range**: Minimum `1`.
- **Effect**: Sets the period for RSI calculation. Longer periods reduce sensitivity.
- **RSI Lower Limit** (`rsi_lower_limit`):
- **Default**: `30`.
- **Range**: `0` to `100`.
- **Effect**: Defines the oversold threshold for buy signals. Lower values allow trades in more extreme conditions.
- **RSI Upper Limit** (`rsi_upper_limit`):
- **Default**: `70`.
- **Range**: `0` to `100`.
- **Effect**: Defines the overbought threshold for sell signals. Higher values allow trades in more extreme conditions.
### 3.6 Signal Settings
- **Cross Window** (`cross_window`):
- **Default**: `0`.
- **Range**: `0` to `5` bars.
- **Effect**: Specifies the lookback period for detecting DI+/- or CCI crosses. `0` requires crosses on the current bar; higher values allow recent crosses, increasing signal frequency.
- **Allow Long Trades** (`allow_long`):
- **Default**: `true`.
- **Effect**: Enables/disables new long trades. If `false`, only closing existing longs is allowed.
- **Allow Short Trades** (`allow_short`):
- **Default**: `true`.
- **Effect**: Enables/disables new short trades. If `false`, only closing existing shorts is allowed.
- **Require DI+/DI- Cross for Buy** (`buy_di_cross`):
- **Default**: `true`.
- **Effect**: If `true`, requires a DI+ crossover DI- for buy signals; if `false`, DI+ > DI- is sufficient.
- **Require CCI Cross for Buy** (`buy_cci_cross`):
- **Default**: `true`.
- **Effect**: If `true`, requires a CCI crossover MA for buy signals; if `false`, CCI > MA is sufficient.
- **Require DI+/DI- Cross for Sell** (`sell_di_cross`):
- **Default**: `true`.
- **Effect**: If `true`, requires a DI- crossover DI+ for sell signals; if `false`, DI+ < DI- is sufficient.
- **Require CCI Cross for Sell** (`sell_cci_cross`):
- **Default**: `true`.
- **Effect**: If `true`, requires a CCI crossunder MA for sell signals; if `false`, CCI < MA is sufficient.
- **Countertrade** (`countertrade`):
- **Default**: `true`.
- **Effect**: If `true`, closing a trade triggers an opposite trade (e.g., close long, open short) if allowed.
- **Color Background for Open Trades** (`color_background`):
- **Default**: `true`.
- **Effect**: If `true`, colors the chart background green for long trades and red for short trades.
### 3.7 Exit Settings
- **Use MA Cross for Exit** (`use_ma_exit`):
- **Default**: `true`.
- **Effect**: If `true`, closes trades when the price crosses the exit MA (below for long, above for short).
- **MA Length for Exit** (`ma_exit_length`):
- **Default**: `20`.
- **Range**: Minimum `1`.
- **Effect**: Sets the period for the exit MA. Longer periods delay exits.
- **MA Type for Exit** (`ma_exit_type`):
- **Options**: `SMA`, `EMA`, `SMMA (RMA)`, `WMA`, `VWMA`.
- **Default**: `SMA`.
- **Effect**: Determines the MA type for exit signals. EMA is more responsive; VWMA weights by volume.
- **Use ADX Change Stop-Loss** (`use_adx_stop`):
- **Default**: `false`.
- **Effect**: If `true`, closes trades when the ADX changes by a specified percentage.
- **ADX % Change for Stop-Loss** (`adx_change_percent`):
- **Default**: `5.0`.
- **Range**: Minimum `0.0`, step `0.1`.
- **Effect**: Specifies the percentage change in ADX (vs. previous bar) that triggers a stop-loss. Higher values reduce premature exits.
- **Use Performance Stop-Loss** (`use_perf_stop`):
- **Default**: `false`.
- **Effect**: If `true`, closes trades when the loss exceeds a percentage threshold.
- **Performance Stop-Loss (%)** (`perf_stop_percent`):
- **Default**: `-10.0`.
- **Range**: `-100.0` to `0.0`, step `0.1`.
- **Effect**: Specifies the loss percentage that triggers a stop-loss. More negative values allow larger losses before exiting.
## 4. Visual and Statistical Output
- **Labels**: Displayed at trade entries/exits with arrows (↑ for buy, ↓ for sell) and text ("BUY," "SELL"). A "No Equity" label appears if equity is zero.
- **Background Coloring**: Optionally colors the chart background (green for long, red for short) to indicate open trades.
- **Statistics Table**: Displayed at the top center of the chart, updated on timeframe changes or trade events. Includes:
- **Capital Metrics**: Initial capital, current capital, capital growth (%).
- **Trade Metrics**: Total trades, long/short trades, win rate, long/short win rates, profit factor.
- **Open Trade Status**: Indicates if a long, short, or no trade is open.
## 5. Alerts
- **Buy Signal Alert**: Triggered when `buy_signal` is true ("Cross Buy Signal").
- **Sell Signal Alert**: Triggered when `sell_signal` is true ("Cross Sell Signal").
- **Usage**: Users can set up TradingView alerts to receive notifications for trade signals.
EUR/USD Multi-Layer Statistical Regression StrategyStrategy Overview
This advanced EUR/USD trading system employs a triple-layer linear regression framework with statistical validation and ensemble weighting. It combines short, medium, and long-term regression analyses to generate high-confidence directional signals while enforcing strict risk controls.
Core Components
Multi-Layer Regression Engine:
Parallel regression analysis across 3 customizable timeframes (short/medium/long)
Projects future price values using prediction horizons
Statistical significance filters (R-squared, correlation, slope thresholds)
Signal Validation System:
Lookback validation tests historical prediction accuracy
Ensemble weighting of layer signals (adjustable influence per timeframe)
Confidence scoring combining statistical strength, layer agreement, and validation accuracy
Risk Management:
Position sizing scaled by signal confidence (1%-100% of equity)
Daily loss circuit breaker (halts trading at user-defined threshold)
Forex-tailored execution (pip slippage, percentage-based commissions)
Visual Intelligence:
Real-time regression line plots (3 layered colors)
Projection markers for short-term forecasts
Background coloring for market bias indication
Comprehensive statistics dashboard (R-squared metrics, validation scores, P&L)
Key Parameters
Category Settings
Regression Short/Med/Long lengths (20/50/100 bars)
Statistics Min R² (0.65), Correlation (0.7), Slope (0.0001)
Validation 30-bar lookback, 10-bar projection
Risk Controls 50% position size, 12% daily loss limit, 75% confidence threshold
Trading Logic
Entries require:
Ensemble score > |0.5|
Confidence > threshold
Short & medium-term significance
Active daily loss limit not breached
Exits triggered by:
Opposite high-confidence signals
Daily loss limit violation (emergency exit)
The strategy blends quantitative finance techniques with practical trading safeguards, featuring a self-optimizing design where signal quality directly impacts position sizing. The visual dashboard provides real-time feedback on model performance and market conditions.
Long and Short Strategy with Multi Indicators [B1P5]Long and Short Strategy with RSI, ROC, MA Selection, Exit Visualization, and Strength Indicator
Enhanced Market Structure StrategyATR-Based Risk Management:
Stop Loss: 2 ATR from entry (configurable)
Take Profit: 3 ATR from entry (configurable)
Dynamic Position Sizing: Based on ATR stop distance and max risk percentage
Advanced Signal Filters:
RSI Filter:
Long trades: RSI < 70 and > 40 (avoiding overbought)
Short trades: RSI > 30 and < 60 (avoiding oversold)
Volume Filter:
Requires volume > 1.2x the 20-period moving average
Ensures institutional participation
MACD Filter (Optional):
Long: MACD line above signal line and rising
Short: MACD line below signal line and falling
EMA Trend Filter:
50-period EMA for trend confirmation
Long trades require price above rising EMA
Short trades require price below falling EMA
Higher Timeframe Filter:
Uses 4H/Daily EMA for multi-timeframe confluence
Enhanced Entry Logic:
Regular Entries: IDM + BOS + ALL filters must pass
Sweep Entries: Failed breakouts with tighter stops (1.6 ATR)
High-Probability Focus: Only trades when multiple confirmations align
Visual Improvements:
Detailed Entry Labels: Show entry, stop, target, and risk percentage
SL/TP Lines: Visual representation of risk/reward
Filter Status: Bar coloring shows when all filters align
Comprehensive Statistics: Real-time performance metrics
Key Strategy Parameters:
pinescript// Recommended Settings for Different Markets:
// Forex (4H-Daily):
// - CHoCH Period: 50-75
// - ATR SL: 2.0, ATR TP: 3.0
// - All filters enabled
// Crypto (1H-4H):
// - CHoCH Period: 30-50
// - ATR SL: 2.5, ATR TP: 4.0
// - Volume filter especially important
// Indices (4H-Daily):
// - CHoCH Period: 50-100
// - ATR SL: 1.8, ATR TP: 2.7
// - EMA and MACD filters crucial
Expected Performance Improvements:
Win Rate: 55-70% (improved filtering)
Profit Factor: 2.0-3.5+ (better risk/reward with ATR)
Reduced Drawdown: Stricter filters reduce false signals
Consistent Risk: ATR-based stops adapt to volatility
This enhanced version provides much more robust signal filtering while maintaining the core market structure edge, resulting in higher-probability trades with consistent risk management.
LANZ Strategy 6.0 [Backtest]🔷 LANZ Strategy 6.0 — Precision Backtesting Based on 09:00 NY Candle, Dynamic SL/TP, and Lot Size per Trade
LANZ Strategy 6.0 is the simulation version of the original LANZ 6.0 indicator. It executes a single LIMIT BUY order per day based on the 09:00 a.m. New York candle, using dynamic Stop Loss and Take Profit levels derived from the candle range. Position sizing is calculated automatically using capital, risk percentage, and pip value — allowing accurate trade simulation and performance tracking.
📌 This is a strategy script — It simulates real trades using strategy.entry() and strategy.exit() with full money management for risk-based backtesting.
🧠 Core Logic & Trade Conditions
🔹 BUY Signal Trigger:
At 09:00 a.m. NY (New York time), if:
The current candle is bullish (close > open)
→ A BUY order is placed at the candle’s close price (EP)
Only one signal is evaluated per day.
⚙️ Stop Loss / Take Profit Logic
SL can be:
Wick low (0%)
Or dynamically calculated using a % of the full candle range
TP is calculated using the user-defined Risk/Reward ratio (e.g., 1:4)
The TP and SL levels are passed to strategy.exit() for each trade simulation.
💰 Risk Management & Lot Size Calculation
Before placing the trade:
The system calculates pip distance from EP to SL
Computes the lot size based on:
Account capital
Risk % per trade
Pip value (auto or manual)
This ensures every trade uses consistent, scalable risk regardless of instrument.
🕒 Manual Close at 3:00 p.m. NY
If the trade is still open by 15:00 NY time, it will be closed using strategy.close().
The final result is the actual % gain/loss based on how far price moved relative to SL.
📊 Backtest Accuracy
One trade per day
LIMIT order at the candle close
SL and TP pre-defined at execution
No repainting
Session-restricted (only runs on 1H timeframe)
✅ Ideal For:
Traders who want to backtest a clean and simple daily entry system
Strategy developers seeking reproducible, high-conviction trades
Users who prefer non-repainting, session-based simulations
👨💻 Credits:
💡 Developed by: LANZ
🧠 Logic & Money Management Engine: LANZ
📈 Designed for: 1H charts
🧪 Purpose: Accurate simulation of LANZ 6.0's NY Candle Entry system






















