golden smart entrySmart Money Concepts (SMC) is a trading methodology that focuses on understanding and following the behavior of institutional investors—often referred to as "smart money." The goal is to identify high-probability trade setups by analyzing how these large players move the market.
תבניות גרפים
First X Days Of A YearFirst X-Day Indicator
Overview
The "First X-Day Indicator" is a powerful tool to visualize and analyze market sentiment during the crucial first trading days of each new year. It provides immediate visual feedback on whether the year is starting with positive or negative momentum compared to the previous year's close, a concept often related to market theories like the "January Effect" or the "First Five Days Rule."
The indicator is designed to be clean, intuitive, and fully customizable to fit your charting style.
Key Features
Yearly Baseline: Automatically draws a horizontal line at the previous year's closing price. This line serves as a clear 0% reference for the current year's performance.
Dynamic Background Coloring: For a user-defined number of days at the start of the year, the chart background is colored daily. Green indicates the close is above the previous year's close, while red indicates it's below.
Final Performance Symbol: At the end of the analysis period (e.g., on the 5th day), a single summary symbol (like 👍 or 👎) appears. This symbol represents the final performance outcome of the initial trading period.
Settings & Customization
You have full control over all visual elements:
Analysis Period: Define exactly how many days at the start of the year you want to analyze (e.g., 3, 5, or 10 days).
Line Customization: Fully control the yearly baseline's appearance. You can change its color, width, and style (Solid, Dashed, or Dotted) or hide it completely.
Symbol Customization: Choose any character or emoji for the positive and negative performance symbols. You can also adjust their size (Small, Normal, Large) or hide them.
Background Control: Enable or disable the daily background coloring and select your preferred custom colors for positive and negative days.
Multi-Module Full-Featured Trading Strategy System v1🧠 Key Features Summary:
🧩 Full Modular Structure: Entry / Position Adding / Take Profit & Stop Loss / Delay / Capital Management.
⏱️ Delay & Reverse System: Prevents frequent long-short switching with minute-based delay intervals.
💰 Capital Management System:
• Controls opening/adding positions based on account equity percentage;
• Limits maximum position ratio;
• Supports leverage multiplier.
⚙️ Each module is independently configurable and can be disabled;
📈 Unified variable naming for easy expansion with more indicators.
Previous session High/Low – Asia London USA Overview
This indicator automatically plots the Previous Day’s (PD) session Highs and Lows for the Asia (Tokyo), London, and USA (New York) trading sessions.
Each session is color-coded for clarity:
🟩 Asia (Green)
🟥 London (Red)
🟦 USA (Blue)
At the close of each session, the indicator records that session’s high and low, draws horizontal lines across the chart, and labels them neatly in the center of each range — above the high and below the low for perfect visual balance.
⚙️ How It Works
The script continuously tracks the current high and low within each session.
When a session closes, those values are locked in as the PD High and PD Low.
Clean lines and centered labels are drawn immediately.
The labels automatically offset slightly above or below the line to avoid overlap, with user-controlled spacing.
This helps traders quickly identify where price interacts with the previous session’s structure, a core concept for many session-based and liquidity-based strategies.
🧭 Sessions and Timezones
Each market session runs in its native timezone, so you can align them perfectly to your chart or your preferred trading hours:
Asia Session: Default 08:30 – 11:00 (Australia/Adelaide time)
London Session: Default 08:00 – 10:00 (Europe/London)
USA Session: Default 09:30 – 16:00 (America/New_York)
You can change each session’s hours and timezone from the Inputs panel.
🎨 Customization
In the Inputs menu you can:
Toggle each session on or off
Choose line color and thickness
Enable or disable labels
Adjust vertical offset (ticks) for label spacing
“High label offset” – moves label further above the high line
“Low label offset” – moves label further below the low line
These adjustments make it easy to keep charts clean and readable on any instrument or timeframe.
📈 Practical Use
This indicator is ideal for:
Session traders who mark PD Highs/Lows as liquidity zones
London or NY session scalpers who watch for breakouts, fakeouts, or reversals
ICT / Smart Money Concepts users wanting automatic session reference levels
Anyone wanting a quick visual map of inter-session structure
Aynet- True Wick Projector for Non-Standard ChartsTechnical Explanation: "Data Projection and Synchronization"
This script is, at its core, a "data projection" tool. The fundamental technical problem it solves is compensating for the information loss that occurs when using different data visualization models.
1. The Core Problem: Information Loss
Standard Charts (Time-Based): Normal candlesticks are time-based. Each candle represents a fixed time interval (like 1 hour or 1 day) and displays the complete Open, High, Low, and Close (OHLC) data for that period. The "wicks" show the volatility and the extreme price points (the High and Low).
Non-Standard Charts (Price/Momentum-Based): Charts like Kagi, Renko, or Line Break filter out time. Their only concern is price movement. While one Renko box or Kagi line is forming, 10 or more time-based candles might have formed in the background. During this "noise filtering" process, the true high and low values (the wicks) from those underlying candles are lost.
The problem is this: A trader looking at a non-standard chart cannot see how high or low the price actually went while that block or line was forming. This is a critical loss of information regarding market volatility, support/resistance levels, and price rejection.
2. The Technical Solution: A "Dual Data Stream"
This script intelligently combines two different data streams to compensate for this information loss:
Main Stream (Current Chart): The open and close data from your active Kagi, Renko, etc., chart.
Secondary Stream (Projected Data): The high and low data from the underlying standard (time-based) chart.
3. The Code's Methodical Steps
Step 1: Identifying the Data Source (syminfo...)
This step precisely identifies the source for the secondary data stream. By using syminfo.prefix + ":" + syminfo.ticker (e.g., "NASDAQ:AAPL"), it guarantees that the data is pulled from the exact correct instrument and exchange.
Step 2: Data Request & "Lookahead" Synchronization (request.security)
This is the most critical part of the operation.
request.security(...): This is the function Pine Script uses to pull data from another dataset (the secondary stream) onto the current chart.
: This tells the function, "The only data I care about is the 'High' and 'Low' of the standard candle from that timeframe."
lookahead = barmerge.lookahead_on (The Critical Key): This command solves the "time paradox."
Normally (without this): request.security fetches data from the last completed bar. But as your Kagi bar is currently forming, the standard candle is also currently forming. This would cause the data to always be one bar behind (lag).
With lookahead_on: This permits the script to "look ahead" at the data from the currently forming, incomplete standard bar. Because of this, as your Kagi bar moves, the true wick data is updated in real-time. This achieves real-time synchronization.
Step 3: Visual Engineering (plotcandle)
After the script retrieves the data, it must "draw" it. However, it only wants to draw the wicks, not the candle bodies.
bodyTop and bodyBottom: First, it finds the top and bottom of the current Kagi bar's body (using math.max(open, close)).
Plotting the Upper Wick (Green):
It calls the plotcandle function and instructs it to draw a fake candle.
It fixes this fake candle's Open, Low, and Close (open, low, close) values to the top of the Kagi bar's body (bodyTop).
It only sets the High (high) value to the realHigh it fetched with request.security.
The result: A wick is drawn from the bodyTop level up to the realHigh level, with no visible body.
Plotting the Lower Wick (Red):
It applies the reverse logic.
It fixes the fake candle's Open, High, and Close values to the bottom of the Kagi bar's body (bodyBottom).
It only sets the Low (low) value to the realLow.
The result: A lower wick is drawn from bodyBottom down to realLow.
Invisibility (color.new(color.white, 100)):
In both plotcandle calls, the color (body color) and bordercolor are set to 100 transparency. This makes the "fake" candle bodies completely invisible, leaving only the colored wicks.
Conclusion (Technical Summary)
This script reclaims the volatility data (the wicks) that is naturally sacrificed by non-standard charts.
It achieves this with technical precision by creating a secondary data stream using request.security and synchronizing it with zero lag using the lookahead_on parameter.
Finally, it intelligently manipulates the plotcandle function (by creating invisible bodies) to project this lost data onto your Kagi/Renko chart as an "augmented reality" layer. This allows a trader to benefit from the clean, noise-filtered view of a non-standard chart without losing access to the full picture of market volatility.
Dot traderInterpret Signals: Green triangles indicate buy (e.g., if BTC holds $109k with bullish crossover); red triangles indicate sell (e.g., if it breaks $108k with bearish divergence).
Candle Colors: Green/bullish, red/bearish, orange/overbought (>70 RSI), blue/oversold (<30 RSI).
Alerts: Enable in TradingView for real-time notifications.
Renko Entry Alerts Limit +0.08Simple renko 1 block reversal strategy Adds +0.08 to 1 block during pre a=market and after hours for more successful fills.
Dual ORB (EU/US) + VWAP + Filters (Retest/EMA/ATR/RVOL)Release Notes — Dual ORB (EU & US) + Color VWAP
Summary
This script plots two configurable Opening Range Breakouts (ORB)—one for the European open and one for the US open—along with a color-adaptive VWAP (green above price, red below). It’s designed for M5/M15 intraday trading on indices (e.g., US100) and metals (e.g., XAUUSD), with clean visuals, optional history retention, and simple breakout cues.
New & Key Features
Dual ORB Sessions
EU ORB (default 07:00) and US ORB (default 14:00).
Each session’s start time and duration are configurable (15/30/45/60 min).
Automatic OR box that tracks the session high/low and freezes at the end of the window.
Configurable Time Zone
Choose a specific UTC offset or an IANA time zone (e.g., Europe/Paris, America/New_York) for precise session timing.
“Exchange” option mirrors the chart’s exchange time when available.
Targets (1× Range by default)
First upside/downside target plotted as a step line once the OR closes (based on a % of the OR width).
Separate % settings per session (EU/US).
Breakout Signals
Optional ▲ / ▼ markers when price crosses ORH/ORL after the OR window closes.
Adjustable signal size and colors.
Color-Adaptive VWAP
VWAP plotted for the whole session; green when price ≥ VWAP, red when price < VWAP.
Single slider for VWAP line thickness and a toggle to show/hide.
Clean Visuals & History Control
Option to preserve historical boxes/lines/labels, or auto-clean previous sessions when a new OR starts.
Per-session colors for the OR lines, fills, labels.
Configuration
General
Show History: Keep OR drawings from prior sessions or clear them automatically.
Time Zone: Pick Exchange or a specific UTC/IANA zone.
ORB Europe / ORB US
Start Time (HH:MM)
Duration: 15 / 30 / 45 / 60 minutes.
Target %: Distance for the first target as a % of the OR range.
Colors: Line and fill per session.
Signals
Enable Breakout Signals
Up/Down Colors
Text Size: Tiny → Huge.
VWAP
Show/Hide
Line Width
Visual Elements
OR Box: Semi-transparent fill during the window; locks at end.
OR Levels: ORH / ORL solid lines; ORM dashed.
Target Lines: Step lines above/below after OR closes.
Signal Labels: ▲ at ORL (bull break), ▼ at ORH (bear break).
VWAP Line: Turns green/red with price relation.
Alerts (baseline)
Signal labels visually indicate ORH/ORL breaks. (You can add alertconditions to match these crossings if you want audible/Push alerts.)
Performance & Compatibility
Pine v6.
Intraday only (< 1D). The script aborts on daily or higher timeframes to avoid misleading OR timing.
Efficient drawing & clean-up to reduce line/label count.
Known Limitations
The script relies on bar timestamps; exact alignment depends on chart data and your chosen time zone
If your broker/exchange applies session gaps or custom trading hours, verify that your time zone and session align with the instrument.
Suggested Workflow
Pick your time zone.
Set EU/US start times and durations to match your plan (e.g., EU 07:00 30m, US 14:00 30m).
Choose whether to keep history.
Toggle signals and VWAP as desired.
Use ORH/ORL and the first target as decision levels; combine with your filter (trend MA, RSI, market structure, etc.).
Changelog (high-level)
v1.
Added dual configurable ORB (EU & US).
Added per-session targets (percent of OR width).
Added color-adaptive VWAP + width control.
Added breakout signals with customizable size and colors.
Added time zone selector (Exchange, UTC, IANA).
Added history on/off option and improved object lifecycle (clean-up vs persist).
Ported to Pine v6 and hardened against repainting artifacts at session edges.
PM Range Breaker [CHE] PM Range Breaker — Premarket bias with first-five range breaks, optional SWDEMA regime latch, and simple two-times-range targets
Summary
This indicator sets a once-per-day directional bias during New York premarket and then tracks a strict first-five-minutes range from the session open. After the first five complete, it marks clean breakouts and can project targets at two times the measured range. A second mode latches an EMA-based regime to inform the bias and optional background tinting. A compact panel reports live state, first-five levels, and rolling hit rates of both bias modes using a user-defined midday close for statistics.
Motivation: Why this design?
Intraday traders often get whipsawed by early noise or by fast flips in trend filters. This script commits to a bias at a single premarket minute and then waits for the market to present an objective structure: the first-five range. Breaks after that window are clearer and easier to manage. The alternative SWDEMA regime gives a slower, latched context for users who prefer a trend scaffold rather than a midpoint reference.
What’s different vs. standard approaches?
Baseline: Typical open-range-breakout lines or a single moving-average filter without daily commitment.
Architecture differences:
Bias decision at a fixed New York time using either a midpoint lookback (“Classic”) or a two-EMA regime latch (“SWDEMA”).
Strict five-minute window from session open; breakout shapes print only after that window.
Single-shot breakout direction per session (debounce) and optional two-times-range targets.
On-chart panel with hit rates using a configurable midday close for statistics.
Practical effect: Cleaner visuals, fewer repeated signals, and a traceable daily decision that can be evaluated over time.
How it works (technical)
Time handling uses New York session times for premarket decision, open, first-five end, and a midday statistics checkpoint.
Classic bias: A midpoint is computed from the highest and lowest over a user period; at the premarket minute, the bias is set long when the close is above the midpoint, short otherwise.
SWDEMA bias: Two EMAs define a regime score that requires price and trend agreement; when both agree on a confirmed bar, the regime latches. At the premarket minute, the daily bias is set from the current regime.
The first-five range captures high and low from open until the end minute, then freezes. Breakouts are detected after that window using close-based cross logic.
The script draws range lines and optional targets at two times the frozen range. A session break direction latch prevents duplicate break markers.
Statistics compare daily open and a configurable midday close to record if the chosen bias aligned with the move.
Optional elements include EMA lines, midpoint line, latched-regime background, and regime switch markers.
Data aggregation for day logic and the first-five window is sampled on one-minute data with explicit lookahead off. On charts above one minute, values update intra-bar until the underlying minute closes.
Parameter Guide
Premarket Start (NY) — Minute when the bias is decided — Default: 08:30 — Move earlier for more stability; later for recency.
Market Open (NY) — Session start used for the first-five window — Default: 09:30 — Align to instrument’s RTH if different.
First-5 End (NY) — End of the first-five window — Default: 09:35 — Extend slightly to capture wider opening ranges.
Day End (NY) for Stats — Midday checkpoint for hit rate — Default: 12:00 — Use a later time for a longer evaluation window.
Show First-5 Lines — Draw the frozen range lines — Default: On — Turn off if your chart is crowded.
Show Bias Background (Session) — Tint by daily bias during session — Default: On — Useful for directional context.
Show Break Shapes — Print breakout triangles — Default: On — Disable if you only want lines and alerts.
Show 2R Targets (Optional) — Plot targets at two times the range — Default: On — Switch off if you manage exits differently.
Line Length Right — Extension length of drawn lines — Default: 20 (bars) — Increase for slower timeframes.
High/Low Line Colors — Visual colors for range levels — Defaults: Green/Red — Adjust to your theme.
Long/Short Bias Colors — Background tints — Defaults: Green/Red with high transparency — Lower transparency for stronger emphasis.
Show Corner Panel — Enable the info panel — Default: On — Centralizes status and numbers.
Show Hit Rates in Panel — Include success rates — Default: On — Turn off to reduce panel rows.
Panel Position — Anchor on chart — Default: Top right — Move to avoid overlap.
Panel Size — Text size in panel — Default: Small — Increase on high-resolution displays.
Dark Panel — Dark theme for the panel — Default: On — Match your chart background.
Show EMA Lines — Plot blue and red EMAs — Default: Off — Enable for SWDEMA context.
Show Midpoint Line — Plot the midpoint — Default: Off — Useful for Classic mode visualization.
Midpoint Lookback Period — Bars for high-low midpoint — Default: 300 — Larger values stabilize; smaller values respond faster.
Midpoint Line Color — Color for midpoint — Default: Gray — A neutral line works best.
SWDEMA Lengths (Blue/Red) — Periods for the two EMAs — Defaults: 144 and 312 — Longer values reduce flips.
Sources (Blue/Red) — Price sources — Defaults: Close and HLC3 — Adjust if you prefer consistency.
Offsets (Blue/Red) — Pixel offsets for EMA plots — Defaults: zero — Use only for visual shift.
Show Latched Regime Background — Background by SWDEMA regime — Default: Off — Separate from session bias.
Latched Background Transparency — Opacity of regime background — Default: eighty-eight — Lower value for stronger tint.
Show Latch Switch Markers — Plot regime change markers — Default: Off — For auditing regime changes.
Bias Mode — Classic midpoint or SWDEMA latch — Default: Classic — Choose per your style.
Background Mode — Session bias or SWDEMA regime — Default: Session — Decide which background narrative you want.
Reading & Interpretation
Panel: Shows the active bias, first-five high and low, and a state that reads Building during the window, Ready once frozen, and Break arrows when a breakout occurs. Hit rates show the percentage of days where each bias mode aligned with the midday move.
Colors and shapes: Green background implies long bias; red implies short bias. Triangle markers denote the first valid breakout after the first-five window. Optional regime markers flag regime changes.
Lines: First-five high and low form the core structure. Optional targets mark a level at two times the frozen range from the breakout side.
Practical Workflows & Combinations
Trend following: Choose a bias mode. Wait for the first clean breakout after the first-five window in the direction of the bias. Confirm with structure such as higher highs and higher lows or lower highs and lower lows.
Exits and risk: Conservative users can trail behind the opposite side of the first-five range. Aggressive users can scale near the two-times-range target.
Multi-asset and multi-TF: Works well on intraday timeframes from one minute upward. For non-US sessions, adjust the time inputs to the instrument’s regular trading hours.
Behavior, Constraints & Performance
Repaint and confirmation: Bias and regime decisions use confirmed bars. Breakout signals evaluate on bar close at the chart timeframe. On higher timeframes, minute-based sources update within the live bar until the minute closes.
security and HTF: The script samples one-minute data. Lookahead is off. Values stabilize once the source minute closes.
Resources: `max_bars_back` is five thousand. Drawing objects and the panel update efficiently, with position extensions handled on the last bar.
Known limits: Midday statistics use the configured time, not the official daily close. Session logic assumes New York session timing. Targets are simple multiples of the first-five range and do not adapt to volatility beyond that structure.
Sensible Defaults & Quick Tuning
Start with Classic bias, midpoint lookback at three hundred, and all visuals on.
Too many flips in context → switch to SWDEMA mode or increase EMA lengths.
Breakouts feel noisy → extend the first-five end by a minute or two, or wait for a retest by your own rules.
Too sluggish → reduce midpoint lookback or shorten EMA lengths.
Chart cluttered → hide EMA or midpoint lines and keep only range levels and breakout shapes.
What this indicator is—and isn’t
This is a visualization and signal layer for session bias and first-five structure. It does not manage orders, position sizing, or risk. It is not predictive. Use it alongside market structure, execution rules, and independent risk controls.
Disclaimer
The content provided, including all code and materials, is strictly for educational and informational purposes only. It is not intended as, and should not be interpreted as, financial advice, a recommendation to buy or sell any financial instrument, or an offer of any financial product or service. All strategies, tools, and examples discussed are provided for illustrative purposes to demonstrate coding techniques and the functionality of Pine Script within a trading context.
Any results from strategies or tools provided are hypothetical, and past performance is not indicative of future results. Trading and investing involve high risk, including the potential loss of principal, and may not be suitable for all individuals. Before making any trading decisions, please consult with a qualified financial professional to understand the risks involved.
By using this script, you acknowledge and agree that any trading decisions are made solely at your discretion and risk.
Do not use this indicator on Heikin-Ashi, Renko, Kagi, Point-and-Figure, or Range charts, as these chart types can produce unrealistic results for signal markers and alerts.
Best regards and happy trading
Chervolino
Many thanks to LonesomeTheBlue
for the original work. I adapted the midpoint calculation for this script. www.tradingview.com
[LTS] Marubozu Candle StrategyOVERVIEW
The Marubozu Candle Strategy identifies and trades wickless candles (Marubozu patterns) with dynamic take-profit and stop-loss levels based on market volatility. This indicator combines traditional Japanese candlestick pattern recognition with modern volatility-adjusted risk management and includes a comprehensive performance tracking dashboard.
A Marubozu candle is a powerful continuation pattern characterized by the complete absence of wicks on one side, indicating strong directional momentum. This strategy specifically detects:
- Bullish Marubozu: Close > Open AND Low = Open (no lower wick)
- Bearish Marubozu: Close < Open AND High = Open (no upper wick)
When price returns to test these levels, the indicator generates trading signals with predefined risk-reward parameters.
CORE METHODOLOGY
Detection Logic:
The script scans each bar for Marubozu formations using precise price comparisons. When a wickless candle appears, a horizontal line extends from the opening price, marking it as a potential support (bullish) or resistance (bearish) level. These levels remain active until price touches them or until the maximum line limit is reached.
EMA Filter (Optional):
An exponential moving average filter enhances signal quality by requiring proper trend alignment. For bullish signals, price must be above the EMA when touching the level. For bearish signals, price must be below the EMA. This filter reduces counter-trend trades and improves win rates in trending markets. Users can disable this filter for range-bound conditions.
Dynamic Risk Management:
The strategy employs ATR-based (Average True Range) position sizing rather than fixed point values. This approach adapts to market volatility automatically:
- In low volatility: Tighter stops and targets
- In high volatility: Wider stops and targets proportional to market movement
Default settings use a 2:1 reward-to-risk ratio (1x ATR for take-profit, 0.5x ATR for stop-loss), but users can adjust these multipliers to match their trading style.
HOW IT WORKS
Step 1 - Pattern Detection:
On each bar, the indicator evaluates whether the candle qualifies as a Marubozu by comparing the high, low, open, and close prices. When detected, the opening price becomes the key level.
Step 2 - Level Management:
Horizontal lines extend from each Marubozu's opening price. The indicator maintains two separate arrays: one for unbroken levels (actively extending) and one for broken levels (historical reference). Users can configure how many of each type to display, preventing chart clutter while maintaining relevant context.
Step 3 - Signal Generation:
When price returns to touch a Marubozu level, the indicator evaluates the EMA filter condition. If the filter passes (or is disabled), the script draws TP/SL boxes showing the expected profit and loss zones based on current ATR values.
Step 4 - Trade Tracking:
Each valid signal enters the tracking system, which monitors subsequent price action to determine outcomes. The script identifies whether the take-profit or stop-loss was hit first (discarding trades where both trigger on the same candle to avoid ambiguous results).
PERFORMANCE DASHBOARD
The integrated dashboard provides real-time strategy analytics to automatically convert results to dollar values for any instrument:
Tracked Metrics:
- Total Trades: Complete count of closed positions
- Wins/Losses: Individual counts with color coding
- Win Rate: Success percentage with dynamic color (green >= 50%, red < 50%)
- Total P&L: Cumulative profit/loss in dollars
- Avg Win: Mean dollar amount per winning trade
- Avg Loss: Mean dollar amount per losing trade
NOTE: The dollar values shown in the dashboard are for trading only a single share/contract/etc. You will need to manually multiply those numbers by the amount of shares/contracts you are trading to get a true value.
The dollar conversion works automatically across all markets:
- Futures contracts (ES, NQ, CL, etc.) use their contract specifications
- Forex pairs use standard lot calculations
- Stocks and crypto use their respective point values
This eliminates manual calculation and provides immediate performance feedback in meaningful currency terms.
CUSTOMIZATION OPTIONS
ATR Settings:
- ATR Period: Lookback length for volatility calculation (default: 14)
- TP Multiplier: Take-profit distance as multiple of ATR (default: 3.0)
- SL Multiplier: Stop-loss distance as multiple of ATR (default: 1.5)
EMA Settings:
- EMA Length: Period for trend filter calculation (default: 9)
- Use EMA Filter: Toggle trend confirmation requirement (default: enabled)
Visual Settings:
- Bullish Color: Color for long signals and wins (default: green)
- Bearish Color: Color for short signals and losses (default: red)
- EMA Color: Color for trend filter line (default: orange)
- Line Width: Thickness of Marubozu level lines (1-5, default: 2)
- EMA Width: Thickness of EMA line (1-5, default: 2)
Line Management:
- Max Unbroken Lines: Limit for active extending lines (default: 10)
- Max Broken Lines: Limit for historical touched lines (default: 5)
Dashboard Settings:
- Show Dashboard: Toggle performance display on/off
- Dashboard Position: Corner placement (4 options)
- Dashboard Size: Text size selection (Tiny/Small/Normal/Large)
HOW TO USE
1. Add the indicator to your chart
2. Adjust ATR multipliers based on your risk tolerance (higher values = more conservative)
3. Configure the EMA filter based on market conditions (enable for trending, disable for ranging)
4. Set line limits to match your visual preference and chart timeframe
5. Monitor the dashboard to track strategy performance in real-time
6. Use the TP/SL boxes as reference levels for manual trades or automation
Best Practices:
- Enable EMA filter in strongly trending markets
- Disable EMA filter if you want more trade signals but at lower quality
- Increase ATR multipliers in highly volatile markets
- Decrease ATR multipliers for tighter, more frequent trades
- Review avg win/loss ratio to ensure positive expectancy
UNIQUE FEATURES
Unlike basic Marubozu detectors, this strategy provides:
1. Automatic level tracking with memory management
2. Volatility-adjusted risk parameters instead of fixed values
3. Optional trend confirmation via EMA filter
4. Real-time performance analytics with automatic dollar conversion
5. Separate tracking of wins/losses with individual averages
6. Configurable visual display to prevent chart clutter
7. Complete transparency with all logic visible in open-source code
Darvas Lines/Box1. Overview
The Darvas Lines/Box (v1.0) is a dynamic trend following indicator based on the renowned method developed by Nicolas Darvas. It's designed to identify clear price consolidation ranges and detect decisive breakouts, crucial for positional and swing trading strategies.
This indicator automatically draws and adjusts the consolidation ranges, and includes modern enhancements such as Advanced Retest Confirmation and exposed alert conditions, providing reliable signals for monitoring and acting on trend continuations.
2. Core Features
Custom Display Mode (Lines/Box): Allows the user to toggle the visualization between showing just the Breakout Lines (Lines) or displaying the consolidation area with a filled background box (Box).
Source Selection (Wicks/Body): Users can choose whether the box boundaries are defined by the candlestick wicks (price extremes) or the candlestick body (open/close price). This feature is critical for adjusting sensitivity to market noise.
Dynamic Box Drawing: Draws Darvas boxes automatically by tracking price highs and lows based on user-defined parameters (Bars to Define Range, Max Box Height).
Retest Confirmation: Detects if the old resistance/support line functions effectively after a breakout. When a retest is confirmed, the line is extended and its color changes.
Price Labels (Stable Lock): Displays the highest and lowest box prices, fixed to the left outer edge of the box. This ensures stable visibility.
Progress Labels: Visualizes the current line price and the percentage distance to the closing price on the right side of the box, showing progress toward the next breakout.
3. Trading Strategy: How to Use the Indicator
This indicator is primarily used to identify trend initiation and trend continuation signals.
A. Entry Strategy (Breakout)
Long Entry Action: Consider taking a long entry when the price closes above the Upper Line (Green Line), signaled by a BULLISH BREAKOUT alert.
Signal: Use the BULLISH BREAKOUT alert.
Short Entry Action: Consider taking a short entry when the price closes below the Lower Line (Red Line), signaled by a BEARISH BREAKOUT alert.
Signal: Use the BEARISH BREAKOUT alert.
B. Retest Strategy (Add-on/Confirmation)
Action: When the price pulls back to touch the broken line (signaled by RETEST CONFIRMED), this confirms the break's validity.
Alert: The RETEST CONFIRMED alert is triggered at this moment.
C. Risk Management (General)
Stop Loss: The initial stop-loss is typically set just beyond the opposite side of the broken box. As the trend progresses and new boxes form, the lower boundary of the most recently formed box can be used as a trailing stop for managing risk.
4. Setting Parameters
Line Source (Wicks/Body): Crucial for sensitivity. 'Wicks' tracks price extremes; 'Body' tracks stronger close-to-close movements, ignoring noise.
Bars to Define Range: Defines the calculation period (in bars) for the box.
Cooldown Bars After Breakout: Sets the waiting period after a breakout before a new box can start forming.
Retest Lookback Bars (Phase 3): Sets the maximum number of bars to check for a retest during the cooldown phase.
Max Gap for Retest (%): Defines the maximum percentage distance from the line allowed to confirm a retest (Set to Zero (0.0%) for near-touch detection).
Alert Frequency (Breakout): Allows selection between Continuous and Once per Box for breakout signals.
5. Alerts: How to Set Up the Triggers
This indicator exposes several specific conditions to the TradingView alert panel, allowing you to select the exact event you want to monitor.
Step-by-Step Alert Setup:
Open the Alert Panel on the chart.
In the Condition field, select the indicator's name.
In the Alert Condition field, choose the specific event you want to monitor:
1. ANY DARVAS EVENT (Consolidated)
2. BULLISH BREAKOUT (Individual)
3. BEARISH BREAKOUT (Individual)
4. RETEST CONFIRMED (Individual)
In the Trigger field (Frequency), select your preferred native option (e.g., "Once Per Bar Close" or "Once per bar").
RSI + TSI✅ All 3 indicators in one pane
✅ RSI and RSI MA with standard zones (30, 50, 70)
✅ TSI scaled to 0–100 range for alignment with RSI
✅ Color-coded TSI fill for quick trend recognition (green = bullish, red = bearish)
✅ Compatible with TradingView v6
SMA+デマンド・オファーゾーン最強版(仮)This indicator is designed to help traders visually identify both trend direction and potential reversal zones in one glance.
📊 Key Features:
• Displays 4 SMAs (9 / 20 / 75 / 200) simultaneously
• Automatically detects and plots Demand Zones (green) and Supply Zones (red) based on recent swing highs and lows
• Shows ▲ Golden Cross and ▼ Dead Cross markers when SMA 9 crosses SMA 20
• Built-in alert conditions for SMA crossovers and zone breakouts
💡 How to Use:
Use SMA direction and alignment to confirm the trend, and watch for Supply/Demand zones and cross signals as potential reversal or breakout setups.
Perfect for spotting pullbacks and identifying confluence zones between trend and structure.
⚙️ Customization:
• Adjustable SMA lengths, colors, and line widths
• Modify pivot length to fine-tune zone sensitivity
✅ Built with Pine Script v5
✅ Works on FX, Stocks, Crypto, and Indices
Author’s Note:
I created this indicator to combine trend-following tools with supply-demand logic in a clean and intuitive way.
Even beginners can easily visualize where reactions or breakouts are likely to happen.
If you find this script helpful, please give it a ❤️ and follow for more updates!
Hidden Impulse═══════════════════════════════════════════════════════════════════
HIDDEN IMPULSE - Multi-Timeframe Momentum Detection System
═══════════════════════════════════════════════════════════════════
OVERVIEW
Hidden Impulse is an advanced momentum oscillator that combines the Schaff Trend Cycle (STC) and Force Index into a comprehensive multi-timeframe trading system. Unlike standard implementations of these indicators, this script introduces three distinct trading setups with specific entry conditions, multi-timeframe confirmation, and trend filtering.
═══════════════════════════════════════════════════════════════════
ORIGINALITY & KEY FEATURES
This indicator is original in the following ways:
1. DUAL-TIMEFRAME STC ANALYSIS
Standard STC implementations work on a single timeframe. This script
simultaneously analyzes STC on both your trading timeframe and a higher
timeframe, providing trend context and filtering out low-probability signals.
2. FORCE INDEX INTEGRATION
The script combines STC with Force Index (volume-weighted price momentum)
to confirm the strength behind price moves. This combination helps identify
when momentum shifts are backed by genuine buying/selling pressure.
3. THREE DISTINCT TRADING SETUPS
Rather than generic overbought/oversold signals, the indicator provides
three specific, rule-based setups:
- Setup A: Classic trend-following entries with multi-timeframe confirmation
- Setup B: Divergence-based reversal entries (highest probability)
- Setup C: Mean-reversion bounce trades at extreme levels
4. INTELLIGENT FILTERING
All signals are filtered through:
- 50 EMA trend direction (prevents counter-trend trades)
- Higher timeframe STC alignment (ensures macro trend agreement)
- Force Index confirmation (validates volume support)
═══════════════════════════════════════════════════════════════════
HOW IT WORKS - TECHNICAL EXPLANATION
SCHAFF TREND CYCLE (STC) CALCULATION:
The STC is a cyclical oscillator that combines MACD concepts with stochastic
smoothing to create earlier and smoother trend signals.
Step 1: Calculate MACD
- Fast MA = EMA(close, Length1) — default 23
- Slow MA = EMA(close, Length2) — default 50
- MACD Line = Fast MA - Slow MA
Step 2: First Stochastic Smoothing
- Apply stochastic calculation to MACD
- Stoch1 = 100 × (MACD - Lowest(MACD, Smoothing)) / (Highest(MACD, Smoothing) - Lowest(MACD, Smoothing))
- Smooth result with EMA(Stoch1, Smoothing) — default 10
Step 3: Second Stochastic Smoothing
- Apply stochastic calculation again to the smoothed stochastic
- This creates the final STC value between 0-100
The dual stochastic smoothing makes STC more responsive than MACD while
being smoother than traditional stochastics.
FORCE INDEX CALCULATION:
Force Index measures the power behind price movements by incorporating volume:
Force Raw = (Close - Close ) × Volume
Force Index = EMA(Force Raw, Period) — default 13
Interpretation:
- Positive Force Index = Buying pressure (bulls in control)
- Negative Force Index = Selling pressure (bears in control)
- Force Index crossing zero = Momentum shift
- Divergences with price = Weakening momentum (reversal signal)
TREND FILTER:
A 50-period EMA serves as the trend filter:
- Price above EMA50 = Uptrend → Only LONG signals allowed
- Price below EMA50 = Downtrend → Only SHORT signals allowed
This prevents counter-trend trading which accounts for most losing trades.
═══════════════════════════════════════════════════════════════════
THE THREE TRADING SETUPS - DETAILED
SETUP A: CLASSIC MOMENTUM ENTRY
Concept: Enter when STC exits oversold/overbought zones with trend confirmation
LONG CONDITIONS:
1. Higher timeframe STC > 25 (macro trend is up)
2. Primary timeframe STC crosses above 25 (momentum turning up)
3. Force Index crosses above 0 OR already positive (volume confirms)
4. Price above 50 EMA (local trend is up)
SHORT CONDITIONS:
1. Higher timeframe STC < 75 (macro trend is down)
2. Primary timeframe STC crosses below 75 (momentum turning down)
3. Force Index crosses below 0 OR already negative (volume confirms)
4. Price below 50 EMA (local trend is down)
Best for: Trending markets, continuation trades
Win rate: Moderate (60-65%)
Risk/Reward: 1:2 to 1:3
───────────────────────────────────────────────────────────────────
SETUP B: DIVERGENCE REVERSAL (HIGHEST PROBABILITY)
Concept: Identify exhaustion points where price makes new extremes but
momentum (Force Index) fails to confirm
BULLISH DIVERGENCE:
1. Price makes a lower low (LL) over 10 bars
2. Force Index makes a higher low (HL) — refuses to follow price down
3. STC is below 25 (oversold condition)
Trigger: STC starts rising AND Force Index crosses above zero
BEARISH DIVERGENCE:
1. Price makes a higher high (HH) over 10 bars
2. Force Index makes a lower high (LH) — refuses to follow price up
3. STC is above 75 (overbought condition)
Trigger: STC starts falling AND Force Index crosses below zero
Why this works: Divergences signal that the current trend is losing steam.
When volume (Force Index) doesn't confirm new price extremes, a reversal
is likely.
Best for: Reversal trading, range-bound markets
Win rate: High (70-75%)
Risk/Reward: 1:3 to 1:5
───────────────────────────────────────────────────────────────────
SETUP C: QUICK BOUNCE AT EXTREMES
Concept: Catch rapid mean-reversion moves when price touches EMA50 in
extreme STC zones
LONG CONDITIONS:
1. Price touches 50 EMA from above (pullback in uptrend)
2. STC < 15 (extreme oversold)
3. Force Index > 0 (buyers stepping in)
SHORT CONDITIONS:
1. Price touches 50 EMA from below (pullback in downtrend)
2. STC > 85 (extreme overbought)
3. Force Index < 0 (sellers stepping in)
Best for: Scalping, quick mean-reversion trades
Win rate: Moderate (55-60%)
Risk/Reward: 1:1 to 1:2
Note: Use tighter stops and quick profit-taking
═══════════════════════════════════════════════════════════════════
HOW TO USE THE INDICATOR
STEP 1: CONFIGURE TIMEFRAMES
Primary Timeframe (STC - Primary Timeframe):
- Leave empty to use your current chart timeframe
- This is where you'll take trades
Higher Timeframe (STC - Higher Timeframe):
- Default: 30 minutes
- Recommended ratios:
* 5min chart → 30min higher TF
* 15min chart → 1H higher TF
* 1H chart → 4H higher TF
* Daily chart → Weekly higher TF
───────────────────────────────────────────────────────────────────
STEP 2: ADJUST STC PARAMETERS FOR YOUR MARKET
Default (23/50/10) works well for stocks and forex, but adjust for:
CRYPTO (volatile):
- Length 1: 15
- Length 2: 35
- Smoothing: 8
(Faster response for rapid price movements)
STOCKS (standard):
- Length 1: 23
- Length 2: 50
- Smoothing: 10
(Balanced settings)
FOREX MAJORS (slower):
- Length 1: 30
- Length 2: 60
- Smoothing: 12
(Filters out noise in 24/7 markets)
───────────────────────────────────────────────────────────────────
STEP 3: ENABLE YOUR PREFERRED SETUPS
Toggle setups based on your trading style:
Conservative Trader:
✓ Setup B (Divergence) — highest win rate
✗ Setup A (Classic) — only in strong trends
✗ Setup C (Bounce) — too aggressive
Trend Trader:
✓ Setup A (Classic) — primary signals
✓ Setup B (Divergence) — for entries on pullbacks
✗ Setup C (Bounce) — not suitable for trending
Scalper:
✓ Setup C (Bounce) — quick in-and-out
✓ Setup B (Divergence) — high probability scalps
✗ Setup A (Classic) — too slow
───────────────────────────────────────────────────────────────────
STEP 4: READ THE SIGNALS
ON THE CHART:
Labels appear when conditions are met:
Green labels:
- "LONG A" — Setup A long entry
- "LONG B DIV" — Setup B divergence long (best signal)
- "LONG C" — Setup C bounce long
Red labels:
- "SHORT A" — Setup A short entry
- "SHORT B DIV" — Setup B divergence short (best signal)
- "SHORT C" — Setup C bounce short
IN THE INDICATOR PANEL (bottom):
- Blue line = Primary timeframe STC
- Orange dots = Higher timeframe STC (optional)
- Green/Red bars = Force Index histogram
- Dashed lines at 25/75 = Entry/Exit zones
- Background shading = Oversold (green) / Overbought (red)
INFO TABLE (top-right corner):
Shows real-time status:
- STC values for both timeframes
- Force Index direction
- Price position vs EMA
- Current trend direction
- Active signal type
═══════════════════════════════════════════════════════════════════
TRADING STRATEGY & RISK MANAGEMENT
ENTRY RULES:
Priority ranking (best to worst):
1st: Setup B (Divergence) — wait for these
2nd: Setup A (Classic) — in confirmed trends only
3rd: Setup C (Bounce) — scalping only
Confirmation checklist before entry:
☑ Signal label appears on chart
☑ TREND in info table matches signal direction
☑ Higher timeframe STC aligned (check orange dots or table)
☑ Force Index confirming (check histogram color)
───────────────────────────────────────────────────────────────────
STOP LOSS PLACEMENT:
Setup A (Classic):
- LONG: Below recent swing low
- SHORT: Above recent swing high
- Typical: 1-2 ATR distance
Setup B (Divergence):
- LONG: Below the divergence low
- SHORT: Above the divergence high
- Typical: 0.5-1.5 ATR distance
Setup C (Bounce):
- LONG: 5-10 pips below EMA50
- SHORT: 5-10 pips above EMA50
- Typical: 0.3-0.8 ATR distance
───────────────────────────────────────────────────────────────────
TAKE PROFIT TARGETS:
Conservative approach:
- Exit when STC reaches opposite level
- LONG: Exit when STC > 75
- SHORT: Exit when STC < 25
Aggressive approach:
- Hold until opposite signal appears
- Trail stop as STC moves in your favor
Partial profits:
- Take 50% at 1:2 risk/reward
- Let remaining 50% run to target
───────────────────────────────────────────────────────────────────
WHAT TO AVOID:
❌ Trading Setup A in sideways/choppy markets
→ Wait for clear trend or use Setup B only
❌ Ignoring higher timeframe STC
→ Always check orange dots align with your direction
❌ Taking signals against the major trend
→ If weekly trend is down, be cautious with longs
❌ Overtrading Setup C
→ Maximum 2-3 bounce trades per session
❌ Trading during low volume periods
→ Force Index becomes unreliable
═══════════════════════════════════════════════════════════════════
ALERTS CONFIGURATION
The indicator includes 8 alert types:
Individual setup alerts:
- "Setup A - LONG" / "Setup A - SHORT"
- "Setup B - DIV LONG" / "Setup B - DIV SHORT" ⭐ recommended
- "Setup C - BOUNCE LONG" / "Setup C - BOUNCE SHORT"
Combined alerts:
- "ANY LONG" — fires on any long signal
- "ANY SHORT" — fires on any short signal
Recommended alert setup:
- Create "Setup B - DIV LONG" and "Setup B - DIV SHORT" alerts
- These are the highest probability signals
- Set "Once Per Bar Close" to avoid false alerts
═══════════════════════════════════════════════════════════════════
VISUALIZATION SETTINGS
Show Labels on Chart:
Toggle on/off the signal labels (green/red)
Disable for cleaner chart once you're familiar with the indicator
Show Higher TF STC:
Toggle the orange dots showing higher timeframe STC
Useful for visual confirmation of multi-timeframe alignment
Info Panel:
Cannot be disabled — always shows current status
Positioned top-right to avoid chart interference
═══════════════════════════════════════════════════════════════════
EXAMPLE TRADE WALKTHROUGH
SETUP B DIVERGENCE LONG EXAMPLE:
1. Market Context:
- Price in downtrend, below 50 EMA
- Multiple lower lows forming
- STC below 25 (oversold)
2. Divergence Formation:
- Price makes new low at $45.20
- Force Index refuses to make new low (higher low forms)
- This indicates selling pressure weakening
3. Signal Trigger:
- STC starts turning up
- Force Index crosses above zero
- Label appears: "LONG B DIV"
4. Trade Execution:
- Entry: $45.50 (current price at signal)
- Stop Loss: $44.80 (below divergence low)
- Target 1: $47.90 (STC reaches 75) — risk/reward 1:3.4
- Target 2: Opposite signal or trail stop
5. Trade Management:
- Price rallies to $47.20
- STC reaches 68 (approaching target zone)
- Take 50% profit, move stop to breakeven
- Exit remaining at $48.10 when STC crosses 75
Result: 3.7R gain
═══════════════════════════════════════════════════════════════════
ADVANCED TIPS
1. MULTI-TIMEFRAME CONFLUENCE
For highest probability trades, wait for:
- Primary TF signal
- Higher TF STC aligned (>25 for longs, <75 for shorts)
- Even higher TF trend in same direction (manual check)
2. VOLUME CONFIRMATION
Watch the Force Index histogram:
- Increasing bar size = Strengthening momentum
- Decreasing bar size = Weakening momentum
- Use this to gauge signal strength
3. AVOID THESE MARKET CONDITIONS
- Major news events (Force Index becomes erratic)
- Market open first 30 minutes (volatility spikes)
- Low liquidity instruments (Force Index unreliable)
- Extreme trending days (wait for pullbacks)
4. COMBINE WITH SUPPORT/RESISTANCE
Best signals occur near:
- Key horizontal levels
- Fibonacci retracements
- Previous day's high/low
- Psychological round numbers
5. SESSION AWARENESS
- Asia session: Use lower timeframes, Setup C works well
- London session: Setup A and B both effective
- New York session: All setups work, highest volume
═══════════════════════════════════════════════════════════════════
INDICATOR WINDOWS LAYOUT
MAIN CHART:
- Price action
- 50 EMA (green/red)
- Signal labels
- Info panel
INDICATOR WINDOW:
- STC oscillator (blue line, 0-100 scale)
- Higher TF STC (orange dots, optional)
- Force Index histogram (green/red bars)
- Reference levels (25, 50, 75)
- Background zones (green oversold, red overbought)
═══════════════════════════════════════════════════════════════════
PERFORMANCE OPTIMIZATION
For best results:
Backtesting:
- Test on your specific instrument and timeframe
- Adjust STC parameters if win rate < 55%
- Record which setup works best for your market
Position Sizing:
- Risk 1-2% per trade
- Setup B can use 2% risk (higher win rate)
- Setup C should use 1% risk (lower win rate)
Trade Frequency:
- Setup B: 2-5 signals per week (be patient)
- Setup A: 5-10 signals per week
- Setup C: 10+ signals per week (scalping)
═══════════════════════════════════════════════════════════════════
CREDITS & REFERENCES
This indicator builds upon established technical analysis concepts:
Schaff Trend Cycle:
- Developed by Doug Schaff (1996)
- Original concept published in Technical Analysis of Stocks & Commodities
- Implementation based on standard STC formula
Force Index:
- Developed by Dr. Alexander Elder
- Described in "Trading for a Living" (1993)
- Classic volume-momentum indicator
The multi-timeframe integration, three-setup system, and specific
entry conditions are original contributions of this indicator.
═══════════════════════════════════════════════════════════════════
DISCLAIMER
This indicator is a technical analysis tool and does not guarantee profits.
Past performance is not indicative of future results. Always:
- Use proper risk management
- Test on demo account first
- Combine with fundamental analysis
- Never risk more than you can afford to lose
═══════════════════════════════════════════════════════════════════
SUPPORT & QUESTIONS
If you find this indicator helpful, please:
- Leave a like and comment
- Share your feedback and results
- Report any bugs or issues
For questions about usage or optimization for specific markets,
feel free to comment below.
═════════════════════════════════════════════════════════════
jjjjjjjjExplanation of the Script
Bullish and Bearish Candles: The function isBullishOrderBlock() checks if a candle is "bullish" in nature (based on body size to range ratio). Similarly, isBearishOrderBlock() checks for bearish candles.
Order Block Length and Threshold: length is the number of bars to scan for an order block, and threshold sets how strong a candle needs to be to be considered an order block.
Detection: The loop searches backward through the bars to find strong bullish and bearish order blocks, marking the price points where the strong moves happened.
Plotting: The plotshape() function is used to plot arrows or labels on the chart to mark where bullish or bearish order blocks are identified.
Improving and Customizing
Highlighting Blocks: Instead of just marking a point, you can plot horizontal boxes or shaded regions using box.new() to visually highlight the order block zone.
Use of Different Timeframes: You can modify the script to look for order blocks across multiple timeframes to increase accuracy.
Complex Rules: Depending on your strategy, you may want to add additional rules, such as looking for price to return to the order block area before confirming the strength of the block.
Granny Strategy [rdjxyz]This is the Granny Strategy, as described on TG Capital's Sunday Service stream .
Definitions
C0 - Candle 0 - the candle where the FVG start is plotted
C1 - Candle 1 - the candle that drives the FVG
C2 - Candle 2 - the candle where the FVG end is plotted
C3 - Candle 3 - the entry candle (assuming all criteria are met)
👵🏻 - Valid setup
🤡 - Invalid setup
The Setup
*As described on the stream.
*Look for longs when price is above 50 EMA; look for shorts when price is below the 50 EMA.
FVG is printed
C2 sweeps the low of C1 and closes bullish (for longs) or sweeps the high of C1 and closes bearish (for shorts)
C3 inverts FVG and closes below C1 open (for longs) or above C1 open (for shorts)
If criteria above is met, position is entered on the close of C3 with stop loss at the low of C3 (for longs) or high of C3 (for shorts)
Inputs
Time Window Filter - only look for setups within a certain range of time
EMA length - original strategy calls for 50
Stop loss offset - ticks to offset stop loss from low (for longs) / high (for shorts) of C3
Risk:Reward ratio - take profit as a multiple of the stop loss size from entry
Break even stop loss - optional, move stop loss to break even after price reaches a specific R:R; e.g. once price hits 1:1 R:R, move stop loss to break even
Exception Inputs
Allow some exceptions to the rigid rules
Select which candle in the sequence the EMA filter is applied to (can produce different results)
Disable EMA bias filter (will find shorts when price is above EMA and longs when price is below)
Allow C3 to close inside of FVG (instead of completely inverting it)
Allow C3 to close above C1 open (for longs) or below C1 open (for shorts)
Allow C2 to close opposite of setup direction; e.g. if long, C2 is allowed to close as a bearish candle instead of bullish candle
Play around with the different settings on various timeframes and instruments to find rules that work best for your strategy goals. Or just use it to find valid vs. invalid setups historically.
Will be working on adding a trailing stop loss.
Leave a comment with any bugs or ideas you have to improve the strategy.
IMPORTANT
Adjust account size, position size, commissions, etc in the properties tab for accurate results!
ChadAnt- Ray to 2nd Fractal Time buy/sell strategyUsing Williams Fractals and adding rays that extend to the second fractal after a high/low looking for an entry
CHOCH + FVG Signals [30m Optimized]CHOCH + FVG Signals
🎯 What It Does:
This script automatically scans your chart for high-probability Smart Money Concepts (SMC) setups based on two key institutional trading principles:
Change of Character (CHOCH) – A shift in market structure signaling potential reversal
Fair Value Gap (FVG) – An imbalance zone where price moved too fast, often acting as support/resistance
When both conditions align, the script plots clear Buy (▲) and Sell (▼) signals directly on your chart — ideal for intraday trading on the 30-minute timeframe (but works on any timeframe).
✅ Key Features:
🔹 Visual Fair Value Gaps
Green shaded zones = Bullish FVGs (potential support)
Red shaded zones = Bearish FVGs (potential resistance)
Toggle on/off in settings
🔹 Smart CHOCH Detection
Detects breaks of recent swing highs/lows with proper context
Avoids false signals by confirming prior price structure
🔹 Clear Trade Signals
Green ▲ below bar = Buy signal (Bullish CHOCH + FVG confluence)
Red ▼ above bar = Sell signal (Bearish CHOCH + FVG confluence)
🔹 Customizable Filters
Option to require FVG for a signal (recommended for higher accuracy)
Adjust sensitivity via swing detection settings (default optimized for 30m)
🔹 Alert-Ready
Built-in alert conditions for instant notifications on TradingView mobile/desktop
⚙️ How to Use:
Apply to a 30-minute chart (e.g., EURUSD, Gold, NAS100, BTC)
Wait for at least 50–100 bars to load (so swing points appear)
Look for:
A green triangle (▲) → consider long entry near FVG support
A red triangle (▼) → consider short entry near FVG resistance
Confirm with price action: Wait for a strong candle close or rejection at the FVG zone
Use stop-loss below/above the FVG and target recent liquidity pools
💡 Pro Tip: Best used during high-volume sessions (e.g., London Open 7–10 AM UTC, NY Open 12:30–3:30 PM UTC).
🛠️ Settings (Inputs):
Show Fair Value Gaps
✅ Enabled
Visualize FVG zones
Max FVG History
100 bars
Prevent chart clutter
Require FVG for Signal?
✅ Enabled
Higher-quality setups (disable to test CHOCH-only)
⚠️ Important Notes:
This is a signal generator, not financial advice. Always manage risk.
Works best in trending or breaking markets — avoid during low-volatility ranges.
FVGs may get filled (tested) before price continues — patience improves results.
Backtest on historical data before live trading.
📣 Ideal For:
Retail traders learning Smart Money Concepts (SMC)
Price action traders seeking institutional-level confluence
Intraday scalpers & swing traders on 30m–1H timeframes
Dynamic S/R# Complete Parameter Guide
## 1. Lookback Bars (Default: 500)
- **Function**: Number of historical bars the script analyzes to identify levels
- **Example**: If set to 500, the script examines the last 500 candles
- **Increase when**: Trading long-term, searching for old historical levels
- **Decrease when**: Day trading or short-term trading, viewing only recent levels
- **Recommendation**: 200-300 for day trading, 500-1000 for swing trading
## 2. Min Touches (Default: 3)
- **Function**: Minimum number of touches required for a level to be considered valid
- **Example**: If set to 3, a level with only 2 touches will not be displayed
- **Increase (4-5) when**: You want only very strong and confirmed levels
- **Decrease (2) when**: You want to identify potential levels early
- **Recommendation**: 3 is a balanced value - not too loose, not too strict
## 3. Extrema Type (Default: both)
- **Function**: Which type of extrema to identify
- **Options**:
- **min**: Support levels only (pivot lows)
- **max**: Resistance levels only (pivot highs)
- **both**: Both types
- **When to change**:
- In uptrend looking for support only: select "min"
- In downtrend looking for resistance only: select "max"
## 4. Pivot Window (Default: 5)
- **Function**: How many bars on each side are required to confirm a pivot
- **Technical explanation**: pivot low = price lower than 5 bars before it and 5 bars after it
- **Increase (7-10) when**:
- More significant extrema needed
- Less noise, fewer levels
- Good for higher timeframes
- **Decrease (3-4) when**:
- More sensitivity needed
- More levels wanted
- Good for scalping
- **Important**: Higher value = quality over quantity
## 5. Clustering Sensitivity % (Default: 0.5%)
- **Function**: Percentage deviation allowed to group touches into the same level
- **Example**: If level at $100 and sensitivity 0.5%, touches between $99.5-$100.5 count as same level
- **Increase (1-2%) when**:
- Volatile assets (crypto, small stocks)
- More consolidation of nearby levels
- Fewer levels on chart
- **Decrease (0.2-0.3%) when**:
- Stable assets (indices, forex majors)
- Higher precision needed
- Separation between close levels
- **Recommendation**: Start at 0.5% and adjust per instrument
## 6. Max Levels to Show (Default: 10)
- **Function**: Maximum number of support/resistance lines displayed on chart
- **Selection criteria**: Script prioritizes levels by:
1. Number of touches (more = stronger)
2. Price spread (tighter = more accurate)
3. Recency (most recent touch closer to present)
- **Low value (5-10)**: Clean chart with only strongest levels
- **High value (20-50)**: More options, including weaker levels
## 7. Min Bar Separation (Default: 5)
- **Function**: Minimum distance in bars between two touches of the same type (min or max)
- **Why important**: Prevents double-counting the same extremum
- **Example**: If pivot low at bar 100 and another at bar 103, only one counts
- **Increase (10-20) when**:
- Lower timeframes with much noise
- Avoiding false consolidation
- **Decrease (2-3) when**:
- Higher timeframes
- Identifying quick movements
## 8. Alert Proximity % (Default: 1%)
- **Function**: Distance from level at which to trigger alert
- **Example**: Level at $100, proximity 1% = alert between $99-$101
- **Increase (2-3%) when**:
- Earlier alerts wanted
- More preparation time needed
- May create false alerts
- **Decrease (0.5%) when**:
- More precise alerts wanted
- Stronger confirmation needed
- Less reaction time
- **Recommendation**: 1% works well for most cases
## 9. Show Price Bands (Default: true)
- **Function**: Displays zone around level instead of just a line
- **Zone size**: Plus/minus Clustering Sensitivity %
- **Why useful**:
- Levels are never exact lines
- Zone better represents reality
- Helps identify entries and exits within zone
- **Off**: Cleaner chart with only lines
## 10. Show Info Table (Default: true)
- **Function**: Displays information table in chart corner
- **Table contents**:
- Type: S (Support) / R (Resistance) / N (Neutral)
- Price: Level price
- Touches: Number of touches
- Bars Ago: How many bars since last touch
- **Off**: If you know the levels and want a clean chart
## Recommended Settings by Trading Style:
### Day Trading (Intraday)
```
Lookback Bars: 200-300
Min Touches: 2-3
Pivot Window: 3-5
Sensitivity: 0.3-0.5%
Max Levels: 5-8
```
### Swing Trading (Days-Weeks)
```
Lookback Bars: 500-800
Min Touches: 3-4
Pivot Window: 5-7
Sensitivity: 0.5-1%
Max Levels: 10-15
```
### Position Trading (Months)
```
Lookback Bars: 1000-2000
Min Touches: 4-5
Pivot Window: 7-10
Sensitivity: 1-2%
Max Levels: 8-12
```
**Important tip**: Start with default values and adjust gradually based on the asset and results.
Indian Gold Festival Dates HistoricalIndian Gold Festival Dates (1975-2025)
Marks 8 major Indian festivals associated with gold buying over 50 years of historical data. Essential for analyzing seasonal patterns and cultural demand cycles in gold markets.
Festivals Included:
Dhanteras (Gold) - Most auspicious gold buying day
Diwali (Orange) - Festival of Lights
Akshaya Tritiya (Green) - "Never-ending" prosperity
Dussehra (Red) - Victory and success
Makar Sankranti (Cyan) - Solar new year
Gudi Padwa (Magenta) - Hindu New Year (Maharashtra)
Ugadi (Purple) - Hindu New Year (South India)
Navratri (Yellow) - 9-day festival
Features:
✓ 408 exact historical dates (1975-2025)
✓ Color-coded vertical lines for easy identification
✓ Toggle individual festivals on/off
✓ Adjustable line width and labels
✓ Works on all timeframes (best on daily/weekly)
Perfect for traders analyzing gold seasonality, Indian market sentiment, and cultural demand patterns. Use on XAUUSD, GC1!, or Indian gold futures.
TR ADR/AWR/AMR (with 25%, 50%, 75%) - RodolfoThis script uses the TR ADR/AWR/AMR indicator code and only the 25 and 75% levels for all 3 volatilities
saodisengxiaoyu-lianghua-2.1- This indicator is a modular, signal-building framework designed to generate long and short signals by combining a chosen leading indicator with selectable confirmation filters. It runs on Pine Script version 5, overlays directly on price, and is built to be highly configurable so traders can tailor the signal logic to their market, timeframe, and trading style. It includes a dashboard to visualize which conditions are active and whether they validate a signal, and it outputs clear buy/sell labels and alert conditions so you can automate or monitor trades with confidence.
Core Design
- Leading Indicator: You choose one primary signal generator from a broad list (for example, Range Filter, Supertrend, MACD, RSI, Ichimoku, and many others). This serves as the anchor of the system and determines when a preliminary long or short setup exists.
- Confirmation Filters: You can enable additional filters that validate the leading signal before it becomes actionable. Each “respect…” input toggles a filter on or off. These filters include popular tools like EMA, 2/3 EMA crosses, RQK (Nadaraya Watson), ADX/DMI, Bollinger-based oscillators, MACD variations, QQE, Hull, VWAP, Choppiness Index, Damiani Volatility, and more.
- Signal Expiry: To avoid waiting indefinitely for confirmations, the indicator counts how many consecutive bars the leading condition holds. If confirmations do not align within a defined number of bars, the setup expires. This controls latency and helps reduce late or stale entries.
- Alternating Signals: An optional mode enforces alternation (long must follow short and vice versa), helping avoid repeated entries in the same direction without a meaningful reset.
- Aggregation Logic: The final long/short conditions are formed by combining the leading condition with all selected confirmation filters through logical conjunction. Only if all enabled filters validate the signal (within expiry constraints) does the indicator consider it a confirmed long or short.
- Visualization and Alerts: The script plots buy/sell labels at signal points, provides alert conditions for automation, and displays a compact dashboard summarizing the leading indicator’s status and each confirmation’s pass/fail result using checkmarks.
Leading Indicator Options
- The indicator includes a very large menu of leading tools, each with its own logic to determine uptrend or downtrend impulses. Highlights include:
- Range Filter: Uses a dynamic centerline and bands computed via conditional EMA/SMA and range sizing to define directional movement. It can operate in a default mode or an alternative “DW” mode.
- Rational Quadratic Kernel (RQK): Applies a kernel smoothing model (Nadaraya Watson) to detect uptrends and downtrends with a focus on noise reduction.
- Supertrend, Half Trend, SSL Channel: Classic trend-following tools that derive direction from ATR-based bands or moving average channels.
- Ichimoku Cloud and SuperIchi: Multi-component systems validating trend via cloud position, conversion/base line relationships, projected cloud, and lagging span.
- TSI (True Strength Index), DPO (Detrended Price Oscillator), AO (Awesome Oscillator), MACD, STC (Schaff Trend Cycle), QQE Mod: Momentum and cycle tools that parse direction from crossovers, zero-line behavior, and momentum shifts.
- Donchian Trend Ribbon, Chandelier Exit: Trend and exit tools that can validate breakouts or sustained trend strength.
- ADX/DMI: Measures trend strength and directional movement via +DI/-DI relationships and minimum ADX thresholds.
- RSI and Stochastic: Use crossovers, level exits, or threshold filters to gate entries based on overbought/oversold dynamics or relative strength trends.
- Vortex, Chaikin Money Flow, VWAP, Bull Bear Power, ROC, Wolfpack Id, Hull Suite: A diverse set of directional, momentum, and volume-based indicators to suit different markets and styles.
- Trendline Breakout and Range Detector: Price-behavior filters that confirm signals during breakouts or within defined ranges.
Confirmation Filters
- Each filter is optional. When enabled, it must validate the leading condition for a signal to pass. Examples:
- EMA Filter: Requires price to be above a specified EMA for longs and below for shorts, filtering signals that contradict broader trend or baseline levels.
- 2 EMA Cross and 3 EMA Cross: Enforce moving average cross conditions (fast above slow for long, the reverse for short) or a three-line stacking logic for more stringent trend alignment.
- RQK, Supertrend, Half Trend, Donchian, QQE, Hull, MACD (crossover vs. zero-line), AO (zero line or AC momentum variants), SSL: Each adds its characteristic validation pattern.
- RSI family (MA cross, exits OB/OS zones, threshold levels) plus RSI MA direction and RSI/RSI MA limits: Multiple ways to constrain signals via relative strength behavior and trajectories.
- Choppiness Index and Damiani Volatility: Prevent entries during ranging conditions or insufficient volatility; choppiness thresholds and volatility states gate the trade.
- VWAP, Volume modes (above MA, simple up/down, delta), Chaikin Money Flow: Volume and flow conditions that ensure signals happen in supportive liquidity or accumulation/distribution contexts.
- ADX/DMI thresholds: Demand a minimum trend strength and directional DI alignment to reduce whipsaw trades.
- Trendline Breakout and Range Detector: Confirm that the price is breaking structure or remains within active range consistent with the leading setup.
- By combining several filters you can create strict, conservative entries or looser setups depending on your goals.
Range Filter Engine
- A core building block, the Range Filter uses conditional EMA and SMA functions to compute adaptive bands around a dynamic centerline. It supports two types:
- Type 1: The centerline updates when price exceeds the band thresholds; bands define acceptable drift ranges.
- Type 2: Uses quantized steps (via floor operations) relative to the previous centerline to handle larger moves in discrete increments.
- The engine offers smoothing for range values using a secondary EMA and can switch between raw and averaged outputs. Its hi/lo bands and centerline compose a corridor that defines directional movement and potential breakout confirmation.
Signal Construction
- The script computes:
- leadinglongcond and leadingshortcond : The primary directional signals from the chosen leading indicator.
- longCond and shortCond : Final signals formed by combining the leading conditions with all enabled confirmations. Each confirmation contributes a boolean gate. If a filter is disabled, it contributes a neutral pass-through, keeping the logic intact without enforcing that condition.
- Expiry Logic: The code counts consecutive bars where the leading condition remains true. If confirmations do not line up within the user-defined “Signal Expiry Candle Count,” the setup is abandoned and the signal does not trigger.
- Alternation: An optional state ensures that long and short signals alternate. This can reduce repeated entries in the same direction without a clear reset.
- Finally, longCondition and shortCondition represent the actionable signals after expiry and alternation logic. These drive the label plotting and alert conditions.
Visualization
- Buy and Sell Labels: When longCondition or shortCondition confirm, the script plots annotated labels directly on the chart, making entries easy to see at a glance. The labels use color coding and clear text tags (“long” vs. “short”).
- Dashboard: A table summarizes the status of the leading indicator and all confirmations. Each row shows the indicator label and whether it passed (✔️) or failed (❌) on the current bar. This intensely practical UI helps you diagnose why a signal did or did not trigger, empowering faster strategy iteration and parameter tuning.
- Failed Confirmation Markers: If a setup expires (count exceeds the limit) and confirmations failed to align, the script can mark the chart with a small label and provide a tooltip listing which confirmations did not pass. It’s a helpful audit trail to understand missed trades or prevent “chasing” invalid signals.
- Data Window Values: The script outputs signal states to the data window, which can be useful for debugging or building composite conditions in multi-indicator templates.
Inputs and Parameters
- You control the indicator from a comprehensive input panel:
- Setup: Signal expiry count, whether to enforce alternating signals, and whether to display labels and the dashboard (including position and size).
- Leading Indicator: Choose the primary signal generator from the large list.
- Per-Filter Toggles: For each confirmation, a respect... toggle enables or disables it. Many include sub-options (like MACD type, Stochastic mode, RSI mode, ADX variants, thresholds for choppiness/volatility, etc.) to fine-tune behavior.
- Range Filter Settings: Choose type and behavior; select default vs. DW mode and smoothing. The underlying functions adjust band sizes using ATR, average change, standard deviation, or user-defined scales.
- Because everything is customizable, you can adapt the indicator to different assets, volatility regimes, and timeframes.
Alerts and Automation
- The script defines alert conditions tied to longCondition and shortCondition . You can set these alerts in your chart to trigger notifications or webhook calls for automated execution in external bots. The alert text is simple, and you can configure your own message template when creating alerts in the chart, including JSON payloads for algorithmic integration.
Typical Workflow
- Select a Leading Indicator aligned with your style. For trend following, Supertrend or SSL may be appropriate; for momentum, MACD or TSI; for range/trend-change detection, Range Filter, RQK, or Donchian.
- Add a few key Confirmation Filters that complement the leading signal. For example:
- Pair Supertrend with EMA Filter and RSI MA Direction to ensure trend alignment and positive momentum.
- Combine MACD Crossover with ADX/DMI and Volume Above MA to avoid signals in low-trend or low-liquidity conditions.
- Use RQK with Choppiness Index and Damiani Volatility to only act when the market is trending and volatile enough.
- Set a sensible Signal Expiry Candle Count. Shorter expiry keeps entries timely and reduces lag; longer expiry captures setups that mature slowly.
- Observe the Dashboard during live markets to see which filters pass or fail, then iterate. Tighten or loosen thresholds and filter combinations as needed.
- For automation, turn on alerts for the final conditions and use webhook payloads to notify your trading robot.
Strengths and Practical Notes
- Flexibility: The indicator is a toolkit rather than a single rigid model. It lets you test different combinations rapidly and visualize outcomes immediately.
- Clarity: Labels, dashboard, and failed-confirmation markers make it easy to audit behavior and refine settings without digging into code.
- Robustness: The expiry and alternation options add discipline, avoiding the temptation to enter late or repeatedly in one direction without a reset.
- Modular Design: The logical gates (“respect…”) make the behavior transparent: if a filter is on, it must pass; if it’s off, the signal ignores it. This keeps reasoning clean.
- Avoiding Overfitting: Because you can stack many filters, it’s tempting to over-constrain signals. Start simple (one leading indicator and one or two confirmations). Add complexity only if it demonstrably improves your edge across varied market regimes.
Limitations and Recommendations
- No single configuration is universally optimal. Markets change; tune filters for the instrument and timeframe you trade and revisit settings periodically.
- Trend filters can underperform in choppy markets; likewise, momentum filters can false-trigger in quiet periods. Consider using Choppiness Index or Damiani to gate signals by regime.
- Use expiry wisely. Too short may miss good setups that need a few bars to confirm; too long may cause late entries. Balance responsiveness and accuracy.
- Always consider risk management externally (position sizing, stops, profit targets). The indicator focuses on signal quality; combining it with robust trade management methods will improve results.
Example Configurations
- Trend-Following Setup:
- Leading: Supertrend uptrend for longs and downtrend for shorts.
- Confirmations: EMA Filter (price above 200 EMA for long, below for short), ADX/DMI (trend strength above threshold with +DI/-DI alignment), Volume Above MA.
- Expiry: 3–4 bars to keep entries timely.
- Result: Strong bias toward sustained moves while avoiding weak trends and thin liquidity.
- Mean-Reversion to Momentum Crossover:
- Leading: RSI exits from OB/OS zones (e.g., RSI leaves oversold for long and leaves overbought for short).
- Confirmations: 2 EMA Cross (fast crossing slow in the same direction), MACD zero-line behavior for added momentum validation.
- Expiry: 2–3 bars for responsive re-entry.
- Result: Captures momentum transitions after short-term extremes, with extra confirmation to reduce head-fakes.
- Range Breakout Focus:
- Leading: Range Filter Type 2 or Donchian Trend Ribbon to detect breakouts.
- Confirmations: Damiani Volatility (avoid low-volatility false breaks), Choppiness Index (prefer trend-ready states), ROC positive/negative threshold.
- Expiry: 1–3 bars to act on breakout windows.
- Result: Better alignment to breakout dynamics, gating trades by volatility and regime.
Conclusion
- This indicator is a comprehensive, configurable framework that merges a chosen leading signal with an array of corroborating filters, disciplined expiry handling, and intuitive visualization. It’s designed to help you build high-quality entry signals tailored to your approach, whether that’s trend-following, breakout trading, momentum capturing, or a hybrid. By surfacing pass/fail states in a dashboard and allowing alert-based automation, it bridges the gap between discretionary analysis and systematic execution. With sensible parameter tuning and thoughtful filter selection, it can serve as a robust backbone for signal generation across diverse instruments and timeframes.






















