MACD Triple divergence signalsThis script is a basic combination of several scripts that I found very useful. It's a MACD divergence on steroids. Instead of using only one plot as a source for detecting divergence, I use all of the plots.
The idea is that if more divergence signals appear—especially after a prolonged downtrend or uptrend—they can be interpreted as a strong divergence signal.
The third divergence signal is taken from the MACD signal line. It has a longer-term lookback range, which could provide a more reliable divergence signal.
The default minimum lookback range is 15, much greater than the usual value of 5. This makes it more suitable for long-term trading or for lower timeframes (lower than 4H) to reduce noise from excessive signals. For timeframes higher than 4H, the setting can be reduced to around 10 or even 5.
For the 1W (weekly) timeframe, try using a value of 3.
I also added a band to give a clear visual of overbought and oversold areas. It works similarly to Bollinger Bands (BB). You can spot when the price is ranging or when a stop-loss hunt occurs (i.e., the price breaks the band).
Please do your homework—backtest it yourself to find which timeframe suits you best. You can also tweak the settings if you find the default values too aggressive or too mild.
I’ve found that MACD is more reliable on timeframes greater than 1H. Personally, I use it on the 4H and 1D timeframes.
in bahasa:
MACD dengan 3 sinyal divergence, kalau muncul lebih banyak, bisa jadi sinyal lebih menyakinkan.
Minimum lookback range default-nya 15 agar tidak muncul terlalu banyak sinyal. 15 lebih panjang, lebih ok. Kalau main di higher timeframe seperti 1D, bisa 5-10, kalau weeky timeframe = 3.
Untuk band, cek ketika plot-nya keluar dari band, itu bisa jadi jackpot, apalagi kalau plot-nya membentuk double bottom.
Backtest sendiri, siapa tahu kalian bisa dapet setting sendiri.
MACD with upper and lower band will give you a clear visual of price movements
More divergence signals are generated and when the price breaks out of the oversold band = jackpot.
Cicli
X HL QA market structure tool designed to frame price action within a defined context of prior session dynamics. It accomplishes this by anchoring a set of reference levels to the high, low, and open prices of a user-specified higher timeframe (e.g., 4H, 1D, etc.) and projecting those levels onto the current chart for ongoing analysis.
At its core, the indicator establishes a reference range—derived from the previous completed instance of the selected timeframe—and overlays this on the current timeframe. This range serves as a foundational structure for price interpretation in the current session.
Building upon this framework, the script constructs a set of symmetrical quadrants (or deviation zones) both inside and outside of the prior range. These include:
The midpoint (EQ) of the prior range
Levels at ±0.25x, ±0.75x, ±1.0x, ±1.5x, and ±2.0x the range height
These levels act as contextual zones that traders can use to interpret price behavior—whether it's consolidating within the prior range, approaching fair value (EQ), or expanding into directional continuation or reversal zones beyond the range.
The script operates in both real-time and historical contexts. On live bars, it dynamically updates the key levels to provide an evolving view of current price positioning. Simultaneously, it supports the display of historical levels for past sessions, enabling robust backtesting and comparative analysis of price behavior relative to previous quadrant structures.
Ultimately, this tool serves as a positional map, helping traders assess where price is trading relative to significant levels from the prior session, offering insights into potential support/resistance, overextension, or mean reversion scenarios.
Key Technical Features
Multi-Timeframe Support:
request.security() is used to pull data from a user-defined higher timeframe regardless of the current chart interval.
Visual Flexibility:
Toggle between "line" and "channel" mode.
Line color, width, and visibility are all user-controlled.
Anchoring Options:
Deviation levels can be calculated from either the previous period's open or its EQ (midpoint), giving flexibility depending on analytical preference.
Efficient Labeling:
Labels are only rendered on the last bar and are automatically cleared and redrawn to prevent duplication.
Label style, size, text color, and background color are all user-configurable.
Trading Application
This indicator is especially suited for:
1. Mean Reversion Strategies
When price moves beyond +1.0 or +1.5 deviations from the EQ or open, it may signal overextension and a potential snap back to the midpoint or range.
2. Breakout Confirmation
Sustained price action beyond ±1.0 levels may indicate trend strength or continuation beyond historical balance zones.
3. Contextual Range Awareness
EQ and Open provide structure from which traders can judge whether price is in a state of balance or imbalance.
Labels offer at-a-glance interpretation of key levels across any chosen timeframe.
4. Fractal and Multi-Session Analysis
Analysts can layer daily, weekly, and monthly versions of this indicator to observe confluence or divergence of higher timeframe structure.
Price Density Strategy ScoreBased on the rules we defined, a composite score (-3 to +3) is calculated and displayed as colored bars below the chart:
Dark green (+3): Strong buy signal
Light green (+1, +2): Mildly bullish
Gray (0): Neutral
Light red (-1, -2): Mildly bearish
Dark red (-3): Strong sell signal
根据我们定义的规则,计算一个综合分数(-3 到 +3),并在图表下方用不同颜色的柱状图显示出来:
深绿色 (+3):强力买入信号
浅绿色 (+1, +2):温和看涨
灰色 (0):中性
浅红色 (-1, -2):温和看跌
深红色 (-3):强力卖出信号
Step 1: Draw Thursday HighScript Description: Thursday High Marker
This is an automated charting tool designed to identify the high of each Thursday and display it as a key reference level for future trading sessions.
Core Functionality:
The script's logic is simple and precise. It waits for the trading session on Thursday to complete. At the very beginning of Friday, it looks back, finds the highest price from Thursday, and draws a clean, white horizontal line at that level.
Key Features:
Automatic: You don't need to do anything. The script finds and draws the level on its own every week.
Forward-Looking: The line extends to the right indefinitely, allowing you to see how future price action interacts with this key level.
Self-Cleaning: To keep your chart uncluttered, the script automatically deletes the previous week's line when it draws the new one.
Lightweight: It performs a single, simple task, so it doesn't slow down your chart.
Purpose in Trading:
Traders use this kind of indicator to track significant weekly price points. The high of a late-week session like Thursday is often considered an important liquidity level. A break above this line can signal bullish strength or a "liquidity sweep," making it a valuable point of interest for making trading decisions on Friday and into the following week.
Multi-Timeframe Horizontal LinesThis Pine Script indicator plots horizontal lines at the high and low prices of the most recent 1-hour and 15-minute candles. Users can customize the color and width of the lines for each timeframe. The lines are updated dynamically, with previous lines removed to keep the chart clean.
SDR Dashboard: 结构距离与节奏How to trade with this "SDR Dashboard"
This indicator is not a mindless "arrow trading system", but a powerful filter and decision-making aid. Please strictly follow the following process:
Step 1: Look at the background color (set the rhythm)
Is the chart background blue? If so, your brain should switch to "only look for buying opportunities" mode. Ignore all red arrow signals.
Is the chart background red? If so, switch to "only look for selling opportunities" mode. Ignore all green arrow signals.
Is the background gray? Stay on the sidelines, or only trade in small positions.
Step 2: Wait for the oscillator to enter the area (measure the distance)
Under the blue background, patiently wait for the "Structural Distance Oscillator" main line to enter the green "support zone" below (below -80). This tells you that the price has fallen back to a favorable position in the structure.
Under the red background, wait for the main line to enter the red "resistance zone" above (above +80).
Step 3: Wait for the arrow to appear (find resonance)
This is the most critical step. When the oscillator main line has entered the favorable area, do not act immediately.
Wait patiently for a clear green (▲) or red (▼) arrow signal to appear. This arrow represents the final confirmation of "momentum" and is the resonance point of "time, place, and people".
Step 4: Confirm with the main chart (execute the transaction)
When the SDR dashboard sends a signal, return to your main chart for final confirmation.
Does this signal appear in the strong support/resistance area you marked with VPVR?
Use the **"Long and Short Positions" tool to measure whether the profit and loss ratio of this transaction is still cost-effective?
If everything is perfect, this is a high-probability transaction that is highly consistent with your trading system. Execute it and set the stop loss and take profit according to your trading plan.
This indicator condenses all our discussions - macro rhythm, structural distance, momentum confirmation - into a simple and powerful visual language. It can greatly help you filter out low-quality trading opportunities and force you to be patient and only take action when the chance of winning is the highest.
Cumulative Volume Delta with MAfor higher timeframes , i use 9 or 11 ema , and 5 seconds on 1 day. moving average of the cvd not the raw volume . i use it with the impulse macd and find momentum trades or selloffs when moving averages cross .
Session Makers v1
Session Makers v1 - Professional Trading Session Visualizer
This advanced indicator highlights key trading sessions and market structure levels, helping traders identify optimal trading times and important price levels.
Key Features:
Session Time Markers
- Vertical dotted lines at major market opens (London/New York)
- Appears 30 minutes before each session for early preparation
Interactive Session Boxes
- Asia Session (22:00-06:00 GMT) - Blue shaded area
- London AM (08:00-09:00 GMT) - Gray shaded area
- London/New York Overlap (14:00-15:00 GMT) - Gray shaded area
Key Reference Levels
- Yesterday's high/low (with touch alerts)
- Previous week's high/low (with touch alerts)
- Asia session high/low/mid lines
Smart Visual Design
- Clean, non-cluttered visuals that adapt to your chart
- Customizable colors and transparency for all elements
- Optimized for all timeframes (M1-H4)
only use in timeframes <= 15 min
SDR Dashboard v3.1: 结构距离与节奏SDR Dashboard v3.1: User Guide & Trading Strategy
1. Introduction
The SDR Dashboard is a comprehensive technical indicator designed to identify high-probability trend-following trade opportunities. It is built on the core principle of "buying the dip in an uptrend" and "selling the rally in a downtrend."
To achieve this, the indicator combines three key elements of market analysis:
Rhythm (The Long-Term Trend): Determines the overall market direction.
Distance (The Pullback Location): Identifies when the price has pulled back to an area of potential value.
Momentum (The Entry Trigger): Provides the final confirmation to enter a trade.
A signal is only generated when all three conditions align, providing a clear and disciplined approach to trading.
2. Core Components Explained
The indicator's logic is visualized through the background color and the oscillator at the bottom of the chart.
Rhythm: The Background Color
The background color is determined by the 200-period Exponential Moving Average (EMA), which defines the long-term trend.
🟦 Blue Background: The price is above the 200 EMA. The market is in an uptrend. You should ONLY look for BUY signals.
🟥 Red Background: The price is below the 200 EMA. The market is in a downtrend. You should ONLY look for SELL signals.
⬜ Gray Background: The price is hovering around the 200 EMA. The trend is unclear or the market is in a consolidation phase. You should STAY OUT and wait for a clear trend to establish.
Distance: The Oscillator & Zones
The multi-colored line at the bottom is the "Distance Oscillator." It measures how overbought or oversold the price is relative to its recent range (defaulting to the last 50 bars).
Overbought Zone (Red Area > +80): In a downtrend, this indicates the price has rallied to a potential resistance level and may be due for a turn back down.
Oversold Zone (Green Area < -80): In an uptrend, this indicates the price has dipped to a potential support level and may be due for a turn back up.
Momentum: The Stochastic Cross (The Hidden Trigger)
This indicator uses a standard Stochastic Oscillator in the background (not plotted to keep the chart clean) as the final entry trigger.
A bullish crossover (K-line crossing above D-line) confirms that downside momentum is fading and buying pressure is returning.
A bearish crossunder (K-line crossing below D-line) confirms that upside momentum is fading and selling pressure is returning.
3. How to Use: Trading Rules
BUY Signal (Long Entry)
Look for a green "▲" arrow below a candle. This signal appears ONLY when the following three conditions are met in order:
Rhythm is Bullish: The chart background must be BLUE.
Distance is Oversold: The Distance Oscillator must have recently dipped into the green "Support Zone" (below -80) within the last 3 bars. This shows a pullback has occurred.
Momentum Confirms: The Stochastic Oscillator has just executed a bullish crossover. This is the trigger.
Strategy: In a clear uptrend (blue background), wait for a price dip into the support area. Enter when the green arrow appears, confirming the dip is likely over and the uptrend is resuming.
SELL Signal (Short Entry)
Look for a red "▼" arrow above a candle. This signal appears ONLY when the following three conditions are met in order:
Rhythm is Bearish: The chart background must be RED.
Distance is Overbought: The Distance Oscillator must have recently pushed into the red "Resistance Zone" (above +80) within the last 3 bars. This shows a rally has occurred.
Momentum Confirms: The Stochastic Oscillator has just executed a bearish crossunder. This is the trigger.
Strategy: In a clear downtrend (red background), wait for a price rally into the resistance area. Enter when the red arrow appears, confirming the rally is likely over and the downtrend is resuming.
4. Best Practices & Risk Management
No Indicator is Perfect: This tool provides high-probability setups, not guaranteed wins. Always use proper risk management, including setting a stop-loss for every trade.
Context is Key: The indicator works best in trending markets. Be cautious during periods of low volatility or sideways chop (gray background).
Parameter Tuning: The default settings are a balanced starting point. Feel free to experiment with the lookback periods and thresholds in the indicator's settings to optimize for different assets and timeframes.
X PD&FVVisualizes the price's premium or discount relative to a moving average benchmark, highlighting mean-reversion and trend-continuation opportunities. While the underlying math is simple, the application is nuanced and can enhance decision-making in both trending and ranging market conditions.
Core Logic:
This tool calculates a custom **spread value**, defined as the distance between the current price and a chosen exponential moving average (EMA). Specifically:
When the current price is **above** the EMA, the spread is calculated as `low - EMA`.
When the price is **below** the EMA, the spread is calculated as `high - EMA`.
This approach creates a dynamic spread that reflects deviation from the EMA, with histogram bars:
Green when the spread is positive (suggesting a price premium),
Red when the spread is negative (suggesting a discount).
A secondary EMA (default 9-period) is applied to the spread itself, plotted as a smoother line over the histogram. This "EMA of spread" line can be interpreted as a moving reference level for detecting directional shifts in momentum.
Interpretation:
Zero Line = Fair Value: The horizontal zero axis represents equilibrium relative to the moving average. Movement toward or away from this line signals potential shifts in market bias.
Trend Following Use: In trending markets, traders can:
Buy when the spread dips below its EMA (discount within uptrend),
Sell when the spread rises above its EMA (premium within downtrend).
Mean Reversion Use: A return to the zero line (fair value) often acts as an **inflection point**, which traders can monitor for either:
Trend continuation (bounce away from zero), or
Reversal (cross through zero).
Customization:
EMA length (default 50) is adjustable to fit different timeframes or asset volatility.
Altcoins + ETH (brez stablecoinov) / BTCWhen chart hits cca 0.3 of value it's sign the beginning ALT season.
MSFT Bias at NYSE Open (9:30 ET)have an 85% bias accuracy rate with this indicator. wait for market open
VWAP + HL + EMAsVWAP
Yesterday’s High and Low
Today’s High and Low
EMAs (20, 50, 100, 200)
VWAP
Yesterday’s High and Low
Today’s High and Low
EMAs (20, 50, 100, 200)
VARNI-LINE-CHART//@version=5
indicator("VARNI-LINE-CHART",shorttitle = "VARNI-LINE-CHART", overlay=false)
// Input for Index and Expiry Date
spot_ = input.string("BANKNIFTY", title = "Spot Symbol", options = , group = "Index")
tooltip_day = "Enter the day of the expiry. Add 0 in front if the day is a single digit. For example: 05 instead of 5"
tooltip_month = "Enter the month of the expiry. Add 0 in front if the month is a single digit. For example: 06 instead of 6"
tooltip_year = "Enter the year of the expiry. Use the last two digits of the year. For example: 24 instead of 2024"
_day = input.string("13", title = "Expiry Day", tooltip = tooltip_day, group="Expiry Date")
_month = input.string("02", title = "Expiry Month", tooltip = tooltip_month, group="Expiry Date")
_year = input.string("25", title = "Expiry Year", tooltip = tooltip_year, group="Expiry Date")
// Input for Strikes
tooltip_ = "You can select any Strike, and choose to include both strikes or just one"
strike_ce = input.int(23500, "Call Strike", tooltip = tooltip_,step = 50, group = "Select Strike")
strike_pe = input.int(23500, "Put Strike", tooltip = tooltip_,step = 50, group = "Select Strike")
var string spot = na
if spot_ == "SENSEX"
spot := "BSX"
else if spot_ == "BANKEX"
spot := "BKX"
else
spot := spot_
// Option to include both strikes
strike_choice = input.string("Combined", title = "Select Strike", options = , group = "Select Strike")
// Generate symbols for Call and Put options
var string symbol_CE = spot + _year + _month + _day + "C" + str.tostring(strike_ce)
var string symbol_PE = spot + _year + _month + _day + "P" + str.tostring(strike_pe)
// Request security data for both Call and Put options
= request.security(symbol_CE, timeframe.period, )
= request.security(symbol_PE, timeframe.period, )
call_volume = request.security( symbol_CE, timeframe.period , volume )
put_volume = request.security( symbol_PE, timeframe.period , volume )
var float combined_open = 0
var float combined_high = 0
var float combined_low = 0
var float combined_close = 0
var float combined_vol = 0
// Calculate combined premium based on strike choice
if strike_choice == "Combined"
combined_open := call_open + put_open
combined_close := call_close + put_close
combined_high := math.max(combined_open, combined_close)
combined_low := math.min(combined_open, combined_close)
combined_vol := call_volume + put_volume
else if strike_choice == "Only Call"
combined_open := call_open
combined_close := call_close
combined_high := call_high
combined_low := call_low
combined_vol := call_volume
else
combined_open := put_open
combined_close := put_close
combined_high := put_high
combined_low := put_low
combined_vol := put_volume
// Plot combined premium as a line chart
plot(combined_close, title = "Combined Premium", color = combined_close > combined_open ? color.green : color.red, linewidth = 2)
// Indicator selection
use_ema_crossover = input.bool(false, title = "Use EMA Crossover", group = "Indicators")
use_supertrend = input.bool(false, title = "Use Supertrend", group = "Indicators")
use_vwap = input.bool(true, title = "Use VWAP", group = "Indicators")
use_rsi = input.bool(false, title = "Use RSI", group = "Indicators")
use_sma = input.bool(false, title = "Use SMA", group = "Indicators")
pine_supertrend_value(factor, atrPeriod) =>
src = combined_close
atr = ta.atr(atrPeriod)
upperBand = src + factor * atr
lowerBand = src - factor * atr
prevLowerBand = nz(lowerBand )
prevUpperBand = nz(upperBand )
lowerBand := lowerBand > prevLowerBand or combined_close < prevLowerBand ? lowerBand : prevLowerBand
upperBand := upperBand < prevUpperBand or combined_close > prevUpperBand ? upperBand : prevUpperBand
int _direction = na
float superTrend = na
prevSuperTrend = superTrend
if na(atr )
_direction := 1
else if prevSuperTrend == prevUpperBand
_direction := combined_close > upperBand ? -1 : 1
else
_direction := combined_close < lowerBand ? 1 : -1
superTrend := _direction == -1 ? lowerBand : upperBand
superTrend
pine_supertrend_dir(factor, atrPeriod) =>
src = combined_close
atr = ta.atr(atrPeriod)
upperBand = src + factor * atr
lowerBand = src - factor * atr
prevLowerBand = nz(lowerBand )
prevUpperBand = nz(upperBand )
lowerBand := lowerBand > prevLowerBand or combined_close < prevLowerBand ? lowerBand : prevLowerBand
upperBand := upperBand < prevUpperBand or combined_close > prevUpperBand ? upperBand : prevUpperBand
int _direction = na
float superTrend = na
prevSuperTrend = superTrend
if na(atr )
_direction := 1
else if prevSuperTrend == prevUpperBand
_direction := combined_close > upperBand ? -1 : 1
else
_direction := combined_close < lowerBand ? 1 : -1
superTrend := _direction == -1 ? lowerBand : upperBand
_direction
// Input for EMA lengths
fastLength = input.int(7, 'Fast EMA Length', group = "EMA")
slowLength = input.int(12, 'Slow EMA Length', group = "EMA")
// Input for SuperTrend
atrLength = input.int(7, 'ATR Length', group = "SuperTrend")
fac = input.float(2, 'Factor', group = "SuperTrend")
// Input for RSI
rsi_length = input.int(7, 'Length', group="RSI")
rsi_ob_level = input.int(80, 'Overbought', group="RSI")
rsi_os_level = input.int(20, 'Oversold', group="RSI")
// Input for SMA
sma_length = input.int(7, 'SMA Length', group = "SMA")
var float fast_ema = na
var float slow_ema = na
var float supertrend = na
var int direction = na
var float rsi_val = na
var float sma_val = na
var float sumPriceVolume = na
var float sumVolume = na
var float vwap = na
// Fast EMA
if use_ema_crossover
fast_ema := ta.ema(combined_close, fastLength)
slow_ema := ta.ema(combined_close, slowLength)
// Supertrend
if use_supertrend
supertrend := pine_supertrend_value( fac, atrLength)
direction := pine_supertrend_dir( fac, atrLength)
// VWAP
if use_vwap
if (dayofweek != dayofweek )
sumPriceVolume := 0.0
sumVolume := 0.0
vwap := 0.0
sumPriceVolume += combined_close * combined_vol
sumVolume += combined_vol
vwap := sumPriceVolume / sumVolume
// RSI
if use_rsi
rsi_val := ta.rsi(combined_close, rsi_length)
// SMA
if use_sma
sma_val := ta.sma(combined_close, sma_length)
plot(fast_ema, title='Fast EMA', color=color.blue, linewidth=2)
plot(slow_ema, title='Slow EMA', color=color.yellow, linewidth=2)
plot(direction < 0 ? supertrend : na, "Up direction", color = color.green, style=plot.style_linebr)
plot(direction > 0 ? supertrend : na, "Down direction", color = color.red, style=plot.style_linebr)
plot(vwap, title='VWAP', color=color.purple, linewidth=2)
plot(sma_val, title='SMA', color=color.maroon, linewidth=2)
// Define buy and sell conditions based on selected indicators
var bool buy = false
var bool sell = false
var int buyC = 0
var int sellC = 0
if dayofweek != dayofweek
buyC := 0
sellC := 0
if use_ema_crossover
buy := ( ta.crossover(fast_ema, slow_ema) ) and buyC == 0
sell := ( ta.crossunder(fast_ema, slow_ema) ) and sellC == 0
if use_vwap
buy := ( buy ? buy and (combined_close > vwap and combined_close <= vwap ) : (combined_close > vwap and combined_close <= vwap )) and buyC == 0
sell := ( sell ? sell and (combined_close < vwap and combined_close >= vwap ) : (combined_close < vwap and combined_close >= vwap )) and sellC == 0
if use_rsi
buy := ( buy ? buy and ta.crossover(rsi_val, rsi_ob_level) : ta.crossover(rsi_val, rsi_ob_level) ) and buyC == 0
sell := ( sell ? sell and ta.crossunder(rsi_val, rsi_os_level) : ta.crossunder(rsi_val, rsi_os_level) ) and sellC == 0
if use_sma
buy := ( buy ? buy and ta.crossover(combined_close, sma_val) : ta.crossover(combined_close, sma_val) ) and buyC == 0
sell := ( sell ? sell and ta.crossunder(combined_close, sma_val) : ta.crossunder(combined_close, sma_val) ) and sellC == 0
if use_supertrend
buy := ( buy ? direction == -1 : direction == -1 and direction == 1 ) and buyC == 0
sell := ( sell ? direction == 1 : direction == 1 and direction == -1 ) and sellC == 0
if buy
buyC := 1
sellC := 0
if sell
sellC := 1
buyC := 0
// Plot buy and sell signals
plotshape(buy, title = "Buy", text = 'Buy', style = shape.labeldown, location = location.top, color= color.green, textcolor = color.white, size = size.small)
plotshape(sell, title = "Sell", text = 'Sell', style = shape.labelup, location = location.bottom, color= color.red, textcolor = color.white, size = size.small)
// Alert conditions
alertcondition(buy, "Buy Alert", "Buy Signal")
alertcondition(sell, "Sell Alert", "Sell Signal")
Rolling 250-Day Sharpe RatioThis Pine Script indicator, “Rolling 250-Day Sharpe Ratio”, computes the trailing Sharpe Ratio for any traded asset over a 250-session window, equivalent to approximately one trading year. The script first derives daily log returns and adjusts them by subtracting the daily equivalent of the 3-month US Treasury yield to obtain the excess return. It then calculates the rolling mean and standard deviation of these excess returns to produce the annualized Sharpe Ratio, which is displayed as a continuous time series on the chart. This allows traders and analysts to assess how the asset’s risk-adjusted performance evolves over time relative to a risk-free benchmark.
A persistently high Sharpe Ratio can indicate strong risk-adjusted returns, but it is essential to approach extreme values with caution. Elevated Sharpe readings can sometimes reflect unsustainable trends, excessive leverage, or periods of unusually low volatility that may revert abruptly. Conversely, a low or negative Sharpe Ratio does not automatically imply an asset should be avoided; it might signal an opportunity if the risk environment normalizes.
THEDU RSI VIP 999fva fsdcsdvs d vfsdvcsdffws d dsfsdfsfedfzcesfzxdcsedf fsadfef è szdcsdfsdfwec szc fdssdfddddđ
Pithis is pi cycle indicator for bitcoin
blue triangle indicates price higher than a week ago and higher than yesterday
orange one indicates price higher than a week ago but lower than yesterday
fuchsia one indicates price lower than a week ago but higher than yesterday
red one indicates price lower than a week ago and lower than yesterday
Hourly Markers 09:00 - 20:00 Adjusted for UTC+2A line for every hour from 0900 to 2200
Description:
This TradingView Pine Script plots small red markers (downward arrows) at the top of the chart for every full hour between 09:00 AM and 08:00 PM (20:00) based on UTC+2 time. The markers appear precisely at the opening minute of each hour within the defined range, helping traders visually track key time intervals during the day.
Features:
✔ Displays markers from 09:00 to 20:00 local time (UTC+2 adjustment)
✔ Only plots markers at the first minute of each hour
✔ Uses clear, unobtrusive triangle-down symbols above the bars
✔ Works on any chart timeframe that captures hourly intervals
Use Case:
Ideal for traders who want a quick visual reference of hourly intervals during the main trading hours, especially when working with charts set to UTC or different time zones.
Macro+ ExtMacros+ (Time Sessions & Alerts)
Macros+ is a powerful and highly customizable tool designed to highlight specific time windows—often referred to as "macros"—directly on your chart. It is built for traders who operate on time-based strategies, such as those targeting specific liquidity periods like the ICT Silver Bullet or other institutional timeframes.
By visualizing these key sessions historically and in real-time, traders can better anticipate market volatility, identify potential trade setups, and maintain discipline. The script is clean, efficient, and built with flexibility in mind.
Key Features
This indicator goes beyond simple time boxes and includes several advanced features to fit your specific trading style:
1. Historical & Real-Time Display
The script is designed to plot all selected macro sessions across the entire historical data loaded on your chart, not just the current day. This allows for comprehensive backtesting and analysis of how price behaves during these specific time windows.
2. Fully Customizable Macro Sessions
You have full control over which time sessions you want to display. The indicator includes 14 pre-configured 20-minute sessions, which you can easily toggle on or off from the settings menu. This allows you to focus only on the timeframes that are relevant to your strategy.
3. Adjustable "Extended Macro" Time
Flexible Time Extension: Instead of a fixed session duration, you can now dynamically extend the start and end times of all macros.
Numerical Input: In the settings, under "Time Settings," you'll find an "Extend Minutes" input. This number lets you add minutes to both the beginning and the end of each session.
Example: A standard macro from 09:50 - 10:10 with an "Extend Minutes" value of 5 will be automatically adjusted to 09:45 - 10:15. Setting it to 0 will keep the default 20-minute sessions.
4. Multiple Display Styles
Adapt the indicator's appearance to your preference for a clean and readable chart. All styles are designed to span the full vertical height of the chart for maximum visibility.
Solid Line: Clear, solid vertical lines marking the start and end of a session.
Dashed Line: A more subtle, dashed-line alternative.
Dotted Line: The most subtle line style for a minimalist chart.
Background: Fills the entire session window with a semi-transparent color.
Outline: Draws a colored border around the session window without filling it.
5. Real-Time Alerts
Never miss the start of a key session again. You can enable an alert that will trigger once at the beginning of any active macro session. This is perfect for traders who may not be watching the charts constantly.
6. Timezone Correction
All times are calculated based on the timezone you select in the settings (default is "America/New_York"). This ensures the sessions are always plotted accurately according to the market you are trading (e.g., New York session times).
How to Use
Add to Chart: Add the "Macros+" indicator to your chart.
Open Settings:
General Settings: Choose your preferred Timezone, Display Style, and Color.
Active Macro Sessions: Check the boxes for the time sessions you wish to monitor.
Time Settings: Enter a value in Extend Minutes if you want to widen the time windows. A value of 5 will create 30-minute sessions.
Alert Settings: Enable the Alert On Macro Start option if you wish to receive alerts.
Create Alert: To activate the pop-up alert, click the clock icon on the TradingView right-hand panel, select "Macros+" in the "Condition" dropdown, choose "Sesi Makro Dimulai," and set it to trigger "Once Per Bar."
This tool was designed to be both powerful and user-friendly. I hope it becomes a valuable part of your trading toolkit. Happy trading!