FX Sniper: T3-CCI Strategy - With 100 IndicatorsEntry signal when moving above -100, sell signal when going below 100
Поиск скриптов по запросу "entry"
Amazing Crossover SystemEntry Rules
BUY when the 5 EMA crosses above the 10 EMA from underneath and the RSI crosses above the 50.0 mark from the bottom.
SELL when the 5 EMA crosses below the 10 EMA from the top and the RSI crosses below the 50.0 mark from the top.
Make sure that the RSI did cross 50.0 from the top or bottom and not just ranging tightly around the level.
How to setup Alert:
1) Add the Amazing Crossover System to your chart via Indicators
2) Find your currency pair
3) Set the timeframe on the chart to 1 hour
4) Press 'Alt + A' (create alert shortcut)
5) Set the following criteria for the alert:
Condition = 'Amazing Crossover System', Plot, ' BUY Signal'
The rest of the alert can be customized to your preferences
5) Repeat steps 1 - 4, but set the Condition = 'Amazing Crossover System', Plot, ' SELL Signal'
TRS (Trend Readiness System)TRS – Trend Readiness System
TRS (Trend Readiness System) is a trend-aligned trading framework designed to help you identify stocks that are becoming ready for entry , not just those already breaking out.
Instead of producing noisy buy/sell signals, TRS evaluates trend quality, pullback structure, momentum rebuilding, and market context , and converts them into clear scores, states, and timing awareness — both on the chart and inside the TradingView Screener.
---
Core Philosophy
Strong trends don’t start at the breakout — they start when conditions quietly align.
TRS focuses on:
• Primary trend alignment
• Healthy pullbacks above long-term support
• Early momentum recovery
• Market regime confirmation
• Entry timing (fresh vs late)
---
What TRS Measures
1. Setup Score (Trend Quality)
Answers the question: “Is this stock structurally worth watching?”
Based on:
• Price position relative to MA150
• Long-term trend direction
• Higher-low structure
• Distance from MA150 (overextension control)
• Market regime (bullish / bearish)
---
2. Entry Score (Timing Quality)
Answers the question: “Is the timing right — or still early?”
Based on:
• Short and mid-term moving averages
• Pullback behavior
• Momentum stabilization
• Volume confirmation
---
3. General Score
A combined readiness score used for ranking in the TradingView Screener:
General Score = Setup Score + Entry Score
---
Entry State Tracking (Key Feature)
TRS tracks the full entry lifecycle , not just signals:
• Valid Entry
• Pending Entry (almost ready)
• Bars Since Valid Entry
• Entry Window (Fresh / Expired)
• Entry Still Valid (Yes / No)
This helps avoid chasing late or already-played setups.
---
Market Regime Filter
Signals automatically adapt to overall market conditions:
• Market trend confirmation (e.g. SPY / QQQ)
• Reduced false signals during weak markets
• Clear explanation when setups are blocked
---
Visual Dashboard (Optional)
The on-chart dashboard can display:
• General Score
• Market state
• Setup quality
• Entry status
• Entry window
• Bars since entry
• Blocking reason (if any)
You can switch between:
• Minimal mode – essential info only
• Full table mode – detailed diagnostics
---
Screener Integration
TRS exposes clean numeric outputs for the TradingView Pine Screener:
• Setup Score
• Entry Score
• General Score
• Pending Entry (1 / 0)
• Valid Entry (1 / 0)
• Bars Since Valid Entry
• Market Bullish (1 / 0)
Example Screener Filters:
• Setup Score ≥ 50
• Pending Entry = 1
• Bars Since Valid Entry ≤ 3
• Market Bullish = 1
---
How to Use TRS (Daily Routine)
Step 1 – Scan
• Look for high Setup Score
• Prefer Pending Entry = 1
Step 2 – Review
• Confirm pullback quality
• Check MA150 support
• Observe momentum rebuilding
Step 3 – Act
• Enter only on Valid Entry
• Avoid expired entry windows
• Skip setups blocked by market regime
---
What TRS Is NOT
• Not a breakout chaser
• Not a day-trading system
• Not signal spam
TRS is a decision-support system for swing and position traders who value structure, context, and timing.
---
Best Used On
• Daily timeframe (1D)
• Liquid stocks & ETFs
• Trend-following strategies
• Portfolio-level screening
---
Gann Octave 8 Ver.2.0Gann Octave 8 Ver.2.0 - Complete Trading Guide
Overview
This indicator combines W.D. Gann's time-tested principles of market geometry with modern technical analysis. It identifies key market structures and projects precise support/resistance levels along with angular momentum lines to help traders identify high-probability trading opportunities.
________________________________________
Core Concepts
1. Gann's Octave Division (The Rule of 8)
W.D. Gann discovered that markets move in harmonic divisions based on the number 8. This indicator divides any swing movement into 8 equal parts (octaves):
• 0% - Swing extreme (High for bearish, Low for bullish)
• 12.5% - First octave
• 25% - Quarter level
• 37.5% - Three-eighths level
• 50% - Midpoint (most critical level)
• 62.5% - Five-eighths level
• 75% - Three-quarter level
• 87.5% - Seventh octave
• 100% - Swing extreme (opposite end)
Why 8? Gann believed natural market cycles follow mathematical harmonics. The octave division provides precise entry and exit points that frequently act as support/resistance zones.
2. Gann Angles (Price-Time Relationship)
Gann angles represent the relationship between price movement and time. Each angle shows different momentum levels:
• 1x1 (Black) - 45° angle, perfect balance between price and time. Most important Gann angle. Represents the natural trend line.
• 2x1 (Red) - Steeper angle, 2 units of price per 1 unit of time. Shows strong momentum.
• 1x2 (Red) - Flatter angle, 1 unit of price per 2 units of time. Shows weak momentum.
• 4x1 & 1x4 (Blue) - Even more extreme angles indicating very strong or very weak trends.
• 8x1 & 1x8 (Orange) - Most extreme angles, parabolic moves or complete consolidation.
Key Principle: When price is above the 1x1 angle = bullish. Below 1x1 = bearish. When price crosses from one angle to another, it signals a change in momentum.
________________________________________
How the Indicator Works
Structure Detection
The indicator automatically identifies market swings using pivot points:
1. Bullish Structure (Green): Detected when price makes a higher high
o Octave levels calculated from swing low (0%) to swing high (100%)
o Gann angles project upward from the swing low
2. Bearish Structure (Red): Detected when price makes a lower low
o Octave levels calculated from swing high (0%) to swing low (100%)
o Gann angles project downward from the swing high
Dynamic Updates
• Swing Tracker ON: Levels update continuously as the swing evolves
• Swing Tracker OFF: Levels lock at the initial swing detection (cleaner charts)
Historical Structures
The indicator maintains previous swing structures based on "Number of Swings to Show":
• Set to 1: Only current structure (cleanest)
• Set to 2-3: Current + recent history (recommended for context)
• Set to 4+: Multiple historical structures (may overlap but shows pattern)
________________________________________
Trading Strategy
Entry Signals
BUY SIGNALS (Green Triangle Up ▲)
Signal 1: Bounce from Support Levels
• Price drops to 0%, 50%, or 100% level and reverses
• Best when combined with bullish candlestick pattern (hammer, engulfing)
• Entry: On signal confirmation
• Stop Loss: Below the support level (0.5-1% below)
• Target: Next octave level up (12.5%, 25%, 50%)
Signal 2: Breakout Above Resistance
• Price breaks above 50% or 100% level with momentum
• Confirms trend continuation or reversal
• Entry: On close above the level
• Stop Loss: Below the breakout level
• Target: Previous swing high or next major level
Signal 3: Gann Angle Support
• Price bounces off 1x1 angle (black line)
• Indicates trend is intact
• Entry: When price respects the angle
• Stop Loss: Below the 1x1 angle
• Target: Next resistance level
SELL SIGNALS (Red Triangle Down ▼)
Signal 1: Rejection from Resistance Levels
• Price rallies to 0%, 50%, or 100% level and reverses
• Best when combined with bearish candlestick pattern (shooting star, bearish engulfing)
• Entry: On signal confirmation
• Stop Loss: Above the resistance level (0.5-1% above)
• Target: Next octave level down (87.5%, 75%, 50%)
Signal 2: Breakdown Below Support
• Price breaks below 50% or 0% level with momentum
• Confirms trend continuation or reversal
• Entry: On close below the level
• Stop Loss: Above the breakdown level
• Target: Previous swing low or next major level
Signal 3: Gann Angle Resistance
• Price fails at 1x1 angle (black line)
• Indicates trend weakness
• Entry: When price rejects the angle
• Stop Loss: Above the 1x1 angle
• Target: Next support level
________________________________________
Advanced Trading Techniques
1. The 50% Rule (Most Powerful)
The 50% octave level is the most critical in Gann theory:
• In Uptrend: Price should not break below 50% retracement. If it holds = trend intact, go long.
• In Downtrend: Price should not break above 50% retracement. If it holds = trend intact, go short.
• Reversal: Breaking and closing beyond 50% often signals trend reversal.
2. Gann Angle Confluence
When multiple Gann angles converge with octave levels = HIGH probability zone:
• Look for price to bounce or reverse at these zones
• Example: 1x2 angle meets 50% level = strong support/resistance
• These zones often become pivot points
3. Multiple Timeframe Analysis
• Use higher timeframe (daily) for major structure
• Use lower timeframe (5min, 15min) for precise entries
• Take trades when both timeframes align
4. Swing Failure Pattern
• Price breaks a key level (e.g., 50%) but quickly reverses back
• This "false breakout" often leads to strong move in opposite direction
• Wait for signal in the reversal direction
________________________________________
Settings Optimization
For Day Trading (Scalping)
• Structure Period: 0-2 (22 bars or less)
• Number of Swings: 1 (only current structure)
• Signal Sensitivity: High
• Swing Tracker: OFF (cleaner)
For Swing Trading
• Structure Period: 4-5 (44-88 bars)
• Number of Swings: 2-3
• Signal Sensitivity: Medium
• Swing Tracker: ON or OFF (preference)
For Position Trading
• Structure Period: 6-8 (176+ bars)
• Number of Swings: 3-5
• Signal Sensitivity: Low
• Swing Tracker: ON
________________________________________
Common Patterns to Watch
Bullish Reversal Setup
1. Price in bearish structure (red levels)
2. Price drops to 100% level (swing low)
3. Buy signal appears (green triangle)
4. Price breaks back above 50% level
5. Action: Go long with stop below 100%
Bearish Reversal Setup
1. Price in bullish structure (green levels)
2. Price rises to 100% level (swing high)
3. Sell signal appears (red triangle)
4. Price breaks back below 50% level
5. Action: Go short with stop above 100%
Trend Continuation
1. Price respects 1x1 Gann angle
2. Small pullback to 25% or 37.5% level
3. Buy/sell signal appears
4. Action: Enter in trend direction
________________________________________
________________________________________
Signal Sensitivity Guide
• Low: Conservative, only major breakouts (3-5 signals per day)
• Medium: Balanced, includes approaches (5-10 signals per day)
• High: Aggressive, includes bounces (10-20 signals per day)
Choose based on your trading style and risk tolerance
________________________________________
Final Words
This indicator is a powerful tool, but remember:
"The market is never wrong. Opinions are." - W.D. Gann
• No indicator is 100% accurate
• Always combine with price action and volume
• Backtest on your instrument and timeframe
• Keep learning and adapting your strategy
• Discipline and risk management are more important than the perfect setup
Happy Trading! 📈
Daytrading Suite: Neon TPO + FVG v6.1Here is the summary of the code and the trading guide in English.
---
### 1. Code Summary: What does the chart show?
The script combines three dimensions of trading into a single chart:
* **The Context (TPO / Market Profile - Yesterday):**
* **Gold Zone (Center):** Yesterday's **POC (Point of Control)**. This was the "fairest price". It often acts as a magnet.
* **White Dashed Lines:** The **VAH (Value Area High)** and **VAL (Value Area Low)**. Yesterday, 70% of all trading volume happened between these lines. This is the area of "Balance".
* **The Structure (HTF - 1 Hour+):**
* **Red/Green Boxes (Right Edge):** Automatic **Supply & Demand Zones** based on the 1-hour chart (or your setting). They indicate major resistance and support levels.
* **The Timing (Entries):**
* **Neon FVG Boxes (Small):** "Fair Value Gaps". These represent imbalances in price. If price revisits these, it is often your **entry signal**.
* **Lines (VWAP, EMA, PDH/PDL):** Act as dynamic support and trend indicators.
---
### 2. Trading Strategy: How to use it
Do not just trade every colored spot. You must combine **Location (TPO)** with **Signal (FVG)**.
#### Step A: The Open (Where are we?)
In the morning (or at the US Open), check where the price is relative to the **white TPO lines**.
1. **Inside the White Lines (In Balance):**
* The market is undecided. Expect ranging/choppy behavior.
* **Strategy:** Buy at the bottom edge (VAL), Sell at the top edge (VAH). The target is often the Gold Zone (POC) in the middle.
2. **Outside the White Lines (Imbalance):**
* The market is seeking new prices. Danger of a Trend!
* **Strategy:** If price breaks above VAH and tests it from above -> **Long**. If it breaks below VAL -> **Short**.
#### Step B: The Setup (The High Probability Scenario)
Here is the "Rejection" Setup (Long Example):
1. Price drops to the lower white line (**VAL**) or into a green **Demand Zone**.
2. It bounces (shows a wick).
3. In the process, a small **green Neon FVG** is formed.
4. **Entry:** Limit Order at the top of the Neon FVG.
5. **Target:** The Gold Zone (POC) or the upper white line (VAH).
6. **Stop Loss:** Below the recent swing low.
#### Step C: Warning Signals (When NOT to trade)
* **In "No Man's Land":** If the price is sitting right in the middle between Gold (POC) and White (VAH/VAL), do nothing. The risk is 50/50. Wait until price hits an edge.
* **Against the Flow:** If EMA 9 and 21 are pointing steeply downwards, do not buy blindly at the VAL just because the line is there. Wait for confirmation (FVG).
### Pre-Trade Checklist:
1. **Level:** Am I at a white line (VAH/VAL) or the Gold Zone (POC)?
2. **Structure:** Do I have an HTF Demand/Supply Zone backing me up?
3. **Trigger:** Do I see a Neon FVG pointing in my direction?
Investment Analysis Bar v2What It Does
A comprehensive analysis bar combining fundamental metrics with technical signals, designed for long-term investors who prioritize quality over momentum.
Core Philosophy: Quality companies trading below their 200 EMA in accumulation zones = opportunities, not warnings.
Tier 1 Bar Metrics
Margins: GM, OM, NIM, FCF Margin
Returns: ROCE, ROE
Growth: Revenue YoY, EPS YoY
Valuation: PE TTM, Forward PE, PEG
Zone: Accumulate / Hold / Trim / Exit
Signal: PRIME / BUY / TRIM / SELL / NEUTRAL
Performance: 1W to 1Y returns
Two Strategy Modes
Value Accumulator (Default) - For long-term position building. Treats below-200-EMA as an opportunity when fundamentals are intact. PRIME signals require: RSI bounce + Volume + Accumulate Zone + All Quality Gates Pass + Below 200 EMA.
Trend Follower - Traditional momentum approach. Prefers entries above 200 EMA.
Quality Gates System
Four fundamental checkpoints:
Gross Margin ≥ 40%
ROCE ≥ 15%
Debt/Equity ≤ 50%
SBC/Revenue ≤ 15%
Strong signals require quality confirmation. PRIME signals require ALL gates to pass.
Zone System
Three calculation methods:
52W Range: Accumulate in bottom 25%, Trim in top 25%
Manual Levels: Set your own price targets
ATR-Based: Dynamic zones from EMA ± ATR
Signal Hierarchy (Value Mode)
SignalMeaning
PRIME 💎Optimal entry - all conditions aligned
BUY 🔼Strong accumulation signal
BUY? ↗Decent entry, not ideal zone
ACCUM 🎯In accumulation zone, quality OK
WAIT ⏳Setup forming, no bounce yet
TRIM 📤Consider taking profits
Alerts Included
Zone transitions (Accumulate, Trim, Exit)
PRIME Entry Signal
Strong Buy / Sell signals
Quality Gate failures
Quality Accumulation Setup
Best Used On
US stocks with fundamental data available. Technical features work on all symbols.
Settings
Fully customizable:
Toggle each metric category
Adjust quality gate thresholds
Choose zone calculation method
Configure RSI/volume parameters
Position bar and panel anywhere
CRT Strategy Education v2Improvements — Description
🔴🟢 Large signal markers — Displayed directly on the chart at entry, stop, and target levels
Chart lines — Yellow = entry, Red = stop, Green = targets
“SIGNAL” block in the table — Highlights red/green when a trade is active
Risk:Reward — Automatic calculation with trade quality assessment
Current P/L — Shows real-time profit or loss
Hints — Guidance on what to do right now
CRT Strategy Education v2Improvements — Description
🔴🟢 Large signal markers — Displayed directly on the chart at entry, stop, and target levels
Chart lines — Yellow = entry, Red = stop, Green = targets
“SIGNAL” block in the table — Highlights red/green when a trade is active
Risk:Reward — Automatic calculation with trade quality assessment
Current P/L — Shows real-time profit or loss
Hints — Guidance on what to do right now
JLDF LITE _ Just Let Data Flow_JLDF LITE is not a trading indicator in the traditional sense.
It is a behavioral and context overlay designed to help traders reduce emotional pressure and avoid impulsive decisions.
JLDF does not provide entry or exit signals.
It does not tell you when to buy or sell.
Instead, it helps you observe market conditions calmly by translating structure, momentum, and risk context into a quiet visual language.
Silence is information.
Green is not an entry — it means your position is being carried by market flow.
Neutral states are intentional and help prevent overtrading.
JLDF LITE is built for traders who value restraint, risk awareness, and consistency over speed or hype.
optionbossDual-Layer Sensitivity Mapping: The engine utilizes two proprietary filters—Primary Sensitivity and Secondary Sensitivity. These act as "Liquidity Anchors," defining the fair value of an asset. When price deviates significantly from these anchors, the engine prepares for a high-velocity snap-back.
Volatility Displacement (The Gap Logic): The system monitors for "Price Displacements." Using a calculated volatility buffer, it identifies when the market has pushed too far, too fast. This creates a "Pressure Zone" where the market is forced to correct itself.
Confirmation-Locked Entry: To ensure maximum strike rate, the engine does not signal on a gap alone. It requires a Momentum Shift Confirmation. This logic ensures you only enter when the trend has officially exhausted and the institutional flow is reversing.
Dynamic Multi-Tier Reaction Targets: The system provides three distinct, mathematically calculated exit levels:
T1 (Reaction Target): The primary scalping objective.
T2 (Extension Target): Designed for intraday trend following.
T3 (Momentum Max): Captures the full range of the reversal.
Self-Cleaning Visual Interface: The engine is designed for clarity. It automatically clears expired logic and resets its tracking once price returns to the Primary Sensitivity baseline, ensuring your chart remains clutter-free and focused on the next high-value trade.
FibLevel Size CalculatorThis skript calculates position sizes and new take profits for sizing into an long or short position with 3 entrys defined at custom fibonacci retracement levels.
TP: -0,272
Entry1: 0.382
Entry2: 0.618
Entry3: 0.83
SL: 1.05
Expected RR per trade is 0.2 with a High Win rate definitly profitable.
Search for an established trend on the higher timeframe, drop to the smaller ones and look for correction waves. Once they break to the trenddirection of the higher timeframe take the fib from lowest to highes point. Draw a fib level on the chart and use the Indicator to define these Levels above. The calculator gives you the Margin to use in each position, and will check that you will not get liquidated an that you have enough margin. It tells you the new TP for Limit2 and Limit3 if they get hit so you can get out of the trade full TP with a small bounce.
Inputs:
Account Balance, Risk Percentage, and Leverage: These inputs are used to calculate the position size and risk.
Entry 1, Entry 2, Entry 3, Take Profit (TP), and Stop Loss (SL): These prices are used for calculating position sizes, risk, and profit for up to three entry points.
Calculations:
Risk Amount: Calculated based on the account balance and risk percentage.
Position Sizes (Qty): For each entry point, the position size is determined. The second and third entries have a multiplier (3x for Entry 2, 5x for Entry 3) compared to the first.
Stop Loss and Profit Calculation: The script calculates the potential profit and adjusts the TP levels based on the average entries for Limit 2 and Limit 3.
Margin Calculation: Margin requirements for each position are calculated based on leverage.
Output:
Table Display: A table shows key values like entry prices, position sizes, TP levels, potential profit, and margin requirements for each limit.
Warnings: It includes a liquidation warning and a check for whether the account is at risk of liquidation based on leverage.
Position Type: It automatically detects if the trade is a long or short based on the relationship between TP and SL.
Visualization:
Lines: It draws horizontal lines on the chart to visually represent the entry, TP, and SL levels.
Overall, this script is designed to help traders manage risk and calculate position sizes for multi-level entries using leverage.
Pls drop feedback in the comments.
Continuous Round Number LevelsWhat the Indicator Does:
This indicator draws red horizontal lines on the chart at every round price level – that is, prices ending with 00, 000, or other round numbers according to the roundStep setting.
How It Works:
The indicator checks the visible price range on the chart, based on the number of bars defined (lookbackBars).
It calculates the nearest round price levels within this range – both the lowest and highest visible prices.
For each round level within the range, it creates a red horizontal line that extends both forward and backward across the chart (extend.both).
The lines update automatically when you scroll the chart or when the market price changes, so you always see the relevant round levels.
Benefits:
Provides a clear visual of round number levels, which often act as natural support or resistance zones in trading.
Lines are visible across the entire chart, making it easy to see where price may pause or reverse.
Adjustable for different assets by changing the roundStep.
Real-time updating ensures the lines always match the visible price range.
In short, this indicator makes it easy to identify natural support and resistance levels visually, with continuous lines across the chart, helping you make more precise trading decisions.
If you like, Your Majesty, I can also create an advanced version with Decision Zones around each round level, so you have safe entry zones for trades rather than just a single line.
Do you want me to do that?
CRR AUTO TREND S-VWAP📈 CRR AUTO TREND S-VWAP
Adaptive VWAP Slope Trend Indicator
CRR AUTO TREND S-VWAP is an auto-optimised trend indicator built around VWAP slope + volatility adaptation.
It is designed to replace lagging indicators like SuperTrend and perform consistently across multiple timeframes, especially intraday.
🔑 Core Concept
Instead of using fixed parameters, this indicator automatically adapts to market conditions using ATR-based sensitivity.
Trend logic:
BUY → VWAP slope turns bullish with sufficient strength
SELL → VWAP slope turns bearish with sufficient strength
No repeat signals in the same direction
No repaint
This makes the indicator suitable for:
Trend following
Directional bias
Trade filtering
Intraday index trading
⚙️ Key Features
✔ VWAP-based institutional logic
✔ Auto-adaptive sensitivity (ATR driven)
✔ Works on 5m & 15m without retuning
✔ No counter-trend signals
✔ Clean BUY / SELL alerts
✔ Lightweight & non-repainting
✔ Ideal for discretionary and system traders
📊 Strategy Performance (Back-tested)
Using the same signal logic converted into a strategy:
5-Minute timeframe
Profit Factor ≈ 1.4
15-Minute timeframe
Profit Factor ≈ 1.8
Results achieved without curve-fitting and with volatility-adaptive logic.
Performance may vary by instrument and market conditions.
🧠 How to Use
Trade only in the direction of the signal
Best suited for index futures and liquid instruments
Can be used:
As a standalone trend indicator
As a filter with your own entry system
Alerts can be enabled for automated monitoring
⏱️ Recommended Timeframes
5 Minute → Active intraday trading
15 Minute → Cleaner trends, lower drawdown
(Default settings work well across both.)
⚠️ Disclaimer
This indicator is for educational and informational purposes only.
Trading involves risk. Always use proper risk management.
© CRR — All rights reserved
LockedEye Trading Navigator**LockedEye Trading Navigator — Summary**
This script is a real-time market decision dashboard designed to prevent impulsive trades by forcing structure, context, and confirmation checks into a single glance. It does not generate blind buy/sell signals. It evaluates market conditions, trend alignment, and risk context before allowing a trade bias.
**Core Purpose**
Acts as a pre-trade checklist, not a signal spammer.
Helps traders wait, filter, and align with structure.
Designed for scalping to intraday trading.
Optimized to reduce FOMO entries and late trades.
**Key Features**
**1. Market State Detection**
Classifies the market into TREND ↑, TREND ↓, or COOKING (ranging/compression).
Uses volatility compression and linear regression slope to prevent trading during low-quality conditions.
**2. Multi-Timeframe Moving Average Alignment**
Tracks trend alignment using EMA 6 & 21 (momentum bias), EMA 50 (mid-trend filter), EMA 200 (macro bias), and EMA 70 & 99 on M15 (higher-timeframe confirmation).
Each MA condition is displayed with directional arrows and color-coded backgrounds.
**3. Break of Structure (BOS)**
Detects bullish or bearish structure breaks based on recent range.
Flags BULL, BEAR, or NO.
Used as structural confirmation, not as a standalone signal.
**4. MACD Momentum Bias**
Evaluates MACD line versus signal line.
Outputs BULL, BEAR, or NONE.
Acts as momentum confirmation for trend continuation or exhaustion.
**5. RSI Divergence Detection**
Detects basic bullish and bearish divergence.
Highlights momentum disagreement with price.
Used as a boost factor, not a trigger.
**6. Candlestick Context**
Identifies bullish engulfing, bearish engulfing, and doji candles.
Used to validate entry timing rather than direction alone.
**7. Volume Behavior**
Compares current volume to a 20-period SMA.
Flags INCREASING or DECREASING to confirm whether price movement is supported by participation.
**8. ICT Candle Logic (Correctly Color-Coded)**
Evaluates the current close relative to the previous candle.
INSIDE: Close remains within the previous high/low, indicating consolidation.
OUTSIDE (Green): Close above previous high, indicating bullish expansion.
OUTSIDE (Red): Close below previous low, indicating bearish expansion.
Helps avoid misreading fake breakouts and inside bars.
**9. Price Location Awareness**
Determines whether price is at SUPPORT, at RESISTANCE, or in MID range.
Ensures trades are only considered where risk is logical.
**10. Final Trade Summary Engine**
Outputs one of four states: LONG OK, SHORT OK, WAIT, or NO TRADE.
Requires trend alignment, MACD agreement, structure and location validation, and at least one supporting confirmation.
**Design Philosophy**
No repainting by default.
No emotional signals.
No hindsight bias.
Forces discipline and patience.
Designed as a decision filter, not a prediction tool.
**Best Use Case**
Scalping and intraday trading.
Traders who struggle with overtrading.
Traders who want structure before execution.
Works best when combined with manual price action reading.
Voss Predictive Filter█ OVERVIEW
The Voss Predictive Filter (VPF) is a negative group delay (NGD) filter that anticipates cyclical price movement through phase compensation. The VPF isolates band-limited cyclical components via a bandpass filter, then applies negative group delay to shift the signal's phase forward, causing the output to lead the input by a fraction of the cycle period.
Based on Dr. John F. Ehlers' "Voss Predictive Filter" article in Technical Analysis of Stocks & Commodities (TASC) magazine, the VPF displays a predictive oscillator with optional dynamic threshold bands for identifying significant cycle behavior. The indicator is timeframe-agnostic - the mathematics work identically from tick charts to monthly bars, though shorter timeframes require more careful parameter selection due to noise.
█ CONCEPTS
Bandpass Filtering
A bandpass filter isolates price activity within a specific frequency range, removing both high-frequency noise and low-frequency trend drift. The VPF uses a second-order IIR (Infinite Impulse Response) bandpass filter characterized by the center frequency (the Bandpass Period input) and bandwidth. The center frequency determines which cycle period the filter emphasizes, while bandwidth controls the damping coefficient - how tightly the filter focuses around that frequency. Before filtering, the source is debiased via 2-bar momentum to remove DC offset, ensuring the filter operates around a true zero centerline.
Negative Group Delay Filtering
The predictive capability stems from negative group delay (NGD) - a filter characteristic where output appears to "lead" the input. Most causal filters introduce lag (positive group delay), but by combining the bandpass filter output with appropriately weighted past values, the VPF achieves negative group delay characteristics.
This is a universal NGD filter application for band-limited signals: the bandpass filter isolates the cyclical component of interest, then the NGD stage advances the phase within this limited frequency range to create an anticipatory output. This isn't statistical forecasting; it's phase compensation that shifts the signal's timing forward, causing peaks and troughs to appear before they occur in the bandpass output.
Negative Group Delay Stage
The NGD stage combines the current bandpass output with weighted historical values to produce an output that leads the input. By subtracting a weighted average of past deviations from a scaled version of the current filter value, the algorithm advances the signal's phase: peaks and zero-crossings in the voss output appear before the corresponding events in the bandpass filter.
The prediction order (`3 * Prediction Multiplier`) controls how many past values contribute to the phase advance. Higher orders provide smoother output but reduce the leading effect; lower orders maximize anticipation at the cost of stability.
█ INTERPRETATION
Zero-Line Crossovers
Crossings above zero suggest bullish momentum in the filtered cycle; below zero suggests bearish momentum. Crossings from near-zero regions are most reliable, as extreme excursions need time to return to equilibrium.
Threshold Bands
Threshold bands define "significant" deviation. Breaches indicate unusually strong behavior and can serve as:
• Trend confirmation when aligned with price direction
• Overbought/oversold warnings at extremes
• Trade entry filters (requiring threshold breach in the intended direction)
Threshold Mode affects sensitivity: MAD (outlier-resistant), Standard Deviation (volatility-sensitive), Percentile Rank (fixed probability bands).
Alert Conditions
Four built-in alerts trigger on bar close (no repainting): Above +Threshold (strong bullish cycle), Below -Threshold (strong bearish cycle), Above Zero (bullish phase shift), Below Zero (bearish phase shift).
█ SETTINGS & PARAMETER TUNING
Voss Predictive Filter
• Source : Price series to filter.
• Bandpass Period (1-100): Primary tuning parameter determining which cycle length the filter emphasizes. Short periods (8-15) are more responsive but noisier; medium periods (16-30) balance responsiveness and smoothness; long periods (31-100) focus on longer cycles with more smoothing.
• Bandwidth (0.01-0.45): Controls filter selectivity. Narrow bandwidths (0.01-0.15) isolate specific cycle periods precisely; medium (0.16-0.30) tolerate cycle irregularity; wide (0.31-0.45) capture broader cycle ranges. Shorter periods pair well with narrower bandwidths.
• Prediction Multiplier (2-10): Controls how many past values contribute to the phase advance. Higher values provide smoother output but reduce the leading effect; lower values maximize anticipation at the cost of stability.
Display Settings
Control visibility and colors of the Voss output, bandpass filter, and zero reference lines.
Diagnostics - Dynamic Thresholds
Three methods identify significant signal deviation:
• MAD (Median Absolute Deviation) : Robust, outlier-resistant measure using `k * MAD` where `MAD ≈ 0.6745 * stdev`.
• Standard Deviation : Volatility-sensitive, calculated as `k * stdev` of Voss over the lookback period.
• Percentile Rank : Fixed probability bands using the percentile of |Voss| (e.g., 90% means only 10% of values exceed threshold).
Settings:
• Dynamic Threshold : Toggle threshold bands and set colors.
• Threshold Mode : Select MAD, Standard Deviation, or Percentile Rank.
• Period (2-200): Lookback for threshold calculations. Default 50.
• Multiplier (k) : Scaling for MAD/Standard Deviation modes. Default 1.5.
• Percentile (%) (0-100): For Percentile Rank mode only. Default 90%.
█ LIMITATIONS
Inherent Characteristics
• Residual lag : Despite negative group delay design, some lag remains relative to price action.
• Cyclical markets required : Performs best on instruments with clear cyclical components. Strongly trending markets with little cyclicality produce less useful signals.
• Signal interpretation : Absolute Voss values are instrument-specific. Always interpret relative to adaptive threshold bands, not fixed levels.
Market Conditions to Avoid
• Sudden news events/gaps : Major discontinuities disrupt cycle continuity, causing erratic signals. Requires 1-2 full cycle periods to re-stabilize.
• Low volume/illiquid markets : Sporadic trading produces false cycles from liquidity artifacts. Use only on actively traded instruments during liquid hours.
• Regime changes : During cyclical ↔ trending transitions, watch for persistent extremes without mean reversion, increasing price/indicator divergence, or unresolved threshold breaches.
Parameter Selection Pitfalls
• Mismatched period : If Bandpass Period doesn't match actual market cycles, the filter produces weak signals. Use cycle measurement tools (FFT, autocorrelation, Dominant Cycle) to identify appropriate periods first.
• Overoptimization : Perfect historical fits typically fail forward. Choose robust parameters that work across multiple instruments and timeframes.
█ NOTES
Credits
This indicator is based on concepts from Dr. John F. Ehlers' work on predictive filters and bandpass techniques for technical analysis. Dr. Ehlers has published extensively on applying digital signal processing methods to financial markets in Technical Analysis of Stocks & Commodities (TASC) magazine. His articles on bandpass filters and predictive techniques, particularly the Voss Predictive Filter concept, provided the theoretical foundation for this implementation.
For those interested in the underlying mathematics and DSP concepts:
• Ehlers, J.F. (2001). Rocket Science for Traders: Digital Signal Processing Applications . John Wiley & Sons.
• Various TASC articles by John Ehlers on bandpass filters, cycle analysis, and predictive filtering techniques.
• Ehlers, J.F. "Voss Predictive Filter" - Technical Analysis of Stocks & Commodities magazine.
by ♚@e2e4
Nef33 Forex & Crypto Trading Signals PRO
1. Understanding the Indicator's Context
The indicator generates signals based on confluence (trend, volume, key zones, etc.), but it does not include predefined SL or TP levels. To establish them, we must:
Use dynamic or static support/resistance levels already present in the script.
Incorporate volatility (such as ATR) to adjust the levels based on market conditions.
Define a risk/reward ratio (e.g., 1:2).
2. Options for Determining SL and TP
Below, I provide several ideas based on the tools available in the script:
Stop Loss (SL)
The SL should protect you from adverse movements. You can base it on:
ATR (Volatility): Use the smoothed ATR (atr_smooth) multiplied by a factor (e.g., 1.5 or 2) to set a dynamic SL.
Buy: SL = Entry Price - (atr_smooth * atr_mult).
Sell: SL = Entry Price + (atr_smooth * atr_mult).
Key Zones: Place the SL below a support (for buys) or above a resistance (for sells), using Order Blocks, Fair Value Gaps, or Liquidity Zones.
Buy: SL below the nearest ob_lows or fvg_lows.
Sell: SL above the nearest ob_highs or fvg_highs.
VWAP: Use the daily VWAP (vwap_day) as a critical level.
Buy: SL below vwap_day.
Sell: SL above vwap_day.
Take Profit (TP)
The TP should maximize profits. You can base it on:
Risk/Reward Ratio: Multiply the SL distance by a factor (e.g., 2 or 3).
Buy: TP = Entry Price + (SL Distance * 2).
Sell: TP = Entry Price - (SL Distance * 2).
Key Zones: Target the next resistance (for buys) or support (for sells).
Buy: TP at the next ob_highs, fvg_highs, or liq_zone_high.
Sell: TP at the next ob_lows, fvg_lows, or liq_zone_low.
Ichimoku: Use the cloud levels (Senkou Span A/B) as targets.
Buy: TP at senkou_span_a or senkou_span_b (whichever is higher).
Sell: TP at senkou_span_a or senkou_span_b (whichever is lower).
3. Practical Implementation
Since the script does not automatically draw SL/TP, you can:
Calculate them manually: Observe the chart and use the levels mentioned.
Modify the code: Add SL/TP as labels (label.new) at the moment of the signal.
Here’s an example of how to modify the code to display SL and TP based on ATR with a 1:2 risk/reward ratio:
Modified Code (Signals Section)
Find the lines where the signals (trade_buy and trade_sell) are generated and add the following:
pinescript
// Calculate SL and TP based on ATR
atr_sl_mult = 1.5 // Multiplier for SL
atr_tp_mult = 3.0 // Multiplier for TP (1:2 ratio)
sl_distance = atr_smooth * atr_sl_mult
tp_distance = atr_smooth * atr_tp_mult
if trade_buy
entry_price = close
sl_price = entry_price - sl_distance
tp_price = entry_price + tp_distance
label.new(bar_index, low, "Buy: " + str.tostring(math.round(bull_conditions, 1)), color=color.green, textcolor=color.white, style=label.style_label_up, size=size.tiny)
label.new(bar_index, sl_price, "SL: " + str.tostring(math.round(sl_price, 2)), color=color.red, textcolor=color.white, style=label.style_label_down, size=size.tiny)
label.new(bar_index, tp_price, "TP: " + str.tostring(math.round(tp_price, 2)), color=color.blue, textcolor=color.white, style=label.style_label_up, size=size.tiny)
if trade_sell
entry_price = close
sl_price = entry_price + sl_distance
tp_price = entry_price - tp_distance
label.new(bar_index, high, "Sell: " + str.tostring(math.round(bear_conditions, 1)), color=color.red, textcolor=color.white, style=label.style_label_down, size=size.tiny)
label.new(bar_index, sl_price, "SL: " + str.tostring(math.round(sl_price, 2)), color=color.red, textcolor=color.white, style=label.style_label_up, size=size.tiny)
label.new(bar_index, tp_price, "TP: " + str.tostring(math.round(tp_price, 2)), color=color.blue, textcolor=color.white, style=label.style_label_down, size=size.tiny)
Code Explanation
SL: Calculated by subtracting/adding sl_distance to the entry price (close) depending on whether it’s a buy or sell.
TP: Calculated with a double distance (tp_distance) for a 1:2 risk/reward ratio.
Visualization: Labels are added to the chart to display SL (red) and TP (blue).
4. Practical Strategy Without Modifying the Code
If you don’t want to modify the script, follow these steps manually:
Entry: Take the trade_buy or trade_sell signal.
SL: Check the smoothed ATR (atr_smooth) on the chart or calculate a fixed level (e.g., 1.5 times the ATR). Also, review nearby key zones (OB, FVG, VWAP).
TP: Define a target based on the next key zone or multiply the SL distance by 2 or 3.
Example:
Buy at 100, ATR = 2.
SL = 100 - (2 * 1.5) = 97.
TP = 100 + (2 * 3) = 106.
5. Recommendations
Test in Demo: Apply this logic in a demo account to adjust the multipliers (atr_sl_mult, atr_tp_mult) based on the market (forex or crypto).
Combine with Zones: If the ATR-based SL is too wide, use the nearest OB or FVG as a reference.
Risk/Reward Ratio: Adjust the TP based on your tolerance (1:1, 1:2, 1:3)
Risk & Position DashboardRisk & Position Dashboard
Overview
The Risk & Position Dashboard is a comprehensive trading tool designed to help traders calculate optimal position sizes, manage risk, and visualize potential profit/loss scenarios before entering trades. This indicator provides real-time calculations for position sizing based on account size, risk percentage, and stop-loss levels, while displaying multiple take-profit targets with customizable risk-reward ratios.
Key Features
Position Sizing & Risk Management:
Automatic position size calculation based on account size and risk percentage
Support for leveraged trading with maximum leverage limits
Fractional shares support for brokers that allow partial share trading
Real-time fee calculation including entry, stop-loss, and take-profit fees
Break-even price calculation including trading fees
Multi-Target Profit Management:
Support for up to 3 take-profit levels with individual portion allocations
Customizable risk-reward ratios for each take-profit target
Visual profit/loss zones displayed as colored boxes on the chart
Individual profit calculations for each take-profit level
Visual Dashboard:
Clean, customizable table display showing all key metrics
Configurable label positioning and styling options
Real-time tracking of whether stop-loss or take-profit levels have been reached
Color-coded visual zones for easy identification of risk and reward areas
Advanced Configuration:
Comprehensive input validation and error handling
Support for different chart timeframes and symbols
Customizable colors, fonts, and display options
Hide/show individual data fields for personalized dashboard views
How to Use
Set Account Parameters: Configure your account size, maximum risk percentage per trade, and trading fees in the "Account Settings" section.
Define Trade Setup: Use the "Entry" time picker to select your entry point on the chart, then input your entry price and stop-loss level.
Configure Take Profits: Set your desired risk-reward ratios and portion allocations for each take-profit level. The script supports 1-3 take-profit targets.
Analyze Results: The dashboard will automatically calculate and display position size, number of shares, potential profits/losses, fees, and break-even levels.
Visual Confirmation: Colored boxes on the chart show profit zones (green) and loss zones (red), with lines extending to current price levels.
Reset Entry and SL:
You can easily reset the entry and stop-loss by clicking the "Reset points..." button from the script's "More" menu.
This is useful if you want to quickly clear your current trade setup and start fresh without manually adjusting the points on the chart.
Calculations
The script performs sophisticated calculations including:
Position size based on risk amount and price difference between entry and stop-loss
Leverage requirements and position amount calculations
Fee-adjusted risk-reward ratios for realistic profit expectations
Break-even price including all trading costs
Individual profit calculations for partial position closures
Detailed Take-Profit Calculation Formula:
The take-profit prices are calculated using the following mathematical formula:
// Core variables:
// risk_amount = account_size * (risk_percentage / 100)
// total_risk_per_share = |entry_price - sl_price| + (entry_price * fee%) + (sl_price * fee%)
// shares = risk_amount / total_risk_per_share
// direction_factor = 1 for long positions, -1 for short positions
// Take-profit calculation:
net_win = total_risk_per_share * shares * RR_ratio
tp_price = (net_win + (direction_factor * entry_price * shares) + (entry_price * fee% * shares)) / (direction_factor * shares - fee% * shares)
Step-by-step example for a long position (based on screenshot):
Account Size: 2,000 USDT, Risk: 2% = 40 USDT
Entry: 102,062.9 USDT, Stop Loss: 102,178.4 USDT, Fee: 0.06%
Risk per share: |102,062.9 - 102,178.4| + (102,062.9 × 0.0006) + (102,178.4 × 0.0006) = 115.5 + 61.24 + 61.31 = 238.05 USDT
Shares: 40 ÷ 238.05 = 0.168 shares (rounded to 0.17 in display)
Position Size: 0.17 × 102,062.9 = 17,350.69 USDT
Position Amount (with 9x leverage): 17,350.69 ÷ 9 = 1,927.85 USDT
For 2:1 RR: Net win = 238.05 × 0.17 × 2 = 80.94 USDT
TP1 price = (80.94 + (1 × 102,062.9 × 0.17) + (102,062.9 × 0.0006 × 0.17)) ÷ (1 × 0.17 - 0.0006 × 0.17) = 101,464.7 USDT
For 3:1 RR: TP2 price = 101,226.7 USDT (following same formula with RR=3)
This ensures that after accounting for all fees, the actual risk-reward ratio matches the specified target ratio.
Risk Management Features
Maximum Trade Amount: Optional setting to limit position size regardless of account size
Leverage Limits: Built-in maximum leverage protection
Fee Integration: All calculations include realistic trading fees for accurate expectations
Validation: Automatic checking that take-profit portions sum to 100%
Historical Tracking: Visual indication when stop-loss or take-profit levels are reached (within last 5000 bars)
Understanding Max Trade Amount - Multiple Simultaneous Trades:
The "Max Trade Amount" feature is designed for traders who want to open multiple positions simultaneously while maintaining proper risk management. Here's how it works:
Key Concept:
- Risk percentage (2%) always applies to your full Account Size
- Max Trade Amount limits the capital allocated per individual trade
- This allows multiple trades with full risk on each trade
Example from Screenshot:
Account Size: 2,000 USDT
Max Trade Amount: 500 USDT
Risk per Trade: 2% × 2,000 = 40 USDT per trade
Stop Loss Distance: 0.11% from entry
Result: Position Size = 17,350.69 USDT with 35x leverage
Total Risk (including fees): 40.46 USDT
Multiple Trades Strategy:
With this setup, you can open:
Trade 1: 40 USDT risk, 495.73 USDT position amount (35x leverage)
Trade 2: 40 USDT risk, 495.73 USDT position amount (35x leverage)
Trade 3: 40 USDT risk, 495.73 USDT position amount (35x leverage)
Trade 4: 40 USDT risk, 495.73 USDT position amount (35x leverage)
Total Portfolio Exposure:
- 4 simultaneous trades = 4 × 495.73 = 1,982.92 USDT position amount
- Total risk exposure = 4 × 40 = 160 USDT (8% of account)
PivotBoss VWAP Bands (Auto TF) - FixedWhat this indicator shows (high level)
The indicator plots a VWAP line and three bands above (R1, R2, R3) and three bands below (S1, S2, S3).
Band spacing is computed from STD(abs(VWAP − price), N) and multiplied by 1, 2 and 3 to form R1–R3 / S1–S3. The script is timeframe-aware: on 30m/1H charts it uses Weekly VWAP and weekly bands; on Daily charts it uses Monthly VWAP and monthly bands; otherwise it uses the session/chart VWAP.
VWAP = the market’s volume-weighted average price (a measure of fair value). Bands = volatility-scaled zones around that fair value.
Trading idea — concept summary
VWAP = fair value. Price above VWAP implies bullish bias; below VWAP implies bearish bias.
Bands = graded overbought/oversold zones. R1/S1 are near-term limits, R2/S2 are stronger, R3/S3 are extreme.
Use trend alignment + price action + volume to choose higher-probability trades. VWAP bands give location and magnitude; confirmations reduce false signals.
Entry rules (multiple strategies with examples)
A. Momentum breakout (trend-following) — preferred on trending markets
Setup: Price consolidates near or below R1 and then closes above R1 with above-average volume. Chart: 30m/1H (Weekly VWAP) or Daily (Monthly VWAP) depending on your timeframe.
Entry: Enter long at the close of the breakout bar that closes above R1.
Stop-loss: Place initial stop below the higher of (VWAP or recent swing low). Example: if price broke R1 at ₹1,200 and VWAP = ₹1,150, set stop at ₹1,145 (5 rupee buffer below VWAP) or below the last swing low if that is wider.
Target: Partial target at R2, full target at R3. Trail stop to VWAP or to R1 after price reaches R2.
Example numeric: Weekly VWAP = ₹1,150, R1 = ₹1,200, R2 = ₹1,260. Buy at ₹1,205 (close above R1), stop ₹1,145, target1 ₹1,260 (R2), target2 ₹1,320 (R3).
B. Mean-reversion fade near bands — for range-bound markets
Setup: Market is not trending (VWAP flatish). Price rallies up to R2 or R3 and shows rejection (pin bar, bearish engulfing) on increasing or neutral volume.
Entry: Enter short after a confirmed rejection candle that fails to sustain above R2 or R3 (prefer confirmation: close back below R1 or below the rejection candle low).
Stop-loss: Just above the recent high (e.g., 1–2 ATR or a fixed buffer above R2/R3).
Target: First target VWAP, second target S1. Reduce size if taking R3 fade as it’s an extreme.
Example numeric: VWAP = ₹950, R2 = ₹1,020. Price spikes to ₹1,025 and forms a bearish engulfing candle. Enter short at ₹1,015 after the next close below ₹1,020. Stop at ₹1,035, target VWAP ₹950.
C. Pullback entries in trending markets — higher probability
Setup: Price is above VWAP and trending higher (higher highs and higher lows). Price pulls back toward VWAP or S1 with decreasing downside volume and a reversal candle forms.
Entry: Long when price forms a bullish reversal (hammer/inside-bar) with a close back above the pullback candle.
Stop-loss: Below the pullback low (or below S2 if a larger stop is justified).
Target: VWAP then R1; if momentum resumes, trail toward R2/R3.
Example numeric: Price trending above Weekly VWAP at ₹1,400; pullback to S1 at ₹1,360. Enter long at ₹1,370 when a bullish candle closes; stop at ₹1,350; first target VWAP ₹1,400, second target R1 ₹1,450.
Exit rules and money management
Basic exit hierarchy
Hard stop exit — when price hits initial stop-loss. Always use.
Target exit — take partial profits at R1/R2 (for longs) or S1/S2 (for shorts). Use trailing stops for the remainder.
VWAP invalidation — if you entered long above VWAP and price returns and closes significantly below VWAP, consider exiting (condition depends on timeframe and trade size).
Price action exit — reversal patterns (strong opposite candle, bearish/bullish engulfing) near targets or beyond signals to exit.
Trailing rules
After price reaches R2, move stop to breakeven + a small buffer or to VWAP.
After price reaches R3, trail by 1 ATR or lock a defined profit percentage.
Position sizing & risk
Risk per trade: commonly 0.5–2% of account equity.
Determine position size by RiskAmount ÷ (EntryPrice − StopPrice).
If the stop distance is large (e.g., trading R3 fades), reduce position size.
Filters & confirmation (to reduce false signals)
Volume filter: For breakouts, require volume above short-term average (e.g., >20-period average). Breakouts on low volume are suspect.
Trend filter: Only take breakouts in the direction of the higher-timeframe trend (for example, use Daily/Weekly trend when trading 30m/1H).
Candle confirmation: Prefer entries on close of the confirming candle (not intrabar noise).
Multiple confirmations: When R1 break happens but RSI/plotted momentum indicator does not confirm, treat signal as lower probability.
Special considerations for timeframe-aware logic
On 30m/1H the script uses Weekly VWAP/bands. That means band levels change only on weekly candles — they are strong, structural levels. Treat R1/R2/R3 as significant and expect fewer, stronger signals.
On Daily, the script uses Monthly VWAP/bands. These are wider; trades should allow larger stops and smaller position sizes (or be used for swing trades).
On other intraday charts you get session VWAP (useful for intraday scalps).
Example: If you trade 1H and the Weekly R1 is at ₹2,400 while session VWAP is ₹2,350, a close above Weekly R1 represents a weekly-level breakout — prefer that for swing entries rather than scalps.
Example trade walkthrough (step-by-step)
Context: 1H chart, auto-mapped → Weekly VWAP used.
Weekly VWAP = ₹3,000; R1 = ₹3,080; R2 = ₹3,150.
Price consolidates below R1. A large bullish candle closes at ₹3,085 with volume 40% above the 20-bar average.
Entry: Buy at close ₹3,085.
Stop: Place stop at ₹2,995 (just under Weekly VWAP). Risk = ₹90.
Position size: If risking ₹900 per trade → size = 900 ÷ 90 = 10 units.
Targets: Partial take-profit at R2 = ₹3,150; rest trailed with stop moved to breakeven after R2 is hit.
If price reverses and closes below VWAP within two bars, exit immediately to limit drawdown.
When to avoid trading these signals
High-impact news (earnings, macro announcements) that can gap through bands unpredictably.
Thin markets with low volume — VWAP loses significance when volumes are extremely low.
When weekly/monthly bands are flat but intraday price is volatile without clear structure — prefer session VWAP on smaller timeframes.
Alerts & automation suggestions
Alert on close above R1 / below S1 (use the built-in alertcondition the script adds). For higher-confidence alerts, require volume filter in the alert condition.
Automated order rules (if you automate): use limit entry at breakout close plus a small slippage buffer, immediate stop order, and OCO for TP and SL.
AI Strat ATR Dinamico + ADX + Trend Adaptivo (No Repaint)Below is a fully self-contained, English-language description of every input, function, and logical block inside the “AI Strat ATR Dinamico + ADX + Trend Adaptivo (No Repaint)” indicator. You can copy and paste this into TradingView’s “Description” field when you publish, without exposing any Pine code.
---
## Indicator Name and Purpose
**Name (Short Title):**
AI Strat Adaptive v3 (NoRepaint)
**Overview:**
This indicator combines multiple technical tools—RSI, EMA, ATR (with a dynamic multiplier), ADX/DI, and an “AI‐style” scoring mechanism—to generate trend-filtered and reversal signals. It also optionally confirms signals on a higher timeframe, dynamically adjusts its sensitivity based on volatility, and plots intrabar stop‐loss (SL) and take‐profit (TP) levels derived from ATR. Special care has been taken to ensure that no signals “repaint” (i.e., once drawn on a closed bar, they never disappear or shift).
---
## 1. Main Inputs
All of the inputs appear in the Settings dialog for the published indicator. Below is a detailed explanation of each input, grouped by logical category.
### A. RSI & EMA Base Parameters
1. **RSI Length (Base)**
* **Input type:** Integer (default 14)
* **Description:** Number of bars used to calculate the Relative Strength Index (RSI). A shorter RSI reacts more quickly to price changes; a longer RSI is smoother.
2. **RSI Overbought Threshold**
* **Input type:** Integer (default 60)
* **Description:** If the RSI value rises above this level, it contributes a “sell” signal component. You can adjust this (e.g., 70) to make your system more conservative.
3. **RSI Oversold Threshold**
* **Input type:** Integer (default 40)
* **Description:** If the RSI falls below this level, it contributes a “buy” signal component. Raising this threshold (e.g., 50) makes the strategy more aggressive in seeking reversals.
4. **EMA Length (Base)**
* **Input type:** Integer (default 20)
* **Description:** Number of bars for the Exponential Moving Average (EMA). A shorter EMA will produce more frequent crossovers, a longer EMA is smoother.
### B. ATR & Volatility Filter Parameters
5. **ATR Length (Base)**
* **Input type:** Integer (default 14)
* **Description:** Number of bars to calculate Average True Range (ATR). The ATR is used both for measuring volatility and for dynamic SL/TP levels.
6. **ATR SMA Length**
* **Input type:** Integer (default 50)
* **Description:** Number of bars to compute a Simple Moving Average of the ATR itself. This gives a baseline of “normal” volatility. If ATR rises significantly above this SMA, the indicator treats the market as “high volatility.”
7. **ATR Multiplier Base**
* **Input type:** Float (default 1.2, step 0.1)
* **Description:** Base multiplier for ATR when filtering for volatility. The actual threshold is computed as `ATR_SMA × (ATR_Multiplier Base) × sqrt(current_ATR / ATR_SMA)`. In other words, the multiplier becomes larger if volatility is rising, and smaller if volatility is falling.
8. **Disable Volatility Filter**
* **Input type:** Boolean (default false)
* **Description:** If enabled (true), the indicator will ignore any volatility‐based filtering, using signals regardless of ATR behavior. If disabled (false), signals only fire when ATR > (ATR\_SMA × dynamic multiplier).
### C. Price-Change & “AI Score” Parameters
9. **Price Change Period (bars)**
* **Input type:** Integer (default 3)
* **Description:** The number of bars back to measure percentage price change. Used to ensure that a “trend” signal is accompanied by a sufficiently positive (for longs) or negative (for shorts) price movement over this many bars.
10. **Base AI Score Threshold**
* **Input type:** Float (default 0.1)
* **Description:** The indicator computes a composite “AI-style” score by combining the RSI signal (overbought/oversold) and an EMA crossover signal. Only if the absolute value of that composite score exceeds this threshold will a trend signal be eligible. Raising it makes signals rarer but (potentially) higher-conviction.
### D. SMA “ICT” Trend Filter Parameters
11. **ICT SMA Long Length (Base)**
* **Input type:** Integer (default 50)
* **Description:** Number of bars for the “long” Simple Moving Average (SMA) used in the internal trend filter. Typically, price must be above this SMA (and ADX must be strong) to confirm an uptrend, or below it (and ADX strong) to confirm a downtrend.
12. **ICT SMA Short1 Length (Base)**
* **Input type:** Integer (default 10)
* **Description:** Secondary “fast” SMA used both for reversal logic (e.g., price crossing above it can count as a bullish reversal) and part of the internal trend confirmation.
13. **ICT SMA Short2 Length (Base)**
* **Input type:** Integer (default 20)
* **Description:** A second “medium” SMA used for reversal triggers (e.g., crossovers or crossunders alongside RSI conditions).
### E. ADX & DI Parameters
14. **Base ADX Length**
* **Input type:** Integer (default 14)
* **Description:** Number of bars for the ADX (Average Directional Index) moving averages, which measure trend strength. The same length is used for +DI and –DI smoothing.
15. **Base ADX Threshold**
* **Input type:** Float (default 25.0, step 0.5)
* **Description:** If ADX > this threshold and +DI > –DI, we consider an uptrend; if ADX > this threshold and –DI > +DI, we consider a downtrend. Raising this value demands stronger trends to qualify.
### F. Sensitivity & Cooldown
16. **Sensitivity (0–1)**
* **Input type:** Float between 0.0 and 1.0 (default 0.5)
* **Description:** A general “mixture” parameter used internally to weight how aggressively the indicator leans into trend versus reversal. In practice, the code uses it to fine-tune exact thresholds for switching between trend and reversal conditions. You can leave it at 0.5 unless you want to bias more heavily toward either regime.
17. **Base Cooldown Bars Between Signals**
* **Input type:** Integer (default 5, min 0)
* **Description:** Once a long or short signal fires, the indicator will wait at least this many bars before allowing a new signal in the same direction. Prevents “signal flipping” on each bar. A higher number forces fewer, more spaced-out entries.
18. **Trend Confirmation Bars**
* **Input type:** Integer (default 3, min 1)
* **Description:** After the directional filters (+DI/–DI cross, price vs. SMA), the indicator still requires that price remains on the same side of the long SMA for at least this many consecutive bars before confirming “trend up” or “trend down.” Larger values smooth out false breakouts but may lag signals.
### G. Higher Timeframe Confirmation
19. **Use Higher Timeframe Confirmation**
* **Input type:** Boolean (default true)
* **Description:** If true, the indicator will request a block of values (SMA, +DI, –DI, ADX) from a higher timeframe (default 60 minutes) and require that the higher timeframe is also in agreement (strong uptrend or strong downtrend) before confirming your current-timeframe trend. This helps filter out lower-timeframe noise.
20. **Higher Timeframe (TF) for Confirmation**
* **Input type:** Timeframe (default “60”)
* **Description:** The chart timeframe (e.g., 5, 15, 60 minutes) whose trend conditions must also be true. It’s sent through a `request.security(..., lookahead=barmerge.lookahead_off)` call so that it never “paints ahead.”
### H. Dynamic TP/SL Parameters
21. **TP as ATR Multiple**
* **Input type:** Float (default 2.0, step 0.1)
* **Description:** When a trade is open, the “take-profit” price is determined by looking at the highest high (for longs) or lowest low (for shorts) observed since entry, and then plotting a cross (“X”) at that level when the trend finally flips. This is purely for display. However, separate from that, this parameter can be adapted if you want a strictly ATR–based TP. In the “Minimal” version, TP is ≈ (highest high) once trend inverts, but you could rewrite it to use `entry_price + ATR×TP_Multiplier`.
22. **SL as ATR Multiple**
* **Input type:** Float (default 1.0, step 0.1)
* **Description:** While in a trade, a trailing SL line is plotted each bar. Its value is always `entry_price ± (ATR × SL_Multiplier)`. When the trend inverts, the SL no longer updates, and you see it on the chart.
### I. Display and Mode Options
23. **Show Debug Lines**
* **Input type:** Boolean (default true)
* **Description:** When enabled, the indicator will plot all intermediate lines—ATR SMA, ATR Threshold, +DI, –DI, ADX (current and HTF), HTF SMA, etc.—so that you can diagnose exactly what’s happening. Turn this off to hide all debug information and only see entry/exit shapes.
24. **Enable Scalping Mode**
* **Input type:** Boolean (default false)
* **Description:** If true, many of the “base” parameters are halved (e.g., RSI length becomes 7 instead of 14, ATR length becomes 7 instead of 14, ADX length becomes 7, etc.), and the ADX threshold is multiplied by 0.8. This makes all oscillators and moving averages more reactive, suited for very short-term (scalping) setups.
---
## 2. Core Calculation Blocks
Below is a high-level description of each logical block (in code order), translated from Pine into conceptual steps.
### A. Adjust Inputs if “Scalping Mode” Is On
If **Scalping Mode** = true, then:
* `RSI_Length` becomes `max(1, round(Base_RSI_Length / 2))`
* `EMA_Length` becomes `max(1, round(Base_EMA_Length / 2))`
* `ATR_Length` becomes `max(1, round(Base_ATR_Length / 2))`
* `Price_Change_Period` becomes `max(1, round(Base_Price_Change_Period / 2))`
* `SMA_Long_Length`, `SMA_Short1_Length`, and `SMA_Short2_Length` are each halved (minimum 1).
* `ADX_Length` = `max(1, round(Base_ADX_Length / 2))`
* `ADX_Threshold` = `Base_ADX_Threshold × 0.8`
* `Cooldown_Bars` = `max(0, round(Base_Cooldown_Bars / 2))`
Otherwise, all adjusted lengths = their base values.
### B. RSI, EMA & “AI Score” on Current Timeframe
1. **Compute RSI:**
* Uses the (possibly adjusted) `RSI_Length`.
* Denote this as `RSI_Value`.
2. **Compute ATR & Its SMA:**
* `ATR_Value` = `ta.atr(ATR_Length)`.
* `ATR_SMA` = `ta.sma(ATR_Value, ATR_SMA_Length)`.
* Then define `Volatility_Increase` = (`ATR_Value > ATR_SMA`).
* If the volatility has increased, the weighting of RSI vs. EMA changes.
3. **Compute Weights:**
* If `Volatility_Increase == true`, then:
* `RSI_Weight = 0.7`
* `EMA_Weight = 0.3`
* Otherwise:
* `RSI_Weight = 0.3`
* `EMA_Weight = 0.7`
4. **RSI Signal Component (`RSI_Sig`):**
* If `RSI_Value > RSI_Overbought`, then `RSI_Sig = –1`.
* Else if `RSI_Value < RSI_Oversold`, then `RSI_Sig = +1`.
* Otherwise, `RSI_Sig = 0`.
5. **EMA Value & Signal Component (`EMA_Sig`):**
* `EMA_Value` = `ta.ema(close, EMA_Length)`.
* `EMA_Sig = +1` if the current close crosses **above** the EMA; `EMA_Sig = –1` if the current close crosses **below** the EMA; else `0`.
6. **Compute Raw “AI Score”:**
$$
Raw\_AI = (RSI\_Sig \times RSI\_Weight)\;+\;(EMA\_Sig \times EMA\_Weight)
$$
Then,
$$
AI\_Score = \frac{Raw\_AI}{(RSI\_Weight + EMA\_Weight)}
$$
(This normalization ensures the score always ranges between –1 and +1 if both weights sum to 1.)
### C. Dynamic ATR Multiplier & Volatility Filter
1. **Volatility Factor:**
$$
Volatility\_Factor = \frac{ATR\_Value}{ATR\_SMA}
$$
2. **Dynamic ATR Multiplier:**
$$
ATR\_Multiplier = ATR\_Multiplier\_Base \times \sqrt{Volatility\_Factor}
$$
3. **High Volatility Condition (`High_Volatility`):**
* If `Disable_Volatility_Filter == true`, then treat `High_Volatility = true` always.
* Else, `High_Volatility = (ATR_Value > ATR_SMA × ATR_Multiplier)`.
### D. Price Change Percentage
* **Compute Price Change:**
$$
Price\_Change = \frac{(Close - Close )}{Close } \times 100
$$
* This is the percent return from `Price_Change_Period` bars ago to now.
* For a valid long‐trend signal, we require `Price_Change > 0`; for a short trend, `Price_Change < 0`.
### E. Local SMAs for Trend/Reversal Filters
* `SMA_Close_Long` = `ta.sma(close, SMA_Long_Length)`.
* `SMA_Close_Short1` = `ta.sma(close, SMA_Short1_Length)`.
* `SMA_Close_Short2` = `ta.sma(close, SMA_Short2_Length)`.
These three SMAs help define the “local trend” and reversal breakout points:
* **Primary Trend Filter:**
* Price must be above `SMA_Close_Long` for an uptrend filter, or below `SMA_Close_Long` for a downtrend filter.
* **Reversal Filter:**
* A bullish reversal is detected if **(RSI < Oversold AND close crosses above EMA)** OR **(RSI < Oversold AND close crosses above SMA\_Close\_Short1)**.
* A bearish reversal is detected if **(RSI > Overbought AND close crosses below EMA)** OR **(RSI > Overbought AND close crosses below SMA\_Close\_Short1)**.
### F. Manual +DI, –DI & ADX on Current Timeframe
Instead of relying on the built-in `ta.adx`, the script calculates DI and ADX manually. This makes it easier to replicate the exact logic on a higher timeframe via `request.security`. The steps are:
1. **Directional Movement (DM) Components:**
* `Up_Move` = `high – high `
* `Down_Move` = `low – low`
* `Plus_DM` = `Up_Move` if (`Up_Move > Down_Move` AND `Up_Move > 0`), else `0`
* `Minus_DM` = `Down_Move` if (`Down_Move > Up_Move` AND `Down_Move > 0`), else `0`
2. **True Range (TR) Components:**
* `TR1` = `high – low`
* `TR2` = `abs(high – close )`
* `TR3` = `abs(low – close )`
* `True_Range` = `max(TR1, TR2, TR3)`
3. **Smoothed Averages (RMA):**
* `Sm_TR` = `ta.rma(True_Range, ADX_Length)`
* `Sm_Plus` = `ta.rma(Plus_DM, ADX_Length)`
* `Sm_Minus`= `ta.rma(Minus_DM, ADX_Length)`
4. **Compute DI%:**
$$
Plus\_DI = \frac{Sm\_Plus}{Sm\_TR} \times 100,\quad
Minus\_DI = \frac{Sm\_Minus}{Sm\_TR} \times 100
$$
5. **DX and ADX:**
$$
DX = \frac{|Plus\_DI - Minus\_DI|}{Plus\_DI + Minus\_DI} \times 100,\quad
ADX = ta.rma(DX, ADX_Length)
$$
These values are referred to as `(plus_di, minus_di, adx_val)` for the current timeframe.
---
## 3. Higher Timeframe (HTF) Confirmation Function
If **Use Higher Timeframe Confirmation** is enabled, the script calls a single helper (Pine) function `f_htf` with two parameters: the ADX length and the SMA length (both taken from the “base” or “scaled” values). Internally, `f_htf` simply reruns the manual DI/ADX logic (same as above) on the higher timeframe’s bar data, and also includes that timeframe’s closing price and its SMA for trend comparison.
* **Request.Security Call:**
```
= request.security(
syminfo.tickerid,
higher_tf,
f_htf(adx_length, sma_long_len),
lookahead=barmerge.lookahead_off
)
```
* `lookahead=barmerge.lookahead_off` ensures that no HTF value “paints” early; you always see only confirmed HTF bars.
* The returned tuple provides:
1. `ht_close` = HTF closing price
2. `ht_sma` = HTF SMA of length `sma_long_len`
3. `ht_pdi` = HTF +DI percentage
4. `ht_mdi` = HTF –DI percentage
5. `ht_adx` = HTF ADX value
---
## 4. Trend & Reversal Filters (Current & HTF)
### A. Current-Timeframe Trend Filter
1. **Uptrend\_Basic (Current TF)**
$$
(plus\_di > minus\_di)\;\land\;(adx\_val > ADX\_Threshold)\;\land\;(close > SMA\_Close\_Long)
$$
2. **Downtrend\_Basic (Current TF)**
$$
(minus\_di > plus\_di)\;\land\;(adx\_val > ADX\_Threshold)\;\land\;(close < SMA\_Close\_Long)
$$
3. **Trend Confirmation by Bars:**
* `Bars_Since_Below` = number of bars since `close <= SMA_Close_Long`.
* `Bars_Since_Above` = number of bars since `close >= SMA_Close_Long`.
* If `Uptrend_Basic == true` AND `Bars_Since_Below ≥ Trend_Confirmation_Bars` → mark `Uptrend_Confirm = true`.
* If `Downtrend_Basic == true` AND `Bars_Since_Above ≥ Trend_Confirmation_Bars` → mark `Downtrend_Confirm = true`.
### B. Reversal Filters (Current TF)
1. **Bullish Reversal (`Rev_Bullish`):**
* If `(RSI < RSI_Oversold AND close crosses above EMA_Value)` OR
`(RSI < RSI_Oversold AND close crosses above SMA_Close_Short1)`
→ then `Rev_Bullish = true`.
2. **Bearish Reversal (`Rev_Bearish`):**
* If `(RSI > RSI_Overbought AND close crosses below EMA_Value)` OR
`(RSI > RSI_Overbought AND close crosses below SMA_Close_Short1)`
→ then `Rev_Bearish = true`.
### C. Higher-Timeframe Trend Filter (HTF)
1. **HTF Uptrend (`HT_Uptrend`):**
$$
(ht\_pdi > ht\_mdi)\;\land\;(ht\_adx > ADX\_Threshold)\;\land\;(ht\_close > ht\_sma)
$$
2. **HTF Downtrend (`HT_Downtrend`):**
$$
(ht\_mdi > ht\_pdi)\;\land\;(ht\_adx > ADX\_Threshold)\;\land\;(ht\_close < ht\_sma)
$$
3. **Combine Current & HTF:**
* If **Use\_HTF\_Confirmation == true**, then:
* `Uptrend_Confirm := Uptrend_Confirm AND HT_Uptrend`
* `Downtrend_Confirm := Downtrend_Confirm AND HT_Downtrend`
* Otherwise, just use the current timeframe’s `Uptrend_Confirm` and `Downtrend_Confirm`.
4. **Define `CurrentTrend` (Integer):**
* `CurrentTrend = +1` if `Uptrend_Confirm == true`.
* `CurrentTrend = –1` if `Downtrend_Confirm == true`.
* Otherwise, `CurrentTrend = 0`.
5. **Reset “One Trade Per Trend”:**
* There is a persistent variable `LastTradeTrend`.
* Every time `CurrentTrend` flips (i.e., `CurrentTrend != CurrentTrend `), the code sets `LastTradeTrend := 0`.
* That allows one new entry once the detected trend has changed.
---
## 5. One‐Time “Cooldown” Logic
* **`LastSignalBar`**
* A persistent integer (initially undefined).
* After each confirmed long or short entry, `LastSignalBar` is set to the bar index where that signal fired.
* **`Bars_Since_Signal`**
* If `LastSignalBar` is undefined, treat as a very large number (so that initial signals are always allowed).
* Otherwise, `Bars_Since_Signal = bar_index – LastSignalBar`.
* **Cooldown Check:**
* A new long (or short) can only be generated if `(Bars_Since_Signal > Signal_Cooldown)`.
* This prevents multiple signals in rapid succession.
---
## 6. Entry Conditions (No Repaint)
All of the conditions below are calculated “intrabar,” but the script only actually registers a **signal** on **bar close** (`barstate.isconfirmed`) so that signals never repaint.
### A. Trend‐Based “Raw” Conditions
1. **Trend\_Long\_Raw:**
$$
(AI\_Score > AI\_Score\_Threshold)\;\land\;Uptrend\_Confirm\;\land\;High\_Volatility\;\land\;(Price\_Change > 0)
$$
2. **Trend\_Short\_Raw:**
$$
(AI\_Score < -AI\_Score\_Threshold)\;\land\;Downtrend\_Confirm\;\land\;High\_Volatility\;\land\;(Price\_Change < 0)
$$
### B. Reversal “Raw” Conditions
1. **Rev\_Long\_Raw:**
$$
Rev\_Bullish\;\land\;(CurrentTrend \neq +1)
$$
2. **Rev\_Short\_Raw:**
$$
Rev\_Bearish\;\land\;(CurrentTrend \neq -1)
$$
### C. Combine Raw Signals
* `Raw_Long = Trend_Long_Raw OR Rev_Long_Raw`.
* `Raw_Short = Trend_Short_Raw OR Rev_Short_Raw`.
### D. Confirmed Long/Short Signal Flags
On each new bar **close** (`barstate.isconfirmed == true`):
* **Long\_Signal\_Confirmed** can fire if:
1. `Raw_Long == true`
2. `LastTradeTrend != +1` (we haven’t already taken a long in this same trend)
3. `Bars_Since_Signal > Signal_Cooldown`
If all three hold, then on this bar close the code sets:
* `Long_Signal = true`
* `LastTradeTrend := +1`
* `LastSignalBar := bar_index`
Otherwise, `Long_Signal := false` on this bar.
* **Short\_Signal\_Confirmed** works the same way but with `Raw_Short`, `LastTradeTrend != -1`, etc.
If triggered, it sets `Short_Signal = true`, `LastTradeTrend := -1`, and `LastSignalBar := bar_index`. Otherwise `Short_Signal := false`.
* **Important:** If the bar is still forming (`else` branch of `barstate.isconfirmed`), then both `Long_Signal` and `Short_Signal` are forced to `false`. This guarantees that no shape or alert appears until the bar actually closes.
---
## 7. Plotting Entry/Exit Shapes
1. **Trend Long Signal (Triangle Up)**
* Condition: `Long_Signal == true` **AND** `Trend_Long_Raw == true`.
* Appearance: A small, semi-transparent lime green triangle drawn **below** the bar.
2. **Trend Short Signal (Triangle Down)**
* Condition: `Short_Signal == true` **AND** `Trend_Short_Raw == true`.
* Appearance: A small, semi-transparent maroon triangle drawn **above** the bar.
3. **Reversal Long Signal (Circle)**
* Condition: `Long_Signal == true` **AND** `Rev_Long_Raw == true`.
* Appearance: A tiny, more transparent green circle drawn **below** the bar.
4. **Reversal Short Signal (Circle)**
* Condition: `Short_Signal == true` **AND** `Rev_Short_Raw == true`.
* Appearance: A tiny, more transparent red circle drawn **above** the bar.
Since `Long_Signal` and `Short_Signal` only ever become true at bar close, these shapes are never repainted or removed once drawn.
---
## 8. Unified Alert Message
* As soon as a new bar closes with either `Long_Signal` or `Short_Signal == true`, an alert message is sent:
* If `Long_Signal`, then `alert_msg = "action=BUY"`.
* If `Short_Signal`, then `alert_msg = "action=SELL"`.
* If neither, `alert_msg = ""` (no alert).
* The code calls `alert(alert_msg, freq=alert.freq_once_per_bar)` only if `barstate.isconfirmed` and `alert_msg` is non‐empty. This ensures exactly one alert per confirmed bar, no intrabar pops.
---
## 9. Dynamic TP/SL Logic (Minimal Implementation)
Once a long or short position is “open,” the script tracks these variables:
1. **Persistent Flags and Prices** (all persist between bars until reset):
* `InLong` (Boolean)
* `InShort` (Boolean)
* `Long_Max` (Float)
* `Short_Min` (Float)
* `Entry_Price` (Float)
2. **On Bar Close:**
* If `Long_Signal == true` →
* Set `InLong := true`,
* `Entry_Price := close` of that bar,
* `Long_Max := high ` (last bar’s high, so that we’re not using “future” data).
* If `Short_Signal == true` →
* Set `InShort := true`,
* `Entry_Price := close`,
* `Short_Min := low `.
3. **While `InLong == true`:**
* Continuously update `Long_Max = max(Long_Max, current high)` on each bar (intrabar, but finalized each close).
* Compute a dynamic SL:
$$
SL_{Long} = Entry\_Price - (ATR \times SL\_ATR\_Multiplier).
$$
* If **current trend** flips to non-uptrend (`CurrentTrend != +1`), mark `ExitLong = true`.
* Then the routine plots `TP_Long = Long_Max` as a cross (“X”) at that level.
* Set `InLong := false` so that no further changes to `Long_Max` or `Entry_Price` happen on future bars.
4. **While `InShort == true`:**
* Continuously update `Short_Min = min(Short_Min, current low)`.
* Compute a dynamic SL:
$$
SL_{Short} = Entry\_Price + (ATR \times SL\_ATR\_Multiplier).
$$
* If trend flips to non-downtrend (`CurrentTrend != –1`), mark `ExitShort = true`.
* Then the routine plots `TP_Short = Short_Min`.
* Set `InShort := false` to freeze those values.
5. **Plotting TP/SL if “Show Debug” is On:**
* **TP Shapes:**
* When `ExitLong == true`, plot a solid lime “X” at `TP_Long` (highest high).
* When `ExitShort == true`, plot a solid maroon “X” at `TP_Short` (lowest low).
* **SL Lines:**
* If still `InLong`, draw a thin red line at `SL_Long` on each bar.
* If still `InShort`, draw a thin green line at `SL_Short`.
Thus, your charts visually show the highest‐high take-profit cross for longs, the lowest-low take-profit cross for shorts, and a continuously updating trailing SL until the trend flips. Because all of this is triggered on confirmed bars, nothing “jumps around” after the fact.
---
## 10. Debug‐Only Plot Lines (When Enabled)
When **Show Debug Lines** = true, the indicator will also plot:
1. **ATR SMA (Orange):**
* The simple moving average of ATR over `ATR_SMA_Length`.
2. **ATR Threshold (Yellow):**
* `ATR_SMA × ATR_Multiplier` (the dynamically scaled threshold).
3. **+DI & –DI (Current TF):**
* +DI plotted as a green line, –DI plotted as a red line (opacity \~70%).
4. **ADX (Current TF, Blue):**
* A blue line for the present timeframe’s ADX.
5. **ADX Threshold (Gray):**
* A horizontal gray line showing `ADX_Threshold`.
6. **+DI & –DI (HTF, Darker Colors):**
* If HTF confirmation is on, “HTF +DI” is a greener but more transparent line; “HTF –DI” is a redder but more transparent line.
7. **ADX (HTF, Blue but Transparent):**
* HTF ADX plotted in blue (high transparency).
8. **HTF SMA (Orange, Transparent):**
* The higher timeframe’s SMA (same length as `SMA_Long_Length`), drawn in fainter orange.
9. **Volatility Zone Fill (Yellow Tinted Area):**
* Fills the area between `ATR_SMA` and `ATR_SMA × ATR_Multiplier`.
* Indicates “normal” versus “high‐volatility” regimes.
These debug lines are purely visual aids. Disable them if you want a cleaner chart.
---
## 11. Putting It All Together — Step-By-Step Flow
1. **Read Inputs** (RSI lengths, EMA length, ATR settings, etc.).
2. **Optionally Halve All Lengths** if “Scalping Mode” is checked.
3. **Calculate Current TF Indicators:**
* RSI, ATR, ATR\_SMA, EMA, price change, various SMAs, DI/ADX.
4. **Compute “AI Score”** (weighted sum of RSI and EMA signals).
5. **Compute Dynamic ATR Multiplier** and decide if “High Volatility” is true.
6. **Compute Raw Trend/Reversal Conditions** on the current timeframe (without triggering yet).
7. **Fetch HTF Values** in one `request.security` call (SMAs, DI/ADX).
8. **Combine Current & HTF Trend Filters** to confirm `Uptrend_Confirm` or `Downtrend_Confirm`.
9. **Check Reversal Conditions** (price crossing EMA or SMA short, in overbought/oversold zones).
10. **Enforce “One Trade Per Trend”** (clear `LastTradeTrend` whenever `CurrentTrend` flips).
11. **Enforce Cooldown** (must wait at least `Signal_Cooldown` bars since the prior signal).
12. **On Bar Close:**
* If `Raw_Long` AND not already in a long trend AND cooldown met, then fire `Long_Signal`.
* Else if `Raw_Short` AND not already in a short trend AND cooldown met, then fire `Short_Signal`.
* Otherwise, no new signal on this bar.
13. **Plot Long/Short Entry Shapes** according to whether it was a Trend signal or a Reversal signal.
14. **Send Alert** (“action=BUY” or “action=SELL”) exactly once per confirmed bar.
15. **If New Long/Short Signal, Set `InLong`/`InShort`, Record Entry Price, Initialize `Long_Max`/`Short_Min`.**
16. **While `InLong` is true:** Update `Long_Max = max(previous Long_Max, current high)`. Compute `SL_Long`. If the current trend flips (no longer uptrend), set `ExitLong = true`, plot a “TP X,” and close the position logic.
17. **While `InShort` is true:** Similarly update `Short_Min`, compute `SL_Short`, and if trend flips, set `ExitShort = true`, plot a “TP X,” and close the position logic.
18. **Optionally Display Debug Lines** (ATR SMA, ATR threshold, DI/ADX, HTF DI/ADX, etc.).
---
## 12. How to Use in TradingView Community
When you publish this indicator to the TradingView community—choosing “Protected” or “Invite-only” visibility—you can paste the above description into the “Description” field. Users will see exactly what each input does, how signals are generated, and what the various plotted lines represent, **without ever seeing the script source**. In this way, the code itself remains hidden but the logic is fully documented.
1. **Go to “Create New Indicator”** on TradingView.
2. **Paste Your Pine Code** (the full indicator script) in the Pine editor and save it.
3. **Set Visibility = Protected** (or Invite-only).
4. **In the “Description” Text Box, paste the entirety of this document** (steps 1–11).
5. **Click “Publish Script.”**
Users who view your indicator will see its name (“AI Strat Adaptive v3 (NoRepaint)”), a list of all inputs (with default values), and the detailed English description above. They can then load it on any chart, adjust inputs, and see the plotted signals, TP/SL lines, and optional debug overlays—without accessing the underlying Pine code.
---
### Summary of Key Points
* **RSI, EMA, ATR, DI/ADX, and “AI Score”** work together to define “trend vs. reversal.”
* **Dynamic volatility filter** uses ATR and ATR\_SMA to adapt the weighting of RSI vs. EMA and decide whether “volatility is high enough” to permit a trend trade.
* **One trade per detected trend** and a **cooldown period** prevent over‐trading.
* **Higher timeframe confirmation** (optional) further filters out noise.
* **No-repaint logic**:
* All signals only appear at bar close (`barstate.isconfirmed`).
* HTF values are fetched with `lookahead=barmerge.lookahead_off`.
* **Entry shapes** (triangles and circles) clearly mark trend vs. reversal entries.
* **Dynamic TP/SL**: highest‐high (or lowest‐low) since entry is used as TP, ATR×multiplier as SL.
* **Debug mode** (optional) shows every intermediate line for full transparency.
Use this description verbatim (or adapt it slightly for your personal style) when publishing. That way, your community sees exactly how each component works—inputs, functions, filters—while the Pine source code remains private.
LE LevelsGENERAL OVERVIEW:
The LE Levels indicator plots yesterday’s high/low and today’s pre-market high/low directly on your chart, then layers signal logic around those levels and a set of EMA waves. You can choose “Inside” setups, “Outside” setups, or both. You can also pick entries that trigger at levels, entries that trigger off the EMA wave, or both.
This indicator was developed by Flux Charts in collaboration with Ellis Dillinger (Ellydtrades).
What is the purpose of the indicator?:
The purpose of the LE Levels indicator is to give traders a clear view of how price is behaving around key session levels and EMA structure. It follows the same model EllyD teaches by showing where price is relative to the Previous Day High and Low and the Pre-Market High and Low, then printing signals when specific reactions occur around those levels.
What is the theory behind the indicator?:
The theory behind the LE Levels indicator is based on the concept of inside and outside days. An inside day occurs when price trades within the previous day’s high and low, signaling compression and potential breakout conditions. An outside day occurs when price moves beyond those boundaries, confirming expansion and directional bias. When price trades above the PDH or PMH, it reflects bullish control and potential continuation if supported by volume and momentum. When price trades below the PDL or PML, it shows bearish control and possible downside continuation. The idea is to combine this logic with tickers that have catalysts or news, since these events often bring higher-than-normal volume.
LE SCANNER FEATURES:
Key Levels
Signals
EMA Waves
Key Levels:
The LE Levels indicator automatically plots four key levels each day:
Previous Day High (PDH)
Previous Day Low (PDL)
Pre-Market High (PMH)
Pre-Market Low (PML)
🔹How are Key Levels used in the indicator?:
The key levels are a crucial factor in determining if the trend is bullish, bearish, or neutral trend bias. The indicator uses the key levels as a condition for identifying inside or outside setups (explained below). After determining a trend bias and setup type, the indicator prints long and short entry signals based on how price interacts with the key levels and 8 EMA Wave. (explained below).
These levels define where price previously reacted or reversed, helping traders visualize how current price action relates to prior session structure. They update automatically each day and pre-market session, allowing traders to see if price is trading inside, above, or below prior key ranges without manually drawing them.
Please Note: Pre-market times are based on U.S. market hours (Eastern Standard Time) and may vary for non-U.S. tickers or exchanges.
🔹Previous Day High (PDH):
The PDH marks the highest price reached during the previous regular trading session. It shows where buyers pushed price to its highest point before the market closed. This value is automatically pulled from the daily chart and projected forward onto intraday timeframes.
🔹Previous Day Low (PDL):
The PDL marks the lowest price reached during the previous regular trading session. It shows where selling pressure reached its lowest point before buyers stepped in. Like the PDH, this level is retrieved from the prior day’s data and extended into the current session.
🔹Pre-Market High (PMH):
The PMH is the highest price reached between 4:00 AM and 9:29 AM EST, before the regular market open. It shows how far buyers managed to push price up during the pre-market session.
🔹Pre-Market Low (PML):
The PML is the lowest price reached between 4:00 AM and 9:29 AM EST, before the regular market open. It shows how far sellers were able to drive price down during the pre-market session.
🔹Customization Options:
Extend Levels:
Extends each plotted line a user-defined number of bars into the future, keeping them visible even as new candles print. This helps maintain a clear visual reference as the session progresses.
Extend PDH/L Left & Extend PMH/L Left:
These settings let you extend the Previous Day and Pre-Market levels back to their origin point, so you can see exactly where each level was formed on the prior trading day. This makes it easy to understand the context of each level and how it developed. When this option is disabled, the lines begin at the regular session open instead of extending backward into the previous day’s data.
Show Name / Show Price:
Enabling Show Name displays labels (PDH, PDL, PMH, PML) beside each line, while Show Price adds the exact price value. You can choose to show just the name, just the price, or both for a complete label format.
Line Color and Style:
Each level can be fully customized. You can change the line color and select between solid, dashed, or dotted styles to visually distinguish each level type.
At the bottom of the indicator settings, under the ‘Miscellaneous’ section, two additional options allow further control over how levels are displayed:
Hide Previous Day Highs/Lows:
When enabled, the previous day’s high and low levels aren’t shown. When disabled, users can view previous day levels without using replay mode. By default, this setting is enabled.
Disabled:
Enabled:
Hide Previous Pre-Market Highs/Lows:
When enabled, the previous pre-market high and low levels aren’t shown. When disabled, users can view previous pre-market levels without using replay mode. By default, this setting is enabled.
Disabled:
Enabled:
Signals:
The LE Levels indicator automatically prints long and short entry signals based on how price interacts with its key levels (PDH, PDL, PMH, PML) and the EMA Waves. It identifies moments when price either breaks out beyond prior ranges or retests those levels in alignment with momentum shown by the EMA Waves.
There are two types of setups (Inside and Outside) and two entry types ((L)evels and (E)MAs). Together, these settings allow traders to customize the type of structure the indicator recognizes and how signals are generated.
🔹What is an Inside Setup?
An Inside Setup occurs when the current trading session forms entirely within the previous day’s range, meaning price has not yet broken above the Previous Day High (PDH) or below the Previous Day Low (PDL). In the LE Levels indicator, inside setups are recognized when price trades within the previous day’s boundaries while also considering the pre-market range (Pre-Market High and Pre-Market Low).
Inside Setups have two main conditions, depending on directional bias:
Bullish Inside Setup:
Price trades above the Pre-Market High (PMH) and above the Previous Day Low (PDL), while still below the Previous Day High (PDH).
Bearish Inside Setup:
Price trades below the Pre-Market Low (PML) and below the Previous Day High (PDH), while still above the Previous Day Low (PDL).
🔹What is an Outside Setup?
An Outside Setup occurs when the current trading session extends beyond the previous day’s range, meaning price has broken above the Previous Day High (PDH) or below the Previous Day Low (PDL). This structure reflects expansion and directional control, showing that either buyers or sellers have taken price into new territory beyond the prior session’s boundaries.
In the indicator, an Outside Setup forms once price closes beyond both the previous day and pre-market boundaries, showing bias in one direction.
Bullish Outside Setup:
Price closes above both the PDH and the PMH, confirming buyers have pushed through every key resistance from the prior session and the pre-market.
Bearish Outside Setup:
Price closes below both the PDL and the PML, showing sellers have pushed price beneath all key support levels from the previous session and the pre-market.
🔹Entry Types: (L)evels and (E)MAs
Once a setup type (Inside or Outside) has been established, the LE Levels indicator generates trade signals using one of two entry confirmation methods: (L) for Key Level based Entries and (E) for EMA Wave based Entries. These determine how the signal prints and what triggers it within.
🔹(L)evels Entry:
The (L)evels entry type is built around how price reacts to the key levels (PDH, PDL, PMH, PML). It prints when price retests those levels during an active setup. The logic focuses on retests, where price returns to confirm a previous breakout or breakdown before continuing in the same direction.
Bullish Outside (L)evels Setup:
A Bullish Outside Setup forms when price breaks above both the PDH and PMH. Once this breakout occurs, the indicator waits for a pullback to one of those levels. For a signal to print, the 8 EMA Wave must also be near that level, showing momentum is supporting the structure. A small buffer is applied between price and the level so that even if price only comes close, without fully touching, the retest still counts. When price holds above the PDH or PMH with the 8 EMA nearby, the indicator prints an (L) ▲ entry.
Bearish Outside (L)evels Setup:
A Bearish Outside Setup forms when price breaks below both the PDL and PML. Once this breakdown occurs, the indicator waits for a pullback to one of those levels. For a signal to print, the 8 EMA Wave must also be near that area, confirming momentum is aligned with the move. A small buffer is included so that even if price comes close but doesn’t fully touch the level, the retest still qualifies. When price holds below the PDL or PML with the 8 EMA nearby, the indicator prints an (L) ▼ entry.
Bullish Inside (L)evels Setup:
A Bullish Inside Setup forms when price trades above the PMH but stays below the PDH and above the PDL. Once this condition is met, the indicator waits for a pullback to the PMH. For a signal to print, the 8 EMA Wave must also be near that level. A small buffer is applied so that even if price only comes close to the level, the retest still counts. When price holds above the PMH with the 8 EMA nearby, the indicator prints an (L) ▲ entry.
Bearish Inside (L)evels Setup:
A Bearish Inside Setup forms when price trades below the PML but stays above the PDL and below the PDH. Once this condition is met, the indicator waits for a pullback to the PML. For a signal to print, the 8 EMA Wave must also be near that level. A small buffer is applied so that even if price only comes close, the retest still counts. When price holds below the PML with the 8 EMA nearby, the indicator prints an (L) ▼ entry.
🔹(E)MAs Entry:
The (E)MA Entry type focuses on how price reacts to the 8 EMA Wave. It identifies when price first interacts with the EMAs, then confirms continuation once momentum resumes in the setup’s direction. The first candle that touches the EMA prints an (E) marker, and the confirmation signal triggers only after price breaks above or below that candle, depending on the bias.
Bullish Outside (E)MA Setup:
A Bullish Outside Setup forms when price is trading above both the PDH and PMH. Once this breakout occurs, the indicator waits for price to pull back and touch the 8 EMA Wave, which prints the initial (E) label. If price then breaks above that candle’s high, the continuation setup is confirmed.
Bearish Outside (E)MA Setup:
A Bearish Outside Setup forms when price is trading below both the PDL and PML. After the breakdown, the indicator waits for price to pull back to the 8 EMA Wave, marking the candle that touches it with an (E) label. If price then breaks below that candle’s low, the continuation setup is confirmed.
Bullish Inside (E)MA Setup:
A Bullish Inside Setup forms when price trades above the PMH but remains below the PDH and above the PDL. The indicator waits for price to retrace and touch the 8 EMA Wave, which prints the initial (E) label. If price then breaks above that candle’s high, the continuation setup is confirmed.
Bearish Inside (E)MA Setup:
A Bearish Inside Setup forms when price trades below the PML but remains above the PDL and below the PDH. Once price touches the 8 EMA Wave, the indicator prints an (E) marker. If price then breaks below that candle’s low, the continuation setup is confirmed.
🔹Signal Settings:
At the bottom of the indicator settings panel, three core controls define how signals are displayed and which setups the indicator actively scans for. These settings allow you to refine signal generation based on your trading approach and chart preference.
Setup Type:
This setting determines which structural conditions the indicator tracks.
Inside Setups: Signals only appear when price is trading within the previous day’s range (between PDH and PDL).
Outside Setups: Signals only appear when price breaks outside the previous day’s range (above PDH/PMH or below PDL/PML).
Both: Enables signals for both Inside and Outside setups.
Entry Type:
Controls how the indicator confirms entries.
(E)MAs: Prints signals based on price interacting with the 8 EMA Wave.
(L)evels: Prints signals based on price retesting key levels such as PDH, PDL, PMH, or PML.
Both: Allows both EMA and Level-based signals to appear on the same chart.
Signal Filters (Long, Short, and Re-Entry):
These toggles let you control which trade directions are active.
Long: Displays only bullish entries and ignores all short setups.
Short: Displays only bearish entries and ignores long setups.
Re-Entry: Enables or disables repeated signals in the same direction after the first valid setup has printed. When off, only the initial signal is shown until conditions reset.
EMA Waves:
The EMA Waves help identify potential entries and show directional bias. They’re made of grouped EMAs that form shaded areas to create a “wave” look. The color-coding on the waves allows users to view when price is consolidating, in a bullish trend, or in a bearish trend. The wave updates in real time as new candles form and does not repaint historical data.
🔹8 EMA Wave
The 8 EMA Wave is used directly in the indicator’s signal logic described earlier. It reacts fastest to price compared to the other EAM Waves and determines when (L) and (E) signals can trigger.
How It Works:
The wave is made from the 8, 9, and 10 EMAs and fills the space between them to create a “wave” look. The 8 EMA Wave continuously updates its color based on where price trades relative to the key levels (PDH, PDL, PMH, PML). The color changes are conditional and based solely on price position relative to key levels.
Price is above both PDH and PMH: The wave is bright green, and the top half is purple.
Price is between PDH and PMH: The wave is dark green, and the top half is purple.
Price is below both PDL and PML: The wave is bright red, and the bottom half is purple.
Price is between PDL and PML: The wave is dark red, and the bottom half is purple.
Price is between all four levels: The wave is gray to represent consolidation or neutral bias.
🔹8 EMA Wave Signal Function:
For (L)evels entries, the 8 EMA must be close to the key level being retested, with a small buffer that allows near touches to qualify.
For (E)MA entries, the first candle that touches the wave prints an (E), and the confirmation signal appears when price breaks that candle’s high or low.
🔹8 EMA Wave Customization:
Users can customize all colors for bullish, bearish, and neutral conditions directly in the settings. The purple overlay color cannot be changed, as it is hard-coded into the indicator. The 8 EMA Wave can also be toggled on or off. Turning it off only removes the visual display from the chart and does not affect signals.
🔹20 EMA Wave
The 20 EMA Wave measures medium-term momentum and helps visualize larger pullbacks. It reacts more slowly than the 8 EMA Wave, giving a smoother wave look. No signals are generated from it. It’s purely a visual guide for spotting potential pullback areas for continuation setups.
How It Works:
The wave is made from the 19, 20, and 21 EMAs and fills the space between them to create a shaded “wave.” The color updates continuously based on where price trades relative to the key levels (PDH, PDL, PMH, PML). The color changes are conditional and based only on price position relative to these levels.
Price is above both PDH and PMH: The wave is bright green, and the top half is blue.
Price is between PDH and PMH: The wave is dark green, and the top half is blue.
Price is below both PDL and PML: The wave is bright red, and the bottom half is blue.
Price is between PDL and PML: The wave is dark red, and the bottom half is blue.
Price is between all four levels: The wave is gray to represent consolidation or neutral bias.
🔹20 EMA Wave Use Case:
After 12:00 PM EST, the 20 EMA Wave is used to spot larger pullbacks that form later in the session. No signals are generated from it; it only serves as a visual guide for identifying potential continuation areas.
Bullish Continuation Pullback:
Bearish Continuation Pullback:
🔹20 EMA Wave Customization:
Users can customize all colors for bullish, bearish, and neutral conditions directly in the settings. The blue overlay color cannot be changed, as it is hard-coded into the indicator. The 20 EMA Wave can also be toggled on or off.
🔹200 EMA Wave
The 200 EMA Wave is used to determine long-term trend bias. When price is above it, the bias is bullish; when price is below it, the bias is bearish. It updates automatically in real time and is used to define the broader directional bias for the day.
How it Works:
The 200 EMA Wave is created using the 190, 199, and 200 EMAs, with the area between them shaded to form a “wave.”
🔹200 EMA Wave Use Case:
When price is above the 200 EMA Wave and both the 8 and 20 EMA Waves are stacked above it, the overall trend is bullish.
When price is below the 200 EMA Wave and both shorter-term waves are also below it, the overall trend is bearish.
🔹200 EMA Wave Customization:
Users can customize both colors that form the 200 EMA Wave. The entire wave can also be toggled on or off in the settings.
Uniqueness:
The LE Levels indicator is unique because it combines signal logic with a clear visual structure. It automatically detects inside and outside setups, printing (L) and (E) entries based on how price reacts to key levels and the EMA Waves. Each signal follows strict conditions tied to the 8 EMA and key levels. The color-coded EMA Waves make it simple to understand where price is in relation to the key levels and getting a quick trend bias overview.






















