ICT Concepts Finder//@version=5
indicator("ICT Concepts Finder", overlay=true)
// Function to detect Fair Value Gaps (FVG)
fvgDetection() =>
var float prev_high = na
var float prev_low = na
var float prev_close = na
gap_up = prev_high < low and prev_close < low
gap_down = prev_low > high and prev_close > high
if (gap_up)
label.new(bar_index, low , "FVG", color=color.green, textcolor=color.white, style=label.style_label_down)
if (gap_down)
label.new(bar_index, high , "FVG", color=color.red, textcolor=color.white, style=label.style_label_up)
prev_high := high
prev_low := low
prev_close := close
// Function to detect Order Blocks (OB)
orderBlockDetection() =>
bullishOB = close < open and close > open and close > open
bearishOB = close > open and close < open and close < open
if (bullishOB)
label.new(bar_index, low, "Bullish OB", color=color.blue, textcolor=color.white, style=label.style_label_down)
if (bearishOB)
label.new(bar_index, high, "Bearish OB", color=color.orange, textcolor=color.white, style=label.style_label_up)
// Function to detect Liquidity Zones
liquidityZoneDetection() =>
swingHigh = high > high and high > high
swingLow = low < low and low < low
if (swingHigh)
line.new(bar_index , high , bar_index, high , width=2, color=color.red)
if (swingLow)
line.new(bar_index , low , bar_index, low , width=2, color=color.green)
// Execute functions
fvgDetection()
orderBlockDetection()
liquidityZoneDetection()
Chỉ báo và chiến lược
18 EMA FVG VWAP • NinaThis indicator uses my EMA ribbon for pullbacks and entries as well as daily, high of day and low of day VWAPS for confirmation. There are also multi-timeframe FVG's for additional confluence
HMA Hidden Signals (1H Optimized)HMA və Repainting
HMA-nın təbiəti: HMA, WMA (Weighted Moving Average) hesablamalarına əsaslanır və nəzəri olaraq "repainting" etmir, çünki o, cari çubuğun bağlanmasını gözləyir və keçmiş məlumatlara əsaslanaraq hesablanır. Yəni, bir çubuk bağlandıqdan sonra HMA dəyəri dəyişmir — bu, onu "non-repainting" edir.
Sənin skriptin: Skriptdə ta.crossover və ta.crossunder funksiyaları istifadə olunur ki, bunlar da cari və əvvəlki HMA dəyərlərini müqayisə edir (hma və prevHma). Bu funksiyalar da keçmişdəki dəyərləri dəyişdirmir, sadəcə mövcud məlumatlara əsaslanaraq siqnal yaradır.
Həcm Filtri
Skriptdə həcm filtiri (volumeConfirmed = volume > volumeMa * 1.2) də var. Bu da real vaxtda hesablanan SMA (Simple Moving Average) istifadə edir və keçmiş çubukların dəyərlərini dəyişdirmir. Həcm də cari çubuğun bağlanmasına əsaslanır, ona görə də burada da "repainting" problemi yoxdur.
Nəticə
Bu skript "non-repainting"dir. Çünki:
HMA dəyərləri çubuk bağlandıqdan sonra dəyişmir.
Siqnallar (crossover və crossunder) yalnız cari və əvvəlki çubukların sabit dəyərlərinə əsaslanır.
Həcm filtiri də keçmişdəki məlumatları yenidən çəkmir.
Əlavə Qeyd
Əgər sən "non-repainting" olmasını təmin etmək üçün əlavə yoxlama istəyirsənsə, skripti test edə bilərsən: Tarixi məlumatlarda siqnalların yerindən oynayıb-oynamadığına bax. Amma kodun strukturuna görə, bu indikator yenidən çəkilməməlidir. Başqa sualın varsa, soruş!
Enhanced MA Crossover with Clouds and Support/ResistanceОписание индикатора: "Enhanced MA Crossover with Clouds and Support/Resistance"
Общая информация:
Индикатор "Enhanced MA Crossover with Clouds and Support/Resistance" — это профессиональный многофункциональный инструмент для технического анализа, разработанный для платформы TradingView. Он объединяет в себе проверенные временем методы анализа, такие как скользящие средние (EMA), уровни поддержки и сопротивления, а также сигналы на основе RSI, чтобы предоставить трейдеру комплексное представление о состоянии рынка. Индикатор помогает определять тренды, ключевые уровни, точки входа/выхода и моменты разворота, что делает его универсальным решением для торговли на любых временных интервалах.
Основные функции:
Скользящие средние (EMA):
Индикатор отображает четыре экспоненциальных скользящих средних (EMA) с настраиваемыми периодами:
Быстрая EMA : Реагирует на краткосрочные изменения цены.
Медленная EMA : Показывает долгосрочный тренд.
Средняя EMA : Используется для фильтрации шума и выявления среднесрочных тенденций.
Длинная EMA : Помогает определить глобальный тренд.
Эти линии позволяют трейдеру быстро оценить динамику цены и силу текущего тренда.
Облака между EMA:
Между быстрой и медленной EMA формируется цветное облако:
Зеленое облако : Указывает на восходящий тренд (быстрая EMA выше медленной).
Красное облако : Указывает на нисходящий тренд (быстрая EMA ниже медленной).
Облака служат визуальным ориентиром для определения тренда и зон перекупленности/перепроданности.
Сигналы на основе пересечений EMA и RSI:
Индикатор генерирует четкие сигналы "BUY" (зеленая стрелка вверх) и "SELL" (красная стрелка вниз):
BUY : Быстрая EMA пересекает медленную EMA снизу вверх, и RSI выше 50. Это указывает на начало восходящего тренда.
SELL : Быстрая EMA пересекает медленную EMA сверху вниз, и RSI ниже 50. Это сигнализирует о возможном развороте или продолжении нисходящего тренда.
Фильтр RSI снижает количество ложных сигналов, так как учитывает силу движения цены.
Уровни поддержки и сопротивления:
Индикатор автоматически определяет ключевые уровни поддержки и сопротивления на основе локальных минимумов и максимумов (пиков и впадин). Эти уровни являются важными зонами для разворота или пробоя цены.
Уровни поддержки отображаются зелеными горизонтальными линиями , а уровни сопротивления — красными .
Пользователь может настроить глубину поиска (lookback) и порог чувствительности (threshold), чтобы адаптировать уровни под свои нужды.
Легенда текущего состояния:
В правом верхнем углу графика отображается легенда с текущим состоянием рынка:
"Long" , если быстрая EMA выше медленной.
"Short" , если быстрая EMA ниже медленной.
Легенда позволяет быстро оценить общую тенденцию и принять решение о направлении торговли.
Алерты:
Индикатор поддерживает алерты для сигналов "BUY" и "SELL". Трейдеры могут настроить уведомления через интерфейс TradingView, чтобы не пропустить важные моменты.
Фоновая анимация:
При появлении сигнала фон графика временно окрашивается в соответствующий цвет:
Зеленый фон для сигнала "BUY".
Красный фон для сигнала "SELL".
Это помогает быстро реагировать на изменения на рынке.
Как торговать по индикатору:
Определение тренда:
Используйте скользящие средние и цвет облака для определения текущего тренда:
Если быстрая EMA выше медленной (зеленое облако), рынок находится в восходящем тренде. Рассматривайте только покупки (Long).
Если быстрая EMA ниже медленной (красное облако), рынок находится в нисходящем тренде. Рассматривайте только продажи (Short).
Точки входа:
Сигналы "BUY" и "SELL" помогают определить моменты для открытия позиций:
BUY : Открывайте длинную позицию, когда быстрая EMA пересекает медленную снизу вверх, и RSI выше 50. Это указывает на начало восходящего тренда.
SELL : Открывайте короткую позицию, когда быстрая EMA пересекает медленную сверху вниз, и RSI ниже 50. Это сигнализирует о возможном развороте или продолжении нисходящего тренда.
Для повышения точности можно использовать дополнительные подтверждения, например, пробой уровней поддержки/сопротивления.
Уровни поддержки и сопротивления:
Уровни поддержки и сопротивления помогают определить важные зоны для разворота или пробоя цены:
Если цена приближается к уровню поддержки, рассмотрите возможность покупки (Long), особенно если быстрая EMA выше медленной.
Если цена приближается к уровню сопротивления, рассмотрите возможность продажи (Short), особенно если быстрая EMA ниже медленной.
Пробой уровня поддержки или сопротивления может сигнализировать о начале нового тренда.
Выход из позиции:
Закрывайте позицию, если:
Быстрая EMA пересекает медленную в противоположном направлении (например, закрывайте Long, если быстрая EMA пересекает медленную сверху вниз).
Цена достигает следующего уровня поддержки или сопротивления.
Также можно использовать стоп-лоссы и тейк-профиты для управления рисками.
Комбинирование с другими инструментами:
Для повышения точности сигналов рекомендуется комбинировать индикатор с другими инструментами анализа:
Объемы : Подтверждайте сигналы ростом объема.
Осцилляторы : Используйте MACD или Stochastic для дополнительного подтверждения.
Паттерны свечей : Ищите паттерны разворота (например, пин-бары) вблизи уровней поддержки/сопротивления.
Параметры настройки:
Параметры EMA:
Длина быстрой EMA: Период для быстрой EMA (по умолчанию: 9). Чем меньше значение, тем более чувствительна линия к изменениям цены.
Длина медленной EMA: Период для медленной EMA (по умолчанию: 21). Рекомендуется использовать значения, которые соответствуют вашему временному интервалу.
Длина средней EMA: Период для средней EMA (по умолчанию: 50). Хорошо подходит для среднесрочной торговли.
Длина длинной EMA: Период для длинной EMA (по умолчанию: 200). Используется для определения глобального тренда.
Параметры RSI:
Длина RSI: Период для расчета RSI (по умолчанию: 14). RSI помогает фильтровать ложные сигналы.
Параметры уровней поддержки/сопротивления:
Глубина поиска для уровней: Количество баров для поиска локальных минимумов и максимумов (по умолчанию: 20). Увеличьте значение для более долгосрочных уровней.
Порог чувствительности (в %): Минимальное изменение цены для определения уровня (по умолчанию: 0.3%). Уменьшите значение для более точных уровней.
Максимальное количество уровней: Количество отображаемых уровней (по умолчанию: 5). Увеличьте значение для более детального анализа.
Преимущества:
Многофункциональность: Индикатор объединяет несколько популярных инструментов анализа в одном решении, что экономит время и упрощает анализ.
Настройка: Все параметры настраиваются под индивидуальные предпочтения трейдера, что делает индикатор универсальным.
Простота использования: Интуитивно понятный интерфейс и четкие визуальные сигналы делают индикатор доступным для трейдеров любого уровня.
Автоматизация: Алерты позволяют автоматизировать процесс торговли и не пропускать важные моменты.
Рекомендации:
Перед использованием индикатора на реальном счете протестируйте его на исторических данных и оптимизируйте параметры под конкретный актив.
Для повышения точности сигналов рекомендуется комбинировать индикатор с другими инструментами анализа (например, объемами или осцилляторами).
Управляйте рисками с помощью стоп-лоссов и тейк-профитов.
Whale Activity Indicator (WAI)Overview
The Whale Activity Indicator (WAI) is designed to detect institutional accumulation, dark pool trades, and high-volume transactions that often precede major price moves. By analyzing volume spikes, On-Balance Volume (OBV), and the Money Flow Index (MFI), this indicator identifies potential whale buy and sell zones, providing traders with an edge in spotting large player activity.
How It Works
1️⃣ Institutional & Dark Pool Volume Detection
🔹 Large financial institutions and hedge funds often execute trades in dark pools or through block trades to prevent price slippage.
🔹 The indicator compares the current volume to predefined institutional and dark pool volume thresholds to determine if a trade is large enough to be considered whale activity.
🛠 Calculation:
If the total volume exceeds the Dark Pool Volume Threshold, it’s flagged as a dark pool trade.
If the total volume exceeds the Institutional Volume Threshold, it’s flagged as an institutional trade.
2️⃣ Volume Spike Detection
🔹 A sudden spike in trading volume relative to historical averages often signals the presence of institutional traders.
🔹 Instead of using a strict Z-score, this indicator detects volume spikes based on a rolling percentile threshold to ensure better adaptability across different assets.
🛠 Calculation:
Computes the Simple Moving Average (SMA) of volume over a period.
Defines a volume spike as any bar where the volume is 1.5× above the SMA (adjustable for sensitivity).
3️⃣ Trend Confirmation Using OBV & MFI
🔹 Institutions rarely trade against the trend, so additional validation is done using On-Balance Volume (OBV) and the Money Flow Index (MFI).
🛠 Calculation:
OBV (On-Balance Volume): Measures buying and selling pressure. A rising OBV suggests accumulation, while a falling OBV suggests distribution.
MFI (Money Flow Index): Confirms whether the volume is being accompanied by price movement, filtering out false signals.
🔹 BUY Signal: When OBV & MFI are both rising, it confirms institutional accumulation.
🔹 SELL Signal: When OBV & MFI are both falling, it confirms institutional distribution.
Signals & Visualization
📊 Plots:
✅ Green Up Label (Whale Buy) → Indicates institutional accumulation and potential price increase.
❌ Red Down Label (Whale Sell) → Indicates institutional distribution and potential price drop.
📉 Volume Histogram & Threshold Line → Helps visualize volume spikes relative to historical levels.
How to Use It in Trading
✔ Use this indicator on highly liquid assets (e.g., SPY, AAPL, NVDA) for best results.
✔ Combine with options flow analysis for deeper insight into institutional positioning.
✔ Adjust volume thresholds based on the asset’s liquidity and average trading volume.
✔ Backtest with different sensitivity levels to find optimal settings for your strategy.
🔔 Optional Add-ons: Alerts can be added to notify traders of significant whale movements in real time!
Chart Pattern Strategy - Head and Shoulders / Double Top/BottomKey Chart Patterns for Trading:
Head and Shoulders (Reversal Pattern):
Head and Shoulders signals a reversal of an uptrend (bearish) when the price forms a peak (head) with two smaller peaks (shoulders) on either side.
Inverse Head and Shoulders signals a reversal of a downtrend (bullish).
Double Top / Double Bottom (Reversal Pattern):
Double Top: A bearish reversal pattern where price makes two peaks at roughly the same level, indicating resistance.
Double Bottom: A bullish reversal pattern where price forms two troughs at roughly the same level, indicating support.
Triangles (Continuation Pattern):
Symmetrical Triangle: A neutral pattern that forms when the price is consolidating. A breakout in either direction (up or down) indicates the direction of the next move.
Ascending Triangle: A bullish continuation pattern formed by a horizontal resistance and an upward-sloping support line.
Descending Triangle: A bearish continuation pattern formed by a horizontal support and a downward-sloping resistance line.
Flags and Pennants (Continuation Pattern):
Flag: A rectangular-shaped pattern that slopes against the prevailing trend.
Pennant: A small symmetrical triangle that forms after a sharp price movement (flagpole), typically signaling continuation.
Entry and Exit Logic:
Entry: A breakout of the defined pattern, either upward (bullish) or downward (bearish), can serve as the entry point.
Exit: Target price can be based on the height of the pattern (for example, the distance from the neckline in a head-and-shoulders pattern), or using Risk-to-Reward Ratio (set based on previous patterns' performance).
Example of Chart Pattern Strategy in Pine Script
Let's create a Pine Script strategy that implements chart pattern-based entries and exits. We will focus on a few common patterns: Head and Shoulders, Double Top/Bottom, and Triangles.
Pine Script Example for Chart Pattern Strategy
This example demonstrates how to code a basic strategy for identifying a head and shoulders pattern and executing trades based on its breakouts.
Order Block Signals//@version=5
indicator("Order Block Signals", overlay=true, max_lines_count=500, max_labels_count=500)
// Inputs
OB_Threshold = input.float(0.001, "OB Threshold (%)", step=0.001) / 100
Lookback = input.int(200, "Lookback Period")
min_diff = input.float(1.0, "Min Candle %", step=0.1)
max_diff = input.float(1.2, "Max Candle %", step=0.1)
tp_percent = input.float(1.3, "Take Profit %", step=0.1) / 100
sl2_percent = input.float(1.3, "Second SL %", step=0.1) / 100
// Order Block Detection
var float highRange = na
var float lowRange = na
highRange := ta.highest(high, Lookback)
lowRange := ta.lowest(low, Lookback)
Buy_OB = low >= lowRange * (1 - OB_Threshold) and low <= lowRange * (1 + OB_Threshold)
Sell_OB = high >= highRange * (1 - OB_Threshold) and high <= highRange * (1 + OB_Threshold)
// Candle Filter
candle_diff = ((high - low) / low) * 100
valid_candle = candle_diff >= min_diff and candle_diff <= max_diff
// Signal Generation
Buy_Signal = Buy_OB and valid_candle
Sell_Signal = Sell_OB and valid_candle
// Remove Excess Signals
var int lastSignal = 0
Buy_Signal := Buy_Signal and lastSignal <= 0
Sell_Signal := Sell_Signal and lastSignal >= 0
if Buy_Signal
lastSignal := 1
else if Sell_Signal
lastSignal := -1
// Price Levels
var float entryPrice = na
var float slPrice = na
var float tpPrice = na
var float sl2Price = na
if Buy_Signal
entryPrice := high
slPrice := low
tpPrice := entryPrice * (1 + tp_percent)
sl2Price := slPrice * (1 - sl2_percent)
else if Sell_Signal
entryPrice := low
slPrice := high
tpPrice := entryPrice * (1 - tp_percent)
sl2Price := slPrice * (1 + sl2_percent)
// Plotting
plot(entryPrice, "Entry", color.new(color.green, 0), 2)
plot(slPrice, "SL", color.new(color.red, 0), 2)
plot(tpPrice, "TP", color.new(color.blue, 0), 2)
plot(sl2Price, "SL2", color.new(color.orange, 0), 2)
// Enhanced Signal Markers
plotshape(Buy_Signal, style=shape.square, location=location.belowbar,
color=color.new(color.green, 0), size=size.tiny, offset=-40)
plotshape(Buy_Signal, style=shape.square, location=location.belowbar,
color=color.new(color.lime, 0), size=size.tiny, offset=-50)
plotshape(Buy_Signal, style=shape.triangleup, location=location.belowbar,
color=color.new(color.white, 0), size=size.small, offset=-45)
plotshape(Sell_Signal, style=shape.square, location=location.abovebar,
color=color.new(color.red, 0), size=size.tiny, offset=40)
plotshape(Sell_Signal, style=shape.square, location=location.abovebar,
color=color.new(color.orange, 0), size=size.tiny, offset=50)
plotshape(Sell_Signal, style=shape.triangledown, location=location.abovebar,
color=color.new(color.white, 0), size=size.small, offset=-45)
// Order Block Zones
bgcolor(Buy_OB ? color.new(color.green, 90) : na)
bgcolor(Sell_OB ? color.new(color.red, 90) : na)
// Dynamic Lines
var line entryLine = na
var line slLine = na
var line tpLine = na
var line sl2Line = na
if Buy_Signal or Sell_Signal
entryLine := line.new(bar_index, entryPrice, bar_index+1, entryPrice,
color=color.green, width=2)
slLine := line.new(bar_index, slPrice, bar_index+1, slPrice,
color=color.red, width=2)
tpLine := line.new(bar_index, tpPrice, bar_index+1, tpPrice,
color=color.blue, width=2)
sl2Line := line.new(bar_index, sl2Price, bar_index+1, sl2Price,
color=color.orange, width=2)
//@version=5
indicator("Order Block Signals - Exclusive & Dynamic", overlay=true, max_lines_count=500)
// Inputs
Lookback = input.int(200, "Lookback Period")
min_diff = input.float(1.0, "Min Candle %", step=0.1)
max_diff = input.float(1.2, "Max Candle %", step=0.1)
tp_percent = input.float(1.3, "Take Profit %", step=0.1) / 100
sl2_percent = input.float(1.3, "Second SL %", step=0.1) / 100
// Order Block Detection
var float highRange = na
var float lowRange = na
highRange := ta.highest(high, Lookback)
lowRange := ta.lowest(low, Lookback)
Buy_OB = low >= lowRange * (1 - OB_Threshold) and low <= lowRange * (1 + OB_Threshold)
Sell_OB = high >= highRange * (1 - OB_Threshold) and high <= highRange * (1 + OB_Threshold)
// Candle Filter
candle_diff = ((high - low) / low) * 100
valid_candle = candle_diff >= min_diff and candle_diff <= max_diff
// Signal Generation with Mutual Exclusivity
var int lastSignal = 0 // -1 = Sell active, 0 = Neutral, 1 = Buy active
var float entryPrice = na
var float slPrice = na
var float tpPrice = na
var float sl2Price = na
Buy_Signal = false
Sell_Signal = false
// Check for new signals
if Buy_OB and valid_candle and lastSignal <= 0
Buy_Signal := true
lastSignal := 1
entryPrice := high
slPrice := low
tpPrice := entryPrice * (1 + tp_percent)
sl2Price := slPrice * (1 - sl2_percent)
else if Sell_OB and valid_candle and lastSignal >= 0
Sell_Signal := true
lastSignal := -1
entryPrice := low
slPrice := high
tpPrice := entryPrice * (1 - tp_percent)
sl2Price := slPrice * (1 + sl2_percent)
// Check for TP/SL hit to reset signals
if lastSignal == 1 and (high >= tpPrice or low <= slPrice)
lastSignal := 0
entryPrice := na
slPrice := na
tpPrice := na
sl2Price := na
else if lastSignal == -1 and (low <= tpPrice or high >= slPrice)
lastSignal := 0
entryPrice := na
slPrice := na
tpPrice := na
sl2Price := na
// Plotting
plot(entryPrice, "Entry", color.new(color.green, 0), 2, linewidth=2)
plot(slPrice, "SL", color.new(color.red, 0), 2, linewidth=2)
plot(tpPrice, "TP", color.new(color.blue, 0), 2, linewidth=2)
plot(sl2Price, "SL2", color.new(color.orange, 0), 2, linewidth=2)
// Signal Markers
plotshape(Buy_Signal, style=shape.triangleup, location=location.belowbar,
color=color.new(color.green, 0), size=size.normal, text="BUY", textcolor=color.white)
plotshape(Sell_Signal, style=shape.triangledown, location=location.abovebar,
color=color.new(color.red, 0), size=size.normal, text="SELL", textcolor=color.white)
// Order Block Zones
bgcolor(Buy_OB ? color.new(color.green, 90) : na, title="Buy OB Zone")
bgcolor(Sell_OB ? color.new(color.red, 90) : na, title="Sell OB Zone")
// Dynamic Lines for TP/SL
var line entryLine = na
var line slLine = na
var line tpLine = na
var line sl2Line = na
if Buy_Signal or Sell_Signal
entryLine := line.new(bar_index, entryPrice, bar_index + 1, entryPrice,
color=color.new(color.green, 0), width=2)
slLine := line.new(bar_index, slPrice, bar_index + 1, slPrice,
color=color.new(color.red, 0), width=2)
tpLine := line.new(bar_index, tpPrice, bar_index + 1, tpPrice,
color=color.new(color.blue, 0), width=2)
sl2Line := line.new(bar_index, sl2Price, bar_index + 1, sl2Price,
color=color.new(color.orange, 0), width=2)
// Clear lines when position is closed
if lastSignal == 0
line.delete(entryLine)
line.delete(slLine)
line.delete(tpLine)
line.delete(sl2Line)
Crypto Fear & Greed Score [Underblock]Crypto Fear & Greed Score - Methodology & Functioning
Introduction
The Crypto Fear & Greed Score is a comprehensive indicator designed to assess market sentiment by detecting extreme conditions of panic (fear) and euphoria (greed). By combining multiple technical factors, it helps traders identify potential buying and selling opportunities based on the emotional state of the market.
This indicator is highly customizable, allowing users to adjust weight parameters for RSI, volatility, Bitcoin dominance, and trading volume, making it adaptable to different market conditions.
Key Components
The indicator consists of two primary sub-scores:
Fear Score (Panic) - Measures the intensity of fear in the market.
Greed Score (Euphoria) - Measures the level of overconfidence and excessive optimism.
The difference between these two values results in the Net Score, which indicates the dominant market sentiment at any given time.
1. Relative Strength Index (RSI)
The indicator utilizes multiple RSI timeframes to measure momentum and overbought/oversold conditions:
RSI 1D (Daily) - Captures medium-term sentiment shifts.
RSI 4H (4-hour) - Identifies short-term market movements.
RSI 1W (Weekly) - Helps detect long-term overbought/oversold conditions.
2. Volatility Analysis
High volatility is often associated with fear and panic-driven selling.
Low volatility in bullish markets may indicate complacency and overconfidence.
3. Bitcoin Dominance (BTC.D)
Bitcoin dominance provides insights into capital flow between Bitcoin and altcoins:
Rising BTC dominance suggests fear as investors move into BTC for safety.
Declining BTC dominance indicates increased risk appetite and potential market euphoria.
4. Buying and Selling Volume
The indicator analyzes both buying and selling volume, ensuring a clearer confirmation of market sentiment.
High buying volume in uptrends reinforces bullish momentum.
Spikes in selling volume indicate panic and possible market bottoms.
Calculation Methodology
The indicator allows users to adjust weight parameters for each component, making it adaptable to different trading strategies. The formulas are structured as follows:
Fear Score (Panic Calculation)
Fear Score = (1 - RSI_1D) * W_RSI1D + (1 - RSI_4H) * W_RSI4H + (1 - Dominance) * W_Dominance + Volatility * W_Volatility + Sell Volume * W_SellVolume
Greed Score (Euphoria Calculation)
Greed Score = RSI_1D * W_RSI1D + RSI_4H * W_RSI4H + Dominance * W_Dominance + (1 - Volatility) * W_Volatility + Buy Volume * W_BuyVolume
Net Fear & Greed Score
Net Score = (Greed Score - Fear Score) * 100
Interpretation:
Above 70: Extreme greed -> possible overbought conditions.
Below -70: Extreme fear -> potential buying opportunity.
Near 0: Neutral market sentiment.
Trend Reversal Detection
The indicator includes two moving averages for enhanced trend detection:
Short-term SMA (50-periods) - Reacts quicklier to changes in sentiment.
Long-term SMA (200-periods) - Captures broader trend reversals.
How Crossovers Work:
Short SMA crossing above Long SMA -> Potential bullish reversal.
Short SMA crossing below Long SMA -> Possible bearish trend shift.
Alerts for SMA crossovers help traders act on momentum shifts in real-time.
Customization and Visualization
The Net Score dynamically changes color: green for greed, red for fear.
Users can adjust weightings directly from settings, avoiding manual script modifications.
Reference levels at 70 and -70 provide clarity on extreme market conditions.
Conclusion
The Crypto Fear & Greed Score provides a powerful and objective measure of market sentiment, helping traders navigate extreme conditions effectively.
🟢 If the Net Score is below -70, panic may present a buying opportunity.
🔴 If the Net Score is above 70, excessive euphoria may indicate a selling opportunity.
⚖️ Neutral values suggest a balanced market sentiment.
By customizing weight parameters and utilizing trend reversal alerts, traders can gain a deeper insight into market psychology and make more informed trading decisions. 🚀
M2 Global Liquidity [borsadabibasina]Global likidite takibini yaparken bu veriyi Bitcoin fiyat hareketleriyle birlikte kullanmak için hazırlanmış bir veri göstergesi. Ayarlar kısmından manuel olarak da grafikte ne kadar lag yaratılacağı, kullanıcının tercihine açık bırakılmış durumda.
Global likidite hesaplanırken kullanılan veriler:
+ US M2
+ EU M2
+ China M2
+ Japan M2
+ UK M2
+ Canada M2
+ Australia M2
+ India M2
Live Orderbook Levels (BPS Adjustable)Shows live orderbook based on adjustable levels
Min basis points
max basis points
number of levels
3cfThis indicator identifies and signals the points of swing highs and swing lows on the price chart using an algorithm based on market structure. Local highs and lows are highlighted with a colored dot, making it easier to perform technical analysis and recognize trend reversals.
The indicator analyzes a predefined number of bars (e.g., 5 candles) to determine relative highs and lows:
Swing High (Local High) → The current candle has a higher high compared to the previous and subsequent candle.
Swing Low (Local Low) → The current candle has a lower low compared to the previous and subsequent candle.
When a candle meets one of these conditions, a visual dot is placed to indicate the potential reversal point.
Enhanced Keltner Channels [victhoreb]The Enhanced Keltner Channels indicator is a dynamic, volatility-based tool designed to adapt to changing market conditions. It uses a combination of linear regression and a refined volatility measurement to generate a smooth central trend line and adaptive channel boundaries.
Central Basis Line:
The indicator computes a basis line using a linear regression of the mid-price (hl2) over a user-defined period. This provides a more stable and trend-sensitive central reference compared to traditional moving averages.
Adaptive Channel:
Instead of using the typical Average True Range (ATR) to calculate the bands, this version uses the average distance between the price and the basis.
Use the Enhanced Keltner Channels to help identify potential breakout opportunities, assess market volatility, and refine your entry and exit strategies based on dynamically changing price behavior.
Color Code Overlay StrategyColor Code Overlay Strategy
This strategy utilizes a custom color-coded overlay to provide accurate buy and sell signals based on dynamic color changes of the candles. The indicator works by calculating a color shift between bullish (green) and bearish (red) candles, with the color change logic driven by both price movement and volatility.
How the Color Change is Calculated:
The color change is determined by comparing the closing price relative to the opening price of each candle, as is typical with a traditional bullish or bearish candle. However, to make this strategy more adaptive to market conditions, the color change is further refined by incorporating the Average True Range (ATR).
Volatility Adjusted Color Shift: The strategy calculates a dynamic threshold based on the ATR value, which represents market volatility. If the price movement between the open and close of the candle exceeds a specific percentage of the ATR, the color of the candle shifts from red (bearish) to green (bullish) or vice versa.
Threshold Calculation: A fixed percentage (e.g., 1%) of the ATR range is used to define the minimum price movement required for a color change. This ensures that only significant price movements, adjusted for volatility, trigger the color shift. The larger the ATR (higher volatility), the greater the price movement required to cause a change in color.
Bullish to Bearish (Green to Red): When the candle closes lower than the open, and the price movement exceeds the dynamic threshold based on ATR, the candle color changes from green to red, signaling a potential bearish reversal.
Bearish to Bullish (Red to Green): When the candle closes higher than the open, and the price movement exceeds the ATR-based threshold, the candle color shifts from red to green, signaling a potential bullish reversal.
Key Features:
Dynamic Color Change: The strategy identifies key color changes from bullish to bearish (green to red) and from bearish to bullish (red to green) based on specific thresholds in candle size.
Customizable Timeframe: You can specify a custom trading window to restrict the strategy’s actions to specific hours of the day.
Stop Loss and Take Profit: The strategy incorporates risk management features, allowing you to set a stop loss and take profit based on the price in pips.
Flexible Trade Types: Choose between "Both" (long and short), "Long Only," or "Short Only" trading options to suit your preferred trading style.
Visual Alerts: Receive visual alerts with arrows when color changes occur, signaling potential trade opportunities. Green arrows indicate a bullish shift, while red arrows show a bearish shift.
This strategy is ideal for traders who prefer a color-coded overlay to easily visualize price action and make informed decisions based on bullish or bearish trends. Whether you’re looking for quick, short-term opportunities or analyzing market reversals, this strategy offers an intuitive approach to identifying trade signals.
Crypto strategy//@version=6
strategy("Crypto strategy - TikaTakaTrade (no plots)", overlay=true, initial_capital = 150, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, commission_value = 0.036, margin_long = 90, margin_short = 90)
//==================================================================
// INPUTS
//==================================================================
rangeEmaLen = input.int(20, "Range Filter EMA Len", minval=2)
src = input.source(close, title = "Source")
// Optional trailing stop
trailStopPerc = input.float(0.9, "Trailing Stop %", step=0.5) / 100
// Min bars to hold before reversing
minHoldBars = input.int(5, "Minimum Bars to Hold Before Reversal")
//==================================================================
// RANGE FILTER CALCULATION
//==================================================================
filter = ta.ema(src, rangeEmaLen)
upward = 0.0
upward := filter > filter ? nz(upward ) + 1 : filter < filter ? 0 : nz(upward )
downward = 0.0
downward := filter < filter ? nz(downward ) + 1 : filter > filter ? 0 : nz(downward )
bool(true, "Use noise threshold")
var atrlong = 0
var atrshort = 0
if usethreshold
if atrPercent > noiseThreshold
atrlong := 1
atrshort := 1
if atrPercent < noiseThreshold
atrlong := 0
atrshort := 0
else
0) and not consolidation and atrlong == 1 and is_large_candle and rsi > 50
shortCondition = (src < filter) and (src < src or src < src ) and (downward > 0) and (strategy.position_size == 0) and not consolidation and atrshort == 1 and is_large_candle and rsi < 50
//==================================================================
// ENTER TRADES
//==================================================================
// Tracking trailing prices for each side
var float trailPriceLong = 0.0
var float trailPriceShort = 0.0
float newTrail = 0.0
//Track if it was in Long/Short
var waslong = 0
var wasshort = 0
atrValue = ta.atr(14)
tpMultiplier = input.float(2, "ATR TP Multiplier", step = 0.1)
if longCondition and waslong < 2
strategy.entry("Long", strategy.long)
trailPriceShort := 0
waslong := waslong + 1
wasshort := 0
if shortCondition and wasshort < 2
strategy.entry("Short", strategy.short)
trailPriceLong := 0
wasshort := wasshort + 1
Cumulative Volume Delta and RSI with divergence signalVolume Delta & Cumulative Volume Delta (CVD)
Volume Delta: Calculates buy and sell volumes based on price movements. Plots these volumes as columns.
Cumulative Volume Delta: Uses lower timeframe data to calculate and plot cumulative volume delta (CVD) candles. Includes error-checking for missing volume data.
Volume Delta Table (Optional): Displays buy, sell, and cumulative volumes in a table.
RSI & Divergence
RSI Calculation: Computes the RSI based on price changes and plots it with upper, middle, and lower bands.
Smoothing MA (Optional): Adds various moving averages (SMA, EMA, etc.) and Bollinger Bands to the RSI plot.
Divergence Calculation (Optional): Identifies and plots bullish and bearish divergences based on RSI and price pivots. Sets alerts for these divergences.
RSI Table (Optional): Displays the current RSI value in a table.
Opening Range Breakout (ORB) - v6//@version=6
strategy("Opening Range Breakout (ORB) - v6", overlay=true)
// Input parameters
rangeStartTime = input.time(title="Range Start Time", defval=timestamp("2025-02-27 09:30:00"))
rangeDuration = input.int(title="Range Duration (minutes)", defval=15, minval=1)
stopLossPercent = input.float(title="Stop Loss %", defval=1.0, minval=0.1, step=0.1)
takeProfitPercent = input.float(title="Take Profit %", defval=2.0, minval=0.1, step=0.1)
// Variables to store the opening range and lines
var float orbHigh = na
var float orbLow = na
var bool rangeSet = false
var line highLine = na
var line lowLine = na
// Define the time range
rangeEndTime = rangeStartTime + rangeDuration * 60 * 1000 // Convert minutes to milliseconds
inRange = time >= rangeStartTime and time < rangeEndTime
// Calculate the high and low of the opening range
if inRange
orbHigh := math.max(orbHigh, high) // Update high during range
orbLow := math.min(orbLow, low) // Update low during range
else if not rangeSet and time >= rangeEndTime
orbHigh := orbHigh // Lock the high after range period
orbLow := orbLow // Lock the low after range period
rangeSet := true // Mark range as set
// Draw and update lines using xloc="time"
if rangeSet and na(highLine)
highLine := line.new(rangeStartTime, orbHigh, rangeEndTime, orbHigh, xloc="time", color=color.red, style=line.style_dashed, width=2)
lowLine := line.new(rangeStartTime, orbLow, rangeEndTime, orbLow, xloc="time", color=color.green, style=line.style_dashed, width=2)
if rangeSet and not na(highLine) and time > rangeEndTime
line.set_xy2(highLine, time, orbHigh) // Extend high line to current time
line.set_xy2(lowLine, time, orbLow) // Extend low line to current time
// Entry conditions
buySignal = ta.crossover(close, orbHigh) and rangeSet
sellSignal = ta.crossunder(close, orbLow) and rangeSet
// Execute trades
if buySignal
strategy.entry("Long", strategy.long)
strategy.exit("Exit Long", "Long", stop=strategy.position_avg_price * (1 - stopLossPercent / 100), limit=strategy.position_avg_price * (1 + takeProfitPercent / 100))
if sellSignal
strategy.entry("Short", strategy.short)
strategy.exit("Exit Short", "Short", stop=strategy.position_avg_price * (1 + stopLossPercent / 100), limit=strategy.position_avg_price * (1 - takeProfitPercent / 100))
// Plot buy/sell signals
plotshape(buySignal, title="Buy", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(sellSignal, title="Sell", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)
اندیکاتور پیشرفته برای تایم فریمهای کوتاهCertainly! Below is a description of your custom indicator in English that you can share:
---
**Introducing My Custom Indicator for Forex and Metals Markets**
I have developed a custom indicator designed to perform exceptionally well on the 5-minute time frame in the Forex and metals markets. This indicator is the result of extensive research and testing, tailored to capture key market movements and provide actionable insights for traders.
**Key Features:**
- **Optimized for 5-Minute Time Frame:** The indicator is specifically calibrated for the 5-minute chart, making it ideal for short-term trading strategies.
- **Versatile Application:** It works effectively across major currency pairs (Forex) and precious metals like gold and silver.
- **Clear Signals:** The indicator generates precise buy/sell signals, helping traders identify potential entry and exit points with confidence.
- **User-Friendly:** Designed with simplicity in mind, it is easy to integrate into your trading platform and interpret its signals.
**Why This Indicator?**
- **Proven Performance:** Backtested and refined to deliver consistent results in fast-moving markets.
- **Adaptive to Market Conditions:** It adjusts to varying market volatility, ensuring reliability across different trading sessions.
- **Time-Saving:** Automates the analysis process, allowing traders to focus on execution rather than complex calculations.
Whether you're a day trader or a scalper, this indicator can be a valuable addition to your trading toolkit. Try it out and experience the difference it can make in your trading performance!
---
Feel free to customize this description further to match your specific needs or add more technical details if required. Good luck with your indicator! 🚀
نصي البرمجي//+------------------------------------------------------------------+
//| Smart Money Liquidity Grab Strategy |
//+------------------------------------------------------------------+
input double LotSize = 0.1; // حجم الصفقة
input int RSIPeriod = 14; // فترة RSI
input double RSIOverbought = 70; // مستوى التشبع الشرائي
input double RSIOversold = 30; // مستوى التشبع البيعي
double swing_high, swing_low, order_block_high, order_block_low;
bool sell_signal = false, buy_signal = false;
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit() {
swing_high = iHigh(_Symbol, PERIOD_H1, 1); // أعلى سعر سابق على H1
swing_low = iLow(_Symbol, PERIOD_H1, 1); // أدنى سعر سابق على H1
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick() {
// بيانات RSI
double rsi_H1 = iRSI(_Symbol, PERIOD_H1, RSIPeriod, PRICE_CLOSE, 0);
double rsi_M5 = iRSI(_Symbol, PERIOD_M5, RSIPeriod, PRICE_CLOSE, 0);
// تحديد Swing Highs/Lows جديدة (مناطق السيولة)
if (High > swing_high && High > High && High > High ) {
swing_high = High ; // تحديث أعلى سعر
}
if (Low < swing_low && Low < Low && Low < Low ) {
swing_low = Low ; // تحديث أدنى سعر
}
// تحديد Order Block (آخر شمعة كبيرة قبل الحركة)
double range = High - Low ;
if (range > iATR(_Symbol, PERIOD_H1, 14, 1) && Close < Open ) {
order_block_high = High ; // Order Block هابط
}
if (range > iATR(_Symbol, PERIOD_H1, 14, 1) && Close > Open ) {
order_block_low = Low ; // Order Block صاعد
}
// منطق صناع السوق: كسر السيولة ثم العودة إلى Order Block
if (rsi_H1 > RSIOverbought) { // تشبع شراء على H1
if (Close > swing_high) { // كسر السيولة فوق Swing High
if (Close < order_block_high && rsi_M5 >= 49 && rsi_M5 <= 51) { // العودة إلى Order Block
if (Close < Low ) { // كسر شمعة هابطة على M5
sell_signal = true;
}
}
}
}
if (rsi_H1 < RSIOversold) { // تشبع بيع على H1
if (Close < swing_low) { // كسر السيولة تحت Swing Low
if (Close > order_block_low && rsi_M5 >= 49 && rsi_M5 <= 51) { // العودة إلى Order Block
if (Close > High ) { // كسر شمعة صاعدة على M5
buy_signal = true;
}
}
}
}
// تنفيذ الصفقات
if (sell_signal && PositionsTotal() == 0) {
double sl = swing_high + 10 * Point; // ستوب لوس فوق السيولة
double tp = order_block_high - (swing_high - order_block_high); // تيك بروفيت
OrderSend(_Symbol, OP_SELL, LotSize, Bid, 3, sl, tp, "Sell - Liquidity Grab", 0, 0, clrRed);
sell_signal = false;
}
if (buy_signal && PositionsTotal() == 0) {
double sl = swing_low - 10 * Point; // ستوب لوس تحت السيولة
double tp = order_block_low + (order_block_low - swing_low); // تيك بروفيت
OrderSend(_Symbol, OP_BUY, LotSize, Ask, 3, sl, tp, "Buy - Liquidity Grab", 0, 0, clrGreen);
buy_signal = false;
}
}
Color Code OverlayColor Code Overlay Indicator
The Color Code Overlay indicator is designed to provide a dynamic visualization of price action using color-coded candles. This overlay highlights trend reversals and bullish/bearish conditions by utilizing a custom candle calculation and the Average True Range (ATR) percentage threshold to detect significant price changes.
Key Features:
Custom Candle Calculation:
The Color Code Overlay is based on a modified candlestick calculation that takes the average of the open, high, low, and close prices to determine the candle’s close value. The open value is derived from the midpoint of the current candle's open and close or the previous Color Code Overlay close. The high and low values are based on the highest and lowest prices between the open, close, and the actual market high/low.
Color-Coding:
Green: The candle is colored green when the close is higher than the open, indicating a bullish trend.
Red: The candle is colored red when the close is lower than the open, indicating a bearish trend.
Color Change Detection:
The indicator detects significant color changes, signaling trend reversals. The transitions are determined based on the following conditions:
A bullish to bearish change (green to red) is identified when the current candle's close is lower than the open, and the price difference exceeds 1% of the candle's range (calculated using the current candle's high and low).
A bearish to bullish change (red to green) occurs when the current candle’s close is higher than the open, and the price difference also exceeds 1% of the candle's range.
Threshold Calculation:
The dynamic threshold for detecting significant price changes is based on the ATR percentage of the candle's range. By default, the indicator uses 1% of the range for detecting meaningful price movement. This ensures that only substantial changes trigger the color shifts, providing clear signals for potential trend reversals or market momentum.
Arrows for Color Changes:
A red triangle down is plotted above the bar when the color changes from green to red (bullish to bearish).
A green triangle up is plotted below the bar when the color changes from red to green (bearish to bullish).
Alerts:
The indicator includes alert conditions that notify you when:
The price is bullish (green candle).
The price is bearish (red candle).
There is a change from green to red (bullish to bearish).
There is a change from red to green (bearish to bullish).
How It Works:
The Color Code Overlay dynamically calculates the candle values based on market data and applies the ATR-based threshold to identify color changes. A shift from bullish to bearish or vice versa is only triggered when the price moves significantly beyond the calculated threshold, helping to avoid false signals from minor price fluctuations.
This indicator is particularly useful for traders looking to spot trend reversals and significant market shifts with a clear, color-coded visual representation of price action. The Color Code Overlay can be used alongside other technical indicators to enhance decision-making and improve trading strategies.