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:
Indicadores e estratégias
Dynamic Timeframe Trend AnalyzerThe Dynamic Timeframe Trend Analyzer is an advanced trading indicator designed to dynamically adjust key trading metrics based on the selected timeframe. It identifies market regimes, trends, and mean reversion conditions, making it a powerful tool for traders looking to adapt to changing market dynamics.
🔍 Key Features
✅ Timeframe-Aware Calculations – Automatically scales indicators (ADX, EMA, RSI, ATR) based on the selected timeframe for improved adaptability.
✅ Market Regime Detection – Classifies the market as Strong Uptrend, Strong Downtrend, Choppy, or Mean Reversion based on ADX, DI, RSI, and volatility factors.
✅ Mean Reversion Signals – Detects extreme price deviations and RSI extremes, indicating potential reversal zones.
✅ Dynamic Stop Loss & Take Profit – Adapts SL/TP levels based on volatility, trend strength, and regime conditions.
✅ Visual Signals & Alerts – Provides buy/sell signals with color-coded background changes, persistence settings, and alerts for key trading opportunities.
✅ Status Table Display – A real-time dashboard showing the current trend, ADX strength, RSI levels, volatility, and market conditions.
📈 How It Works
Uses ADX and DI to determine trend strength and classify the market.
EMA Alignment helps identify strong or weak trends.
Volatility Adjustments dynamically modify stop-loss and take-profit levels.
Mean Reversion Detection finds extreme price deviations for potential reversals.
Custom Alerts notify traders about trend changes, buy/sell opportunities, and stop loss hits.
🛠️ How to Use
Apply the indicator to your chart.
Choose your preferred timeframe – the script automatically adjusts indicator settings for optimal performance.
Watch for trend changes and reversal signals to refine your entries and exits.
Use the status table for real-time insights into the current market regime.
🚀 Perfect for traders who want a dynamic and intelligent trend-following system with built-in risk management!
Seasonality Monthly v2.0//@version=6
indicator("Seasonality Monthly v2.0", overlay=false)
if not (timeframe.ismonthly or timeframe.isdaily)
alert("Switch to Daily or Monthly timeframe", alert.freq_once_per_bar)
// Input Settings
i_year_start = input(2000, "Start Year")
i_text_size = input.string(size.auto, "Text Size", )
// Function for calculating statistics
f_array_stats(array_) =>
count_pos_ = 0
count_neg_ = 0
count_ = 0
sum_ = 0.0
if not na(array_) and array.size(array_) > 0
for i_ = 0 to array.size(array_) - 1
elem_ = array.get(array_, i_)
if not na(elem_)
sum_ += elem_
count_ += 1
count_pos_ += elem_ > 0 ? 1 : 0
count_neg_ += elem_ < 0 ? 1 : 0
avg_ = count_ > 0 ? sum_ / count_ : 0.0
// Request historical data
year_ = request.security(syminfo.tickerid, "M", year(time_close), gaps = barmerge.gaps_on, lookahead = barmerge.lookahead_on)
month_ = request.security(syminfo.tickerid, "M", month(time_close), gaps = barmerge.gaps_on, lookahead = barmerge.lookahead_on)
chg_pct_ = request.security(syminfo.tickerid, "M", nz(close / close - 1), gaps = barmerge.gaps_on, lookahead = barmerge.lookahead_on)
// Initialize variables
var year_start_ = math.max(year_, i_year_start)
var no_years_ = year(timenow) - year_start_ + 1
var matrix data_ = matrix.new(no_years_, 13, na)
var table table_ = na
var text_color_ = color.white
var bg_color_ = color.gray
if year_ >= year_start_
cur_val_ = nz(matrix.get(data_, year_ - year_start_, month_ - 1))
matrix.set(data_, year_ - year_start_, month_ - 1, cur_val_ + chg_pct_)
if barstate.islast
table_ := table.new(position.middle_center, 13, no_years_ + 7, border_width = 1)
table.cell(table_, 0, 0, str.format("Seasonality Monthly Performance - {0}:{1}", syminfo.prefix, syminfo.ticker), text_color = text_color_, bgcolor = color.blue, text_size = i_text_size)
table.merge_cells(table_, 0, 0, 12, 0)
row = 1
// Header row
months_ ="Year", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"
for col = 0 to 12
table.cell(table_, col, row, months_ , text_color = text_color_, bgcolor = bg_color_, text_size = i_text_size)
// Data rows
for row_ = 0 to no_years_ - 1
table.cell(table_, 0, 2 + row_, str.tostring(row_ + year_start_), text_color = text_color_, bgcolor = bg_color_, text_size = i_text_size)
for col_ = 0 to 11
val_ = nz(matrix.get(data_, row_, col_), 0.0)
val_color_ = val_ > 0.0 ? color.green : val_ < 0.0 ? color.red : color.gray
table.cell(table_, col_ + 1, 2 + row_, str.format("{0,number,###.##%}", val_), bgcolor = color.new(val_color_, 80), text_color = val_color_, text_size = i_text_size)
// Aggregates
row_ = no_years_ + 2
labels = "AVG", "SUM", "+ive", "WR"
for i = 0 to 3
table.cell(table_, 0, row_ + i, labels , text_color = text_color_, bgcolor = bg_color_, text_size = i_text_size)
for col_ = 0 to 11
arr_ = matrix.col(data_, col_)
= f_array_stats(arr_)
val_color_ = sum_ > 0 ? color.green : sum_ < 0 ? color.red : color.gray
table.cell(table_, col_ + 1, row_, str.format("{0,number,###.##%}", avg_), bgcolor = color.new(val_color_, 50), text_color = val_color_, text_size = i_text_size)
table.cell(table_, col_ + 1, row_ + 1, str.format("{0,number,###.##%}", sum_), bgcolor = color.new(val_color_, 50), text_color = val_color_, text_size = i_text_size)
table.cell(table_, col_ + 1, row_ + 2, str.format("{0}/{1}", count_pos_, count_), bgcolor = color.new(val_color_, 50), text_color = color.new(color.white, 50), text_size = i_text_size)
table.cell(table_, col_ + 1, row_ + 3, str.format("{0,number,#.##%}", count_pos_ / count_), bgcolor = color.new(val_color_, 50), text_color = color.new(color.white, 50), text_size = i_text_size)
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%, защитив ваш депозит.
Где найти настройки:
Кликните на название стратегии в верхнем левом углу графика → откроется меню с ползунками и переключателями.
Важно: Стратегия предоставляет «рыбу» – чтобы она стала «уловистой», адаптируйте её под свой стиль торговли!
Enhanced Bollinger Bands Strategy for SilverThis strategy uses Bollinger bands, RSI, volumes and trend analysis to provide smooth trades and ride longer trends
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.
Asset Valuation ComparisonThis indicator calculates and visualizes z-scores to compare the valuation of an asset (the charted symbol) against gold, bonds, and either its own price or USD (depending on the isCurrency input). A z-score measures how many standard deviations a value is from its mean over a specified lookback period (default: 200 bars).
Horizontal Lines:
0 (Zero Line): The mean value of the z-score.
+1 (Overvalued Threshold): One standard deviation above the mean.
-1 (Undervalued Threshold): One standard deviation below the mean.
SMA High & Low V3📌 Summary of Script Functionality
This script is a custom TradingView indicator designed to analyze market trends using SMA (Simple Moving Averages) and RSI (Relative Strength Index). It consists of the following key components:
1️⃣ SMA High & SMA Low (from H4 timeframe)
- SMA High is calculated from the highest price.
- SMA Low is calculated from the lowest price.
- These are used as support and resistance levels.
2️⃣ SMA Color Coding (Trend Detection)
- Green → When the closing price is above SMA High → Uptrend
- Red → When the closing price is below SMA Low → Downtrend
- Orange → When the price is between SMA High & SMA Low → Ranging market
3️⃣ RSI Marker (Colored Dots Below the Chart)
- RSI (14) is calculated and displayed as colored markers at the bottom.
- Green Dot → RSI > 50 (indicating bullish momentum)
- Red Dot → RSI < 50 (indicating bearish momentum)
📌 Trading Strategy (Entry & Exit Points)
✅ 1. Buy Entry (Long Position)
- Price is above SMA High (SMA turns green)
- RSI > 50 (Green dots appear below the chart)
- Enter a Buy trade when the price pulls back near SMA High and shows a reversal candlestick pattern.
✅ 2. Sell Entry (Short Position)
- Price is below SMA Low (SMA turns red)
- RSI < 50 (Red dots appear below the chart)
- Enter a Sell trade when the price retraces near SMA Low and shows a reversal candlestick pattern.
✅ 3. No Trade Zone (Avoid Trading)
- If SMA is orange (price is between SMA High & SMA Low)
- RSI is unclear → Wait for a breakout before entering a trade.
Williams %RIndicator Name:
Williams %R
Disclaimer
Various factors can affect changes in the value of financial assets. These include, but are not limited to, geopolitical issues, industry policies, and technological developments within the industry. Other influencing elements include expectations of interest rates, inflation or deflation, unemployment rates, company development strategies, company revenues and liabilities, investor sentiment, and preferences for investor trading strategies. These factors may pose a risk of loss to investors' investment costs. Moreover, the past performance of individual trades does not guarantee future results or returns. Therefore, no a single idea, algorithm, script, indicator, or system content can account for all factors influencing financial asset value fluctuations. Investors are fully responsible for any investment decisions they make, and such decisions should be based entirely on an assessment of their financial situation, investment goals, risk tolerance, and liquidity needs.
The content provided in my ideas, algorithms, scripts, indicators, and systems is intended solely to demonstrate changes in the value of financial assets for educational purposes only. It does not constitute financial advice, investment recommendations, or a solicitation to buy or sell any financial instruments. The provider will not accept liability for any loss or damage, including, without limitation, any loss of investment costs, which may arise directly or indirectly from the use of or reliance on such information.
About Coffee
I would be delighted if my ideas, algorithms, scripts, indicators, and code can assist or inspire your pricing model. Should you feel inclined to buy me a cup of coffee, please feel free to contact me on TradingView. I am also more than willing to share my proprietary code indicators with you, along with practical usage tips for the related indicators.
CRYPTOCAP:ETH | CRYPTOCAP:USDT | CRYPTOCAP:USDC
0xE1b33484211595Ba4Dd9d6fEa52D64e873AfDe12
CRYPTOCAP:SOL | CRYPTOCAP:USDT | CRYPTOCAP:USDC
H8P3o2mqsb4u1R3TZa9PXKg5e5weyQFHVFMfZUPjheYE
CRYPTOCAP:USDT | CRYPTOCAP:USDC
TKQQNAZqBLQQMBSE98kEQdg6wRRqykNveh
CRYPTOCAP:BTC
bc1pkylhtk7srdqk6cyk7vfggzkkv8898drnmjpnvv69mp99uswh6rlstq63vr
Introduction to Indicator
Non-negative and negative values of the Williams %R indicator model.
Applicable to all time intervals.
Indicator effect display
S&P 500 Index ( SP:SPX )
S&P 500 Index ( SP:SPX )
Tesla, Inc. ( NASDAQ:TSLA )
Tesla, Inc. ( NASDAQ:TSLA )
Bitcoin / U.S. Dollar ( BITSTAMP:BTCUSD )
Bitcoin / U.S. Dollar ( BITSTAMP:BTCUSD )
KDJ Stochastic of MA ModelIndicator Name:
KDJ Stochastic of MA Model
Disclaimer
Various factors can affect changes in the value of financial assets. These include, but are not limited to, geopolitical issues, industry policies, and technological developments within the industry. Other influencing elements include expectations of interest rates, inflation or deflation, unemployment rates, company development strategies, company revenues and liabilities, investor sentiment, and preferences for investor trading strategies. These factors may pose a risk of loss to investors' investment costs. Moreover, the past performance of individual trades does not guarantee future results or returns. Therefore, no a single idea, algorithm, script, indicator, or system content can account for all factors influencing financial asset value fluctuations. Investors are fully responsible for any investment decisions they make, and such decisions should be based entirely on an assessment of their financial situation, investment goals, risk tolerance, and liquidity needs.
The content provided in my ideas, algorithms, scripts, indicators, and systems is intended solely to demonstrate changes in the value of financial assets for educational purposes only. It does not constitute financial advice, investment recommendations, or a solicitation to buy or sell any financial instruments. The provider will not accept liability for any loss or damage, including, without limitation, any loss of investment costs, which may arise directly or indirectly from the use of or reliance on such information.
About Coffee
I would be delighted if my ideas, algorithms, scripts, indicators, and code can assist or inspire your pricing model. Should you feel inclined to buy me a cup of coffee, please feel free to contact me on TradingView. I am also more than willing to share my proprietary code indicators with you, along with practical usage tips for the related indicators.
CRYPTOCAP:ETH | CRYPTOCAP:USDT | CRYPTOCAP:USDC
0xE1b33484211595Ba4Dd9d6fEa52D64e873AfDe12
CRYPTOCAP:SOL | CRYPTOCAP:USDT | CRYPTOCAP:USDC
H8P3o2mqsb4u1R3TZa9PXKg5e5weyQFHVFMfZUPjheYE
CRYPTOCAP:USDT | CRYPTOCAP:USDC
TKQQNAZqBLQQMBSE98kEQdg6wRRqykNveh
CRYPTOCAP:BTC
bc1pkylhtk7srdqk6cyk7vfggzkkv8898drnmjpnvv69mp99uswh6rlstq63vr
Introduction to Indicator
KDJ stochastic values generated by various from 7 types of moving averages (WSMA, SMA, EMA, RMA, HMA, WMA, VWMA) pricing models of the same cycles.
Applicable to all time intervals.
Indicator effect display
S&P 500 Index ( SP:SPX )
S&P 500 Index ( SP:SPX )
Tesla, Inc. ( NASDAQ:TSLA )
Tesla, Inc. ( NASDAQ:TSLA )
Bitcoin / U.S. Dollar ( BITSTAMP:BTCUSD )
Bitcoin / U.S. Dollar ( BITSTAMP:BTCUSD )
Rocket Moving AverageThe **Rocket Moving Average** is a simple Pine Script indicator based on a **20-period Simple Moving Average (SMA)**. The script begins with **version 5** of Pine Script and sets up an indicator named **"Rocket Moving Average"** with the `overlay=true` parameter, ensuring it is plotted directly on the price chart. The **SMA** is calculated using the closing prices over the last **20 candles**, providing a smoothed trend line that helps traders identify price direction. The moving average is then plotted as a **purple-colored line (RGB: 167, 8, 162)** using the `plot()` function. This indicator is useful for trend analysis and identifying support/resistance levels.
BXY & DXY Cross (Perfectly Balanced)If you deal with Usd and their pairs and need necssary confirmation You might need this
Bxy and Dxy Index Crossings (GBP Index and Usd Index Crossing)
Asset Valuation ComparisonThis indicator calculates and visualizes z-scores to compare the valuation of an asset (the charted symbol) against gold, bonds, and either its own price or USD (depending on the isCurrency input). A z-score measures how many standard deviations a value is from its mean over a specified lookback period (default: 200 bars).
Horizontal Lines:
0 (Zero Line): The mean value of the z-score.
+1 (Overvalued Threshold): One standard deviation above the mean.
-1 (Undervalued Threshold): One standard deviation below the mean.
EXY & DXY Cross (Perfectly Balanced)If you deal with Usd and their pairs and need necssary confirmation You might need this
Exy and Dxy Index Crossings
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.
PriorHourRangeLevels_v0.1PriorHourRangeLevels_v0.1
Created by dc_77 | © 2025 | Mozilla Public License 2.0
Overview
"PriorHourRangeLevels_v0.1" is a versatile Pine Script™ indicator designed to help traders visualize and analyze price levels based on the prior hour’s range. It overlays key levels—High, Low, 75%, 50% (EQ), and 25%—from the previous hour onto the current price chart, alongside the current hour’s opening price. With customizable display options and time zone support, it’s ideal for intraday traders looking to identify support, resistance, and breakout zones.
How It Works
Hourly Reset: The indicator detects the start of each hour based on your chosen time zone (e.g., "America/New_York" by default).
Prior Hour Range: It calculates the High and Low of the previous hour, then derives three additional levels:
75%: 75% of the range above the Low.
EQ (50%): The midpoint of the range.
25%: 25% of the range above the Low.
Current Hour Open: Displays the opening price of the current hour.
Projection: Lines extend forward (default: 24 bars) to project these levels into the future, aiding in real-time analysis.
Alerts: Triggers alerts when the price crosses any of the prior hour’s levels (High, 75%, EQ, 25%, Low).
Key Features
Time Zone Flexibility: Choose from options like UTC, New York, Tokyo, or London to align with your trading session.
Visual Customization:
Toggle visibility for each level (High, Low, 75%, EQ, 25%, Open, and Anchor).
Adjust line styles (Solid, Dashed, Dotted), colors, and widths.
Show or hide labels with adjustable sizes (Tiny, Small, Normal, Large).
Anchor Line: A vertical line marks the start of the prior hour, with optional labeling.
Alert Conditions: Set up notifications for price crossings to catch key moments without watching the chart.
Usage Tips
Use the High and Low as potential breakout levels, while 75%, EQ, and 25% act as intermediate support/resistance zones.
Trend Confirmation: Watch how price interacts with the EQ (50%) level to gauge momentum.
Session Planning: Adjust the time zone to match your market (e.g., "Europe/London" for FTSE trading).
Projection Offset: Extend or shorten the lines (via "Projection Offset") based on your chart timeframe.
Inputs
Time Zone: Select your preferred market time zone.
Anchor Settings: Show/hide the prior hour start line, style, color, width, and label.
Level Settings: Customize visibility, style, color, width, and labels for Open, High, 75%, EQ, 25%, and Low.
Display: Set projection length and label size.
Feedback welcome—happy trading!