Snehal Desai's Nifty Predictor This script will let you know all major indicator's current position and using AI predict what is going to happen nxt. for any quetions you can mail me at snehaldesai37@gmail.com. for benifit of all.
Forecasting
CF Cycle Low Projection V2Overview
This indicator helps traders analyze repeating market cycles by detecting significant pivot lows and projecting when the next cycle low may occur. It provides timing context to support decision-making but does not generate direct buy/sell signals.
How it works
Pivot detection : Confirms swing lows using left/right bars. Filters (minimum % move and optional ATR separation) ensure only meaningful lows are counted.
Cycle averaging : Calculates the average interval (and standard deviation) between recent pivot lows.
Projection : Adds the average interval to the last pivot low to forecast the next potential cycle low. If that point lies in the past, the script rolls forward until the projection is in the future.
Timing window : A shaded area around the ETA is drawn, based on either standard deviation or a percentage of the average, showing when a low is statistically more likely to occur.
Visualization:
• Vertical line = projected cycle low
• Shaded box = timing window
• Label = countdown in weeks/days/hours
• HUD = status, ETA, intervals used
How to use
Select your preferred timeframe (works on intraday and higher).
Allow pivots to accumulate; once the HUD shows Status: OK, projections will appear.
Use the ETA line and timing window together with structure, liquidity levels, and support/resistance zones.
Combine with your own strategy and risk management rules.
Notes
Works on any market supported by TradingView (crypto, stocks, forex, indices).
Filters can be adjusted to reduce noise (e.g., increase % move or ATR multiplier).
This tool is designed for cycle timing analysis only. It does not predict exact prices or guarantee outcomes.
Some traders refer to this approach as “camel cycle trading,” but here it is implemented as a pivot-based cycle projection tool.
Full Candle Higher/Lower (No Repeats)🔎 What the Script Does (Pine Script v6)
Keeps track of the last signal
Uses a persistent variable lastSignal (initialized once as "none").
Ensures that if a signal repeats consecutively, it won’t be triggered again.
Defines the conditions for a “Higher” or “Lower” candle sequence
Higher condition:
Current close > previous high, AND previous low ≤ the high of two bars ago.
→ This means the candle has fully broken higher.
Lower condition:
Current close < previous low, AND previous high ≥ the low of two bars ago.
→ This means the candle has fully broken lower.
Checks for new signals only
If a candle meets the condition and the last signal wasn’t the same, a new signal is triggered.
Updates lastSignal to prevent repeats.
Plots labels/arrows
A “Higher” signal shows a green label below the bar.
A “Lower” signal shows a red label above the bar.
Sets alerts
So you can be notified in TradingView whenever a “Higher” or “Lower” flag is detected.
📊 Trading Logic in Words
The indicator is looking for full candle breakouts.
If a candle closes above the previous high (with some confirmation from older bars), it flags it as a “Higher” signal.
If a candle closes below the previous low (with similar confirmation), it flags it as a “Lower” signal.
It avoids duplicate consecutive signals by remembering what the last one was.
✅ Why It’s Useful
Helps traders spot momentum continuation candles (strong push candles).
Reduces noise by not repeating the same signal multiple times in a row.
Works like a breakout detector that tells you when the market is making a new leg up or new leg down.
Chanpreet RSI(3) Extreme Rays (4H, Adjustable Style)Chanpreet RSI(3) Extreme Rays (4H)
This indicator applies a short-length RSI (3) on the 4-hour timeframe and highlights momentum extremes directly on the chart.
🔎 What it does
Detects when RSI(3) moves into overbought (>80) or oversold (<20) territory.
Groups consecutive candles inside these zones into one “event” instead of marking each bar individually.
For each event:
• In overbought → records the highest high of the stretch and marks it with a horizontal ray.
• In oversold → records the lowest low of the stretch and marks it with a horizontal ray.
Keeps only the most recent N rays (default 5, adjustable).
⚙️ Inputs
Max Rays to Keep → how many unique events are kept visible.
Ray Thickness → adjust line thickness.
Overbought Ray Color → default red.
Oversold Ray Color → default green.
📈 How to use
Apply on any chart; RSI(3) values are always calculated from 4H data (via request.security).
Use rays as reference levels that highlight recent momentum extremes or exhaustion zones.
This is not a buy/sell signal by itself — combine with your own analysis, confirmation tools, and risk management.
Best Recommended time frame is 5 mins, 10 mins & 15 mins for intraday trading.
🧩 Unique features
Groups multiple bars into a single clean ray, reducing clutter.
Uses 4H RSI(3) regardless of the chart’s active timeframe.
Fully customizable appearance (colors, thickness, max events).
⚠️ Disclaimer
This script is provided for educational and informational purposes only.
It does not constitute financial advice or guarantee performance.
Always test thoroughly and use proper risk management before trading live.
Stop Loss vs Take Profit Probability and EVThis stop loss and take profit calculator uses a Monte Carlo simulation to calculate the probability of hitting your Stop Loss or Take Profit levels across different time horizons (expressed in bars).
It provides data-driven insights to optimize your risk management and position sizing by showing Expected Value for each scenario.
As a quant, I love using statistical data to help my decisions and get better EV from my trades.
🔬 How It's Calculated
Monte Carlo Simulation: Runs 1,000-10,000 price simulations using a random walk model
Volatility Analysis: Combines ATR-based and Historical Volatility for accurate price movement modeling
Expected Value: Calculates profit/loss expectation using formula: (TP_Probability × Reward) - (SL_Probability × Risk)
Time Horizons: Tests multiple timeframes (1, 5, 10, 20, 50 bars) to find optimal holding periods
Risk/Reward Ratios: Automatically calculates and displays R:R ratios for quick assessment
💡 Use Cases
Position Sizing - Determine optimal risk per trade based on Expected Value
Time Horizon Optimization - Find the best holding period for your strategy
Stop Loss Placement - Validate SL levels using probability analysis
Take Profit Optimization - Set TP levels with statistical backing
Strategy Backtesting - Compare different R:R setups before entering trades
Risk Management - Avoid trades with negative Expected Value
Swing vs Day Trading - Choose timeframes with highest success probability
🎯 How to Use
Setup Trade: Enter your entry price, stop loss, and take profit levels
You can add or remove time horizons denominated in bars. Say you are looking at 1h candles, adding a 24-bar time horizon means you are looking into 24 hours
Choose Direction: Select Long or Short position
Review Table
Analyze Expected Value: Focus on positive EV scenarios (green background)
Optimize Timing: Select time horizons with best risk/reward profile
Adjust Parameters: Modify volatility calculation method and simulation count if needed
Examples
Here's how you can read the tables.
Example 1:
In this chart, we are analyzing the TP and SL probabilities as well as the EV (expected value) for a stock. I want to check what the likelihood is that my SL and TP get triggered over the next 5 days. The stock market is open for 6.5 hours per day, which is 13 bars in this 30-minute bar chart. 26 bars is 2 days, 39 bars is 3 days and so on.
Although this trade is more likely to trigger my SL than my TP, in some of the time horizons we have a positive expected value because of the risk/reward of our trade (i.e. distance of the SL and TP from the price) and the probability of hitting SL and TP.
Example 2:
In this example, we have applied the indicator to gold. Because the TP is much closer to the price, the probability of hitting the TP is much higher.
We can also observe that the expected Value in the shorter time frames is better than in the longer ones. This can give us some clues to set up our trade. If we know that the EV is positive, we can allocate more to that specific trade.
Enjoy, and please let me know your feedback! 😊🥂
NQ Open Playbook (with Toggles)marks out asain,london.ny high and lows on 4h,1h,15m simple little stradGY FOER BEGINERS TO GET A FEEL FOR THE MARKET.
Trajectory Channel (VWAP Highs/Lows) [Euler-Inspired]VPWA higha nd low Euler trajectory inspired script
FxAST Lite Wave — Universal (Profiles: Intraday / Swing)FxAST-LW Universal (Profiles)
The FxAST Lite Wave – Universal strategy is designed for adaptability across markets and timeframes, with two ready-to-use profiles:
Intraday (5m–1H) → tuned for futures & FX scalps/day trades. Includes session filters, ATR volatility regimes, and impulse confirmation to reduce chop.
Swing (1D–3D) → tuned for swing positions. Uses relaxed impulse filters, slope + bias confirmation, and DI-spread to capture bigger moves.
Key features:
✅ Multi-EMA Lite Wave core (5/13/62/200)
✅ Regime filter via DI-spread (trend vs chop)
✅ EMA200 slope filter
✅ Optional HTF bias confirmation
✅ ATR-based stops, breakeven & trailing logic
✅ Time-stop exits to avoid capital stagnation
✅ Risk % position sizing
Usage:
Switch between Intraday and Swing modes via the Profile input. Adjust DI-spread, slope, and impulse thresholds per symbol. Sessions recommended ON for indices (NQ/ES/RTY) and OFF for FX.
⚠️ Disclaimer: This script is for research & educational purposes only. Not financial advice. Test extensively before applying live. Past performance does not guarantee future results.
© FxAST
Stock Scoring SystemThe EMA Scoring System is designed to help traders quickly assess market trend strength and decide portfolio allocation. It compares price vs. key EMAs (21, 50, 100) and also checks the relative strength between EMAs. Based on these conditions, it assigns a score (-6 to +6) and a corresponding allocation percentage.
+6 Score = 100% allocation (strong bullish trend)
-6 Score = 10% allocation (strong bearish trend)
Scores in between represent intermediate trend strength.
📌 Key Features
✅ Scoring Model: Evaluates price vs. EMA alignment and EMA cross relationships.
✅ Allocation % Display: Converts score into suggested portfolio allocation.
✅ Background Highlighting: Green shades for bullish conditions, red shades for bearish.
✅ Customizable Table Position: Choose between Top Right, Top Center, Bottom Right, or Bottom Center.
✅ Toggleable EMAs: Show/Hide 21 EMA, 50 EMA, and 100 EMA directly from indicator settings.
✅ Simple & Intuitive: One glance at the chart tells you trend strength and suggested allocation.
📈 How It Works
Score Calculation:
Price above an EMA = +1, below = -1
Faster EMA above slower EMA = +1, else -1
Maximum score = +6, minimum = -6
Allocation Mapping:
+6 → 100% allocation
+4 to +5 → 100% allocation
+2 to +3 → 75% allocation
0 to +1 → 50% allocation
-1 to -2 → 30% allocation
-3 to -4 → 20% allocation
-5 to -6 → 10% allocation
Visual Output:
Table shows SCORE + Allocation %
Background color shifts with score (green for bullish, red for bearish)
⚠️ Disclaimer
This indicator is for educational purposes only. It does not constitute financial advice. Always backtest and combine with your own analysis before making trading decisions.
Cyclic Reversal Engine [AlgoPoint]Overview
Most indicators focus on price and momentum, but they often ignore a critical third dimension: time. Markets move in rhythmic cycles of expansion and contraction, but these cycles are not fixed; they speed up in trending markets and slow down in choppy conditions.
The Cyclic Reversal Engine is an advanced analytical tool designed to decode this rhythm. Instead of relying on static, lagging formulas, this indicator learns from past market behavior to anticipate when the current trend is statistically likely to reach its exhaustion point, providing high-probability reversal signals.
It achieves this by combining a sophisticated time analysis with a robust price-action confirmation.
How It Works: The Core Logic
The indicator operates on a multi-stage process to identify potential turning points in the market.
1. Market Regime Analysis (The Brain): Before analyzing any cycles, the indicator first diagnoses the current "personality" of the market. Using a combination of the ADX, Choppiness Index, and RSI, it classifies the market into one of three primary regimes:
- Trending: Strong, directional movement.
- Ranging: Sideways, non-directional chop.
- Reversal: An over-extended state (overbought/oversold) where a turn is imminent.
2. Adaptive Cycle Learning (The "Machine Learning" Aspect): This is the indicator's smartest feature. It constantly analyzes past cycles by measuring the bar-count between significant swing highs and swing lows. Crucially, it learns the average cycle duration for each specific market regime. For example, it learns that "in a strong trending market, a new swing low tends to occur every 35 bars," while "in a ranging market, this extends to 60 bars."
3. The Countdown & Timing Signal: The indicator identifies the last major swing high or low and starts a bar-by-bar countdown. Based on the current market regime, it selects the appropriate learned cycle length from its memory. When the bar count approaches this adaptive target, the indicator determines that a reversal is "due" from a timing perspective.
4. Price Confirmation (The Trigger): A signal is never generated based on timing alone. Once the timing condition is met (the cycle is "due"), the indicator waits for a final price-action confirmation. The default confirmation is the RSI entering an extreme overbought or oversold zone, signaling momentum exhaustion. The signal is only triggered when Time + Price Confirmation align.
How to Use This Indicator
- The Dashboard: The panel in the bottom-right corner is your command center.
- Market Regime: Shows the current market personality analyzed by the engine.
- Adaptive Cycle / Bar Count: This is the core of the indicator. It shows the target cycle length for the current regime (e.g., 50) and the current bar count since the last swing point (e.g., 45). The background turns orange when the bar count enters the "due zone," indicating that you should be on high alert for a reversal.
- BUY/SELL Signals: A label appears on the chart only when the two primary conditions are met:
The timing is right (Bar Count has reached the Adaptive Cycle target).
The price confirms exhaustion (RSI is in an extreme zone).
A BUY signal suggests a downtrend cycle is likely complete, and a SELL signal suggests an uptrend cycle is likely complete.
Key Settings
- Pivot Lookback: Controls the sensitivity of the swing point detection. Higher values will identify more significant, longer-term cycles.
- Market Regime Engine: The ADX, Choppiness, and RSI settings can be fine-tuned to adjust how the indicator classifies the market's personality.
- Require Price Confirmation: You can toggle the RSI confirmation on or off. It is highly recommended to keep it enabled for higher-quality signals.
BTC 1D — Trend START/END Signals (clean, no repaint)
This strategy is designed primarily for BTC on the daily (1D) timeframe in TradingView.
BUY (start of uptrend)
Fast EMA is above Slow EMA.
Price breaks above the previous Donchian high.
Optional filters (if enabled): volume surge and strong momentum/RSI.
Only one BUY per uptrend—no additional buys until a SELL occurs.
SELL (end of uptrend)
Price falls below the previous Donchian low, or
Price drops below the Slow EMA, or
Momentum flips bearish (DI− > DI+ or RSI ≤ threshold).
One SELL marks the end of the uptrend.
Sinyal Gabungan Lengkap (TWAP + Vol + Waktu)Sinyal Gabungan Lengkap (TWAP + Vol + Waktu) volume btc dan total3 dan ema
🟥 Synthetic 10Y Real Yield (US10Y - Breakeven)This script calculates and plots a synthetic U.S. 10-Year Real Yield by subtracting the 10-Year Breakeven Inflation Rate (USGGBE10) from the nominal 10-Year Treasury Yield (US10Y).
Real yields are a core macro driver for gold, crypto, growth stocks, and bond pricing, and are closely monitored by institutional traders.
The script includes key reference lines:
0% = Below zero = deeply accommodative regime
1.5% = Common threshold used by macro desks to evaluate gold upside breakout conditions
📈 Use this to monitor macro shifts in real-time and front-run capital flows during major CPI, NFP, and Fed events.
Update Frequency: Daily (based on Treasury market data)
Spiderlines BTCUSD - daily/weekly📘 Documentation – Daily and Weekly Spider Lines for Bitcoin
🔹 Purpose of the Script
This script draws dynamic “Spider Lines” in the Bitcoin chart.
The lines connect certain historical candles with a reference candle and extend to the right.
These act as guideline levels that can serve as potential support or resistance zones.
🔹 How It Works
The script operates in two modes, depending on the active chart timeframe:
Weekly Mode (timeframe.isweekly)
The reference date is July 1, 2019.
The number of weeks since that date is calculated.
This defines the connection candle (connection_candle).
Several predefined offsets (e.g., +32, +34, +36 …) are added to the reference to determine starting candles.
Lines are drawn from these candles toward the connection candle.
→ Line color: green
Daily Mode (timeframe.isdaily)
Same reference date: July 1, 2019.
The number of days since that date is calculated.
Again, a connection candle is set.
A different set of offsets (e.g., +224, +238, +252 …) defines the starting candles.
Lines are drawn accordingly.
→ Line color: red
🔹 Line Logic
Each line connects:
Start → bar_index at high
End → bar_index at close
Lines are extended indefinitely to the right (extend.right).
Appearance: dashed style, width 2.
🔹 Error Handling
If a calculated candle index does not exist in the chart history (e.g., chart data does not go back far enough),
a label is plotted in the chart showing the message:
"Daily idx out of range: 252"
This way, missing lines can be diagnosed easily.
🔹 Color Convention
Weekly Spider Lines → Green
Daily Spider Lines → Red
🔹 Use Cases
Visualization of historical cyclic line patterns.
Helps in technical chart analysis: spotting potential reaction zones in price movement.
Designed mainly for long-term traders and analysts observing Bitcoin in Daily or Weekly timeframes.
🔹 Limitations
Works only on Daily and Weekly charts.
Requires chart data going back to July 1, 2019.
Based purely on fixed offsets → not a classical indicator like Moving Averages or RSI.
Analyst Targets ProbabilityThis indicator calculates the probability of the current stock price reaching or exceeding the analyst-provided high, average, and low price targets within a one-year time horizon. It utilizes a geometric Brownian motion (GBM) model, a standard approach in financial modeling that assumes log-normal price distribution with constant volatility.
### Key Features:
- **Analyst Targets**: Automatically pulls the high, average, and low one-year price targets from TradingView's syminfo data.
- **Risk-Free Rate**: Fetched from the 1-year US Treasury yield (symbol: TVC:US01Y). Defaults to 4% if unavailable.
- **Dividend Yield**: Uses trailing twelve-month (TTM) dividends per share (DPS) from financial data, divided by current price. Defaults to 0% if unavailable.
- **Volatility**: Computed as annualized historical volatility based on 252 trading days of daily log returns. Falls back to a 20-day period if insufficient data, or defaults to 30% if still unavailable.
- **Probability Calculation**: Employs the barrier hitting probability formula under GBM:
- Drift (μ) = risk-free rate - dividend yield - (volatility² / 2)
- The formula for probability P of hitting target H from current price S₀ over time T is:
P = Φ(d₊) + (H / S₀)^p ⋅ Φ(d₋) for H > S₀ (or adjusted for H < S₀)
Where l = ln(max(H, S₀)/min(H, S₀)), ν = drift, p = -2ν / σ², d₊ = (-l + νT) / (σ√T), d₋ = (-l - νT) / (σ√T), and Φ is the standard normal CDF (approximated using a polynomial method for accuracy).
- **Output Display**: A table in the top-right corner shows each target type, its value, and the estimated probability (as a percentage). "N/A" appears if data is unavailable or calculations cannot proceed (e.g., zero volatility).
### Assumptions and Limitations:
- Assumes constant volatility and drift, no transaction costs, and continuous trading (real markets may deviate due to jumps, news events, or changing conditions).
- Probabilities are model-based estimates and not guarantees; they represent the likelihood under risk-neutral measure.
- Best suited for stocks with available analyst targets and historical data; may default to assumptions for less-liquid symbols.
- No user inputs required—fully automated using TradingView's data sources.
This script is provided under the Mozilla Public License 2.0. For educational and informational purposes only; not financial advice. Test on your charts and consider backtesting for validation.
PDD — Pullback & Breakout Alerts (PopsStocks) • INDICATOR🟢 Trader-Friendly (simple & clear)
Description:
This indicator highlights pullback and breakout trade opportunities on PDD (Pinduoduo). It automatically marks pullback buy zones, breakout levels, stops, and profit targets. Signals are based on bullish reversal candles (inside pullback zones) and confirmed breakouts above resistance. Includes optional EMAs for trend context and built-in alerts, making it easy to catch setups in real time.
🔵 Technical/Backtest-Friendly (for advanced users)
Description:
A price-action-based tool for identifying structured entries on PDD (Pinduoduo). The script plots dynamic pullback zones, breakout resistance levels, stops, and risk/reward targets. Signal logic combines candlestick reversals (bullish engulfing, hammer), volume filters, and optional higher-low buildup checks. 20/50 EMA overlays provide trend confirmation. Designed for traders who want defined rules, alert automation, and clear risk-to-reward planning.
Monthly MA Box for S&P 500 or othersThis moving average helps detect when the asset is undervalued or overvalued. Users can adjust the spread between the moving averages.
Major Wars with a signifiant economic impactThis indicator highlights major wars that have had a significant economic impact worldwide. It allows users to easily see their effects on the charts.
Dow Theory Indicator## 🎯 Key Features of the Indicator
### 📈 Complete Implementation of Dow Theory
- Three-tier trend structure: primary trend (50 periods), secondary trend (20 periods), and minor trend (10 periods).
- Swing point analysis: automatically detects critical swing highs and lows.
- Trend confirmation mechanism: strict confirmation logic based on consecutive higher highs/higher lows or lower highs/lower lows.
- Volume confirmation: ensures price moves are supported by trading volume.
### 🕐 Flexible Timeframe Parameters
All key parameters are adjustable, making it especially suitable for U.S. equities:
Trend analysis parameters:
- Primary trend period: 20–200 (default 50; recommended 50–100 for U.S. stocks).
- Secondary trend period: 10–100 (default 20; recommended 15–30 for U.S. stocks).
- Minor trend period: 5–50 (default 10; recommended 5–15 for U.S. stocks).
Dow Theory parameters:
- Swing high/low lookback: 5–50 (default 10).
- Trend confirmation bar count: 1–10 (default 3).
- Volume confirmation period: 10–100 (default 20).
### 🇺🇸 U.S. Market Optimizations
- Session awareness: distinguishes Regular Trading Hours (9:30–16:00 EST) from pre-market and after-hours.
- Pre/post-market weighting: adjustable weighting factor for signals during extended hours.
- Earnings season filter: automatically adjusts sensitivity during earnings periods.
- U.S.-optimized default parameters.
## 🎨 Visualization
1. Trend lines: three differently colored trend lines.
2. Background fill: green (uptrend) / red (downtrend) / gray (neutral).
3. Signal markers: arrows, labels, and warning icons.
4. Swing point markers: small triangles at key turning points.
5. Info panel: real-time display of eight key metrics.
## 🚨 Alert System
- Trend turning to up/down.
- Strong bullish/bearish signals (dual confirmation).
- Volume divergence warning.
- New swing high/low formed.
## 📋 How to Use
1. Open the Pine Editor in TradingView.
2. Copy the contents of dow_theory_indicator.pine.
3. Paste and click “Add to chart.”
4. Adjust parameters based on trading style:
- Long-term investing: increase all period parameters.
- Swing trading: use the default parameters.
- Short-term trading: decrease all period parameters.
## 💡 Parameter Tips for U.S. Stocks
- Large-cap blue chips (AAPL, MSFT): primary 60–80, secondary 25–30.
- Mid-cap growth stocks: primary 40–60, secondary 18–25.
- Small-cap high-volatility stocks: primary 30–50, secondary 15–20.
SMC Analysis - Fair Value Gaps (Enhanced)SMC Analysis - Fair Value Gaps (Enhanced) Script Summary
Overview
The "SMC Analysis - Fair Value Gaps (Enhanced)" script, written in Pine Script (version 6), is a technical analysis indicator designed for TradingView to identify and visualize Fair Value Gaps (FVGs) on a price chart. It supports both the main timeframe and multiple higher timeframes (MTF) for comprehensive market analysis. FVGs are price gaps formed by a three-candle pattern, indicating potential areas of market inefficiency where price may return to fill the gap.
Key Features
FVG Detection:
Identifies bullish FVGs: Occur when the high of a candle two bars prior is lower than the low of the current candle, with the middle candle being bullish (close > open).
Identifies bearish FVGs: Occur when the low of a candle two bars prior is higher than the high of the current candle, with the middle candle being bearish (close < open).
Visualizes FVGs as colored boxes on the chart (green for bullish, red for bearish).
Mitigation Tracking:
Tracks when FVGs are touched (price overlaps the gap range) or mitigated (price fully closes the gap).
Strict Mode: Marks an FVG as mitigated when price touches the gap range.
Normal Mode: Requires a full breakthrough (price crossing the gap’s bottom for bullish FVGs or top for bearish FVGs) for mitigation.
Optionally converts FVG box borders to dashed lines and increases transparency when partially touched.
Multi-Timeframe (MTF) Support:
Analyzes FVGs on three user-defined higher timeframes (default: 15m, 60m, 240m).
Displays MTF FVGs with distinct labels and slightly more transparent colors.
Ensures no duplicate processing of MTF bars to maintain performance.
Customization Options:
FVG Length: Adjustable duration for how long FVGs are displayed (default: 20 bars).
Show/Hide FVGs: Toggle visibility for main timeframe and each MTF.
Color Customization: User-defined colors for bullish and bearish FVGs (default: green and red).
Display Options: Toggle for showing dashed lines after partial touches and strict mitigation mode.
Performance Optimization:
Limits the number of displayed boxes (50 for main timeframe, 20 per MTF) to prevent performance issues.
Automatically removes older boxes to maintain a clean chart.
Functionality
Visualization: Draws boxes around detected FVGs, with customizable colors and text labels ("FVG" for main timeframe, "FVG " for MTF).
Dynamic Updates: Extends or terminates FVG boxes based on mitigation status and user settings.
Efficient Storage: Uses arrays to manage FVG data (boxes, tops, bottoms, indices, mitigation status, and touch status) separately for main and MTF analyses.
Use Case
This indicator is designed for traders using Smart Money Concepts (SMC) to identify areas of market inefficiency (FVGs) for potential price reversals or continuations. The MTF support allows analysis across different timeframes, aiding in confirming trends or spotting higher-timeframe support/resistance zones.
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.