DayLowDayLow(x) tracks the days since a new low on a chart. I like to use this indicator to track trends up and down. I use a double DayLow indicator: DayLow(5) Red Line + DayLow(6) shaded red This is a short term indicator to let new know a stocks weakness early on the chart.
Cari dalam skrip untuk "track"
RiskMetrics█ OVERVIEW
This library is a tool for Pine programmers that provides functions for calculating risk-adjusted performance metrics on periodic price returns. The calculations used by this library's functions closely mirror those the Broker Emulator uses to calculate strategy performance metrics (e.g., Sharpe and Sortino ratios) without depending on strategy-specific functionality.
█ CONCEPTS
Returns, risk, and volatility
The return on an investment is the relative gain or loss over a period, often expressed as a percentage. Investment returns can originate from several sources, including capital gains, dividends, and interest income. Many investors seek the highest returns possible in the quest for profit. However, prudent investing and trading entails evaluating such returns against the associated risks (i.e., the uncertainty of returns and the potential for financial losses) for a clearer perspective on overall performance and sustainability.
One way investors and analysts assess the risk of an investment is by analyzing its volatility , i.e., the statistical dispersion of historical returns. Investors often use volatility in risk estimation because it provides a quantifiable way to gauge the expected extent of fluctuation in returns. Elevated volatility implies heightened uncertainty in the market, which suggests higher expected risk. Conversely, low volatility implies relatively stable returns with relatively minimal fluctuations, thus suggesting lower expected risk. Several risk-adjusted performance metrics utilize volatility in their calculations for this reason.
Risk-free rate
The risk-free rate represents the rate of return on a hypothetical investment carrying no risk of financial loss. This theoretical rate provides a benchmark for comparing the returns on a risky investment and evaluating whether its excess returns justify the risks. If an investment's returns are at or below the theoretical risk-free rate or the risk premium is below a desired amount, it may suggest that the returns do not compensate for the extra risk, which might be a call to reassess the investment.
Since the risk-free rate is a theoretical concept, investors often utilize proxies for the rate in practice, such as Treasury bills and other government bonds. Conventionally, analysts consider such instruments "risk-free" for a domestic holder, as they are a form of government obligation with a low perceived likelihood of default.
The average yield on short-term Treasury bills, influenced by economic conditions, monetary policies, and inflation expectations, has historically hovered around 2-3% over the long term. This range also aligns with central banks' inflation targets. As such, one may interpret a value within this range as a minimum proxy for the risk-free rate, as it may correspond to the minimum rate required to maintain purchasing power over time.
The built-in Sharpe and Sortino ratios that strategies calculate and display in the Performance Summary tab use a default risk-free rate of 2%, and the metrics in this library's example code use the same default rate. Users can adjust this value to fit their analysis needs.
Risk-adjusted performance
Risk-adjusted performance metrics gauge the effectiveness of an investment by considering its returns relative to the perceived risk. They aim to provide a more well-rounded picture of performance by factoring in the level of risk taken to achieve returns. Investors can utilize such metrics to help determine whether the returns from an investment justify the risks and make informed decisions.
The two most commonly used risk-adjusted performance metrics are the Sharpe ratio and the Sortino ratio.
1. Sharpe ratio
The Sharpe ratio , developed by Nobel laureate William F. Sharpe, measures the performance of an investment compared to a theoretically risk-free asset, adjusted for the investment risk. The ratio uses the following formula:
Sharpe Ratio = (𝑅𝑎 − 𝑅𝑓) / 𝜎𝑎
Where:
• 𝑅𝑎 = Average return of the investment
• 𝑅𝑓 = Theoretical risk-free rate of return
• 𝜎𝑎 = Standard deviation of the investment's returns (volatility)
A higher Sharpe ratio indicates a more favorable risk-adjusted return, as it signifies that the investment produced higher excess returns per unit of increase in total perceived risk.
2. Sortino ratio
The Sortino ratio is a modified form of the Sharpe ratio that only considers downside volatility , i.e., the volatility of returns below the theoretical risk-free benchmark. Although it shares close similarities with the Sharpe ratio, it can produce very different values, especially when the returns do not have a symmetrical distribution, since it does not penalize upside and downside volatility equally. The ratio uses the following formula:
Sortino Ratio = (𝑅𝑎 − 𝑅𝑓) / 𝜎𝑑
Where:
• 𝑅𝑎 = Average return of the investment
• 𝑅𝑓 = Theoretical risk-free rate of return
• 𝜎𝑑 = Downside deviation (standard deviation of negative excess returns, or downside volatility)
The Sortino ratio offers an alternative perspective on an investment's return-generating efficiency since it does not consider upside volatility in its calculation. A higher Sortino ratio signifies that the investment produced higher excess returns per unit of increase in perceived downside risk.
█ CALCULATIONS
Return period detection
Calculating risk-adjusted performance metrics requires collecting returns across several periods of a given size. Analysts may use different period sizes based on the context and their preferences. However, two widely used standards are monthly or daily periods, depending on the available data and the investment's duration. The built-in ratios displayed in the Strategy Tester utilize returns from either monthly or daily periods in their calculations based on the following logic:
• Use monthly returns if the history of closed trades spans at least two months.
• Use daily returns if the trades span at least two days but less than two months.
• Do not calculate the ratios if the trade data spans fewer than two days.
This library's `detectPeriod()` function applies related logic to available chart data rather than trade data to determine which period is appropriate:
• It returns true if the chart's data spans at least two months, indicating that it's sufficient to use monthly periods.
• It returns false if the chart's data spans at least two days but not two months, suggesting the use of daily periods.
• It returns na if the length of the chart's data covers less than two days, signifying that the data is insufficient for meaningful ratio calculations.
It's important to note that programmers should only call `detectPeriod()` from a script's global scope or within the outermost scope of a function called from the global scope, as it requires the time value from the first bar to accurately measure the amount of time covered by the chart's data.
Collecting periodic returns
This library's `getPeriodicReturns()` function tracks price return data within monthly or daily periods and stores the periodic values in an array . It uses a `detectPeriod()` call as the condition to determine whether each element in the array represents the return over a monthly or daily period.
The `getPeriodicReturns()` function has two overloads. The first overload requires two arguments and outputs an array of monthly or daily returns for use in the `sharpe()` and `sortino()` methods. To calculate these returns:
1. The `percentChange` argument should be a series that represents percentage gains or losses. The values can be bar-to-bar return percentages on the chart timeframe or percentages requested from a higher timeframe.
2. The function compounds all non-na `percentChange` values within each monthly or daily period to calculate the period's total return percentage. When the `percentChange` represents returns from a higher timeframe, ensure the requested data includes gaps to avoid compounding redundant values.
3. After a period ends, the function queues the compounded return into the array , removing the oldest element from the array when its size exceeds the `maxPeriods` argument.
The resulting array represents the sequence of closed returns over up to `maxPeriods` months or days, depending on the available data.
The second overload of the function includes an additional `benchmark` parameter. Unlike the first overload, this version tracks and collects differences between the `percentChange` and the specified `benchmark` values. The resulting array represents the sequence of excess returns over up to `maxPeriods` months or days. Passing this array to the `sharpe()` and `sortino()` methods calculates generalized Information ratios , which represent the risk-adjustment performance of a sequence of returns compared to a risky benchmark instead of a risk-free rate. For consistency, ensure the non-na times of the `benchmark` values align with the times of the `percentChange` values.
Ratio methods
This library's `sharpe()` and `sortino()` methods respectively calculate the Sharpe and Sortino ratios based on an array of returns compared to a specified annual benchmark. Both methods adjust the annual benchmark based on the number of periods per year to suit the frequency of the returns:
• If the method call does not include a `periodsPerYear` argument, it uses `detectPeriod()` to determine whether the returns represent monthly or daily values based on the chart's history. If monthly, the method divides the `annualBenchmark` value by 12. If daily, it divides the value by 365.
• If the method call does specify a `periodsPerYear` argument, the argument's value supersedes the automatic calculation, facilitating custom benchmark adjustments, such as dividing by 252 when analyzing collected daily stock returns.
When the array passed to these methods represents a sequence of excess returns , such as the result from the second overload of `getPeriodicReturns()`, use an `annualBenchmark` value of 0 to avoid comparing those excess returns to a separate rate.
By default, these methods only calculate the ratios on the last available bar to minimize their resource usage. Users can override this behavior with the `forceCalc` parameter. When the value is true , the method calculates the ratio on each call if sufficient data is available, regardless of the bar index.
Look first. Then leap.
█ FUNCTIONS & METHODS
This library contains the following functions:
detectPeriod()
Determines whether the chart data has sufficient coverage to use monthly or daily returns
for risk metric calculations.
Returns: (bool) `true` if the period spans more than two months, `false` if it otherwise spans more
than two days, and `na` if the data is insufficient.
getPeriodicReturns(percentChange, maxPeriods)
(Overload 1 of 2) Tracks periodic return percentages and queues them into an array for ratio
calculations. The span of the chart's historical data determines whether the function uses
daily or monthly periods in its calculations. If the chart spans more than two months,
it uses "1M" periods. Otherwise, if the chart spans more than two days, it uses "1D"
periods. If the chart covers less than two days, it does not store changes.
Parameters:
percentChange (float) : (series float) The change percentage. The function compounds non-na values from each
chart bar within monthly or daily periods to calculate the periodic changes.
maxPeriods (simple int) : (simple int) The maximum number of periodic returns to store in the returned array.
Returns: (array) An array containing the overall percentage changes for each period, limited
to the maximum specified by `maxPeriods`.
getPeriodicReturns(percentChange, benchmark, maxPeriods)
(Overload 2 of 2) Tracks periodic excess return percentages and queues the values into an
array. The span of the chart's historical data determines whether the function uses
daily or monthly periods in its calculations. If the chart spans more than two months,
it uses "1M" periods. Otherwise, if the chart spans more than two days, it uses "1D"
periods. If the chart covers less than two days, it does not store changes.
Parameters:
percentChange (float) : (series float) The change percentage. The function compounds non-na values from each
chart bar within monthly or daily periods to calculate the periodic changes.
benchmark (float) : (series float) The benchmark percentage to compare against `percentChange` values.
The function compounds non-na values from each bar within monthly or
daily periods and subtracts the results from the compounded `percentChange` values to
calculate the excess returns. For consistency, ensure this series has a similar history
length to the `percentChange` with aligned non-na value times.
maxPeriods (simple int) : (simple int) The maximum number of periodic excess returns to store in the returned array.
Returns: (array) An array containing monthly or daily excess returns, limited
to the maximum specified by `maxPeriods`.
method sharpeRatio(returnsArray, annualBenchmark, forceCalc, periodsPerYear)
Calculates the Sharpe ratio for an array of periodic returns.
Callable as a method or a function.
Namespace types: array
Parameters:
returnsArray (array) : (array) An array of periodic return percentages, e.g., returns over monthly or
daily periods.
annualBenchmark (float) : (series float) The annual rate of return to compare against `returnsArray` values. When
`periodsPerYear` is `na`, the function divides this value by 12 to calculate a
monthly benchmark if the chart's data spans at least two months or 365 for a daily
benchmark if the data otherwise spans at least two days. If `periodsPerYear`
has a specified value, the function divides the rate by that value instead.
forceCalc (bool) : (series bool) If `true`, calculates the ratio on every call. Otherwise, ratio calculation
only occurs on the last available bar. Optional. The default is `false`.
periodsPerYear (simple int) : (simple int) If specified, divides the annual rate by this value instead of the value
determined by the time span of the chart's data.
Returns: (float) The Sharpe ratio, which estimates the excess return per unit of total volatility.
method sortinoRatio(returnsArray, annualBenchmark, forceCalc, periodsPerYear)
Calculates the Sortino ratio for an array of periodic returns.
Callable as a method or a function.
Namespace types: array
Parameters:
returnsArray (array) : (array) An array of periodic return percentages, e.g., returns over monthly or
daily periods.
annualBenchmark (float) : (series float) The annual rate of return to compare against `returnsArray` values. When
`periodsPerYear` is `na`, the function divides this value by 12 to calculate a
monthly benchmark if the chart's data spans at least two months or 365 for a daily
benchmark if the data otherwise spans at least two days. If `periodsPerYear`
has a specified value, the function divides the rate by that value instead.
forceCalc (bool) : (series bool) If `true`, calculates the ratio on every call. Otherwise, ratio calculation
only occurs on the last available bar. Optional. The default is `false`.
periodsPerYear (simple int) : (simple int) If specified, divides the annual rate by this value instead of the value
determined by the time span of the chart's data.
Returns: (float) The Sortino ratio, which estimates the excess return per unit of downside
volatility.
MultiWAPThe VWAP tracks the average price, giving weight to each candle based upon its' relative volume.
In other words, high-volume candles move the VWAP faster than low-volume candles.
On a good day, market maker:
-Buys the dip
-Pumps past resistance, causing bullish FOMO
-Sells into the bullish FOMO, causing bearish FOMO
-Buys the dip (rinse and repeat)
By default, MultiWAP begins at the first visible bar.
Range low/high - tracks the most recent high/low
Upper VWAP - tracks retail's average buy price (MM is selling)
Lower VWAP - tracks MM's average buy price (MM is buying)
If price closes below the lower VWAP or the range low, the lower VWAP and range low are reset.
If price closes above the upper VWAP or the range high, the upper VWAP and range high are reset.
Resets are indicated by the dots. Resetting either VWAP moves it close to last price, making it easy to breach again.
A down-trend that lasts many bars will produce a string of green dots. When the accumulation phase ends, price pulls away from the lower VWAP, so it stops resetting. The ABSENCE of green dots tells you that we're in the markup phase/up-trend.
An up-trend that lasts many bars will produce a string of red dots. When the distribution phase ends, price pulls away from the upper VWAP, so it stops resetting. The ABSENCE of red dots tells you that we're in the markdown phase/down-trend.
By default, the net result is two VWAP's that automatically anchor themselves to the most recent, significant, and visible, high and low.
Usage:
For any timeframe, I recommend starting zoomed way out. Find the last green dot and drop an "Anchored VWAP" there. Now, zoom in until that candle is no longer visible. Find the last green dot and drop an anchored VWAP there. Continue doing so until you notice the lower VWAP getting reset to basically the same place.
This works the same, in reverse, during down-trends.
OBV Osc (No Same-Bar Exit)//@version=5
strategy("OBV Osc (No Same-Bar Exit)", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// === JSON ALERT STRINGS ===
callBuyJSON = 'ANSHUL \n '
callExtJSON = 'ANSHUL \n '
putBuyJSON = 'ANSHUL \n '
putExtJSON = 'ANSHUL \n '
// === INPUTS ===
length = input.int(20, title="OBV EMA Length")
sl_pct = input.float(1.0, title="Stop Loss %", minval=0.1)
tp_pct = input.float(2.0, title="Take Profit %", minval=0.1)
trail_pct = input.float(0.5, title="Trailing Stop %", minval=0.1)
// === OBV OSCILLATOR CALC ===
src = close
obv = ta.cum(ta.change(src) > 0 ? volume : ta.change(src) < 0 ? -volume : 0)
obv_ema = ta.ema(obv, length)
obv_osc = obv - obv_ema
// === SIGNALS ===
longCondition = ta.crossover(obv_osc, 0) and strategy.position_size == 0
shortCondition = ta.crossunder(obv_osc, 0) and strategy.position_size == 0
// === RISK SETTINGS ===
longStop = close * (1 - sl_pct / 100)
longTarget = close * (1 + tp_pct / 100)
shortStop = close * (1 + sl_pct / 100)
shortTarget = close * (1 - tp_pct / 100)
trailPoints = close * trail_pct / 100
// === ENTRY BAR TRACKING TO PREVENT SAME-BAR EXIT ===
var int entryBar = na
// === STRATEGY ENTRY ===
if longCondition
strategy.entry("Long", strategy.long)
entryBar := bar_index
alert(callBuyJSON, alert.freq_all)
label.new(bar_index, low, text="BUY CALL", style=label.style_label_up, color=color.new(color.green, 85), textcolor=color.black)
if shortCondition
strategy.entry("Short", strategy.short)
entryBar := bar_index
alert(putBuyJSON, alert.freq_all)
label.new(bar_index, high, text="BUY PUT", style=label.style_label_down, color=color.new(color.red, 85), textcolor=color.black)
// === EXIT ONLY IF BAR_INDEX > entryBar (NO SAME-BAR EXIT) ===
canExitLong = strategy.position_size > 0 and bar_index > entryBar
canExitShort = strategy.position_size < 0 and bar_index > entryBar
if canExitLong
strategy.exit("Exit Long", from_entry="Long", stop=longStop, limit=longTarget, trail_points=trailPoints, trail_offset=trailPoints)
if canExitShort
strategy.exit("Exit Short", from_entry="Short", stop=shortStop, limit=shortTarget, trail_points=trailPoints, trail_offset=trailPoints)
// === TRACK ENTRY/EXIT FOR ALERTS ===
posNow = strategy.position_size
posPrev = nz(strategy.position_size )
longExit = posPrev == 1 and posNow == 0
shortExit = posPrev == -1 and posNow == 0
if longExit
alert(callExtJSON, alert.freq_all)
label.new(bar_index, high, text="EXIT CALL", style=label.style_label_down, color=color.new(color.blue, 85), textcolor=color.black)
if shortExit
alert(putExtJSON, alert.freq_all)
label.new(bar_index, low, text="EXIT PUT", style=label.style_label_up, color=color.new(color.orange, 85), textcolor=color.black)
// === PLOTS ===
plot(obv_osc, title="OBV Oscillator", color=obv_osc > 0 ? color.green : color.red, linewidth=2)
hline(0, color=color.gray)
PE Bands w/ Persistent EPS ProxyThis Pine Script is a valuation overlay for any stock or index, built around the idea of tracking and projecting P/E (Price-to-Earnings) multiple bands using trailing EPS and a growth assumption. Here's a full breakdown:
🔍 Purpose:
To visualize price bands based on valuation multiples (like 16x, 18x, 20x, etc.) of forward EPS, estimated from actual reported EPS over the last 4 quarters.
🧱 Core Components:
✅ @version=6
Specifies the latest Pine Script version (v6), ensuring compatibility with the newest syntax.
✅ indicator(...)
Declares a chart overlay indicator titled 'PE Bands w/ Persistent EPS Proxy', meaning the plots will appear on top of the price chart.
1. 📈 Growth Assumption Input
pinescript
Copy
Edit
Growth = input.float(1.08, 'Growth')
User input for projected forward EPS growth (default: +8%). This models earnings growth from trailing 12 months to forward 12 months.
2. 🧮 Retrieve EPS Data
pinescript
Copy
Edit
epsRaw = request.earnings(syminfo.tickerid, earnings.actual, gaps = barmerge.gaps_off)
Uses the built-in request.earnings() function to fetch actual EPS.
Works with any symbol that supports earnings data.
barmerge.gaps_off ensures EPS only shows on report bars (not filled in between).
3. 🧠 Persistent Memory for Last 4 EPS Values
pinescript
Copy
Edit
var float eps1 = na
...
if not na(epsRaw)
eps4 := eps3
eps3 := eps2
eps2 := eps1
eps1 := epsRaw
Implements a shift register: keeps track of the last 4 quarterly EPS values, so it can compute a full TTM (trailing 12-month) EPS even though epsRaw only updates quarterly.
4. 📊 Trailing 12-Month EPS
pinescript
Copy
Edit
epsTTM = na(eps1) or na(eps2) or na(eps3) or na(eps4) ? na : eps1 + eps2 + eps3 + eps4
Sums the most recent 4 quarters to get a TTM earnings proxy.
If any value is still na, the result is na.
5. 🔮 Forward EPS Estimation
pinescript
Copy
Edit
fwdEPS = epsTTM * Growth
Projects forward EPS using a growth multiplier (1.08 = +8%).
You could customize this to vary over time (e.g., macro-modelled growth).
6. 📐 Valuation Bands
pinescript
Copy
Edit
pe16 = fwdEPS * 16
...
pe24 = fwdEPS * 24
Calculates price levels the stock/index would be trading at under different valuation multiples of forward EPS.
These become bands: 16x, 18x, 20x, etc.
7. 📉 Plot Bands
pinescript
Copy
Edit
plot(pe16, ...)
...
plot(pe24, ...)
Draws horizontal or sloped bands that reflect valuation ranges.
If SPX is above the 22x or 24x band, you might consider the market overvalued.
If it’s near 16x, potentially undervalued (depending on forward EPS quality).
✅ Summary:
This is a dynamic, earnings-based valuation overlay for use on equity or index charts. It uses:
Real EPS data (as it gets reported)
Persistent memory to calculate trailing 12M EPS
Growth modeling to estimate forward EPS
Price targets for different forward P/E multiples
Uptrick: Fusion Trend Reversion SystemOverview
The Uptrick: Fusion Trend Reversion System is a multi-layered indicator designed to identify potential price reversals during intraday movement while keeping traders informed of the dominant short-term trend. It blends a composite fair value model with deviation logic and a refined momentum filter using the Relative Strength Index (RSI). This tool was created with scalpers and short-term traders in mind and is especially effective on lower timeframes such as 1-minute, 5-minute, and 15-minute charts where price dislocations and quick momentum shifts are frequent.
Introduction
This indicator is built around the fusion of two classic concepts in technical trading: identifying trend direction and spotting potential reversion points. These are often handled separately, but this system merges them into one process. It starts by computing a fair value price using five moving averages, each with its own mathematical structure and strengths. These include the exponential moving average (EMA), which gives more weight to recent data; the simple moving average (SMA), which gives equal weight to all periods; the weighted moving average (WMA), which progressively increases weight with recency; the Arnaud Legoux moving average (ALMA), known for smoothing without lag; and the volume-weighted average price (VWAP), which factors in volume at each price level.
All five are averaged into a single value — the raw fusion line. This fusion acts as a dynamically balanced centerline that adapts to price conditions with both smoothing and responsiveness. Two additional exponential moving averages are applied to the raw fusion line. One is slower, giving a stable trend reference, and the other is faster, used to define momentum and cloud behavior. These two lines — the fusion slow and fusion fast — form the backbone of trend and signal logic.
Purpose
This system is meant for traders who want to trade reversals without losing sight of the underlying directional bias. Many reversal indicators fail because they act too early or signal too frequently in choppy markets. This script filters out noise through two conditions: price deviation and RSI confirmation. Reversion trades are considered only when the price moves a significant distance from fair value and RSI suggests a legitimate shift in momentum. That filtering process gives the trader a cleaner, higher-quality signal and reduces false entries.
The indicator also visually supports the trader through colored bars, up/down labels, and a filled cloud between the fast and slow fusion lines. These features make the market context immediately visible: whether the trend is up or down, whether a reversal just occurred, and whether price is currently in a high-risk reversion zone.
Originality and Uniqueness
What makes this script different from most reversal systems is the way it combines layers of logic — not just to detect signals, but to qualify and structure them. Rather than relying on a single MA or a raw RSI level, it uses a five-MA fusion to create a baseline fair value that incorporates speed, stability, and volume-awareness.
On top of that, the system introduces a dual-smoothing mechanism. It doesn’t just smooth price once — it creates two layers: one to follow the general trend and another to track faster deviations. This structure lets the script distinguish between continuation moves and possible turning points more effectively than a single-line or single-metric system.
It also uses RSI in a more refined way. Instead of just checking if RSI is overbought or oversold, the script smooths RSI and requires directional confirmation. Beyond that, it includes signal memory. Once a signal is generated, a new one will not appear unless the RSI becomes even more extreme and curls back again. This memory-based gating reduces signal clutter and prevents repetition, a rare feature in similar scripts.
Why these indicators were merged
Each moving average in the fusion serves a specific role. EMA reacts quickly to recent price changes and is often favored in fast-trading strategies. SMA acts as a long-term filter and smooths erratic behavior. WMA blends responsiveness with smoothing in a more balanced way. ALMA focuses on minimizing lag without losing detail, which is helpful in fast markets. VWAP anchors price to real trade volume, giving a sense of where actual positioning is happening.
By combining all five, the script creates a fair value model that doesn’t lean too heavily on one logic type. This fusion is then smoothed into two separate EMAs: one slower (trend layer), one faster (signal layer). The difference between these forms the basis of the trend cloud, which can be toggled on or off visually.
RSI is then used to confirm whether price is reversing with enough force to warrant a trade. The RSI is calculated over a 14-period window and smoothed with a 7-period EMA. The reason for smoothing RSI is to cut down on noise and avoid reacting to short, insignificant spikes. A signal is only considered if price is stretched away from the trend line and the smoothed RSI is in a reversal state — below 30 and rising for bullish setups, above 70 and falling for bearish ones.
Calculations
The script follows this structure:
Calculate EMA, SMA, WMA, ALMA, and VWAP using the same base length
Average the five values to form the raw fusion line
Smooth the raw fusion line with an EMA using sens1 to create the fusion slow line
Smooth the raw fusion line with another EMA using sens2 to create the fusion fast line
If fusion slow is rising and price is above it, trend is bullish
If fusion slow is falling and price is below it, trend is bearish
Calculate RSI over 14 periods
Smooth RSI using a 7-period EMA
Determine deviation as the absolute difference between current price and fusion slow
A raw signal is flagged if deviation exceeds the threshold
A raw signal is flagged if RSI EMA is under 30 and rising (bullish setup)
A raw signal is flagged if RSI EMA is over 70 and falling (bearish setup)
A final signal is confirmed for a bullish setup if RSI EMA is lower than the last bullish signal’s RSI
A final signal is confirmed for a bearish setup if RSI EMA is higher than the last bearish signal’s RSI
Reset the bullish RSI memory if RSI EMA rises above 30
Reset the bearish RSI memory if RSI EMA falls below 70
Store last signal direction and use it for optional bar coloring
Draw the trend cloud between fusion fast and fusion slow using fill()
Show signal labels only if showSignals is enabled
Bar and candle colors reflect either trend slope or last signal direction depending on mode selected
How it works
Once the script is loaded, it builds a fusion line by averaging five different types of moving averages. That line is smoothed twice into a fast and slow version. These two fusion lines form the structure for identifying trend direction and signal areas.
Trend bias is defined by the slope of the slow line. If the slow line is rising and price is above it, the market is considered bullish. If the slow line is falling and price is below it, it’s considered bearish.
Meanwhile, the script monitors how far price has moved from that slow line. If price is stretched beyond a certain distance (set by the threshold), and RSI confirms that momentum is reversing, a raw reversion signal is created. But the script only allows that signal to show if RSI has moved further into oversold or overbought territory than it did at the last signal. This blocks repetitive, weak entries. The memory is cleared only if RSI exits the zone — above 30 for bullish, below 70 for bearish.
Once a signal is accepted, a label is drawn. If the signal toggle is off, no label will be shown regardless of conditions. Bar colors are controlled separately — you can color them based on trend slope or last signal, depending on your selected mode.
Inputs
You can adjust the following settings:
MA Length: Sets the period for all moving averages used in the fusion.
Show Reversion Signals: Turns on the plotting of “Up” and “Down” labels when a reversal is confirmed.
Bar Coloring: Enables or disables colored bars based on trend or signal direction.
Show Trend Cloud: Fills the space between the fusion fast and slow lines to reflect trend bias.
Bar Color Mode: Lets you choose whether bars follow trend logic or last signal direction.
Sens 1: Smoothing speed for the slow fusion line — higher values = slower trend.
Sens 2: Smoothing speed for the fast line — lower values = faster signal response.
Deviation Threshold: Minimum distance price must move from fair value to trigger a signal check.
Features
This indicator offers:
A composite fair value model using five moving average types.
Dual smoothing system with user-defined sensitivity.
Slope-based trend definition tied to price position.
Deviation-triggered signal logic filtered by RSI reversal.
RSI memory system that blocks repetitive signals and resets only when RSI exits overbought or oversold zones.
Real-time tracking of the last signal’s direction for optional bar coloring.
Up/Down labels at signal points, visible only when enabled.
Optional trend cloud between fusion layers, visualizing current market bias.
Full user control over smoothing, threshold, color modes, and visibility.
Conclusion
The Fusion Trend-Reversion System is a tool for short-term traders looking to fade price extremes without ignoring trend bias. It calculates fair value using five diverse moving averages, smooths this into two dynamic layers, and applies strict reversal logic based on RSI deviation and momentum strength. Signals are triggered only when price is stretched and momentum confirms it with increasingly strong behavior. This combination makes the tool suitable for scalping, intraday entries, and fast market environments where precision matters.
Disclaimer
This indicator is for informational and educational purposes only. It does not constitute financial advice. All trading involves risk, and no tool can predict market behavior with certainty. Use proper risk management and do your own research before making trading decisions.
HMA Swing Levels [BigBeluga]An advanced swing structure and trend-following tool built on Hull Moving Average logic, designed to detect major reversals and track dynamic support/resistance zones.
This indicator analyzes price swings using pivot highs/lows and a smoothed HMA trend baseline. It highlights key reversal levels and keeps them active until breached, giving traders a clear visual framework for price structure and trend alignment. The pivots are calculated in real-time using non-lagging logic, making them highly responsive to market conditions.
🔵 CONCEPTS
Combines a fast-reacting Hull Moving Average (HMA) with pivot logic to capture precise directional changes.
Detects non-lagging reversal highs and lows when pivot points form and the HMA direction flips.
Projects these reversal levels forward as horizontal support/resistance lines until broken by price.
Active trend is shown with a step-style trail line that reflects HMA bias over time.
🔵 FEATURES
Swing Level Detection:
Identifies high/low reversals when trend direction changes and plots horizontal zones.
Non-lagging logic of swing points detection:
if h == high and high < h and change > 0
// Detected Swing High
if l == low and low > l and change < 0
// Detected Swing Low
Persistent Support & Resistance Lines:
Each detected swing high or low is extended forward until price invalidates the level. Dotted style is applied once breached.
Color-Coded Trend Trail:
Displays a stepped trend trail using HMA slope: lime = uptrend, blue = downtrend.
Automatic Labeling:
Each reversal level is labeled with its price for clear reference.
Age-Based Line Thickness:
Every level increases in thickness every 250 bars. The longer the level lasts, the stronger it is.
🔵 HOW TO USE
Use green (support) and blue (resistance) levels to frame key reaction zones.
Trade with the trend defined by the trail color: lime for bullish bias, blue for bearish.
Explore where buy or sell orders are stacked
Look for breaks of swing lines to anticipate trend shifts or breakout setups.
Adjust the "Trend Change" input to tune the sensitivity of swing detection.
Adjust the "SwingLevels" input to define how far back to search for valid pivots.
🔵 CONCLUSION
HMA Swing Levels offers a hybrid approach to structural and trend-based trading. With automated non-lagging swing detection, persistent support/resistance tracking, and intuitive HMA-based trend coloring, it provides a powerful visual system for discretionary and systematic traders alike.
Day of Week Highlighter# 📅 Day of Week Highlighter - Global Market Edition
**Enhanced visual trading tool that highlights each day of the week with customizable colors across all major global financial market timezones.**
## 🌍 Global Market Coverage
This indicator supports **27 major financial market timezones**, including:
- **Asia-Pacific**: Tokyo, Sydney, Hong Kong, Singapore, Shanghai, Seoul, Mumbai, Dubai, Auckland (New Zealand)
- **Europe**: London, Frankfurt, Zurich, Paris, Amsterdam, Moscow, Istanbul
- **Americas**: New York, Chicago, Toronto, São Paulo, Buenos Aires
- **Plus UTC and other key financial centers**
## ✨ Key Features
### 🎨 **Fully Customizable Colors**
- Individual color picker for each day of the week
- Transparent overlays that don't obstruct price action
- Professional color scheme defaults
### 🌐 **Comprehensive Timezone Support**
- 27 major global financial market timezones
- Automatic daylight saving time adjustments
- Perfect for multi-market analysis and global trading
### ⚙️ **Flexible Display Options**
- Toggle individual days on/off
- Optional day name labels with size control
- Clean, professional appearance
### 📊 **Trading Applications**
- **Market Session Analysis**: Identify trading patterns by day of week
- **Multi-Market Coordination**: Track different markets in their local time
- **Pattern Recognition**: Spot day-specific market behaviors
- **Risk Management**: Avoid trading on historically volatile days
## 🔧 How to Use
1. **Add to Chart**: Apply the indicator to any timeframe
2. **Select Timezone**: Choose your preferred market timezone from the dropdown
3. **Customize Colors**: Set unique colors for each day in the settings panel
4. **Enable/Disable Days**: Toggle specific days on or off as needed
5. **Optional Labels**: Show day names with customizable label sizes
## 💡 Pro Tips
- Use different color intensities to highlight your preferred trading days
- Combine with other session indicators for comprehensive market timing
- Perfect for swing traders who want to identify weekly patterns
- Ideal for international traders managing multiple market sessions
## 🎯 Perfect For
- Day traders tracking intraday patterns
- Swing traders analyzing weekly cycles
- International traders managing multiple markets
- Anyone wanting better visual organization of their charts
**Works on all timeframes and instruments. Set it once, trade with confidence!**
---
*Compatible with Pine Script v6 | No repainting | Lightweight performance*
Momentum Flip Pro - Advanced ZigZag Trading SystemMomentum Flip Pro - Advanced ZigZag Trading System
Complete User Guide
📊 What This Indicator Does
The Momentum Flip Pro is an advanced position-flipping trading system that automatically identifies trend reversals using ZigZag patterns combined with momentum analysis. It's designed for traders who want to always be in the market, flipping between long and short positions at optimal reversal points.
Key Features:
Automatically flips positions at each ZigZag reversal point
Dynamic stop loss placement at exact ZigZag levels
Real-time trading dashboard with performance metrics
Capital tracking and ROI calculation
Three momentum engines to choose from
🎯 How It Works
Entry Signal: When a ZigZag point appears (circle on chart), the indicator:
Exits current position (if any)
Immediately enters opposite position
Places stop loss at the exact ZigZag price
Exit Signal: Positions are closed when the next ZigZag appears, then immediately reversed
Position Management:
Long Entry: ZigZag bottom (momentum turns UP)
Short Entry: ZigZag peak (momentum turns DOWN)
Stop Loss: Always at the ZigZag entry price
Take Profit: Next ZigZag point (automatic position flip)
⚙️ Recommended Settings
For Day Trading (5m-15m timeframes):
Momentum Engine: Quantum
- RSI Length: 9-12
- Quantum Factor: 3.5-4.0
- RSI Smoothing: 3-5
- Threshold: 8-10
For Swing Trading (1H-4H timeframes):
Momentum Engine: MACD
- Fast Length: 12
- Slow Length: 26
- Signal Smoothing: 9
- MA Type: EMA
For Position Trading (Daily):
Momentum Engine: Moving Average
- Average Type: EMA or HMA
- Length: 20-50
📈 How to Use for Trading
Add to Chart:
Add indicator to your chart
Set your starting capital
Choose your preferred momentum engine
Understanding Signals:
Green circles: Strong bullish momentum reversal
Red circles: Strong bearish momentum reversal
Purple circles: Normal momentum reversal
Entry labels: Show exact entry points with tooltips
Trading Rules:
Enter LONG when you see an up arrow + green/purple circle
Enter SHORT when you see a down arrow + red/purple circle
Stop loss is automatically at the ZigZag level
Hold until next ZigZag appears (exit + reverse)
Risk Management:
Risk per trade = Entry Price - Stop Loss
Position size = (Capital * Risk %) / Risk per trade
Recommended risk: 1-2% per trade
💡 Best Practices
Market Conditions:
Works best in trending markets
Excellent for volatile pairs (crypto, forex majors)
Avoid during low volume/consolidation
Timeframe Selection:
Lower timeframes (5m-15m): More signals, higher noise
Higher timeframes (1H+): Fewer signals, higher reliability
Sweet spot: 15m-1H for most traders
Momentum Engine Selection:
Quantum: Best for volatile markets (crypto, indices)
MACD: Best for trending markets (forex, stocks)
Moving Average: Best for smooth trends (commodities)
📊 Dashboard Interpretation
The trading dashboard shows:
Current Capital: Your running balance
Position: Current trade direction
Entry/Stop: Your risk levels
Statistics: Win rate and performance
ROI: Overall return on investment
⚠️ Important Notes
Always Active: This system is always in a position (long or short)
No Neutral: You're either long or short, never flat
Automatic Reversal: Positions flip at each signal
Stop Loss: Fixed at entry ZigZag level (doesn't trail)
🎮 Quick Start Guide
Beginners: Start with default settings on 1H timeframe
Test First: Use paper trading to understand the signals
Small Size: Begin with 1% risk per trade
Track Results: Monitor the dashboard statistics
Adjust: Fine-tune momentum settings based on results
🔧 Customization Tips
Color Signals: Enable to see momentum strength
Dashboard Position: Move to preferred screen location
Visual Settings: Adjust colors for your theme
Alerts: Set up for automated notifications
This indicator is ideal for traders who prefer an always-in-market approach with clear entry/exit rules and automated position management. The key to success is choosing the right momentum engine for your market and maintaining disciplined risk management.
Topological Market Stress (TMS) - Quantum FabricTopological Market Stress (TMS) - Quantum Fabric
What Stresses The Market?
Topological Market Stress (TMS) represents a revolutionary fusion of algebraic topology and quantum field theory applied to financial markets. Unlike traditional indicators that analyze price movements linearly, TMS examines the underlying topological structure of market data—detecting when the very fabric of market relationships begins to tear, warp, or collapse.
Drawing inspiration from the ethereal beauty of quantum field visualizations and the mathematical elegance of topological spaces, this indicator transforms complex mathematical concepts into an intuitive, visually stunning interface that reveals hidden market dynamics invisible to conventional analysis.
Theoretical Foundation: Topology Meets Markets
Topological Holes in Market Structure
In algebraic topology, a "hole" represents a fundamental structural break—a place where the normal connectivity of space fails. In markets, these topological holes manifest as:
Correlation Breakdown: When traditional price-volume relationships collapse
Volatility Clustering Failure: When volatility patterns lose their predictive power
Microstructure Stress: When market efficiency mechanisms begin to fail
The Mathematics of Market Topology
TMS constructs a topological space from market data using three key components:
1. Correlation Topology
ρ(P,V) = correlation(price, volume, period)
Hole Formation = 1 - |ρ(P,V)|
When price and volume decorrelate, topological holes begin forming.
2. Volatility Clustering Topology
σ(t) = volatility at time t
Clustering = correlation(σ(t), σ(t-1), period)
Breakdown = 1 - |Clustering|
Volatility clustering breakdown indicates structural instability.
3. Market Efficiency Topology
Efficiency = |price - EMA(price)| / ATR
Measures how far price deviates from its efficient trajectory.
Multi-Scale Topological Analysis
Markets exist across multiple temporal scales simultaneously. TMS analyzes topology at three distinct scales:
Micro Scale (3-15 periods): Immediate structural changes, market microstructure stress
Meso Scale (10-50 periods): Trend-level topology, medium-term structural shifts
Macro Scale (50-200 periods): Long-term structural topology, regime-level changes
The final stress metric combines all scales:
Combined Stress = 0.3×Micro + 0.4×Meso + 0.3×Macro
How TMS Works
1. Topological Space Construction
Each market moment is embedded in a multi-dimensional topological space where:
- Price efficiency forms one dimension
- Correlation breakdown forms another
- Volatility clustering breakdown forms the third
2. Hole Detection Algorithm
The indicator continuously scans this topological space for:
Hole Formation: When stress exceeds the formation threshold
Hole Persistence: How long structural breaks maintain
Hole Collapse: Sudden topology restoration (regime shifts)
3. Quantum Visualization Engine
The visualization system translates topological mathematics into intuitive quantum field representations:
Stress Waves: Main line showing topological stress intensity
Quantum Glow: Surrounding field indicating stress energy
Fabric Integrity: Background showing structural health
Multi-Scale Rings: Orbital representations of different timeframes
4. Signal Generation
Stable Topology (✨): Normal market structure, standard trading conditions
Stressed Topology (⚡): Increased structural tension, heightened volatility expected
Topological Collapse (🕳️): Major structural break, regime shift in progress
Critical Stress (🌋): Extreme conditions, maximum caution required
Inputs & Parameters
🕳️ Topological Parameters
Analysis Window (20-200, default: 50)
Primary period for topological analysis
20-30: High-frequency scalping, rapid structure detection
50: Balanced approach, recommended for most markets
100-200: Long-term position trading, major structural shifts only
Hole Formation Threshold (0.1-0.9, default: 0.3)
Sensitivity for detecting topological holes
0.1-0.2: Very sensitive, detects minor structural stress
0.3: Balanced, optimal for most market conditions
0.5-0.9: Conservative, only major structural breaks
Density Calculation Radius (0.1-2.0, default: 0.5)
Radius for local density estimation in topological space
0.1-0.3: Fine-grained analysis, sensitive to local changes
0.5: Standard approach, balanced sensitivity
1.0-2.0: Broad analysis, focuses on major structural features
Collapse Detection (0.5-0.95, default: 0.7)
Threshold for detecting sudden topology restoration
0.5-0.6: Very sensitive to regime changes
0.7: Balanced, reliable collapse detection
0.8-0.95: Conservative, only major regime shifts
📊 Multi-Scale Analysis
Enable Multi-Scale (default: true)
- Analyzes topology across multiple timeframes simultaneously
- Provides deeper insight into market structure at different scales
- Essential for understanding cross-timeframe topology interactions
Micro Scale Period (3-15, default: 5)
Fast scale for immediate topology changes
3-5: Ultra-fast, tick/minute data analysis
5-8: Fast, 5m-15m chart optimization
10-15: Medium-fast, 30m-1H chart focus
Meso Scale Period (10-50, default: 20)
Medium scale for trend topology analysis
10-15: Short trend structures
20-25: Medium trend structures (recommended)
30-50: Long trend structures
Macro Scale Period (50-200, default: 100)
Slow scale for structural topology
50-75: Medium-term structural analysis
100: Long-term structure (recommended)
150-200: Very long-term structural patterns
⚙️ Signal Processing
Smoothing Method (SMA/EMA/RMA/WMA, default: EMA) Method for smoothing stress signals
SMA: Simple average, stable but slower
EMA: Exponential, responsive and recommended
RMA: Running average, very smooth
WMA: Weighted average, balanced approach
Smoothing Period (1-10, default: 3)
Period for signal smoothing
1-2: Minimal smoothing, noisy but fast
3-5: Balanced, recommended for most applications
6-10: Heavy smoothing, slow but very stable
Normalization (Fixed/Adaptive/Rolling, default: Adaptive)
Method for normalizing stress values
Fixed: Static 0-1 range normalization
Adaptive: Dynamic range adjustment (recommended)
Rolling: Rolling window normalization
🎨 Quantum Visualization
Fabric Style Options:
Quantum Field: Flowing energy visualization with smooth gradients
Topological Mesh: Mathematical topology with stepped lines
Phase Space: Dynamical systems view with circular markers
Minimal: Clean, simple display with reduced visual elements
Color Scheme Options:
Quantum Gradient: Deep space blue → Quantum red progression
Thermal: Black → Hot orange thermal imaging style
Spectral: Purple → Gold full spectrum colors
Monochrome: Dark gray → Light gray elegant simplicity
Multi-Scale Rings (default: true)
- Display orbital rings for different time scales
- Visualizes how topology changes across timeframes
- Provides immediate visual feedback on cross-scale dynamics
Glow Intensity (0.0-1.0, default: 0.6)
Controls the quantum glow effect intensity
0.0: No glow, pure line display
0.6: Balanced, recommended setting
1.0: Maximum glow, full quantum field effect
📋 Dashboard & Alerts
Show Dashboard (default: true)
Real-time topology status display
Current market state and trading recommendations
Stress level visualization and fabric integrity status
Show Theory Guide (default: true)
Educational panel explaining topological concepts
Dashboard interpretation guide
Trading strategy recommendations
Enable Alerts (default: true)
Extreme stress detection alerts
Topological collapse notifications
Hole formation and recovery signals
Visual Logic & Interpretation
Main Visualization Elements
Quantum Stress Line
Primary indicator showing topological stress intensity
Color intensity reflects current market state
Line style varies based on selected fabric style
Glow effect indicates stress energy field
Equilibrium Line
Silver line showing average stress level
Reference point for normal market conditions
Helps identify when stress is elevated or suppressed
Upper/Lower Bounds
Red upper bound: High stress threshold
Green lower bound: Low stress threshold
Quantum fabric fill between bounds shows stress field
Multi-Scale Rings
Aqua circles : Micro-scale topology (immediate changes)
Orange circles: Meso-scale topology (trend-level changes)
Provides cross-timeframe topology visualization
Dashboard Information
Topology State Icons:
✨ STABLE: Normal market structure, standard trading conditions
⚡ STRESSED: Increased structural tension, monitor closely
🕳️ COLLAPSE: Major structural break, regime shift occurring
🌋 CRITICAL: Extreme conditions, reduce risk exposure
Stress Bar Visualization:
Visual representation of current stress level (0-100%)
Color-coded based on current topology state
Real-time percentage display
Fabric Integrity Dots:
●●●●● Intact: Strong market structure (0-30% stress)
●●●○○ Stressed: Weakening structure (30-70% stress)
●○○○○ Fractured: Breaking down structure (70-100% stress)
Action Recommendations:
✅ TRADE: Normal conditions, standard strategies apply
⚠️ WATCH: Monitor closely, increased vigilance required
🔄 ADAPT: Change strategy, regime shift in progress
🛑 REDUCE: Lower risk exposure, extreme conditions
Trading Strategies
In Stable Topology (✨ STABLE)
- Normal trading conditions apply
- Use standard technical analysis
- Regular position sizing appropriate
- Both trend-following and mean-reversion strategies viable
In Stressed Topology (⚡ STRESSED)
- Increased volatility expected
- Widen stop losses to account for higher volatility
- Reduce position sizes slightly
- Focus on high-probability setups
- Monitor for potential regime change
During Topological Collapse (🕳️ COLLAPSE)
- Major regime shift in progress
- Adapt strategy immediately to new market character
- Consider closing positions that rely on previous regime
- Wait for new topology to stabilize before major trades
- Opportunity for contrarian plays if collapse is extreme
In Critical Stress (🌋 CRITICAL)
- Extreme market conditions
- Significantly reduce risk exposure
- Avoid new positions until stress subsides
- Focus on capital preservation
- Consider hedging existing positions
Advanced Techniques
Multi-Timeframe Topology Analysis
- Use higher timeframe TMS for regime context
- Use lower timeframe TMS for precise entry timing
- Alignment across timeframes = highest probability trades
Topology Divergence Trading
- Most powerful at regime boundaries
- Price makes new high/low but topology stress decreases
- Early warning of potential reversals
- Combine with key support/resistance levels
Stress Persistence Analysis
- Long periods of stable topology often precede major moves
- Extended stress periods often resolve in regime changes
- Use persistence tracking for position sizing decisions
Originality & Innovation
TMS represents a genuine breakthrough in applying advanced mathematics to market analysis:
True Topological Analysis: Not a simplified proxy but actual topological space construction and hole detection using correlation breakdown, volatility clustering analysis, and market efficiency measurement.
Quantum Aesthetic: Transforms complex topology mathematics into an intuitive, visually stunning interface inspired by quantum field theory visualizations.
Multi-Scale Architecture: Simultaneous analysis across micro, meso, and macro timeframes provides unprecedented insight into market structure dynamics.
Regime Detection: Identifies fundamental market character changes before they become obvious in price action, providing early warning of structural shifts.
Practical Application: Clear, actionable signals derived from advanced mathematical concepts, making theoretical topology accessible to practical traders.
This is not a combination of existing indicators or a cosmetic enhancement of standard tools. It represents a fundamental reimagining of how we measure, visualize, and interpret market dynamics through the lens of algebraic topology and quantum field theory.
Best Practices
Start with defaults: Parameters are optimized for broad market applicability
Match timeframe: Adjust scales based on your trading timeframe
Confirm with price action: TMS shows market character, not direction
Respect topology changes: Reduce risk during regime transitions
Use appropriate strategies: Adapt approach based on current topology state
Monitor persistence: Track how long topology states maintain
Cross-timeframe analysis: Align multiple timeframes for highest probability trades
Alerts Available
Extreme Topological Stress: Market fabric under severe deformation
Topological Collapse Detected: Regime shift in progress
Topological Hole Forming: Market structure breakdown detected
Topology Stabilizing: Market structure recovering to normal
Chart Requirements
Recommended Markets: All liquid markets (forex, stocks, crypto, futures)
Optimal Timeframes: 5m to Daily (adaptable to any timeframe)
Minimum History: 200 bars for proper topology construction
Best Performance: Markets with clear regime characteristics
Academic Foundation
This indicator draws from cutting-edge research in:
- Algebraic topology and persistent homology
- Quantum field theory visualization techniques
- Market microstructure analysis
- Multi-scale dynamical systems theory
- Correlation topology and network analysis
Disclaimer
This indicator is for educational and research purposes only. It does not constitute financial advice or provide direct buy/sell signals. Topological analysis reveals market structure characteristics, not future price direction. Always use proper risk management and combine with your own analysis. Past performance does not guarantee future results.
See markets through the lens of topology. Trade the structure, not the noise.
Bringing advanced mathematics to practical trading through quantum-inspired visualization.
Trade with insight. Trade with structure.
— Dskyz , for DAFE Trading Systems
Trailing Stop Loss [TradingFinder] 4 Machine Learning Methods🔵 Introduction
The trailing stop indicator dynamically adjusts stop-loss (SL) levels to lock in profits as price moves favorably. It uses pivot levels and ATR to set optimal SL points, balancing risk and reward.
Trade confirmation filters, a key feature, ensure entries align with market conditions, reducing false signals. In 2023 a study showed filtered entries improve win rates by 15% in forex. This enhances trade precision.
SL settings, ranging from very tight to very wide, adapt to volatility via ATR calculations. These settings anchor SL to previous pivot levels, ensuring alignment with market structure. This caters to diverse trading styles, from scalping to swing trading.
The indicator colors the profit zone between the entry point (EP) and SL, using light green for buy trades and light red for sell trades. This visual cue highlights profit potential. It’s ideal for traders seeking dynamic risk management.
A table displays real-time trade details, including EP, SL, and profit/loss (PNL). Backtests show trailing stops cut losses by 20% in trending markets. This transparency aids decision-making.
🔵 How to Use
🟣 SL Levels
The trailing stop indicator sets SL based on pivot levels and ATR, offering four options: very tight, tight, wide, or very wide. Very tight SLs suit scalpers, while wide SLs fit swing traders. Select the base level to match your strategy.
If price hits the SL, the trade closes, and the indicator evaluates the next trade using the selected filter. This ensures disciplined trade management. The cycle restarts with a new confirmed entry.
Very tight SLs, set near recent pivots, trigger exits early to minimize risk but limit profits in volatile markets. Wide SLs, shown as farther lines, allow more price movement but increase exposure to losses. Adjust based on ATR and conditions, noting SL breaches open new positions.
🟣 Visualization
The indicator’s visual cues, like colored profit zones, simplify monitoring, with light green showing the profit area from EP to trailed SL. Dashed lines mark entry points, while solid lines track the trailed SL, triggering new positions when breached.
When price moves into profit, the area between EP and SL is colored—light green for longs, light red for shorts. This highlights the profit zone visually. The SL trails price, locking in gains as the trade progresses.
🟣 Filters
Upon trade entry, the indicator requires confirmation via filters like SMA 2x or ADX to validate momentum. Filters reduce false entries, though no guarantee exists for improved outcomes. Monitor price action post-entry for trade validity.
Filters like Momentum or ADX assess trend strength before entry. For example, ADX above 25 confirms strong trends. Choose “none” for unfiltered entries.
🟣 Bullish Alert
For a bullish trade, the indicator opens a long position with a green SL Line (after optional filters), trailing the SL below price. Set alerts to On in the settings for notifications, or Off to monitor manually.
🟣 Bearish Alert
In a bearish trade, the indicator opens a short position with a red SL Line post-confirmation, trailing the SL above price. With alerts On in the settings, it notifies the potential reversal.
🟣 Panel
A table displays all trades’ details, including Win Rates, PNL, and trade status. This real-time data aids in tracking performance. Check the table to assess trade outcomes instantly.
Review the table regularly to evaluate trade performance and adjust settings. Consistent monitoring ensures alignment with market dynamics. This maximizes the indicator’s effectiveness.
🔵 Settings
Length (Default: 10) : Sets the pivot period for calculating SL levels, balancing sensitivity and reliability.
Base Level : Options (“Very tight,” “Tight,” “Wide,” “Very wide”) adjust SL distance via ATR.
Show EP Checkbox : Toggles visibility of the entry point on the chart.
Show PNL : Displays profit/loss data for active and closed trades.
Filter : Options (“none,” “SMA 2x,” “Momentum,” “ADX”) validate trade entries.
🔵 Conclusion
The trailing stop indicator, a dynamic risk management tool, adjusts SLs using pivot levels and ATR. Its confirmation filters reduce false entries, boosting precision. Backtests show 20% loss reduction in trending markets.
Customizable SL settings and visual profit zones enhance usability across trading styles. The real-time table provides clear trade insights, streamlining analysis. It’s ideal for forex, stocks, or crypto.
While filters like ADX improve entry accuracy, no setup guarantees success in all conditions. Contextual analysis, like trend strength, is key. This indicator empowers disciplined, data-driven trading.
Bitcoin Open Interest [SAKANE]Bitcoin Open Interest
— Unveiling the True Flow of Capital
PurposeVisualize and compare Bitcoin open interest (OI) from CME and Binance, the leading derivatives exchanges, in a single intuitive chart, providing traders with clear insights into crypto market capital dynamics.
Background & MotivationIn the 24/7 crypto market, price movements alone reveal only part of the story. Open interest (OI)—the total outstanding futures contracts—offers critical clues to the market’s next move. Yet, accessing and interpreting OI data is challenging:
CME Constraints: Commitment of Traders (COT) reports are weekly, and standalone BTC1! or BTC2! OI is noisy due to contract rollovers, obscuring true OI changes.
Existing Tool Limitations: Most OI indicators are fixed to either USD or BTC, limiting flexible analysis.
This indicator overcomes these hurdles, enabling seamless comparison of CME and Binance OI to track the market’s “capital center of gravity” in real time.
Key Features
Synthetic CME OI: Combines BTC1! and BTC2! to deliver high-accuracy OI, eliminating rollover noise.
Multi-Timeframe Analysis: Displays daily CME OI as pseudo-candlestick (OHLC) on any timeframe (e.g., 4H), allowing intuitive capital flow tracking across timeframes.
CME/Binance One-Click Toggle: Instantly compare institutional-driven CME and retail-driven Binance OI.
USD/BTC Flexibility: Switch between BTC (real demand) and USD (margin) perspectives for OI analysis.
Robust Design: Concise, global-scope code ensures stability and adaptability to TradingView updates.
Insights & Use Cases
Holistic Market Sentiment: Analyze capital flows by region and exchange for a multidimensional view.
Signal Detection: E.g., a sharp drop in CME OI during a sell-off may signal institutional withdrawal.
Retail Trends: A surge in Binance OI suggests retail-driven inflows.
Event-Driven Insights: E.g., during a hypothetical April 2025 “Trump Tariff Shock,” instantly identify which exchange drives capital shifts.
Unique ValueUnlike price-centric indicators, this tool focuses on capital flow (OI). It’s the only indicator offering one-click multi-timeframe and multi-exchange OI comparison, empowering traders to uncover the market’s “true intent” and gain a strategic edge.
ConclusionBitcoin Open Interest makes the market’s hidden capital movements accessible to all. By capturing market dynamics and pinpointing the “leading forces” during events, it sets a new standard for traders seeking a revolutionary perspective.
RTH Session Highs & LowsA Pine Script indicator designed to track and plot the Regular Trading Hours (RTH) session highs and lows on a chart, typically for U.S. equity markets (e.g., S&P 500, Nasdaq, etc.), which operate from 9:30 AM to 4:00 PM Eastern Time.
Session High & Low Lines:
During the RTH session, the indicator draws green and red horizontal lines that represent the highest and lowest price seen so far within that trading session.
These levels help traders identify intraday support (low) and resistance (high) levels.
New High/Low Markers:
Small triangle markers are placed:
Above the bar when a new intraday high is made (green triangle).
Below the bar when a new intraday low is made (red triangle).
This visually flags when momentum may be building or reversing.
Intraday Strategy Support:
Use the session high/low as dynamic support/resistance for scalping or breakout strategies.
For example:
Breakouts above session highs may indicate bullish strength.
Breakdowns below session lows may suggest bearish momentum.
Mean Reversion Tactics:
Prices approaching these lines and then rejecting can be used for mean reversion setups.
Combine with volume or candlestick patterns for confirmation.
Risk Management:
Set stops or targets relative to session highs/lows.
For instance, use session high as a stop-loss level in a short position.
Volatility Gauge:
Tracking how frequently new highs/lows are formed can help assess intraday volatility or range expansion.
Complement with Indicators:
Combine this with our "McGinley Dynamic Channel with Directional Shading" indicator or our "EMA Crossover with Shading" indicator to add context to breakouts or rejections.
Extended Altman Z-Score ModelThe Extended Altman Z-Score Model represents a significant advancement in financial analysis and risk assessment, building upon the foundational work of Altman (1968) while incorporating contemporary data analytics approaches as proposed by Fung (2023). This sophisticated model enhances the traditional bankruptcy prediction framework by integrating additional financial metrics and modern analytical techniques, offering a more comprehensive approach to identifying financially distressed companies.
The model's architecture is built upon two distinct yet complementary scoring systems. The traditional Altman Z-Score components form the foundation, including Working Capital to Total Assets (X1), which measures a company's short-term liquidity and operational efficiency. Retained Earnings to Total Assets (X2) provides insight into the company's historical profitability and reinvestment capacity. EBIT to Total Assets (X3) evaluates operational efficiency and earning power, while Market Value of Equity to Total Liabilities (X4) assesses market perception and leverage. Sales to Total Assets (X5) measures asset utilization efficiency.
These traditional components are enhanced by extended metrics introduced by Fung (2023), which provide additional layers of financial analysis. The Cash Ratio (X6) offers insights into immediate liquidity and financial flexibility. Asset Composition (X7) evaluates the quality and efficiency of asset utilization, particularly in working capital management. The Debt Ratio (X8) provides a comprehensive view of financial leverage and long-term solvency, while the Net Profit Margin (X9) measures overall profitability and operational efficiency.
The scoring system employs a sophisticated formula that combines the traditional Z-Score with weighted additional metrics. The traditional Z-Score is calculated as 1.2X1 + 1.4X2 + 3.3X3 + 0.6X4 + 1.0X5, while the extended components are weighted as follows: 0.5 * X6 + 0.3 * X7 - 0.4 * X8 + 0.6 * X9. This enhanced scoring mechanism provides a more nuanced assessment of a company's financial health, incorporating both traditional bankruptcy prediction metrics and modern financial analysis approaches.
The model categorizes companies into three distinct risk zones, each with specific implications for financial stability and required actions. The Safe Zone (Score > 3.0) indicates strong financial health, with low probability of financial distress and suitability for conservative investment strategies. The Grey Zone (Score between 1.8 and 3.0) suggests moderate risk, requiring careful monitoring and additional fundamental analysis. The Danger Zone (Score < 1.8) signals high risk of financial distress, necessitating immediate attention and potential risk mitigation strategies.
In practical application, the model requires systematic and regular monitoring. Users should track the Extended Score on a quarterly basis, monitoring changes in individual components and comparing results with industry benchmarks. Component analysis should be conducted separately, identifying specific areas of concern and tracking trends in individual metrics. The model's effectiveness is significantly enhanced when used in conjunction with other financial metrics and when considering industry-specific factors and macroeconomic conditions.
The technical implementation in Pine Script v6 provides real-time calculations of both traditional and extended scores, offering visual representation of risk zones, detailed component breakdowns, and warning signals for critical values. The indicator automatically updates with new financial data and provides clear visual cues for different risk levels, making it accessible to both technical and fundamental analysts.
However, as noted by Fung (2023), the model has certain limitations that users should consider. It may not fully account for industry-specific factors, requires regular updates of financial data, and should be used in conjunction with other analysis tools. The model's effectiveness can be enhanced by incorporating industry-specific benchmarks and considering macroeconomic factors that may affect financial performance.
References:
Altman, E.I. (1968) 'Financial ratios, discriminant analysis and the prediction of corporate bankruptcy', The Journal of Finance, 23(4), pp. 589-609.
Li, L., Wang, B., Wu, Y. and Yang, Q., 2020. Identifying poorly performing listed firms using data analytics. Journal of Business Research, 109, pp.1–12. doi.org
Vietnamese Market Structure With CountersThis indicator is designed to track Market Structure with Swing-Low Breakdowns and Swing-High Breakups specifically tailored for the Vietnamese stock market, though it can be applied elsewhere too. By default, it uses a 10-period EMA to dynamically detect key turning points in price action and count significant breakdowns or breakups from previous swing levels.
As an open source, you can modify the source code to match your needs.
What it does:
Detects when price breaks below previous swing lows or above previous swing highs.
Plots swing levels for both highs and lows.
Displays labeled counters on the chart to show how many consecutive breakdowns or breakups have occurred.
Helps traders identify trend shifts and possible exhaustion in moves.
Why it's useful:
This tool is great for visually tracking market momentum and structure changes — especially in trending or volatile environments. It emphasizes structure over indicators, helping you understand price behavior in a simplified, intuitive way.
License:
This script is published under the Mozilla Public License 2.0. Feel free to use, modify, and contribute!
Created with care by @doqkhanh.
If you find it useful, consider leaving a comment or sharing it with others!
[blackcat] L2 EMA NexusOVERVIEW
The L2 EMA Nexus is a comprehensive trading indicator that utilizes a three-tiered Exponential Moving Average (EMA) system to identify potential trading opportunities. This script combines technical analysis with robust risk management features to help traders make informed decisions.
KEY FEATURES
• Triple EMA Analysis:
Customizable source inputs for each EMA
Adjustable length parameters (3, 8, 21 periods)
Dynamic color coding based on trend direction
Real-time price action monitoring
• Advanced Entry Signals:
High-low price action verification
EMA cross-overs and cross-unders
Multi-timeframe trend confirmation
Dynamic position sizing limits
• Risk Management:
Configurable Take Profit levels
Flexible Stop Loss settings
Optional TP/SL activation
Clear visual indicators for levels
HOW TO USE
Setup Initial Parameters:
Configure EMA lengths for your timeframe
Set Take Profit percentage (default 25%)
Define Stop Loss percentage (default 2.5%)
Adjust pyramiding limit as needed
Enable/Disable Features:
Toggle TP/SL settings based on strategy
Customize alert conditions
Modify visual labels for clarity
Monitor Trading Signals:
Watch for buy/sell labels
Track TP/SL levels
Monitor position status
TRADE MANAGEMENT
• Entry Conditions:
Long Entry: Higher high with rising EMA1 and stable EMA3
Short Entry: Lower low with falling EMA1 and stable EMA2
• Exit Conditions:
Take Profit: Price reaches defined percentage above/below entry
Stop Loss: Price reaches defined percentage below/above entry
• Position Control:
Limited to specified number of positions
Automatic position tracking
Clear visual indication of current trades
TECHNICAL DETAILS
• EMA Calculation:
Uses Exponential Moving Average for trend following
Color-coded based on 2-bar trend direction
Multiple timeframe compatibility
• Label System:
Clear buy/sell markers
Take Profit and Stop Loss indicators
Real-time position status updates
• Alert Configuration:
Customizable alert messages
Multiple alert conditions
Option to enable/disable specific alerts
LIMITATIONS
⚠️ Important Considerations:
Results may vary across different market conditions
Historical performance does not guarantee future results
Always backtest strategy before live trading
Consider complementing with additional analysis tools
BEST PRACTICES
• Recommended Timeframes:
Daily charts for long-term strategies
4-hour charts for swing trading
1-hour charts for short-term trading
• Risk Management Tips:
Start with small position sizes
Always use TP/SL in live trading
Monitor market volatility before entering trades
TROUBLESHOOTING
• Common Issues:
Ensure proper chart resolution
Verify alert conditions are enabled
Check for conflicting indicators
• Performance Optimization:
Use appropriate timeframe for your strategy
Adjust indicator parameters based on market conditions
Monitor for potential overfitting
VPSRVP Sovereign Reign (VPSR) - Advanced Volume Profile Analysis
A sophisticated volume analysis tool that provides deep insights into market participation and momentum through an intuitive visual interface. This indicator helps traders identify significant market moves, potential reversals, and institutional activity.
Key Features:
1. Smart Volume Analysis
• Dynamic volume profiling
• Institutional participation detection
• Abnormal volume identification
• Real-time momentum tracking
2. Advanced Visual System
• Color-coded volume bars
• Adaptive cloud formation
• Reversal pattern detection
• Fake-out warning system
Visual Components:
1. Volume Bars
• Green: Bullish pressure with normal volume
• Purple: Bearish pressure with normal volume
• White: Significant bullish participation
• Pink: Significant bearish participation
• Orange: High-probability reversal zones
2. Dynamic Cloud
• White Cloud: Bullish control zone
• Purple Cloud: Bearish control zone
• Cloud density indicates participation strength
• Adaptive to market conditions
Signal Interpretation:
1. Normal Market Conditions
• Green/Purple bars show directional pressure
• Cloud color indicates dominant force
• Cloud height shows average participation
2. Significant Events
• White/Pink bars signal major moves
• Orange bars highlight potential reversals
• Cloud expansion shows increasing activity
• Cloud contraction indicates consolidation
Customization Options:
• Volume MA Length: Smoothing factor
• Abnormal Volume Threshold: Sensitivity
• Cloud Display: Toggle visualization
• Color scheme optimization
Best Practices:
1. Multiple Timeframe Analysis
• Start with higher timeframes
• Confirm on lower timeframes
• Watch for confluence
2. Volume Analysis
• Compare to historical levels
• Monitor abnormal spikes
• Track participation trends
3. Trade Management
• Use as confirmation tool
• Wait for clear signals
• Monitor fake-out warnings
• Combine with price action
Trading Applications:
1. Trend Analysis
• Identify strong moves
• Spot weakening trends
• Detect consolidation
2. Reversal Detection
• Spot potential turning points
• Identify fake-outs
• Monitor institutional activity
3. Risk Management
• Volume-based position sizing
• Stop loss placement
• Profit target selection
The VP Sovereign Reign indicator excels at:
• Identifying significant market moves
• Detecting institutional participation
• Warning of potential reversals
• Highlighting fake-outs
• Providing clear market context
Risk Warning:
This indicator is designed as a technical analysis tool and should be used as part of a complete trading strategy. Past performance does not guarantee future results. Always employ proper risk management techniques.
Note: For optimal results, use in conjunction with price action analysis and other complementary indicators.
Volume Range Profile with Fair Value (Zeiierman)█ Overview
The Volume Range Profile with Fair Value (Zeiierman) is a precision-built volume-mapping tool designed to help traders visualize where institutional-level activity is occurring within the price range — and how that volume behavior shifts over time.
Unlike traditional volume profiles that rely on fixed session boundaries or static anchors, this tool dynamically calculates and displays volume zones across both the upper and lower ends of a price range, revealing point-of-control (POC) levels, directional volume flow, and a fair value drift line that updates live with each candle.
You’re not just looking at volume anymore. You’re dissecting who’s in control — and at what price.
⚪ In simple terms:
Upper Zone = The upper portion of the price range, showing concentrated volume activity — typically where selling or distribution may occur
Lower Zone = The lower portion of the price range, highlighting areas of high volume — often associated with buying or accumulation
POC Bin = The bin (price level) with the highest traded volume in the zone — considered the most accepted price by the market
Fair Value Trend = A dynamic trend line tracking the average POC price over time — visualizing the evolving fair value
Zone Labels = Display real-time breakdown of buy/sell volume within each zone and inside the POC — revealing who’s in control
█ How It Works
⚪ Volume Zones
Upper Zone: Anchored at the highest high in the lookback period
Lower Zone: Anchored at the lowest low in the lookback period
Width is user-defined via % of range
Each zone is divided into a series of volume bins
⚪ Volume Bins (Histograms)
Each zone is split into N bins that show how much volume occurred at each level:
Taller = More volume
The POC bin (Point of Control) is highlighted
Labels show % of volume in the POC relative to the whole zone
⚪ Buy vs Sell Breakdown
Each volume bin is split by:
Buy Volume = Close ≥ Open
Sell Volume = Close < Open
The script accumulates these and displays total Buy/Sell volume per zone.
⚪ Fair Value Drift Line
A POC trend is plotted over time:
Represents where volume was most active across each range
Color changes dynamically — green for rising, red for falling
Serves as a real-time fair value anchor across changing market structure
█ How to Use
⚪ Identify Key Control Zones
Use Upper/Lower Zone structures to understand where supply and demand is building.
Zones automatically adapt to recent highs/lows and re-center volume accordingly.
⚪ Follow Institutional Activity
Watch for POC clustering near price tops or bottoms.
Large volumes near extremes may indicate accumulation or distribution.
⚪ Spot Fair Value Drift
The fair value trend line (average POC price) gives insight into market equilibrium.
One strategy can be to trade a re-test of the fair value trend, trades are taken in the direction of the current trend.
█ Understanding Buy & Sell Volume Labels (Zone Totals)
These labels show the total buy and sell volume accumulated within each zone over the selected lookback period:
Buy Vol (green label) → Total volume where candles closed bullish
Sell Vol (red label) → Total volume where candles closed bearish
Together, they tell you which side dominated:
Higher Buy Vol → Bullish accumulation zone
Higher Sell Vol → Bearish distribution zone
This gives a quick visual insight into who controlled the zone, helping you spot areas of demand or supply imbalance.
█ Understanding POC Volume Labels
The POC (Point of Control) represents the price level where the most volume occurred within the zone. These labels break down that volume into:
Buy % – How much of the volume was buying (price closed up)
Sell % – How much was selling (price closed down)
Total % – How much of the entire zone’s volume happened at the POC
Use it to spot strong demand or supply zones:
High Buy % + High Total % → Strong buying interest = likely support
High Sell % + High Total % → Strong selling pressure = likely resistance
It gives a deeper look into who was in control at the most important price level.
█ Why It’s Useful
Track where fair value is truly forming
Detect aggressive volume accumulation or dumping
Visually split buyer/seller control at the most relevant price levels
Adapt volume structures to current trend direction
█ Settings Explained
Lookback Period: Number of bars to scan for highs/lows. Higher = smoother zones, Lower = reactive.
Zone Width (% of Range): Controls how much of the range is used to define each zone. Higher = broader zones.
Bins per Zone: Number of volume slices per zone. Higher = more detail, but heavier on resources.
-----------------
Disclaimer
The content provided in my scripts, indicators, ideas, algorithms, and systems is for educational and informational purposes only. It does not constitute financial advice, investment recommendations, or a solicitation to buy or sell any financial instruments. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from the use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, backtest, or individual's trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
Z SMMA | QuantEdgeB📈 Introducing Z-Score SMMA (Z SMMA) by QuantEdgeB
🛠️ Overview
Z SMMA is a momentum-driven oscillator designed to track the standardized deviation of a Smoothed Moving Average (SMMA). By applying Z-score normalization, this tool dynamically adapts to price volatility, enabling traders to detect meaningful directional shifts and trend changes with enhanced clarity.
It serves both as a trend-following and mean-reversion system, identifying opportunities through standardized thresholds while remaining robust across volatile and calm market conditions.
✨ Key Features
🔹 Z-Score Normalization Engine
Applies Z-score to a custom SMMA baseline, allowing traders to compare price action relative to its recent volatility-adjusted mean.
🔹 Dynamic Trend Detection
Generates actionable long/short signals based on customizable Z-thresholds, making it adaptable across different asset classes and timeframes.
🔹 Overbought/Oversold Zones
Highlight reversion and profit-taking zones (default OB: +2 to +4, OS: -2 to -4), great for counter-trend or mean-reversion strategies.
🔹 Visual Reinforcement Tools
Includes candle coloring, gradient fills, and optional ALMA/EMA band overlays to visualize trend regime transitions.
🔍 How It Works
1️⃣ Z-Score SMMA Calculation
The core is a custom Smoothed Moving Average (SMMA) that is normalized by its standard deviation over a lookback period.
Final Formula:
Z = (SMMA - Mean) / StdDev
2️⃣ Signal Generation
• ✅ Long Bias: Z-Score > Long Threshold (default: 0)
• ❌ Short Bias: Z-Score < Short Threshold (default: 0)
3️⃣ Visual Aids
• Candle Color → Shows trend bias
• Band Fills → Highlight trend strength
• Overlays → Optional ALMA/EMA bands for structure analysis
⚙️ Custom Settings
• SMMA Length → Default: 12
• Z-Score Lookback → Default: 30
• Long Threshold → Default: 0
• Short Threshold → Default: 0
• Color Themes → Choose from 6 visual modes
• Extra Plots → Toggle advanced overlays (ALMA, EMA, bands)
• Label Display → Show/hide “𝓛𝓸𝓷𝓰” & “𝓢𝓱𝓸𝓻𝓽” markers
👥 Who Should Use It?
✅ Trend Traders → For early entries with confirmation from Z-score expansion
✅ Quantitative Analysts → Standardized deviation enables comparison across assets
✅ Mean-Reversion Traders → Use OB/OS zones to fade parabolic spikes
✅ Swing & Systematic Traders → Identify momentum shifts with optional ALMA/EMA overlays
📌 Conclusion
Z SMMA offers a smart, adaptive framework for tracking deviation from equilibrium in a quant-friendly format. Whether you're looking to follow trends or catch exhaustion points, Z SMMA provides a clear, standardized view of momentum and price extremes.
🔹 Key Takeaways:
1️⃣ Z-Score standardization ensures dynamic range awareness
2️⃣ SMMA base filters out noise, offering smoother signals
3️⃣ Color-coded visuals support faster reaction and cleaner charts
📌 Disclaimer: Past performance is not indicative of future results. No trading strategy can guarantee success in financial markets.
📌 Strategic Advice: Always backtest, optimize, and align parameters with your trading objectives and risk tolerance before
DOPT---
## 🔍 **DOPT - Daily Open & Price Time Markers**
This script is designed to support directional bias development and price behavior analysis around key time-based reference points on the **1H and 4H timeframes**.
### ✨ **What It Does**
- **1800 Open Marker** (6 PM NY time): Plots the **daily open** from 1800 in **black dotted lines**.
- **0000 Open Marker** (Midnight NY time): Plots the **midnight open** in **blue dotted lines**.
- **Day Letters**: Each 1800 open is labeled with the corresponding **day of the week** (e.g., M, T, W...), helping visually segment your chart.
- **Hour Labels**: Select specific candles (e.g., 0000 = '0', 0800 = '8') to be labeled above the bar. These are fully customizable.
- **Candle Midpoints**: Option to mark the **50% level** of a specific candle (good for CE or CRT references).
- **CRT High/Low Tracking**: Ability to plot **extended high and low lines** from a selected candle back (e.g., for CRT modeling).
- **4H Timeframe Candle Numbering**: Helpful when analyzing sequences on the 4-hour timeframe. Candles are numbered `1`, `5`, and `9` for reference.
---
### 🧠 **How I Use It**
- I mostly use this on the **1-hour timeframe** to decide **directional bias** for the day:
- If price **closes above 1800 open**, I consider that a **green daily close** — potential bullish sentiment.
- If price **closes below**, I treat it as a **red daily close** — potential bearish behavior.
- Price often uses these opens as **support/resistance**, so I watch for reactions there.
- On the **4H**, the candle numbers help track structure and flow.
- Combine with CRT tools to mark **key candle highs/lows** and their **equilibrium (50%)** — great for refining entries or understanding how price is respecting a particular candle.
---
### ⚠️ **Note on Daylight Savings**
This is a **daylight saving time-dependent script**. When DST kicks in or out, you’ll need to **adjust the time inputs** accordingly to keep the opens accurate (e.g., 1800 might shift to 1700 depending on the season).
---
### 🔁 **Backtesting & Reference**
- The **1800 and 0000 opens** are plotted for **as far back** as your chart loads, making it great for backtesting historical reactions.
- The CRT marking tools only go back **50 candles max**, so use that for recent structure only.
---
Trendline Breaks with Multi Fibonacci Supertrend StrategyTMFS Strategy: Advanced Trendline Breakouts with Multi-Fibonacci Supertrend
Elevate your algorithmic trading with institutional-grade signal confluence
Strategy Genesis & Evolution
This advanced trading system represents the culmination of a personal research journey, evolving from my custom " Multi Fibonacci Supertrend with Signals " indicator into a comprehensive trading strategy. Built upon the exceptional trendline detection methodology pioneered by LuxAlgo in their " Trendlines with Breaks " indicator, I've engineered a systematic framework that integrates multiple technical factors into a cohesive trading system.
Core Fibonacci Principles
At the heart of this strategy lies the Fibonacci sequence application to volatility measurement:
// Fibonacci-based factors for multiple Supertrend calculations
factor1 = input.float(0.618, 'Factor 1 (Weak/Fibonacci)', minval = 0.01, step = 0.01)
factor2 = input.float(1.618, 'Factor 2 (Medium/Golden Ratio)', minval = 0.01, step = 0.01)
factor3 = input.float(2.618, 'Factor 3 (Strong/Extended Fib)', minval = 0.01, step = 0.01)
These precise Fibonacci ratios create a dynamic volatility envelope that adapts to changing market conditions while maintaining mathematical harmony with natural price movements.
Dynamic Trendline Detection
The strategy incorporates LuxAlgo's pioneering approach to trendline detection:
// Pivotal swing detection (inspired by LuxAlgo)
pivot_high = ta.pivothigh(swing_length, swing_length)
pivot_low = ta.pivotlow(swing_length, swing_length)
// Dynamic slope calculation using ATR
slope = atr_value / swing_length * atr_multiplier
// Update trendlines based on pivot detection
if bool(pivot_high)
upper_slope := slope
upper_trendline := pivot_high
else
upper_trendline := nz(upper_trendline) - nz(upper_slope)
This adaptive trendline approach automatically identifies key structural market boundaries, adjusting in real-time to evolving chart patterns.
Breakout State Management
The strategy implements sophisticated state tracking for breakout detection:
// Track breakouts with state variables
var int upper_breakout_state = 0
var int lower_breakout_state = 0
// Update breakout state when price crosses trendlines
upper_breakout_state := bool(pivot_high) ? 0 : close > upper_trendline ? 1 : upper_breakout_state
lower_breakout_state := bool(pivot_low) ? 0 : close < lower_trendline ? 1 : lower_breakout_state
// Detect new breakouts (state transitions)
bool new_upper_breakout = upper_breakout_state > upper_breakout_state
bool new_lower_breakout = lower_breakout_state > lower_breakout_state
This state-based approach enables precise identification of the exact moment when price breaks through a significant trendline.
Multi-Factor Signal Confluence
Entry signals require confirmation from multiple technical factors:
// Define entry conditions with multi-factor confluence
long_entry_condition = enable_long_positions and
upper_breakout_state > upper_breakout_state and // New trendline breakout
di_plus > di_minus and // Bullish DMI confirmation
close > smoothed_trend // Price above Supertrend envelope
// Execute trades only with full confirmation
if long_entry_condition
strategy.entry('L', strategy.long, comment = "LONG")
This strict requirement for confluence significantly reduces false signals and improves the quality of trade entries.
Advanced Risk Management
The strategy includes sophisticated risk controls with multiple methodologies:
// Calculate stop loss based on selected method
get_long_stop_loss_price(base_price) =>
switch stop_loss_method
'PERC' => base_price * (1 - long_stop_loss_percent)
'ATR' => base_price - long_stop_loss_atr_multiplier * entry_atr
'RR' => base_price - (get_long_take_profit_price() - base_price) / long_risk_reward_ratio
=> na
// Implement trailing functionality
strategy.exit(
id = 'Long Take Profit / Stop Loss',
from_entry = 'L',
qty_percent = take_profit_quantity_percent,
limit = trailing_take_profit_enabled ? na : long_take_profit_price,
stop = long_stop_loss_price,
trail_price = trailing_take_profit_enabled ? long_take_profit_price : na,
trail_offset = trailing_take_profit_enabled ? long_trailing_tp_step_ticks : na,
comment = "TP/SL Triggered"
)
This flexible approach adapts to varying market conditions while providing comprehensive downside protection.
Performance Characteristics
Rigorous backtesting demonstrates exceptional capital appreciation potential with impressive risk-adjusted metrics:
Remarkable total return profile (1,517%+)
Strong Sortino ratio (3.691) indicating superior downside risk control
Profit factor of 1.924 across all trades (2.153 for long positions)
Win rate exceeding 35% with balanced distribution across varied market conditions
Institutional Considerations
The strategy architecture addresses execution complexities faced by institutional participants with temporal filtering and date-range capabilities:
// Time Filter settings with flexible timezone support
import jason5480/time_filters/5 as time_filter
src_timezone = input.string(defval = 'Exchange', title = 'Source Timezone')
dst_timezone = input.string(defval = 'Exchange', title = 'Destination Timezone')
// Date range filtering for precise execution windows
use_from_date = input.bool(defval = true, title = 'Enable Start Date')
from_date = input.time(defval = timestamp('01 Jan 2022 00:00'), title = 'Start Date')
// Validate trading permission based on temporal constraints
date_filter_approved = time_filter.is_in_date_range(
use_from_date, from_date, use_to_date, to_date, src_timezone, dst_timezone
)
These capabilities enable precise execution timing and market session optimization critical for larger market participants.
Acknowledgments
Special thanks to LuxAlgo for the pioneering work on trendline detection and breakout identification that inspired elements of this strategy. Their innovative approach to technical analysis provided a valuable foundation upon which I could build my Fibonacci-based methodology.
This strategy is shared under the same Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) license as LuxAlgo's original work.
Past performance is not indicative of future results. Conduct thorough analysis before implementing any algorithmic strategy.
Hull Moving Average Adaptive RSI (Ehlers)Hull Moving Average Adaptive RSI (Ehlers)
The Hull Moving Average Adaptive RSI (Ehlers) is an enhanced trend-following indicator designed to provide a smooth and responsive view of price movement while incorporating an additional momentum-based analysis using the Adaptive RSI.
Principle and Advantages of the Hull Moving Average:
- The Hull Moving Average (HMA) is known for its ability to track price action with minimal lag while maintaining a smooth curve.
- Unlike traditional moving averages, the HMA significantly reduces noise and responds faster to market trends, making it highly effective for detecting trend direction and changes.
- It achieves this by applying a weighted moving average calculation that emphasizes recent price movements while smoothing out fluctuations.
Why the Adaptive RSI Was Added:
- The core HMA line remains the foundation of the indicator, but an additional analysis using the Adaptive RSI has been integrated to provide more meaningful insights into momentum shifts.
- The Adaptive RSI is a modified version of the traditional Relative Strength Index that dynamically adjusts its sensitivity based on market volatility.
- By incorporating the Adaptive RSI, the HMA visually represents whether momentum is strengthening or weakening, offering a complementary layer of analysis.
How the Adaptive RSI Influences the Indicator:
- High Adaptive RSI (above 65): The market may be overbought, or bullish momentum could be fading. The HMA turns shades of red, signaling a possible exhaustion phase or potential reversals.
- Neutral Adaptive RSI (around 50): The market is in a balanced state, meaning neither buyers nor sellers are in clear control. The HMA takes on grayish tones to indicate this consolidation.
- Low Adaptive RSI (below 35): The market may be oversold, or bearish momentum could be weakening. The HMA shifts to shades of blue, highlighting potential recovery zones or trend slowdowns.
Why This Combination is Powerful:
- While the HMA excels in tracking trends and reducing lag, it does not provide information about momentum strength on its own.
- The Adaptive RSI bridges this gap by adding a clear visual layer that helps traders assess whether a trend is likely to continue, consolidate, or reverse.
- This makes the indicator particularly useful for spotting trend exhaustion and confirming momentum shifts in real-time.
Best Use Cases:
- Works effectively on timeframes from 1 hour (1H) to 1 day (1D), making it suitable for swing trading and position trading.
- Particularly useful for trading indices (SPY), stocks, forex, and cryptocurrencies, where momentum shifts are frequent.
- Helps identify not just trend direction but also whether that trend is gaining or losing strength.
Recommended Complementary Indicators:
- Adaptive Trend Finder: Helps identify the dominant long-term trend.
- Williams Fractals Ultimate: Provides key reversal points to validate trend shifts.
- RVOL (Relative Volume): Confirms significant moves based on volume strength.
This enhanced HMA with Adaptive RSI provides a powerful, intuitive visual tool that makes trend analysis and momentum interpretation more effective and efficient.
This indicator is for educational and informational purposes only. It should not be considered financial advice or a guarantee of performance. Always conduct your own research and use proper risk management when trading. Past performance does not guarantee future results.
Display Stocks with Change%Display Stocks with Change% - Pine Script™ Indicator
Overview
The Display Stocks with Change% indicator is designed for TradingView to highlight specific stocks and their percentage change on a given date. The indicator allows users to input custom stock names, dates, and percentage changes, displaying relevant information directly on the chart. Additionally, it provides an option to connect the stock's high price with a label using customizable line styles.
Features
Custom Stock List: Users can input multiple stock names along with corresponding dates and percentage changes.
Date-Specific Highlighting: The script dynamically checks if the current bar's date matches any input date and displays relevant stock data.
Color-Coded Percentage Change: Stocks with a negative change are displayed in red, while positive or neutral changes are in black.
Connecting Lines: An option to enable or disable dotted, dashed, or solid lines connecting the stock's high price to the label.
Automatic Label Positioning: Adjusts label alignment based on recent price movement to avoid overlap and enhance visibility.
Input Parameters
COB (Close of Business Dates): A comma-separated list of dates in DD-MM-YYYY format.
Stock Names: A comma-separated list of stock tickers.
Change Percentage: Corresponding percentage changes for the listed stocks.
Show Connecting Lines: Boolean toggle to enable or disable connecting lines.
Line Color & Style: Customizable line color and style (solid, dotted, or dashed).
How It Works
Data Processing: The script splits user inputs into arrays and iterates through them.
Date Matching: It checks if the current bar's date matches any of the provided COB dates.
Label Formatting: When a match is found, it constructs a label containing the stock name and its percentage change.
Text Alignment & Factor Adjustments: Dynamically determines label positioning based on recent price movements.
Label Display: If any matching stocks are found, a label is created at the stock's high price.
Connecting Line (Optional): If enabled, a line is drawn from the stock’s high to the label for better visualization.
Key Benefits for Traders:
Track Multiple Stocks at Once – Displays stock names and their percentage changes on specific dates automatically.
Saves Time – No need to manually check historical data; the indicator overlays key stock movements.
Visual Insights – Labels & color coding (red for negative, black for positive) make it easy to spot trends.
Customizable & Automated – Add your own stocks, dates, and percentage changes; the script adjusts dynamically.
📌 Use Case Example:
You’re tracking MRPL, CARTRADE, and JSWENERGY on specific dates. Instead of digging through historical data, this indicator automatically highlights the stock’s movement on that date, allowing you to make faster, informed trading decisions.