ICT Killzones & Pivots [TFO]adjusted the script to fit my needs. I mainly use it to identify the FVG and OB, as well as D/W/M HH/LL
Pine utilities
ETH to RTH Gap DetectorETH to RTH Gap Detector
What It Does
This indicator identifies and tracks custom-defined gaps that form between Extended Trading Hours (ETH) and Regular Trading Hours (RTH). Unlike traditional gap definitions, this indicator uses a specialized approach - defining up gaps as the space between previous session close high to current session initial balance low, and down gaps as the space from previous session close low to current session initial balance high. Each detected gap is monitored until it's touched by price.
Key Features
Detects custom-defined ETH-RTH gaps based on previous session close and current session initial balance
Automatically identifies both up gaps and down gaps
Visualizes gaps with color-coded boxes that extend until touched
Tracks when gaps are filled (when price touches the gap area)
Offers multiple display options for filled gaps (color change, border only, pattern, or delete)
Provides comprehensive statistics including total gaps, up/down ratio, and touched gap percentage
Includes customizable alert system for real-time gap filling notifications
Features toggle options for dashboard visibility and weekend sessions
Uses time-based box coordinates to avoid common TradingView drawing limitations
How To Use It
Configure Session Times : Set your preferred RTH hours and timezone (default 9:30-16:00 America/New York)
Set Initial Balance Period : Adjust the initial balance period (default 30 minutes) for gap detection sensitivity
Monitor Gap Formation : The indicator automatically detects gaps between the previous session close and current session IB
Watch For Gap Fills : Gaps change appearance or disappear when price touches them, based on your selected style
Check Statistics : View the dashboard to see total gaps, directional distribution, and touched percentage
Set Alerts : Enable alerts to receive notifications when gaps are filled
Settings Guide
RTH Settings : Configure the start/end times and timezone for Regular Trading Hours
Initial Balance Period : Controls how many minutes after market open to calculate the initial balance (1-240 minutes)
Display Settings : Toggle gap boxes, extension behavior, and dashboard visibility
Filled Box Style : Choose how filled gaps appear - Filled (color change), Border Only, Pattern, or Delete
Color Settings : Customize colors for up gaps, down gaps, and filled gaps
Alert Settings : Control when and how alerts are triggered for gap fills
Weekend Session Toggle : Option to include or exclude weekend trading sessions
Technical Details
The indicator uses time-based coordinates (xloc.bar_time) to prevent "bar index too far" errors
Gap boxes are intelligently limited to avoid TradingView's 500-bar drawing limitation
Box creation and fill detection use proper range intersection logic for accuracy
Session detection is handled using TradingView's session string format for reliability
Initial balance detection is precisely calculated based on time difference
Statistics calculations exclude zero-division scenarios for stability
This indicator works best on futures markets with extended and regular trading hours, especially indices (ES, NQ, RTY) and commodities. Performs well on timeframes from 1-minute to 1-hour.
What Makes It Different
Most gap indicators focus on traditional open-to-previous-close gaps, but this tool offers a specialized definition more relevant to ETH/RTH transitions. By using the initial balance period to define gap edges, it captures meaningful price discrepancies that often provide trading opportunities. The indicator combines sophisticated gap detection logic with clean visualization and comprehensive tracking statistics. The customizable fill styles and integrated alert system make it practical for both chart analysis and active trading scenarios.
SPX Intraday Call SignalThis indicator identifies intraday SPX call option trade setups based on a simple trend and momentum strategy. It detects when the 9-period EMA crosses above the 21-period EMA (bullish momentum) while price is trading above the VWAP (confirming intraday bullish bias) and the RSI (14) is above 55 (confirming momentum strength). The indicator is designed to trigger only during a defined trading window between 9:45 AM and 11:30 AM ET and plots a signal only once per day (the first valid setup) to avoid overtrading. It also includes alert conditions for automated notifications when a valid setup is detected.
weighted support or resistance linesQ: Why should users choose this script?
A: I found that in all the publicly available scripts about support and resistance lines, there is basically no weight identification for these lines. In other words, users do not know which support or resistance lines are the most important. So I specifically wrote this script.
1. By adjusting the weights, only the most effective support or resistance lines are displayed. (Length threshold of trend price (Bar))
2. By selecting the number of K-lines, only the latest number of support or resistance lines generated will be displayed. (Maximum number of reserved S/R lines)
3. By selecting whether to automatically remove lines, only support or resistance lines that have not been penetrated by the k-line will be displayed. If this function is checked, the weight can be adjusted lower, as high-weight SR may have already been penetrated, and the newly generated SR may have a lower weight. (Automatically remove lines penetrated by closing price confirmation)
4. Notes: The default parameters work well in 15-minute candlestick charts. For candlestick charts with other time periods, the parameters can be adjusted appropriately. It is suitable for sideways trading but not for strong trends.
5. I'm quite satisfied with the performance of the script, as I specifically optimized it, lol
EMA 20/50simple EMA, that's all I need. only 20 and 50 EMA, very easy to understand the trend. also fit better with my strategy, I trade 15mins+ TH.
BB 20-2 + RSI-10 + Stoch 14-3-3 | 5-minOn the 1-minute chart, using the indicators Stochastic %K/%D, RSI-10 and Bollinger Bands (20-period MA ± 2 σ):
Buy setup:
When RSI-10 is below 29, Stochastic %K/%D is below 19, and at least one candle touches the lower Bollinger band, open a long trade.
Sell setup:
When RSI-10 is above 72, Stochastic %K/%D is above 81, and at least one candle touches the upper Bollinger band, open a short trade.
Squeeze Momentum Indicator Version3This is an efficient plugin based on the squeeze kinetic energy theory.
这是一个基于挤压动能理论的有效插件
1,Determining Fast and Slow Lines
快慢线判断
When the fast line (blue) crosses above the slow line (red), forming a golden cross, it is considered a bullish signal.
当快线(蓝色)穿过红线(慢线)时候,既发生金叉的时候,看多。
When the slow line (red) crosses below the fast line (blue), it is known as a "death cross," and is typically considered a bearish signal.
当慢线(红色)穿过蓝线(快线)时候,既发生金叉的时候,看空。
2,Judgment of Bullish and Bearish Areas
空头多头区域判断
When the two lines are above the center point, the overall trend is bullish. Even if a death cross occurs, the downward momentum is relatively weak.
当两条线在中心点上方时整体是多头趋势,就算发生死叉也相对没那么大动能跌。
Conversely, when the two lines are below the center point, the overall trend is bearish. Even if a golden cross occurs, the upward momentum is relatively weak.
反之当两条线在中心点下方时整体是多头趋势,就算发生金叉也相对没那么大动能突破。
3,Judgment of Compressed Momentum Dots
压缩动能圆点判断
Center Point Dot Judgment Method
中心点园点判断法
When a gray dot appears, it indicates that the momentum is very weak, and the trend has dissipated, with changes possible at any time. (Note! A change in trend does not mean a shift from bullish to bearish or from bearish to bullish; it simply suggests that the market may enter a consolidation phase and will no longer exhibit high-intensity trend movements.)
当灰色圆点出现时代表动能很弱,趋势已经消失,随时变化(注!趋势随时变化并不是由多头变为空头或者空头转为多头的意思,只是说可能接下来将进入震荡区间。不在继续高强度趋势动作。)
当中间圆点出现白色时代表,趋势开始越来越强劲,开始单边行情,
When a white dot appears in the middle, it indicates that the trend is becoming stronger and a one-sided market is beginning.
当中间圆点出现白色时代表,趋势开始越来越强劲,开始单边行情,
Usage Method
使用方法
First, judge the entry conditions for momentum, then assess the area, and finally consider golden and death crosses for entry.
先判断动能进场条件,后判断区域,再考虑金叉死叉进场。
3 > 2 > 1
When the compressed momentum dot changes from white to gray, consider exiting and wait for the consolidation phase to end before re-entering.
当压缩动能圆点从白色转为灰色后考虑离场,等待震荡行情结束后再进场
30-70 RSI Strategy with Colored BarThis script colors price bars based on Relative Strength Index (RSI) levels, giving traders a quick and visual way to assess overbought or oversold market conditions directly on the chart.
📈 Key Features:
✅ RSI-Based Bar Coloring:
Green bars when RSI is above the upper threshold (default 70) – suggests bullish momentum.
Red bars when RSI is below the lower threshold (default 30) – indicates bearish pressure.
Bars remain uncolored when RSI is between thresholds – a neutral zone.
🔧 Customizable RSI Settings:
Adjustable RSI length (default: 14 periods)
Adjustable overbought/oversold levels (default: 70/30)
🧠 Helps traders:
Quickly spot potential reversals or trend continuations
Visually align price action with momentum
🛠️ Usage:
Ideal for trend-following, reversal, and momentum strategies.
Works across any timeframe (1m, 5m, 1h, daily, etc.).
Order Block StrategyStrategy Overview
Key Features
Order Block Detection: Utilizes the LuxAlgo Order Block Detector to identify bullish (support) and bearish (resistance) order blocks based on volume peaks and price action.
Position Size: $3,000 per trade, reflecting $300 capital with 10x leverage.
Risk Management:
Stop Loss: Below the bottom of bullish order blocks for longs, above the top of bearish order blocks for shorts.
Take Profit: 5%, 15%, and 50% from the entry price, each closing 33.33% of the position.
Webhook Compatibility: Uses strategy.entry() and strategy.exit() for TradingView alert integration.
Buy and Sell Conditions
Buy:
Triggered when the price low enters the most recent unmitigated bullish order block (low ≤ bull_top ) and closes above it (close > bull_top ), indicating a bounce from support.
Sell:
Triggered when the price high enters the most recent unmitigated bearish order block (high ≥ bear_btm ) and closes below it (close < bear_btm ), indicating a rejection from resistance.
Risk Management
Stop Loss:
Long: Set at bull_btm (low of the bullish order block).
Short: Set at bear_top (high of the bearish order block).
Take Profit:
Long: 5% (entry * 1.05), 15% (entry * 1.15), 50% (entry * 1.50).
Short: 5% (entry * 0.95), 15% (entry * 0.85), 50% (entry * 0.50).
Each level closes approximately one-third of the position.
nineLivesUtilLibLibrary "nineLivesUtilLib"
isDateInRange(currentTime, useTimeFilter, startDate, endDate)
Checks if the current time is within the specified date range.
Parameters:
currentTime (int) : The current bar's time (time).
useTimeFilter (bool) : Bool 📅: Enable the date range filter.
startDate (int) : Timestamp 📅: The start date for the filter.
endDate (int) : Timestamp 📅: The end date for the filter.
Returns: True if the current time is within the range or filtering is disabled, false otherwise.
@example
inDateRange = nineLivesUtilLib.isDateInRange(time, useTimeFilter, startDate, endDate)
if inDateRange
// Execute trading logic
checkVolumeCondition(currentVolume, useVolumeFilter, volumeThresholdMultiplier, volumeLength)
Checks if the current volume meets the threshold condition.
Parameters:
currentVolume (float) : The current bar's volume (volume).
useVolumeFilter (bool) : Bool 📊: Enable the volume filter.
volumeThresholdMultiplier (float) : Float 📊: Volume threshold relative to average (e.g., 1.5 for 1.5x average).
volumeLength (int) : Int 📊: Lookback length for the volume average.
Returns: True if the volume condition is met or filtering is disabled, false otherwise.
@example
volumeOk = nineLivesUtilLib.checkVolumeCondition(volume, useVolumeFilter, volumeThreshold, volumeLength)
if volumeOk
// Proceed with trading logic
checkMultiTimeframeCondition(currentClose, currentOpen, htfClose, htfOpen, useMultiTimeframe, alignment)
Checks alignment with higher timeframe direction.
Parameters:
currentClose (float) : Float: The current bar's closing price (close).
currentOpen (float) : Float: The current bar's opening price (open).
htfClose (float) : Float: The closing price from the higher timeframe (must be fetched by the calling script using request.security).
htfOpen (float) : Float: The opening price from the higher timeframe (must be fetched by the calling script using request.security).
useMultiTimeframe (bool) : Bool ⏱️: Enable multi-timeframe analysis.
alignment (string) : String ⏱️: Desired alignment ("same", "opposite", "any").
Returns: True if the timeframe alignment condition is met or analysis is disabled, false otherwise.
@example
// In the calling script:
= request.security(syminfo.tickerid, higherTimeframe, )
tfOk = nineLivesUtilLib.checkMultiTimeframeCondition(close, open, htfClose, htfOpen, useMultiTimeframe, tfAlignment)
if tfOk
// Proceed with trading logic
checkMarketRegime(useMarketRegime, regimeIndicator, regimeThreshold, regimeLength, regimeMode)
Detects the market regime (trending or ranging) and checks if trading is allowed.
Parameters:
useMarketRegime (bool) : Bool 🔍: Enable market regime detection.
regimeIndicator (string) : String 🔍: Indicator to use ("ADX" or "Volatility").
regimeThreshold (int) : Int 🔍: Threshold for trend strength/volatility.
regimeLength (simple int) : Int 🔍: Lookback length for the indicator.
regimeMode (string) : String 🔍: Trading mode based on regime ("trend_only", "range_only", "adaptive").
Returns: A tuple containing:
: conditionMet (bool) - True if trading is allowed based on the regime mode and detection, false otherwise.
: inTrendingRegime (bool) - True if the current regime is trending based on the indicator and threshold.
@example
= nineLivesUtilLib.checkMarketRegime(useMarketRegime, regimeIndicator, regimeThreshold, regimeLength, regimeMode)
if regimeOk
// Proceed with trading logic
applyCooldown(buySignal, sellSignal, cooldownBars)
Applies a cooldown period after a signal.
Parameters:
buySignal (bool) : Bool: Buy signal (potentially after primary entry logic).
sellSignal (bool) : Bool: Sell signal (potentially after primary entry logic).
cooldownBars (int) : Int ⏳: The number of bars to wait after a signal before allowing another.
Returns: A tuple containing:
: cooldownFilteredBuy (bool) - Buy signal after cooldown filter.
: cooldownFilteredSell (bool) - Sell signal after cooldown filter.
@example
= nineLivesUtilLib.applyCooldown(rawBuySignal, rawSellSignal, iCool)
applyAllFilters(rawBuy, rawSell, inDateRange, tradeDirection, volumeOk, tfOk, regimeOk, drawdownOk, cooldownOkBuy, cooldownOkSell)
Applies all filtering conditions to the buy and sell signals.
Parameters:
rawBuy (bool) : Bool: The initial buy signal candidate (from primary entry logic, e.g., after cooldown).
rawSell (bool) : Bool: The initial sell signal candidate (from primary entry logic, e.g., after cooldown).
inDateRange (bool) : Bool 📅: Result from isDateInRange.
tradeDirection (string) : String 🔄: Overall trade direction preference ("longs_only", "shorts_only", "both").
volumeOk (bool) : Bool 📊: Result from checkVolumeCondition.
tfOk (bool) : Bool ⏱️: Result from checkMultiTimeframeCondition.
regimeOk (bool) : Bool 🔍: Result from checkMarketRegime.
drawdownOk (bool) : Bool 📉: Result from checkDrawdownExceeded (or equivalent).
cooldownOkBuy (bool) : Bool ⏳: Result from applyCooldown for buy.
cooldownOkSell (bool) : Bool ⏳: Result from applyCooldown for sell.
Returns: A tuple containing:
: finalBuySignal (bool) - The final buy signal after all filters.
: finalSellSignal (bool) - The final sell signal after all filters.
@example
= nineLivesUtilLib.applyAllFilters(cooldownBuy, cooldownSell, inDateRange, tradeDirection, volumeOk, tfOk, regimeOk, !drawdownExceeded, cooldownBuy, cooldownSell)
NOTE: This function filters signals generated by your primary entry logic (e.g., EMA crossover).
checkDrawdownExceeded(currentEquity, useMaxDrawdown, maxDrawdownPercent)
Tracks maximum equity and checks if current drawdown exceeds a threshold.
Parameters:
currentEquity (float) : Float: The strategy's current equity (strategy.equity).
useMaxDrawdown (bool) : Bool 📉: Enable max drawdown protection.
maxDrawdownPercent (float) : Float 📉: The maximum allowed drawdown as a percentage.
Returns: True if drawdown protection is enabled and the current drawdown exceeds the threshold, false otherwise.
@example
drawdownExceeded = nineLivesUtilLib.checkDrawdownExceeded(strategy.equity, useMaxDrawdown, maxDrawdownPercent)
if drawdownExceeded
// Consider stopping entries or exiting positions in the strategy script
calculateExitPrice(positionAvgPrice, percentage, isStop, isLong)
Calculates a stop loss or take profit price based on a percentage from the average entry price.
Parameters:
positionAvgPrice (float) : Float: The average price of the current position (strategy.position_avg_price).
percentage (float) : Float: The stop loss or take profit percentage (e.g., 2.0 for 2%).
isStop (bool) : Bool: True if calculating a stop loss price, false if calculating a take profit price.
isLong (bool) : Bool: True if the position is long, false if short.
Returns: The calculated stop price or take profit price, or na if no position or percentage is invalid.
@example
longSL = nineLivesUtilLib.calculateExitPrice(strategy.position_avg_price, stopLossPercent, true, true)
shortTP = nineLivesUtilLib.calculateExitPrice(strategy.position_avg_price, takeProfitPercent, false, false)
calculateTrailingStopLevel(positionAvgPrice, trailOffsetPercent, trailPercent, currentHigh, currentLow, isLong)
Calculates the current trailing stop level for a position.
Parameters:
positionAvgPrice (float) : Float: The average price of the current position (strategy.position_avg_price).
trailOffsetPercent (float) : Float 🔄: The percentage price movement to activate the trailing stop.
trailPercent (float) : Float 🔄: The percentage distance the stop trails behind the price.
currentHigh (float) : Float: The current bar's high (high).
currentLow (float) : Float: The current bar's low (low).
isLong (bool) : Bool: True if the position is long, false if short.
Returns: The calculated trailing stop price if active, otherwise na.
@example
longTrailStop = nineLivesUtilLib.calculateTrailingStopLevel(strategy.position_avg_price, trailOffset, trailPercent, high, low, true)
shortTrailStop = nineLivesUtilLib.calculateTrailingStopLevel(strategy.position_avg_price, trailOffset, trailPercent, high, low, false)
if not na(longTrailStop)
strategy.exit("Long Trail", from_entry="Long", stop=longTrailStop)
Live Futures Relative Strength and Position SizerRecommends contract, stoploss and take profit size depending on 1-minute ATR. Also plots a table to show relative strength of YM, NQ, ES and RTY since the latest daily candle open.
Custom MACD//@version=5
indicator("Custom MACD", overlay=false)
fastLength = input.int(8, title="Fast EMA Length")
slowLength = input.int(21, title="Slow EMA Length")
signalSmoothing = input.int(5, title="Signal Smoothing")
= ta.macd(close, fastLength, slowLength, signalSmoothing)
plot(macdLine, color=color.blue, title="MACD Line")
plot(signalLine, color=color.red, title="Signal Line")
plot(histLine, style=plot.style_histogram, color=histLine >= 0 ? color.green : color.red, title="Histogram")
ZLSMACE StrategyZLSMACE Strategy
This is a trend-following strategy that combines:
-Zero-Lag LSMA (ZLSMA): A smoothed, low-lag moving average used to confirm trend direction.
-Chandelier Exit (CE): A volatility-based trailing stop used to detect reversals and shift trade direction.
🟢 Entry Conditions:
Long: CE direction turns bullish and price is above ZLSMA
Short: CE direction turns bearish and price is below ZLSMA
The strategy exits any opposite position before opening a new one, ensuring clean direction switching.
🕒 Best Timeframe
Optimized for 15-minute charts (15m)
Good balance between signal speed and trend filtering
SuperTrade Ichimoku Cloud StrategyUnlike SuperTrade's Super Trend the Ichimoku Cloud Strategy is a trend-following system derived from the Ichimoku Kinko Hyo indicator. It helps identify market direction, momentum, and potential support/resistance zones. This strategy uses key components of the Ichimoku Cloud to determine bullish or bearish trends and executes trades accordingly.
🔍 Key Components Used
Conversion Line (Tenkan-sen) – short-term average (9-period Donchian midpoint by default)
Base Line (Kijun-sen) – medium-term average (26-period Donchian midpoint)
Leading Span A (Senkou Span A) – average of Conversion Line and Base Line, plotted forward by 26 periods.
Leading Span B (Senkou Span B) – 52-period Donchian midpoint, plotted forward by 26 periods.
Lagging Span (Chikou Span) – current close price, plotted backward by 26 periods (for visual reference only in this version).
The cloud (Kumo) is the area between Leading Span A and B, representing trend direction and potential support/resistance.
📈 Entry Rules (Buy Condition)
A long trade is entered when:
LeadLine1 > LeadLine2 → This implies a bullish cloud.
Close > LeadLine1 and Close > LeadLine2 → The price is trading above the cloud, confirming upward momentum.
This combination indicates a strong bullish trend, so the strategy enters a long position.
📉 Exit Rules (Sell Condition / Close Position)
The long trade is closed when:
LeadLine1 < LeadLine2 → This implies a bearish cloud.
Close < LeadLine1 and Close < LeadLine2 → The price has fallen below the cloud, signaling trend weakness or reversal.
This confirms a bearish trend, prompting the strategy to exit the long position.
✅ Must-Have Elements in This Strategy
Entry Logic – based on price position relative to the cloud and cloud direction.
Exit Logic – closes the position when price shifts to a bearish trend.
Overlay Enabled – plotted over price for visual confirmation of signals.
Dynamic Parameters – inputs for conversion/base/cloud lengths and displacement.
Visualization – plots all Ichimoku components including cloud fill for clarity.
No Shorting Logic Yet – this version only handles long trades; shorting can be added optionally.
No Stop-Loss or Take-Profit – trades are closed purely based on Ichimoku trend reversal.
Custom Time Session Background (Amsterdam Time, DST Safe)This indicator highlights two custom intraday time ranges with background colors on your chart. The times are set based on your local Amsterdam time and automatically adjust for Daylight Saving Time (DST).
📌 Features:
- Define two separate time ranges (Start & End) in local Amsterdam time
- Background color highlighting for each range
- Fully DST-aware using the "Europe/Amsterdam" timezone
- Works across all intraday timeframes
🎯 Use Cases:
- Highlight key market sessions (e.g., EU open, NY overlap)
- Visually segment your trading hours
- Eliminate manual DST adjustments
Developed with Pine Script v5.
Made for traders who want clarity during specific time zones, without worrying about time shifts across the year.
Bar Count for XAUThis TradingView indicator labels every other five-minute candle for XAU during the current Beijing session, which runs from 06:00 to 05:00 the next day. It shows the actual bar numbers—1, 3, 5, and so on—only for today’s session; yesterday’s labels are automatically cleared at the new open. The tags appear just below each qualifying candle with no background box, and you can adjust the font size in the settings. In short, it gives you a clean, real-time visual of intraday bar order without clutter
Danny_Stone SnR Enhanced [by Danny Shih]This technical indicator shows the accuracy of the support and pressure positions. The accuracy of the technical indicators will continue to be improved in the future. Please continue to pay attention to my updates. If you feel it is good to use or have any questions, you can ask me. Thank you!
這個技術指標是提供支撐與壓力位置的精確顯示,之後還會繼續完善技術指標的準確性,請繼續關注我的更新,若覺得不錯使用或有什麽問題都可以提出詢問,感謝!
Overnight ES Strategy: CBC + Fractal + RSI + ATR FilterThis script is designed for overnight trading of the E-mini S&P 500 futures (ES) between 6 PM and 11 PM EST.
It combines multiple technical confluences to generate high-probability buy and sell signals, focusing on volatility-rich, low-liquidity evening sessions.
Key Features:
Candle Body Confluence (CBC) Approximation:
Identifies candles with small real bodies compared to total range, simulating consolidation zones where price is likely to reverse.
Williams Fractal Confirmation:
Detects local tops and bottoms based on 5-bar fractal reversal patterns, helping validate breakout or reversal points.
RSI Filter:
Ensures momentum is supportive — buys only when RSI < 35 (oversold) and sells only when RSI > 65 (overbought).
ATR Volatility Filter:
Trades are only allowed if the Average True Range (ATR) exceeds a user-defined threshold, filtering out low-volatility, risky environments.
Time Session Control:
Signals are only generated during the user-defined evening session (default: 6 PM to 11 PM EST) to match market behavior.
Real-Time Alerts Enabled:
Alerts can be set for BUY or SELL conditions, enabling mobile notifications, emails, or pop-ups without constant chart monitoring.
Recommended Settings:
Chart Timeframe: 15-minute or 30-minute candles
Assets: ES Mini (ES1!), NQ Mini, or other CME futures
Session: New York Time (EST)
ATR Threshold: Adjust based on market conditions; 5.0 suggested starting point for ES Mini on 15m.
Important:
This script only plots signals, it does not auto-execute trades.
Always backtest and paper trade before using live capital.
Volatility can vary; consider adjusting RSI and ATR filters based on market environment.
Credits:
Script designed based on confluence of price action, momentum, reversal structure, and volatility filtering principles used by professional traders.
Inspired by Candle Body Confluence (CBC) theory and Williams fractal techniques.
Customizable vertical lineIntroduce a customizable vertical line on the chart that spans from top to bottom
Stratégie de Renversement avec VWAP, EMA et MACDstrategie qui fonctionne tres bien en 5 min le meilleur time frame pour set strategie pour le btc
Short Below 20 EMA with Exit Above Prior High - 15 Mintake entry on price cross below 15 min 20 ema and exit on reversal of candle close above previous 15 min candle
RSI + MACD + Liquidity FinderLiquidity Finder: The liquidity zones are heuristic and based on volume and swing points. You may need to tweak the volumeThreshold and lookback to match the asset's volatility and timeframe.
Timeframe: This script works on any timeframe, but signals may vary in reliability (e.g., higher timeframes like 4H or 1D may reduce noise).
Customization: You can modify signal conditions (e.g., require only RSI or MACD) or add filters like trend direction using moving averages.
Backtesting: Use TradingView's strategy tester to evaluate performance by converting the indicator to a strategy (replace plotshape with strategy.entry/strategy.close).