ATR 3x Multiplier StrategyBeta version
Volatility and Candle Spikes in Trading
Volatility
Volatility refers to the degree of variation in the price of a financial asset over time. It measures how much the price fluctuates and is often associated with risk and uncertainty in the market. High volatility means larger price swings, while low volatility indicates more stable price movements.
Key aspects of volatility:
Measured using indicators like Average True Range (ATR), Bollinger Bands, and Implied Volatility (IV).
Influenced by factors such as market news, economic events, and liquidity.
Higher volatility increases both risk and potential profit opportunities.
Candle Spikes
A candle spike (or wick) refers to a sudden price movement that forms a long shadow or wick on a candlestick chart. These spikes can indicate strong buying or selling pressure, liquidity hunts, or stop-loss triggers.
Types of candle spikes:
Bullish Spike (Long Lower Wick): Indicates buyers rejected lower prices, pushing the price higher.
Bearish Spike (Long Upper Wick): Suggests sellers rejected higher prices, pushing the price lower.
Stop-Loss Hunt: Market makers may trigger stop-losses by creating artificial spikes before reversing the price.
News-Induced Spikes: Economic data releases or unexpected events can cause sudden price jumps.
Understanding volatility and candle spikes can help traders manage risk, spot entry/exit points, and avoid false breakouts. 🚀📈
อินดิเคเตอร์และกลยุทธ์
Acceleration Bands HTF
This version gives you the ability to see the indicator from the HIGHER timeframes when you are on the timeframes. Please note that this is not the original formula, but a factored one that I found effective for identifying market trends. Thanks to @capissimo who provided the base open-code.
Acceleration Bands are designed to capture potential price breakouts or reversals in an asset. They are calculated based on a stock's price movements over a specified period, typically using the high, low, and closing prices. The idea is to identify moments when the price is accelerating (hence the name) beyond its normal range, which might indicate the beginning of a new trend.
Calculation
Acceleration Bands consist of three lines:
Upper Band (AB Upper): This is calculated by adding a certain percentage of the simple moving average (SMA) to the highest high over a given period.
Middle Band: This is typically the SMA of the stock's price.
Lower Band (AB Lower): This is calculated by subtracting the same percentage of the SMA from the lowest low over a given period.
Mathematically :
AB Upper = SMA + (Highest High * Percentage)
AB Lower = SMA - (Lowest Low * Percentage)
OR
Upper Band = SMA x (1 + (High - Low) / SMA)
Lower Band = SMA x (1 - (High - Low) / SMA)
Interpretation
The bands are used to identify periods when the price of a security is accelerating or decelerating:
Breakout Above Upper Band: This is usually considered a bullish signal, suggesting that the price is accelerating upwards and a new uptrend may be starting.
Breakdown Below Lower Band: This is usually considered a bearish signal, suggesting that the price is accelerating downwards and a new downtrend may be starting.
Reversal Between Bands: When the price re-enters the region between the bands after breaking out, it can be seen as a potential reversal signal.
Trading Strategy
Entry Signals:
Buy when the price breaks above the upper band.
Sell or short when the price breaks below the lower band.
Exit Signals:
Close a long position when the price falls back into the area between the bands.
Close a short position when the price rises back into the area between the bands.
Advantages
Helps capture early trends.
Can be used across various time frames and assets.
Provides clear entry and exit signals.
Wick to Candle Ratio with Multiple ColorsThe display in question likely provides visual representations or data related to the concept of the dot-based wick-to-body ratio. This ratio is a term often used in financial markets, particularly in the context of candlestick charts.
In candlestick charts, each candlestick represents a specific time period (such as a minute, hour, day, etc.) and provides four pieces of price data: the opening price, closing price, highest price, and lowest price of an asset within that timeframe. The "body" of the candlestick is the area between the opening and closing prices, while the "wicks" (or shadows) are the lines extending from the body, representing the highest and lowest prices during the period.
The dot-based wick-to-body ratio refers to a method of quantifying the relative lengths of the wicks compared to the body using dots or points. In this context, a display illustrating this ratio might show different candlesticks with highlighted dots representing the ratio between the length of the wick and the body. A higher ratio could indicate more volatility in price movements during that timeframe, while a lower ratio might suggest comparatively stable price action.
Weekly MA SuiteThe Weekly MA Suite is a multi-layered moving average indicator designed for traders and investors who analyze market trends across weekly and long-term timeframes. It combines three critical trend layers—short-term (1W EMA/VWMA), mid-term (30W EMA/VWMA), and long-term (200W HMA)—providing clear insights into market momentum, structure, and cycle trends.
This indicator is ideal for:
✅ Swing traders looking for weekly momentum shifts
✅ Position traders tracking multi-week to multi-month trends
✅ Long-term investors monitoring macro market cycles
Each layer has customizable colors, transparency, and visibility toggles, ensuring traders can tailor the indicator to their specific needs.
📊 Breakdown of Components
🔹 Short-Term Trend (1W EMA/VWMA Ribbon – Top Layer)
Purpose: Captures weekly momentum and volume dynamics
• 1W EMA (Exponential Moving Average) reacts quickly to price changes
• 1W VWMA (Volume-Weighted Moving Average) accounts for volume to confirm trend strength
• Ribbon fill highlights the divergence between price-based momentum (EMA) and volume-weighted trends (VWMA), making trend shifts easier to spot
Usage:
• If the 1W EMA is above the 1W VWMA, momentum is strong and price is trending higher with support from volume
• If the EMA crosses below the VWMA, it may indicate weakening trend strength or distribution
• A widening ribbon suggests increasing momentum, while a narrowing ribbon signals potential consolidation or reversal
🔸 Mid-Term Trend (30W EMA/VWMA Ribbon – Middle Layer)
Purpose: Provides insight into the broader market structure over multiple months
• 30W EMA represents the dominant trend direction over roughly half a year
• 30W VWMA smooths this trend while weighting price by trading volume
• Ribbon fill allows for a visual representation of how volume impacts trend direction
Usage:
• A bullish trend is confirmed when price remains above the 30W EMA, with the ribbon widening in an uptrend
• A bearish shift occurs when the 30W EMA crosses below the 30W VWMA, signaling weakening demand
• If the ribbon narrows or twists frequently, the market may be in a choppy, range-bound phase
🔻 Long-Term Trend (200W HMA – Background Layer)
Purpose: Identifies major market cycles and deep trend shifts
• The 200W Hull Moving Average (HMA) is a long-term smoothing tool that reduces lag while maintaining trend clarity
• Unlike traditional moving averages, the HMA reacts faster to trend changes without excessive noise
Usage:
• When price is above the 200W HMA, the broader trend remains bullish, even during short-term corrections
• A cross below the 200W HMA may indicate a macro downtrend or deep market cycle shift
• Long-term investors can use this as a dynamic support or resistance zone
🎯 How to Use the Weekly MA Suite for Trading
📅 Identifying Market Phases
• In strong uptrends, the 1W EMA and 30W EMA will be aligned above their VWMA counterparts, with price well above the 200W HMA
• In sideways markets, the ribbons will frequently narrow or cross, signaling indecision
• In bear markets, price will typically trade below the 30W EMA, with the 200W HMA acting as a long-term resistance
📈 Entry and Exit Strategies
• A bullish trade setup occurs when the 1W EMA crosses above the 1W VWMA while the 30W EMA holds above the 30W VWMA, confirming multi-timeframe momentum
• A bearish setup is confirmed when the 1W EMA crosses below the 1W VWMA and price is also trending below the 30W EMA
• The 200W HMA can be used as a trend filter—staying long when price is above it and avoiding longs when price is below
🚦 Customizing for Your Trading Style
• Scalpers can focus on the 1W ribbon for faster trend shifts
• Swing traders can use the 30W ribbon for trend-following entries and exits
• Long-term investors should watch price action relative to the 200W HMA for market cycle positioning
🔧 Final Thoughts
The Weekly MA Suite simplifies multi-timeframe analysis by layering key moving averages in an intuitive and structured format. By combining short, medium, and long-term trend indicators, traders can confidently navigate market conditions and improve decision-making. Whether trading weekly trends or monitoring multi-year cycles, this tool provides a clear visual framework to enhance market insights.
PLN IndexThe "PLN Index" is a custom indicator developed for TradingView using Pine Script (version 6). It tracks the relative strength of the Polish Zloty (PLN) against a basket of four major currencies: the U.S. Dollar (USD), Swiss Franc (CHF), Euro (EUR), and British Pound (GBP), with each currency contributing an equal weight of 25%. Modeled after the Polish Zloty Index (PLN_I) concept, this indicator offers traders a tool to monitor PLN’s performance across various forex market conditions.
How It Works
The indicator fetches closing prices for the currency pairs USDPLN, CHFPLN, EURPLN, and GBPPLN from TradingView’s data provider (FX_IDC). These pairs represent the amount of PLN needed to purchase one unit of each respective foreign currency. To measure PLN’s strength, the script inverts these rates (e.g., PLNUSD = 1/USDPLN) and calculates the geometric mean of the resulting values using the formula geom_mean = (PLNUSD * PLNCHF * PLNEUR * PLNGBP)^(0.25). The result is then normalized to a base value of 100 at the first bar with complete data, allowing users to observe relative changes in PLN’s value over time. A rising index indicates PLN appreciation, while a falling index suggests depreciation against the basket.
Key Features
Data Inputs: Retrieves closing prices for USDPLN, CHFPLN, EURPLN, and GBPPLN on the selected timeframe.
Calculation: Computes the geometric mean of the inverted exchange rates and normalizes it to 100 based on the first valid bar.
Visualization: Plots the index as a blue line with a linewidth of 2 on a separate chart pane (non-overlay).
Robust Normalization: Normalizes the index using the first bar where all data is available, improving reliability across different timeframes.
Usage
The PLN Index is useful for:
Evaluating the Polish Zloty’s strength or weakness relative to a balanced currency basket.
Identifying long-term trends or short-term shifts in PLN’s value for forex trading or economic analysis.
Supporting technical analysis when paired with additional indicators, such as moving averages or oscillators.
Limitations
Data Dependency: The indicator relies on the availability of historical data for all four currency pairs. Missing data (e.g., on higher timeframes like D1 or W1) may prevent accurate plotting.
Relative Normalization: Unlike the official PLN_I, which uses a fixed historical base date (e.g., January 2, 1984), this indicator normalizes to 100 at the first valid bar, making it a relative rather than absolute measure.
Potential Data Gaps: On higher timeframes, inconsistencies or limited historical data from the FX_IDC provider may result in incomplete index values.
Notes
This version of the PLN Index includes an improved normalization method that sets the base value (100) at the first bar with valid data, enhancing its adaptability compared to earlier iterations. It performs best on timeframes up to H4, where data availability is generally consistent. For higher timeframes, users should verify data completeness to ensure reliable results.
MTF Sentiment ProMTF Sentiment Pro - Advanced Multi-Timeframe Analysis
Purpose & Methodology
MTF Sentiment Pro provides traders with comprehensive market sentiment analysis across multiple timeframes. This indicator's unique innovation is its weighted scoring system that evaluates both technical indicators and volume metrics to determine market sentiment across customizable timeframes.
Unlike simple indicator overlays or basic multi-timeframe tools, this indicator:
1. Calculates sentiment using a proprietary weighted formula across 7 different timeframes
2. Incorporates volume confirmation to validate price movements (a critical element often overlooked)
3. Provides clear visualization of sentiment alignment between lower and higher timeframes
4. Uses majority-rule algorithms for overall sentiment determination (2/3 rule for LTF, 3/4 rule for HTF)
Technical Components & Integration
Each timeframe's sentiment score is derived from a combination of:
- **EMA**: Evaluates trend direction and price position relative to moving average
- **RSI**: Measures momentum with sensitivity to the 50-level for trend determination
- **MACD**: Assesses trend strength and momentum through histogram analysis
- **Bollinger Bands**: Determines price volatility and position relative to the mean
- **VWAP**: Provides volume-adjusted price reference
- **OBV**: Confirms price moves with cumulative volume analysis
What makes this combination powerful is how these components are integrated:
- Each indicator contributes a weighted value to the overall sentiment score
- User-definable weights allow customization based on strategy preferences
- Volume confirmation adds a critical dimension beyond basic price-only indicators
- Multi-timeframe analysis helps identify alignment/divergence across time horizons
Trading Applications & Limitations
This indicator works best for:
- Trend confirmation across multiple timeframes
- Identifying potential reversal zones where LTF and HTF sentiments diverge
- Entry/exit timing when paired with your primary strategy rules
- Market structure analysis across different time horizons
Note: While this indicator provides comprehensive sentiment analysis, it should be used as part of a complete trading strategy with proper risk management. No indicator can predict market movements with certainty.
Usage Instructions
1. Select appropriate timeframes for your trading style or use one of the included presets
2. Adjust indicator weights to match your analytical preferences
3. Look for timeframe alignment/divergence to identify potential opportunities
4. Use the overall LTF and HTF sentiment readings for broader market context
This indicator was developed to solve the challenge of efficiently analyzing sentiment across multiple timeframes while incorporating volume confirmation - something that would otherwise require multiple indicators and manual correlation.
Opening Range BoxIndicator Name: Opening Range Box with Extensions
Author: YanivBull
Description:
The Opening Range Box with Extensions is a powerful tool designed to visualize the trading range established during the first 30 minutes of a market session, a critical period for setting the day's trend. This indicator plots a box representing the high and low prices formed within this opening range, with dashed extension lines projecting these levels forward throughout the session.
Its primary purpose is to identify the boundaries of the initial trend at the start of trading. When these boundaries are breached, it serves as a trigger for potential trading opportunities: a breakout above the box high signals a possible long entry, while a breakdown below the box low indicates a potential short entry. The indicator also includes historical boxes for up to 5 previous days (configurable), allowing traders to analyze past opening ranges and their extensions for context and pattern recognition.
Key Features:
Customizable session start time (hour and minute) to adapt to various markets (e.g., NYSE, DAX, etc.).
Displays the current session's opening range box in blue and historical boxes in gray.
Plots dashed extension lines from the high and low of each box, limited to 500 bars or the end of the trading day.
Adjustable number of historical days (1-20, default 5).
Usage:
Set the Session Start Hour and Session Start Minute according to your market's opening time (relative to your chart's timezone, e.g., UTC+2). Watch for price action around the box boundaries—breakouts above the high or below the low can be used as signals for initiating long or short trades, respectively. Combine with other technical analysis tools for confirmation.
This indicator is ideal for day traders looking to capitalize on early session momentum and breakout strategies.
Named SessionsShows London, New York and Tokyo sessions (and optionally Sydney).
Beginner-friendly - shows names of sessions, not just colors
Marks low and high of session
Shows if session is currently open
Session names can be customized
Session label is placed above or below depending on price move during session, visually indicating the trend (also works during open session)
Is displayed only on timeframes below 4H
How it works
Session trend is calculated simply by subtracting the session's opening price from the session's closing price (or current price if session is open).
If there is a gap before the session, the previous close is used instead of the first candle's open price.
rzigzagLibrary "rzigzag"
Recursive Zigzag Using Matrix allows to create zigzags recursively on multiple levels. This is an old library converted to V6
zigzag(length, ohlc, numberOfPivots, offset)
calculates plain zigzag based on input
Parameters:
length (int) : Zigzag Length
ohlc (array) : Array containing ohlc values. Can also contain custom series
numberOfPivots (simple int) : Number of max pivots to be returned
offset (simple int) : Offset from current bar. Can be used for calculations based on confirmed bars
Returns: [matrix zigzagmatrix, bool flags]
iZigzag(length, h, l, numberOfPivots)
calculates plain zigzag based on input array
Parameters:
length (int) : Zigzag Length
h (array) : array containing high values of a series
l (array) : array containing low values of a series
numberOfPivots (simple int) : Number of max pivots to be returned
Returns: matrix zigzagmatrix
nextlevel(zigzagmatrix, numberOfPivots)
calculates next level zigzag based on present zigzag coordinates
Parameters:
zigzagmatrix (matrix) : Matrix containing zigzag pivots, bars, bar time, direction and level
numberOfPivots (simple int) : Number of max pivots to be returned
Returns: matrix zigzagmatrix
draw(zigzagmatrix, flags, lineColor, lineWidth, lineStyle, showLabel, xloc)
draws zigzag based on the zigzagmatrix input
Parameters:
zigzagmatrix (matrix) : Matrix containing zigzag pivots, bars, bar time, direction and level
flags (array) : Zigzag pivot flags
lineColor (color) : Zigzag line color
lineWidth (int) : Zigzag line width
lineStyle (string) : Zigzag line style
showLabel (bool) : Flag to indicate display pivot labels
xloc (string) : xloc preference for drawing lines/labels
Returns:
draw(length, ohlc, numberOfPivots, offset, lineColor, lineWidth, lineStyle, showLabel, xloc)
calculates and draws zigzag based on zigzag length and source input
Parameters:
length (int) : Zigzag Length
ohlc (array) : Array containing ohlc values. Can also contain custom series
numberOfPivots (simple int) : Number of max pivots to be returned
offset (simple int) : Offset from current bar. Can be used for calculations based on confirmed bars
lineColor (color) : Zigzag line color
lineWidth (int) : Zigzag line width
lineStyle (string) : Zigzag line style
showLabel (bool) : Flag to indicate display pivot labels
xloc (string) : xloc preference for drawing lines/labels
Returns: [matrix zigzagmatrix, array zigzaglines, array zigzaglabels, bool flags]
drawfresh(zigzagmatrix, zigzaglines, zigzaglabels, lineColor, lineWidth, lineStyle, showLabel, xloc)
draws fresh zigzag for all pivots in the input matrix.
Parameters:
zigzagmatrix (matrix) : Matrix containing zigzag pivots, bars, bar time, direction and level
zigzaglines (array) : array to which all newly created lines will be added
zigzaglabels (array) : array to which all newly created lables will be added
lineColor (color) : Zigzag line color
lineWidth (int) : Zigzag line width
lineStyle (string) : Zigzag line style
showLabel (bool) : Flag to indicate display pivot labels
xloc (string) : xloc preference for drawing lines/labels
Returns:
is_strategyCorrection-Adaptive Trend Strategy (Open-Source)
Core Advantage: Designed specifically for the is_correction indicator, with full transparency and customization options.
Key Features:
Open-Source Code:
✅ Full access to the strategy logic – study how every trade signal is generated.
✅ Freedom to customize – modify entry/exit rules, risk parameters, or add new indicators.
✅ No black boxes – understand and trust every decision the strategy makes.
Built for is_correction:
Filters out false signals during market noise.
Works only in confirmed trends (is_correction = false).
Adaptable for Your Needs:
Change Take Profit/Stop Loss ratios directly in the code.
Add alerts, notifications, or integrate with other tools (e.g., Volume Profile).
For Developers/Traders:
Use the code as a template for your own strategies.
Test modifications risk-free on historical data.
How the Strategy Works:
Main Goal:
Automatically buys when the price starts rising and sells when it starts falling, but only during confirmed trends (ignoring temporary pullbacks).
What You See on the Chart:
📈 Up arrows ▼ (below the candle) = Buy signal.
📉 Down arrows ▲ (above the candle) = Sell signal.
Gray background = Market is in a correction (no trades).
Key Mechanics:
Buy Condition:
Price closes higher than the previous candle + is_correction confirms the main trend (not a pullback).
Example: Red candle → green candle → ▼ arrow → buy.
Sell Condition:
Price closes lower than the previous candle + is_correction confirms the trend (optional: turn off short-selling in settings).
Exit Rules:
Closes trades automatically at:
+0.5% profit (adjustable in settings).
-0.5% loss (adjustable).
Or if a reverse signal appears (e.g., sell signal after a buy).
User-Friendly Settings:
Sell – On (default: ON):
ON → Allows short-selling (selling when price falls).
OFF → Strategy only buys and closes positions.
Revers (default: OFF):
ON → Inverts signals (▼ = sell, ▲ = buy).
%Profit & %Loss:
Adjust these values (0-30%) to increase/decrease profit targets and risk.
Example Scenario:
Buy Signal:
Price rises for 3 days → green ▼ arrow → strategy buys.
Stop loss set 0.5% below entry price.
If price keeps rising → trade closes at +0.5% profit.
Correction Phase:
After a rally, price drops for 1 day → gray background → strategy ignores the drop (no action).
Stop Loss Trigger:
If price drops 0.5% from entry → trade closes automatically.
Key Features:
Correction Filter (is_correction):
Acts as a “noise filter” → avoids trades during temporary pullbacks.
Flexibility:
Disable short-selling, flip signals, or tweak profit/loss levels in seconds.
Transparency:
Open-source code → see exactly how every signal is generated (click “Source” in TradingView).
Tips for Beginners:
Test First:
Run the strategy on historical data (click the “Chart” icon in TradingView).
See how it performed in the past.
Customize It:
Increase %Profit to 2-3% for volatile assets like crypto.
Turn off Sell – On if short-selling confuses you.
Trust the Stop Loss:
Even if you think the price will rebound, the strategy will close at -0.5% to protect your capital.
Where to Find Settings:
Click the strategy name on the top-left of your chart → adjust sliders/toggles in the menu.
Русская Версия
Трендовая стратегия с открытым кодом
Главное преимущество: Полная прозрачность логики и адаптация под ваши нужды.
Особенности:
Открытый исходный код:
✅ Видите всю «кухню» стратегии – как формируются сигналы, когда открываются сделки.
✅ Меняйте правила – корректируйте тейк-профит, стоп-лосс или добавляйте новые условия.
✅ Никаких секретов – вы контролируете каждое правило.
Заточка под is_correction:
Игнорирует ложные сигналы в коррекциях.
Работает только в сильных трендах (is_correction = false).
Гибкая настройка:
Подстройте параметры под свой риск-менеджмент.
Добавьте свои индикаторы или условия для входа.
Для трейдеров и разработчиков:
Используйте код как основу для своих стратегий.
Тестируйте изменения на истории перед реальной торговлей.
Простыми словами:
Почему это удобно:
Открытый код = полный контроль. Вы можете:
Увидеть, как именно стратегия решает купить или продать.
Изменить правила закрытия сделок (например, поставить TP=2% вместо 1.5%).
Добавить новые условия (например, торговать только при высоком объёме).
Примеры кастомизации:
Новички: Меняйте только TP/SL в настройках (без кодинга).
Продвинутые: Добавьте RSI-фильтр, чтобы избегать перекупленности.
Разработчики: Встройте стратегию в свою торговую систему.
Как начать:
Скачайте код из TradingView.
Изучите логику в разделе strategy.entry/exit.
Меняйте параметры в блоке input.* (безопасно!).
Тестируйте изменения и оптимизируйте под свои цели.
Как работает стратегия:
Главная задача:
Автоматически покупает, когда цена начинает расти, и продаёт, когда падает. Но делает это «умно» — только когда рынок в основном тренде, а не во временном откате (коррекции).
Что видно на графике:
📈 Стрелки вверх ▼ (под свечой) — сигнал на покупку.
📉 Стрелки вниз ▲ (над свечой) — сигнал на продажу.
Серый фон — рынок в коррекции (не торгуем).
Как это работает:
Когда покупаем:
Если цена закрылась выше предыдущей и индикатор is_correction показывает «основной тренд» (не коррекция).
Пример: Была красная свеча → стала зелёная → появилась стрелка ▼ → покупаем.
Когда продаём:
Если цена закрылась ниже предыдущей и is_correction подтверждает тренд (опционально, можно отключить в настройках).
Когда закрываем сделку:
Автоматически при достижении:
+0.5% прибыли (можно изменить в настройках).
-0.5% убытка (можно изменить).
Или если появился противоположный сигнал (например, после покупки пришла стрелка продажи).
Настройки для чайников:
«Sell – On» (включено по умолчанию):
Если включено → стратегия будет продавать в шорт.
Если выключено → только покупки и закрытие позиций.
«Revers» (выключено по умолчанию):
Если включить → стратегия будет работать наоборот (стрелки ▼ = продажа, ▲ = покупка).
«%Profit» и «%Loss»:
Меняйте эти цифры (от 0 до 30), чтобы увеличить/уменьшить прибыль и риски.
Пример работы:
Сигнал на покупку:
Цена 3 дня растет → появляется зелёная стрелка ▼ → стратегия покупает.
Стоп-лосс ставится на 0.5% ниже цены входа.
Если цена продолжает расти → сделка закрывается при +0.5% прибыли.
Коррекция:
После роста цена падает на 1 день → фон становится серым → стратегия игнорирует это падение (не закрывает сделку).
Стоп-лосс:
Если цена упала на 0.5% от точки входа → сделка закрывается автоматически.
Важные особенности:
Фильтр коррекций (is_correction):
Это «защита от шума» — стратегия не реагирует на мелкие откаты, работая только в сильных трендах.
Гибкие настройки:
Можно запретить шорты, перевернуть сигналы или изменить уровни прибыли/убытка за 2 клика.
Прозрачность:
Весь код открыт → вы можете увидеть, как формируется каждый сигнал (меню «Исходник» в TradingView).
Советы для новичков:
Начните с теста:
Запустите стратегию на исторических данных (кнопка «Свеча» в окне TradingView).
Посмотрите, как она работала в прошлом.
Настройте под себя:
Увеличьте %Profit до 2-3%, если торгуете валюты.
Отключите «Sell – On», если не понимаете шорты.
Доверяйте стоп-лоссу:
Даже если кажется, что цена развернётся — стратегия закроет сделку при -0.5%, защитив ваш депозит.
Где найти настройки:
Кликните на название стратегии в верхнем левом углу графика → откроется меню с ползунками и переключателями.
Важно: Стратегия предоставляет «рыбу» – чтобы она стала «уловистой», адаптируйте её под свой стиль торговли!
Breakouts With Timefilter Strategy [LuciTech]This strategy captures breakout opportunities using pivot high/low breakouts while managing risk through dynamic stop-loss placement and position sizing. It includes a time filter to limit trades to specific sessions.
How It Works
A long trade is triggered when price closes above a pivot high, and a short trade when price closes below a pivot low.
Stop-loss can be set using ATR, prior candle high/low, or a fixed point value. Take-profit is based on a risk-reward multiplier.
Position size adjusts based on the percentage of equity risked.
Breakout signals are marked with triangles, and entry, stop-loss, and take-profit levels are plotted.
moving average filter: Bullish breakouts only trigger above the MA, bearish breakouts below.
The time filter shades the background during active trading hours.
Customization:
Adjustable pivot length for breakout sensitivity.
Risk settings: percentage risked, risk-reward ratio, and stop-loss type.
ATR settings: length, smoothing method (RMA, SMA, EMA, WMA).
Moving average filter (SMA, EMA, WMA, VWMA, HMA) to confirm breakouts.
No wick candlesОпис коду:
Цей скрипт для Pine Script v6 аналізує свічки на графіку і визначає свічки, що не мають фітіля знизу або згори. Він позначає їх відповідними маркерами та змінює колір свічок на помаранчевий для покращення видимості. Цей індикатор допомагає трейдерам ідентифікувати важливі зони на графіку, де свічки мають специфічні риси (без фітіля), і використовується для виявлення потенційних точок для подальших торгівельних рішень.
Що робить цей індикатор:
Зелені свічки без фітіля знизу: Це свічки, у яких ціна відкриття дорівнює мінімуму свічки. Вони позначаються зеленими стрілками під свічкою.
Червоні свічки без фітіля згори: Це свічки, у яких ціна відкриття дорівнює максимуму свічки. Вони позначаються червоними стрілками над свічкою.
Зміна кольору свічок: Свічки, що відповідають умовам (без фітіля знизу або згори), змінюють свій колір на помаранчевий для підвищення видимості та чіткого виділення важливих зон.
Як використовувати:
Цей індикатор допомагає вам ідентифікувати зони, де ціна не має фітіля знизу (для зелених свічок) або згори (для червоних свічок). Ці свічки можуть бути важливими для трейдерів, оскільки вони часто сигналізують про сильні рівні підтримки або опору, де ймовірно відбудеться ретест.
Важливо:
Чекати ретест зони: Після появи таких свічок (особливо у зонах підтримки або опору) можна очікувати, що ці рівні будуть перевірені ще раз. Якщо ціни повертаються до цих зон, це може бути сигналом для входу в ринок.
Торгівля на ретестах: Якщо ціна після першого відскоку знову наближається до цієї зони (де була свічка без фітіля), можна очікувати відскок або продовження тренду, що створює можливість для вхідної позиції.
_______________________________
Description:
This Pine Script v6 indicator analyzes the candles on the chart and identifies those that have no lower or upper wicks. It marks these candles with appropriate markers and changes the candle colors to orange for better visibility. This indicator helps traders identify important zones on the chart where candles exhibit specific characteristics (no wicks), which can be used to spot potential trading opportunities.
What this indicator does:
Green candles with no lower wick: These are candles where the opening price equals the low of the candle. They are marked with a green arrow below the candle.
Red candles with no upper wick: These are candles where the opening price equals the high of the candle. They are marked with a red arrow above the candle.
Candle color change: Candles that meet the conditions (no lower or upper wick) change their color to orange for better visibility and to clearly highlight important zones.
How to use:
This indicator helps you identify zones where prices have no lower wick (for green candles) or no upper wick (for red candles). These candles may be important for traders, as they often indicate strong support or resistance levels where a retest is likely to occur.
Important:
Wait for a zone retest: After these candles appear (especially at support or resistance zones), you can expect these levels to be tested again. If the price returns to these zones, it could signal an opportunity to enter the market.
Trading on retests: If the price approaches the zone (where a wickless candle occurred) again, it may indicate a bounce or trend continuation, which provides a potential entry point.
_matrixLibrary "_matrix"
Library helps visualize matrix as array of arrays and enables users to use array methods such as push, pop, shift, unshift etc along with cleanup activities on drawing objects wherever required
method delete(mtx, rowNumber)
deletes row from a matrix
Namespace types: matrix
Parameters:
mtx (matrix) : matrix of objects
rowNumber (int) : row index to be deleted
Returns: void
method delete(mtx, rowNumber)
Namespace types: matrix
Parameters:
mtx (matrix)
rowNumber (int)
method delete(mtx, rowNumber)
Namespace types: matrix
Parameters:
mtx (matrix)
rowNumber (int)
method delete(mtx, rowNumber)
Namespace types: matrix
Parameters:
mtx (matrix)
rowNumber (int)
method delete(mtx, rowNumber)
Namespace types: matrix
Parameters:
mtx (matrix)
rowNumber (int)
method delete(mtx, rowNumber)
Namespace types: matrix
Parameters:
mtx (matrix)
rowNumber (int)
method delete(mtx, rowNumber)
Namespace types: matrix
Parameters:
mtx (matrix)
rowNumber (int)
method delete(mtx, rowNumber)
Namespace types: matrix
Parameters:
mtx (matrix)
rowNumber (int)
method delete(mtx, rowNumber)
Namespace types: matrix
Parameters:
mtx (matrix)
rowNumber (int)
method delete(mtx, rowNumber)
Namespace types: matrix
Parameters:
mtx (matrix)
rowNumber (int)
method remove(mtx, rowNumber)
remove row from a matrix and returns them to caller
Namespace types: matrix
Parameters:
mtx (matrix) : matrix of objects
rowNumber (int) : row index to be deleted
Returns: type
method remove(mtx, rowNumber)
Namespace types: matrix
Parameters:
mtx (matrix)
rowNumber (int)
method remove(mtx, rowNumber)
Namespace types: matrix
Parameters:
mtx (matrix)
rowNumber (int)
method remove(mtx, rowNumber)
Namespace types: matrix
Parameters:
mtx (matrix)
rowNumber (int)
method remove(mtx, rowNumber)
Namespace types: matrix
Parameters:
mtx (matrix)
rowNumber (int)
method remove(mtx, rowNumber)
Namespace types: matrix
Parameters:
mtx (matrix)
rowNumber (int)
method remove(mtx, rowNumber)
Namespace types: matrix
Parameters:
mtx (matrix)
rowNumber (int)
method remove(mtx, rowNumber)
Namespace types: matrix
Parameters:
mtx (matrix)
rowNumber (int)
method remove(mtx, rowNumber)
Namespace types: matrix
Parameters:
mtx (matrix)
rowNumber (int)
method remove(mtx, rowNumber)
Namespace types: matrix
Parameters:
mtx (matrix)
rowNumber (int)
method unshift(mtx, row, maxItems)
unshift array of lines to first row of the matrix
Namespace types: matrix
Parameters:
mtx (matrix) : matrix of lines
row (array) : array of lines to be inserted in row
maxItems (simple int)
Returns: resulting matrix of type
method unshift(mtx, row, maxItems)
Namespace types: matrix
Parameters:
mtx (matrix)
row (array)
maxItems (simple int)
method unshift(mtx, row, maxItems)
Namespace types: matrix
Parameters:
mtx (matrix)
row (array)
maxItems (simple int)
method unshift(mtx, row, maxItems)
Namespace types: matrix
Parameters:
mtx (matrix)
row (array)
maxItems (simple int)
method unshift(mtx, row, maxItems)
Namespace types: matrix
Parameters:
mtx (matrix)
row (array)
maxItems (simple int)
method unshift(mtx, row, maxItems)
Namespace types: matrix
Parameters:
mtx (matrix)
row (array)
maxItems (simple int)
method unshift(mtx, row, maxItems)
Namespace types: matrix
Parameters:
mtx (matrix)
row (array)
maxItems (simple int)
method unshift(mtx, row, maxItems)
Namespace types: matrix
Parameters:
mtx (matrix)
row (array)
maxItems (simple int)
method unshift(mtx, row, maxItems)
Namespace types: matrix
Parameters:
mtx (matrix)
row (array)
maxItems (simple int)
method unshift(mtx, row, maxItems)
Namespace types: matrix
Parameters:
mtx (matrix)
row (array)
maxItems (simple int)
method push(mtx, row, maxItems)
push array of lines to end of the matrix row
Namespace types: matrix
Parameters:
mtx (matrix) : matrix of lines
row (array) : array of lines to be inserted in row
maxItems (simple int)
Returns: resulting matrix of lines
method push(mtx, row, maxItems)
Namespace types: matrix
Parameters:
mtx (matrix)
row (array)
maxItems (simple int)
method push(mtx, row, maxItems)
Namespace types: matrix
Parameters:
mtx (matrix)
row (array)
maxItems (simple int)
method push(mtx, row, maxItems)
Namespace types: matrix
Parameters:
mtx (matrix)
row (array)
maxItems (simple int)
method push(mtx, row, maxItems)
Namespace types: matrix
Parameters:
mtx (matrix)
row (array)
maxItems (simple int)
method push(mtx, row, maxItems)
Namespace types: matrix
Parameters:
mtx (matrix)
row (array)
maxItems (simple int)
method push(mtx, row, maxItems)
Namespace types: matrix
Parameters:
mtx (matrix)
row (array)
maxItems (simple int)
method push(mtx, row, maxItems)
Namespace types: matrix
Parameters:
mtx (matrix)
row (array)
maxItems (simple int)
method push(mtx, row, maxItems)
Namespace types: matrix
Parameters:
mtx (matrix)
row (array)
maxItems (simple int)
method push(mtx, row, maxItems)
Namespace types: matrix
Parameters:
mtx (matrix)
row (array)
maxItems (simple int)
method shift(mtx)
shift removes first row from matrix of lines
Namespace types: matrix
Parameters:
mtx (matrix) : matrix of lines from which the shift operation need to be performed
Returns: void
method shift(mtx)
Namespace types: matrix
Parameters:
mtx (matrix)
method shift(mtx)
Namespace types: matrix
Parameters:
mtx (matrix)
method shift(mtx)
Namespace types: matrix
Parameters:
mtx (matrix)
method shift(mtx)
Namespace types: matrix
Parameters:
mtx (matrix)
method shift(mtx)
Namespace types: matrix
Parameters:
mtx (matrix)
method shift(mtx)
Namespace types: matrix
Parameters:
mtx (matrix)
method shift(mtx)
Namespace types: matrix
Parameters:
mtx (matrix)
method shift(mtx)
Namespace types: matrix
Parameters:
mtx (matrix)
method shift(mtx)
Namespace types: matrix
Parameters:
mtx (matrix)
method rshift(mtx)
rshift removes first row from matrix of lines and returns them as array
Namespace types: matrix
Parameters:
mtx (matrix) : matrix of lines from which the rshift operation need to be performed
Returns: type
method rshift(mtx)
Namespace types: matrix
Parameters:
mtx (matrix)
method rshift(mtx)
Namespace types: matrix
Parameters:
mtx (matrix)
method rshift(mtx)
Namespace types: matrix
Parameters:
mtx (matrix)
method rshift(mtx)
Namespace types: matrix
Parameters:
mtx (matrix)
method rshift(mtx)
Namespace types: matrix
Parameters:
mtx (matrix)
method rshift(mtx)
Namespace types: matrix
Parameters:
mtx (matrix)
method rshift(mtx)
Namespace types: matrix
Parameters:
mtx (matrix)
method rshift(mtx)
Namespace types: matrix
Parameters:
mtx (matrix)
method rshift(mtx)
Namespace types: matrix
Parameters:
mtx (matrix)
method pop(mtx)
pop removes last row from matrix of lines
Namespace types: matrix
Parameters:
mtx (matrix) : matrix of lines from which the pop operation need to be performed
Returns: void
method pop(mtx)
Namespace types: matrix
Parameters:
mtx (matrix)
method pop(mtx)
Namespace types: matrix
Parameters:
mtx (matrix)
method pop(mtx)
Namespace types: matrix
Parameters:
mtx (matrix)
method pop(mtx)
Namespace types: matrix
Parameters:
mtx (matrix)
method pop(mtx)
Namespace types: matrix
Parameters:
mtx (matrix)
method pop(mtx)
Namespace types: matrix
Parameters:
mtx (matrix)
method pop(mtx)
Namespace types: matrix
Parameters:
mtx (matrix)
method pop(mtx)
Namespace types: matrix
Parameters:
mtx (matrix)
method pop(mtx)
Namespace types: matrix
Parameters:
mtx (matrix)
method rpop(mtx)
rpop removes last row from matrix of lines and reutnrs the array to caller
Namespace types: matrix
Parameters:
mtx (matrix) : matrix of lines from which the rpop operation need to be performed
Returns: void
method rpop(mtx)
Namespace types: matrix
Parameters:
mtx (matrix)
method rpop(mtx)
Namespace types: matrix
Parameters:
mtx (matrix)
method rpop(mtx)
Namespace types: matrix
Parameters:
mtx (matrix)
method rpop(mtx)
Namespace types: matrix
Parameters:
mtx (matrix)
method rpop(mtx)
Namespace types: matrix
Parameters:
mtx (matrix)
method rpop(mtx)
Namespace types: matrix
Parameters:
mtx (matrix)
method rpop(mtx)
Namespace types: matrix
Parameters:
mtx (matrix)
method rpop(mtx)
Namespace types: matrix
Parameters:
mtx (matrix)
method rpop(mtx)
Namespace types: matrix
Parameters:
mtx (matrix)
method clear(mtx)
clear clears the matrix
Namespace types: matrix
Parameters:
mtx (matrix) : matrix of lines which needs to be cleared
Returns: void
method clear(mtx)
Namespace types: matrix
Parameters:
mtx (matrix)
method clear(mtx)
Namespace types: matrix
Parameters:
mtx (matrix)
method clear(mtx)
Namespace types: matrix
Parameters:
mtx (matrix)
method clear(mtx)
Namespace types: matrix
Parameters:
mtx (matrix)
method clear(mtx)
Namespace types: matrix
Parameters:
mtx (matrix)
method clear(mtx)
Namespace types: matrix
Parameters:
mtx (matrix)
method clear(mtx)
Namespace types: matrix
Parameters:
mtx (matrix)
method clear(mtx)
Namespace types: matrix
Parameters:
mtx (matrix)
method clear(mtx)
Namespace types: matrix
Parameters:
mtx (matrix)
method flush(mtx)
clear clears the matrix but retains the drawing objects
Namespace types: matrix
Parameters:
mtx (matrix) : matrix of lines which needs to be cleared
Returns: void
method flush(mtx)
Namespace types: matrix
Parameters:
mtx (matrix)
method flush(mtx)
Namespace types: matrix
Parameters:
mtx (matrix)
method flush(mtx)
Namespace types: matrix
Parameters:
mtx (matrix)
method flush(mtx)
Namespace types: matrix
Parameters:
mtx (matrix)
method flush(mtx)
Namespace types: matrix
Parameters:
mtx (matrix)
method flush(mtx)
Namespace types: matrix
Parameters:
mtx (matrix)
method flush(mtx)
Namespace types: matrix
Parameters:
mtx (matrix)
method flush(mtx)
Namespace types: matrix
Parameters:
mtx (matrix)
method flush(mtx)
Namespace types: matrix
Parameters:
mtx (matrix)
Supertrend and Fast and Slow EMA StrategyThis strategy combines Exponential Moving Averages (EMAs) and Average True Range (ATR) to create a simple, yet effective, trend-following approach. The strategy filters out fake or sideways signals by incorporating the ATR as a volatility filter, ensuring that trades are only taken during trending conditions. The key idea is to buy when the short-term trend (Fast EMA) aligns with the long-term trend (Slow EMA), and to avoid trades during low volatility periods.
How It Works:
EMA Crossover:
1). Buy Signal: When the Fast EMA (shorter-term, e.g., 20-period) crosses above the Slow EMA (longer-term, e.g., 50-period), this indicates a potential uptrend.
2). Sell Signal: When the Fast EMA crosses below the Slow EMA, this indicates a potential downtrend.
ATR Filter:
1). The ATR (Average True Range) is used to measure market volatility.
2). Trending Market: If the ATR is above a certain threshold, it indicates high volatility and a trending market. Only when ATR is above the threshold will the strategy generate buy/sell signals.
3). Sideways Market: If ATR is low (sideways or choppy market), the strategy will suppress signals to avoid entering during non-trending conditions.
When to Buy:
1). Condition 1: The Fast EMA crosses above the Slow EMA.
2). Condition 2: The ATR is above the defined threshold, indicating that the market is trending (not sideways or choppy).
When to Sell:
1). Condition 1: The Fast EMA crosses below the Slow EMA.
2). Condition 2: The ATR is above the defined threshold, confirming that the market is in a downtrend.
When Not to Enter the Trade:
1). Sideways Market: If the ATR is below the threshold, signaling low volatility and sideways or choppy market conditions, the strategy will not trigger any buy or sell signals.
2). False Crossovers: In low volatility conditions, price action tends to be noisy, which could lead to false signals. Therefore, avoiding trades during these periods reduces the risk of false breakouts.
Additional Factors to Consider Adding:
=> RSI (Relative Strength Index): Adding an RSI filter can help confirm overbought or oversold conditions to avoid buying into overextended moves or selling too low.
1). RSI Buy Filter: Only take buy signals when RSI is below 70 (avoiding overbought conditions).
2). RSI Sell Filter: Only take sell signals when RSI is above 30 (avoiding oversold conditions).
=> MACD (Moving Average Convergence Divergence): Using MACD can help validate the strength of the trend.
1). Buy when the MACD histogram is above the zero line and the Fast EMA crosses above the Slow EMA.
2). Sell when the MACD histogram is below the zero line and the Fast EMA crosses below the Slow EMA.
=> Support/Resistance Levels: Adding support and resistance levels can help you understand market structure and decide whether to enter or exit a trade.
1). Buy when price breaks above a significant resistance level (after a valid buy signal).
2). Sell when price breaks below a major support level (after a valid sell signal).
=> Volume: Consider adding a volume filter to ensure that buy/sell signals are supported by strong market participation. You could only take signals if the volume is above the moving average of volume over a certain period.
=> Trailing Stop Loss: Instead of a fixed stop loss, use a trailing stop based on a percentage or ATR to lock in profits as the trade moves in your favor.
=> Exit Signals: Besides the EMA crossover, consider adding Take Profit or Stop Loss levels, or even using a secondary indicator like RSI to signal an overbought/oversold condition and exit the trade.
Example Usage:
=> Buy Example:
1). Fast EMA (20-period) crosses above the Slow EMA (50-period).
2). The ATR is above the threshold, confirming that the market is trending.
3). Optionally, if RSI is below 70, the buy signal is further confirmed as not being overbought.
=> Sell Example:
1). Fast EMA (20-period) crosses below the Slow EMA (50-period).
2). The ATR is above the threshold, confirming that the market is trending.
3). Optionally, if RSI is above 30, the sell signal is further confirmed as not being oversold.
Conclusion:
This strategy helps to identify trending markets and filters out sideways or choppy market conditions. By using Fast and Slow EMAs combined with the ATR volatility filter, it provides a reliable approach to catching trending moves while avoiding false signals during low-volatility, sideways markets.
Smoothed EMA LinesThe "Smoothed EMA Lines" script is a technical analysis tool designed to help traders identify trends and potential support/resistance levels in financial markets. The script plots exponential moving averages (EMAs) of the closing price for five commonly used time periods: 8, 13, 21, 55, and 200.
Key features of the script include:
Overlay: The EMAs are plotted directly on the price chart, making it easy to analyze the relationship between the moving averages and price action.
Smoothing: The script applies an additional smoothing function to each EMA, using a simple moving average (SMA) of a user-defined length. This helps to reduce noise and provide a clearer picture of the trend.
Customizable lengths: Users can easily adjust the length of each EMA and the smoothing period through the script's input parameters.
Color-coded plots: Each EMA is assigned a unique color (8: blue, 13: green, 21: orange, 55: red, 200: purple) for easy identification on the chart.
Traders can use the "Smoothed EMA Lines" script to:
Identify the overall trend direction (bullish, bearish, or neutral) based on the arrangement of the EMAs.
Spot potential support and resistance levels where the price may interact with the EMAs.
Look for crossovers between EMAs as potential entry or exit signals.
Combine the EMA analysis with other technical indicators and price action patterns for a more comprehensive trading strategy.
The "Smoothed EMA Lines" script provides a clear, customizable, and easy-to-interpret visualization of key exponential moving averages, helping traders make informed decisions based on trend analysis.
Oracle Fear and GreedCustom Fear and Greed Oscillator with Movement Table
This indicator provides a unique perspective on market sentiment by calculating a custom fear/greed oscillator based on Heikin-Ashi candles. The oscillator is centered at 50, with values above 50 suggesting bullish sentiment ("greed") and below 50 indicating bearish sentiment ("fear"). The calculation incorporates candle body size, range, and a custom "candle strength" measure, providing an innovative approach to understanding market behavior.
Key Features:
Heikin-Ashi Based Oscillator:
Utilizes Heikin-Ashi candles to compute a custom oscillator. The value is centered at 50, with deviations indicating the prevailing market sentiment.
Dynamic Gradient Coloring:
The oscillator line is dynamically colored with a smooth gradient—from blue (representing fear) at lower values to pink (representing greed) at higher values—making it visually intuitive.
Horizontal Levels:
Two additional horizontal lines are drawn at 40.62 ("Bottom") and 60.74 ("Top"), which may serve as potential oversold and overbought boundaries respectively.
Fast Movement Metrics:
Every 5 bars, the indicator calculates the percentage change in the Heikin-Ashi close. This fast movement analysis distinguishes rapid downward moves (fast fear) from rapid upward moves (fast greed), helping to capture sudden market shifts.
Information Table:
A table in the top-right corner displays the most recent fast movement values for both fear and greed, offering quick insights into short-term market dynamics.
Usage Tips:
Adjust the smoothing period to match your preferred trading timeframe.
Use the oscillator alongside other analysis tools for more robust trading decisions.
Ideal for those looking to experiment with new approaches to sentiment analysis and momentum detection.
Disclaimer:
This indicator is intended for educational and experimental purposes. It should not be used as the sole basis for any trading decisions. Always combine with comprehensive market analysis and risk management strategies.
You can add this description when publishing your indicator on TradingView to help other users understand its features and intended use.
Double Top/Bottom Fractals DetectorDouble Top/Bottom Detector with Williams Fractals (Extended + Early Signal)
This indicator combines the classic Williams Fractals methodology with an enhanced mechanism to detect potential reversal patterns—namely, double tops and double bottoms. It does so by using two separate detection schemes:
Confirmed Fractals for Pattern Formation:
The indicator calculates confirmed fractals using the traditional Williams Fractals rules. A fractal is confirmed if a bar’s high (for an up fractal) or low (for a down fractal) is the highest or lowest compared to a specified number of bars on both sides (default: 2 bars on the left and 2 on the right).
Once a confirmed fractal is identified, its price (high for tops, low for bottoms) and bar index are stored in an internal array (up to the 10 most recent confirmed fractals).
When a new confirmed fractal appears, the indicator compares it with previous confirmed fractals. If the new fractal is within a user-defined maximum bar distance (e.g., 20 bars) and the price difference is within a specified tolerance (default: 0.8%), the indicator assumes that a double top (if comparing highs) or a double bottom (if comparing lows) pattern is forming.
A signal is then generated by placing a label on the chart—SELL for a double top and BUY for a double bottom.
Early Signal Generation:
To capture potential reversals sooner, the indicator also includes an “early signal” mechanism. This uses asymmetric offsets different from the confirmed fractal calculation:
Signal Right Offset: Defines the candidate bar used for early signal detection (default is 1 bar).
Signal Left Offset: Defines the number of bars to the left of the candidate that must confirm the candidate’s price is the extreme (default is 2 bars).
For an early top candidate, the candidate bar’s high must be greater than the highs of the bars specified by the left offset and also higher than the bar immediately to its right. For an early bottom candidate, the corresponding condition applies for lows.
If the early candidate’s price level is within the acceptable tolerance when compared to any of the previously stored confirmed fractals (again, within the allowed bar distance), an early signal is generated—displayed as SELL_EARLY or BUY_EARLY.
The early signal block can be enabled or disabled via a checkbox input, allowing traders to choose whether to use these proactive signals.
Key Parameters:
n:
The number of bars used to confirm a fractal. The fractal is considered valid if the bar’s high (or low) is higher (or lower) than the highs (or lows) of the preceding and following n bars.
maxBarsApart:
The maximum number of bars allowed between two fractals for them to be considered part of the same double top or bottom pattern.
tolerancePercent:
The maximum allowed percentage difference (default: 0.8%) between the high (or low) values of two fractals to qualify them as matching for the pattern.
signalLeftOffset & signalRightOffset:
These parameters define the asymmetric offsets for early signal detection. The left offset (default: 2) specifies how many bars to look back, while the right offset (default: 1) specifies the candidate bar’s position.
earlySignalsEnabled:
A checkbox option that allows users to enable or disable early signal generation. When disabled, the indicator only uses confirmed fractal signals.
How It Works:
Fractal Calculation and Plotting:
The confirmed fractals are calculated using the traditional method, ensuring robust identification by verifying the pattern with a symmetrical offset. These confirmed fractals are plotted on the chart using triangle shapes (upwards for potential double bottoms and downwards for potential double tops).
Pattern Detection:
Upon detection of a new confirmed fractal, the indicator checks up to 10 previous fractals stored in internal arrays. If the new fractal’s high or low is within the tolerance range and close enough in terms of bars to one of the stored fractals, it signifies the formation of a double top or double bottom. A corresponding SELL or BUY label is then placed on the chart.
Early Signal Feature:
If enabled, the early signal block checks for candidate bars based on the defined asymmetric offsets. These candidates are evaluated to see if their high/low levels meet the early confirmation criteria relative to nearby bars. If they also match one of the confirmed fractal levels (within tolerance and bar distance), an early signal is issued with a label (SELL_EARLY or BUY_EARLY) on the chart.
Benefits for Traders:
Timely Alerts:
By combining both confirmed and early signals, the indicator offers a proactive approach to detect reversals sooner, potentially improving entry and exit timing.
Flexibility:
With adjustable parameters (including the option to disable early signals), traders can fine-tune the indicator to better suit different markets, timeframes, and trading styles.
Enhanced Pattern Recognition:
The dual-layered approach (confirmed fractals plus early detection) helps filter out false signals and captures the essential formation of double tops and bottoms more reliably.
EMA Alignment & Spread Monitor (Sang Youn)Overview
The EMA Alignment & Spread Monitor is a dynamic trading script designed to monitor EMA (Exponential Moving Average) alignments, track spread deviations, and provide real-time alerts when significant conditions are met. This script allows traders to customize their EMA periods, analyze market trends based on EMA positioning, and receive visual and audio alerts when key spread conditions occur.
🔹 Key Features
✅ Customizable EMA Periods – Users can input their own EMA lengths to adapt the script to various market conditions. (Default: 5, 10, 20, 60, 120)
✅ EMA Alignment Detection – Identifies bullish alignment (all EMAs in ascending order) and bearish alignment (all EMAs in descending order).
✅ Spread Calculation & Monitoring – Computes the spread difference between each EMA and tracks the average spread over a user-defined period.
✅ Deviation Alerts – Notifies traders when:
Bullish Trend: The spread exceeds its average, indicating a potential strong uptrend.
Bearish Trend: The spread falls below its average, signaling a possible downtrend.
✅ Chart Annotations – Displays 📈 (green triangle) when bullish spread exceeds average and 📉 (red triangle) when bearish spread drops below average for easy visualization.
✅ Real-time Alerts – Sends alerts when spread conditions are met, helping traders react to market shifts efficiently.
✅ Spread Histogram – Visual representation of bullish and bearish spread levels for trend analysis.
🔹 How It Works
1️⃣ Set your EMA periods in the script settings (default: 5, 10, 20, 60, 120).
2️⃣ Define the spread average calculation length (default: 50 candles).
3️⃣ The script tracks EMA alignment to determine bullish or bearish trends.
4️⃣ If the spread deviates significantly from its average, the script:
Places a 📈 green triangle above candles in a bullish trend when spread > average.
Places a 📉 red triangle below candles in a bearish trend when spread < average.
Triggers an alert for timely decision-making.
5️⃣ Use the histogram & real-time alerts to stay ahead of market movements.
Moving Average and Pearson LevelsMoving Average and Pearson Levels Indicator
This Pine Script indicator combines a customizable moving average (MA) with Pearson correlation analysis to provide traders with deeper insights into trends and key reference levels. It overlays a Pearson-adjusted moving average on price charts and highlights levels based on correlation for potential trading opportunities. With flexible parameters, it adapts to various trading styles.
Key Features
Pearson-Adjusted Moving Average
Combines a basic MA (SMA, EMA, WMA, or VWMA) with a Pearson correlation adjustment to reflect trend strength.
Adjustable: MA length, price source, smoothing, and line thickness.
Optional color changes based on trends (positive/negative).
Pearson Correlation Levels
Plots smoothed Pearson correlation with upper/lower thresholds to signal strong or weak trends.
Marks entry levels with price labels and dynamic colors when thresholds are crossed.
Customizable: Pearson length, smoothing, thresholds, and colors.
Reference Levels and Alerts
Optional dotted lines for upper, lower, and zero correlation thresholds.
Alerts for bullish MA signals (crossing the lower threshold) and bearish signals (crossing below the upper threshold).
How It Works
Moving Average: Calculates a standard moving average enhanced by a Pearson adjustment based on price trends over a given period.
Pearson Levels: Computes the strength of correlation, smoothed for better readability, and plots price lines at threshold crossings.
Visualization: Displays the MA and levels with trend-reactive colors and optional reference lines.
Usage
Ideal for traders who combine traditional MAs with statistical trend analysis.
Adjust the MA type and Pearson length for short-term or long-term strategies.
Use correlation levels for reversal signals or trend confirmation.
Customization Options
MA Parameters: Select the type, length, and smoothing of the MA; toggle visibility and color changes.
Pearson Levels: Adjust thresholds, line thickness, and label colors.
Display Options: Show/hide reference lines and the standard MA for comparison purposes.
Example Settings
MA Length: 20
Type: EMA
Pearson Length: 15
Thresholds: 0.7/-0.7
Colors: Positive (black), Negative (green), Levels (gray)
Notes
Optimize based on your preferred timeframe.
Adjust smoothing to balance responsiveness and clarity.
Try it out, customize it to your needs, and enhance your trading setup! Feedback and suggestions are welcome.
Bollinger Bands + EMA 200 + EMA 50This indicator combines three technical analysis tools: the Bollinger Bands (BB), and two Exponential Moving Averages (EMA) with periods of 200 and 50.
Bollinger Bands (BB): This indicator consists of three lines—the middle line being a simple moving average (SMA), and the upper and lower bands representing two standard deviations above and below the SMA. The width of the bands indicates market volatility, with wider bands signifying higher volatility and narrower bands indicating lower volatility.
Exponential Moving Averages (EMA 200 and EMA 50): The EMA is a type of moving average that gives more weight to recent prices, making it more responsive to price changes than the simple moving average. The EMA 200 is considered a long-term trend indicator, often used to identify the overall direction of the market. The EMA 50 is a medium-term trend indicator, helping to spot more immediate market trends. Crossovers between these two EMAs (such as when EMA 50 crosses above EMA 200) are commonly used as buy or sell signals, with the idea that a short-term trend shift is occurring.
By combining these three indicators, this custom Pine Script aims to give a comprehensive view of the market conditions, helping traders to understand both the volatility (via BB), the long-term market trend (via EMA 200), and the medium-term trend (via EMA 50). The interaction between the price and these indicators, along with crossovers, can be used to identify potential entry and exit points.
200 EMA AlertHow It Works:
The 200 EMA calculates the average price over the last 200 periods, giving more weight to recent price movements for a smoother and more responsive trend line.
It helps traders determine whether the market is in a bullish (above 200 EMA) or bearish (below 200 EMA) phase.
Why Traders Use the 200 EMA:
✅ Trend Confirmation – If the price is above the 200 EMA, the trend is bullish; if below, the trend is bearish.
✅ Dynamic Support & Resistance – Price often reacts around the 200 EMA, making it a key level for entries and exits.
✅ Works on All Timeframes – Whether on the 1-minute chart or the daily timeframe, the 200 EMA is effective for scalping, swing trading, and long-term investing.
✅ Easy to Combine with Other Indicators – Traders pair it with RSI, MACD, or price action for stronger confirmation.
How to Use It in Trading:
📌 Trend Trading – Buy when price pulls back to the 200 EMA in an uptrend; sell when price retests it in a downtrend.
📌 Breakout Strategy – A strong candle breaking above/below the 200 EMA signals a possible trend reversal.
📌 Filtering Trades – Many traders only take long trades above and short trades below the 200 EMA to align with the overall market trend.
Conclusion:
The 200 EMA is an essential indicator for traders of all levels, offering clear trend direction, strong support/resistance zones, and trade filtering for better decision-making. Whether you're trading forex, stocks, or crypto, mastering the 200 EMA can give you a significant edge in the markets. 🚀📈
Double Numbered Triangle Chart Progression | RegressionThe Double-Numbered Triangle Progression | Regression Indicator enables forecasting of support and resistance levels by progressing or regressing on the Triangle Chart from a user-selected pivot price. The indicator also plots adjustable pivots on both the chart and the Triangle Price and Time Chart.
How to use to forecast support and resistance levels:
1. Select a Pivot Point: Set the correct price to the pivot by selecting High or Low in the indicator.
2. Set Price Increment: Choose a price increment to adjust the starting price on the Triangle Chart (e.g., 1 or -0.01).
3. Rotate to adjust the number of levels on the Triangle Chart.
4. Plot Levels: Choose the Left Edge, Center, or Right Edge of the Triangle Chart to plot support and resistance levels. These levels automatically expand or decrease depending on the number of levels in step 3. The selected angle's price values are applied to the chart with labels on both sides. The left labels represent the time variable, and the right labels indicate the price. The time variable is used in conjunction with my other indicator "Price and Longitude Angles." The same goes for the Double Numbered Square of Nine indicator.
5. Review Levels: Examine the plotted support and resistance levels with recent market pivots.
6. Identify Correlations: Find the Triangle edge or center that aligns with the most market pivots.
7. The indicator plots user-adjustable pivots on both candles/bars and shows their placement on the Triangle Chart in both Progression and Regression. This visualization helps users identify which angles the highs and lows favor from the selected pivot. Pivot levels' colors can be customized. The close price is plotted on the Triangle Chart in real time with a white background.
Each market has its tendencies, favoring specific angles from the Triangle Chart. The basic idea is to choose between the Left edge, Center, or Right edge of the Triangle to forecast support and resistance levels.
Settings:
Overview:
Example of Forecasting Support and resistance level using this indicator:
In the image above, I am regressing from the significant high at a rate of $-0.008 per cell as shown on the main info label. Based on the plotted pivots, I have chosen the right edge of the triangle as it aligns with these recent pivots. I have drawn a lime green vertical line to indicate that as we add layers to the triangle chart, we introduce support and resistance levels based on the identified angle that aligns with these early pivots from the high.
In the image below, I've moved forward in time to illustrate how the initial angle chosen based on the early pivots forecasted support and resistance levels on $DOGE. Do not expect the price to turn sharply at the levels the indicator generates. As P. Mikula mentions in his work, and I apply the same with the Triangle Chart, " The Square of Nine successfully defines market price swings but does not cause the market to form pivots. "
This indicator is inspired by the methodologies detailed by Patrick Mikula in his book, The Definitive Guide to Forecasting using W.D Gann's Square of Nine. I recommend checking it out. He also mentions another use case as a Triangle Price and Time chart in his book, Gann Scientific Method Unveiled, Volume 2, where you can use my open-source indicator "Price and Longitude Angle" alongside both the Doubled Numbered Square of Nine and this Triangle Chart indicator.
FYI, I am not affiliated with Patrick Mikula in any way.
Planned improvements include adding two more angles: Left Center column and Right Center column as additional options to select.
FYI: Please ensure you select the high when regressing from a high. Also, make sure to add enough layers on the Triangle to see all the pivots. Once you've identified an angle, you can hide the table to gain back space on the chart. Use rounding precision for lower prices.
NFP High/Low Levels PlusNFP High/Low Levels Plus
Description:
This indicator stores the 12 most recent NFP (Non-Farm-Payroll) days and their values.
Values are captured from 0830 (NFP Release) until close of market
The High and Low values for each NFP month are drawn on the chart with horizontal lines.
- Labels indicating the month's high or low line are placed after the line
- Optionally the high/low price can be displayed additionally
Support and Resistance boxes can be drawn at the closest NFP level above and below the
current price.
- Boxes will automatically update as prices cross the NFP value
Macro Indicator
- This option displays a small table in the top right corner that says "Up" or " Down"
- The Macro Indicator can be used to judge the potential direction for the current month
- Macro direction is calculated by the following:
- UP: If two consecutive days both open and close above the most recent NFP High level
- DOWN: If two consecutive days both open and close below the most recent NFP Low level
Micro Indicator
- This option displays a small table in the top right corner that says "Up" or " Down"
- The Micro Indicator can be used to judge the potential direction for low timeframes 1H or
lower
- Micro direction is calculated by the following:
- UP: If two consecutive 10m candles close above the 20EMA
- DOWN: If two consecutive 10m candles close below the 20EMA
NFP Session Bars
- This feature draws an arrow at the bottom of the chart for each candle that falls within the
NFP session day
- This is useful for identifying NFP Days
Support / Resistance Table
- This displays a table bottom center showing the nearest high and low NFP line level
What is an NFP Day and why is it useful to add to my chart?
- NFP Days are one of the most important data releases monthly
- NFP (Non-Farm-Payroll) is the official release of 80% of the US workforce employed in
manufacturing, construction, and goods
- It does not include those who work on farms, private households, non-profit and
government workers
- Historically these high/low levels for the day create strong support and resistance levels
- Having them displayed on the chart can help identify potential strong levels and pivot points
Full Indicator with all options enabled and identified
Easily update NFP Release Days in the indicator settings
Modify various options: Show/Hide lines, labels, directional indicator tables, values tables
Adjust line width, offsets, colors, font sizes, box widths
Enable individual Directional Indicators and modify colors
Example of full indicator enabled
You can find a list of the NFP Release Schedule on the official US Bureau of Labor Statistics website. This is useful for updating the indicator settings with the correct dates