Market Structure Trend Change by TenAMTraderMarket Structure Trend Change Indicator
Description:
This indicator detects changes in market trend by analyzing swing highs and lows to identify Higher Highs (HH), Higher Lows (HL), Lower Highs (LH), and Lower Lows (LL). It helps traders quickly see potential reversals and trend continuation points.
Features:
Automatically identifies pivots based on configurable left and right bars.
Labels pivot points (HH, HL, LH, LL) directly on the chart (text-only for clarity).
Generates buy and sell signals when a trend change is detected:
Buy Signal: HL after repeated LLs.
Sell Signal: LH after repeated HHs.
Fully customizable signal appearance: arrow type, circle, label, color, and size.
Adjustable minimum number of repeated highs or lows before a trend change triggers a signal.
Alerts built in for automated notifications when buy/sell signals occur.
Default Settings:
Optimized for a 10-minute chart.
Default “Min repeats before trend change” and pivot left/right bars are set for typical 10-min price swings.
User Customization:
Adjust the “Pivot Left Bars,” “Pivot Right Bars,” and “Min repeats before trend change” to match your trading style, chart timeframe, and volatility.
Enable pivot labels for visual clarity if desired.
Set alerts to receive notifications of trend changes in real time.
How to Use:
Apply the indicator to any chart and timeframe. It works best on swing-trading or trend-following strategies.
Watch for Buy/Sell signals in conjunction with your other analysis, such as volume, support/resistance, or other indicators.
Legal Disclaimer:
This indicator is provided for educational and informational purposes only. It is not financial advice. Trading involves substantial risk, and past performance is not indicative of future results. Users should trade at their own risk and are solely responsible for any gains or losses incurred.
Cerca negli script per "大位科技同行业可替代股票的技术面分析数据(如5日均线、10日均线、支撑位、压力位)"
Simple Symmetrical Triangle Strategy (6 points)Overview
This strategy identifies triangle patterns formed by a series of key high and low price points. A trade is triggered when the price breaks out from the pattern's final confirmation points: a buy signal occurs on a close above the last high point, and a sell signal on a close below the last low point. To ensure relevance, any pattern that doesn't break out within 10 bars is automatically discarded.
This helps filter out patterns that lose momentum and focuses only on the most imminent breakouts.
How It Works
1. Pattern Detection: The script continuously scans for a sequence of three declining highs (points H1, H2, H3) and three rising lows (points L1, L2, L3) to form a triangle.
2. Entry Logic: The logic is straightforward and based on breaking the last confirmed pivot:
* Long Entry: A buy order is executed if the price closes above the level of the last high (H3).
* Short Entry: A sell order is executed if the price closes below the level of the last low (L3).
3. Pattern Expiration: A triangle only remains "active" for 10 bars after its formation. If a breakout doesn't occur within this window, the pattern is removed from analysis, avoiding trades on prolonged, unresolved consolidations.
Key Features
* Automatic Detection: Identifies and draws triangles for you.
* Simple Breakout Logic: Easy to understand, trades by following the price action.
* Time Filter: Its main advantage is discarding patterns that do not resolve quickly.
* Customizable: You can adjust the sensitivity of the pivot detection in the settings.
Important Disclaimer
This strategy is designed as an entry system and DOES NOT INCLUDE A STOP LOSS OR TAKE PROFIT.
Automation Ready
Want to automate this or ANY strategy on your broker or MetaTrader (MT4/MT5) without keeping your computer on or needing a VPS? You can use WebhookTrade.
Seasonality Monte Carlo Forecaster [BackQuant]Seasonality Monte Carlo Forecaster
Plain-English overview
This tool projects a cone of plausible future prices by combining two ideas that traders already use intuitively: seasonality and uncertainty. It watches how your market typically behaves around this calendar date, turns that seasonal tendency into a small daily “drift,” then runs many randomized price paths forward to estimate where price could land tomorrow, next week, or a month from now. The result is a probability cone with a clear expected path, plus optional overlays that show how past years tended to move from this point on the calendar. It is a planning tool, not a crystal ball: the goal is to quantify ranges and odds so you can size, place stops, set targets, and time entries with more realism.
What Monte Carlo is and why quants rely on it
• Definition . Monte Carlo simulation is a way to answer “what might happen next?” when there is randomness in the system. Instead of producing a single forecast, it generates thousands of alternate futures by repeatedly sampling random shocks and adding them to a model of how prices evolve.
• Why it is used . Markets are noisy. A single point forecast hides risk. Monte Carlo gives a distribution of outcomes so you can reason in probabilities: the median path, the 68% band, the 95% band, tail risks, and the chance of hitting a specific level within a horizon.
• Core strengths in quant finance .
– Path-dependent questions : “What is the probability we touch a stop before a target?” “What is the expected drawdown on the way to my objective?”
– Pricing and risk : Useful for path-dependent options, Value-at-Risk (VaR), expected shortfall (CVaR), stress paths, and scenario analysis when closed-form formulas are unrealistic.
– Planning under uncertainty : Portfolio construction and rebalancing rules can be tested against a cloud of plausible futures rather than a single guess.
• Why it fits trading workflows . It turns gut feel like “seasonality is supportive here” into quantitative ranges: “median path suggests +X% with a 68% band of ±Y%; stop at Z has only ~16% odds of being tagged in N days.”
How this indicator builds its probability cone
1) Seasonal pattern discovery
The script builds two day-of-year maps as new data arrives:
• A return map where each calendar day stores an exponentially smoothed average of that day’s log return (yesterday→today). The smoothing (90% old, 10% new) behaves like an EWMA, letting older seasons matter while adapting to new information.
• A volatility map that tracks the typical absolute return for the same calendar day.
It calculates the day-of-year carefully (with leap-year adjustment) and indexes into a 365-slot seasonal array so “March 18” is compared with past March 18ths. This becomes the seasonal bias that gently nudges simulations up or down on each forecast day.
2) Choice of randomness engine
You can pick how the future shocks are generated:
• Daily mode uses a Gaussian draw with the seasonal bias as the mean and a volatility that comes from realized returns, scaled down to avoid over-fitting. It relies on the Box–Muller transform internally to turn two uniform random numbers into one normal shock.
• Weekly mode uses bootstrap sampling from the seasonal return history (resampling actual historical daily drifts and then blending in a fraction of the seasonal bias). Bootstrapping is robust when the empirical distribution has asymmetry or fatter tails than a normal distribution.
Both modes seed their random draws deterministically per path and day, which makes plots reproducible bar-to-bar and avoids flickering bands.
3) Volatility scaling to current conditions
Markets do not always live in average volatility. The engine computes a simple volatility factor from ATR(20)/price and scales the simulated shocks up or down within sensible bounds (clamped between 0.5× and 2.0×). When the current regime is quiet, the cone narrows; when ranges expand, the cone widens. This prevents the classic mistake of projecting calm markets into a storm or vice versa.
4) Many futures, summarized by percentiles
The model generates a matrix of price paths (capped at 100 runs for performance inside TradingView), each path stepping forward for your selected horizon. For each forecast day it sorts the simulated prices and pulls key percentiles:
• 5th and 95th → approximate 95% band (outer cone).
• 16th and 84th → approximate 68% band (inner cone).
• 50th → the median or “expected path.”
These are drawn as polylines so you can immediately see central tendency and dispersion.
5) A historical overlay (optional)
Turn on the overlay to sketch a dotted path of what a purely seasonal projection would look like for the next ~30 days using only the return map, no randomness. This is not a forecast; it is a visual reminder of the seasonal drift you are biasing toward.
Inputs you control and how to think about them
Monte Carlo Simulation
• Price Series for Calculation . The source series, typically close.
• Enable Probability Forecasts . Master switch for simulation and drawing.
• Simulation Iterations . Requested number of paths to run. Internally capped at 100 to protect performance, which is generally enough to estimate the percentiles for a trading chart. If you need ultra-smooth bands, shorten the horizon.
• Forecast Days Ahead . The length of the cone. Longer horizons dilute seasonal signal and widen uncertainty.
• Probability Bands . Draw all bands, just 95%, just 68%, or a custom level (display logic remains 68/95 internally; the custom number is for labeling and color choice).
• Pattern Resolution . Daily leans on day-of-year effects like “turn-of-month” or holiday patterns. Weekly biases toward day-of-week tendencies and bootstraps from history.
• Volatility Scaling . On by default so the cone respects today’s range context.
Plotting & UI
• Probability Cone . Plots the outer and inner percentile envelopes.
• Expected Path . Plots the median line through the cone.
• Historical Overlay . Dotted seasonal-only projection for context.
• Band Transparency/Colors . Customize primary (outer) and secondary (inner) band colors and the mean path color. Use higher transparency for cleaner charts.
What appears on your chart
• A cone starting at the most recent bar, fanning outward. The outer lines are the ~95% band; the inner lines are the ~68% band.
• A median path (default blue) running through the center of the cone.
• An info panel on the final historical bar that summarizes simulation count, forecast days, number of seasonal patterns learned, the current day-of-year, expected percentage return to the median, and the approximate 95% half-range in percent.
• Optional historical seasonal path drawn as dotted segments for the next 30 bars.
How to use it in trading
1) Position sizing and stop logic
The cone translates “volatility plus seasonality” into distances.
• Put stops outside the inner band if you want only ~16% odds of a stop-out due to noise before your thesis can play.
• Size positions so that a test of the inner band is survivable and a test of the outer band is rare but acceptable.
• If your target sits inside the 68% band at your horizon, the payoff is likely modest; outside the 68% but inside the 95% can justify “one-good-push” trades; beyond the 95% band is a low-probability flyer—consider scaling plans or optionality.
2) Entry timing with seasonal bias
When the median path slopes up from this calendar date and the cone is relatively narrow, a pullback toward the lower inner band can be a high-quality entry with a tight invalidation. If the median slopes down, fade rallies toward the upper band or step aside if it clashes with your system.
3) Target selection
Project your time horizon to N bars ahead, then pick targets around the median or the opposite inner band depending on your style. You can also anchor dynamic take-profits to the moving median as new bars arrive.
4) Scenario planning & “what-ifs”
Before events, glance at the cone: if the 95% band already spans a huge range, trade smaller, expect whips, and avoid placing stops at obvious band edges. If the cone is unusually tight, consider breakout tactics and be ready to add if volatility expands beyond the inner band with follow-through.
5) Options and vol tactics
• When the cone is tight : Prefer long gamma structures (debit spreads) only if you expect a regime shift; otherwise premium selling may dominate.
• When the cone is wide : Debit structures benefit from range; credit spreads need wider wings or smaller size. Align with your separate IV metrics.
Reading the probability cone like a pro
• Cone slope = seasonal drift. Upward slope means the calendar has historically favored positive drift from this date, downward slope the opposite.
• Cone width = regime volatility. A widening fan tells you that uncertainty grows fast; a narrow cone says the market typically stays contained.
• Mean vs. price gap . If spot trades well above the median path and the upper band, mean-reversion risk is high. If spot presses the lower inner band in an up-sloping cone, you are in the “buy fear” zone.
• Touches and pierces . Touching the inner band is common noise; piercing it with momentum signals potential regime change; the outer band should be rare and often brings snap-backs unless there is a structural catalyst.
Methodological notes (what the code actually does)
• Log returns are used for additivity and better statistical behavior: sim_ret is applied via exp(sim_ret) to evolve price.
• Seasonal arrays are updated online with EWMA (90/10) so the model keeps learning as each bar arrives.
• Leap years are handled; indexing still normalizes into a 365-slot map so the seasonal pattern remains stable.
• Gaussian engine (Daily mode) centers shocks on the seasonal bias with a conservative standard deviation.
• Bootstrap engine (Weekly mode) resamples from observed seasonal returns and adds a fraction of the bias, which captures skew and fat tails better.
• Volatility adjustment multiplies each daily shock by a factor derived from ATR(20)/price, clamped between 0.5 and 2.0 to avoid extreme cones.
• Performance guardrails : simulations are capped at 100 paths; the probability cone uses polylines (no heavy fills) and only draws on the last confirmed bar to keep charts responsive.
• Prerequisite data : at least ~30 seasonal entries are required before the model will draw a cone; otherwise it waits for more history.
Strengths and limitations
• Strengths :
– Probabilistic thinking replaces single-point guessing.
– Seasonality adds a small but meaningful directional bias that many markets exhibit.
– Volatility scaling adapts to the current regime so the cone stays realistic.
• Limitations :
– Seasonality can break around structural changes, policy shifts, or one-off events.
– The number of paths is performance-limited; percentile estimates are good for trading, not for academic precision.
– The model assumes tomorrow’s randomness resembles recent randomness; if regime shifts violently, the cone will lag until the EWMA adapts.
– Holidays and missing sessions can thin the seasonal sample for some assets; be cautious with very short histories.
Tuning guide
• Horizon : 10–20 bars for tactical trades; 30+ for swing planning when you care more about broad ranges than precise targets.
• Iterations : The default 100 is enough for stable 5/16/50/84/95 percentiles. If you crave smoother lines, shorten the horizon or run on higher timeframes.
• Daily vs. Weekly : Daily for equities and crypto where month-end and turn-of-month effects matter; Weekly for futures and FX where day-of-week behavior is strong.
• Volatility scaling : Keep it on. Turn off only when you intentionally want a “pure seasonality” cone unaffected by current turbulence.
Workflow examples
• Swing continuation : Cone slopes up, price pulls into the lower inner band, your system fires. Enter near the band, stop just outside the outer line for the next 3–5 bars, target near the median or the opposite inner band.
• Fade extremes : Cone is flat or down, price gaps to the upper outer band on news, then stalls. Favor mean-reversion toward the median, size small if volatility scaling is elevated.
• Event play : Before CPI or earnings on a proxy index, check cone width. If the inner band is already wide, cut size or prefer options structures that benefit from range.
Good habits
• Pair the cone with your entry engine (breakout, pullback, order flow). Let Monte Carlo do range math; let your system do signal quality.
• Do not anchor blindly to the median; recalc after each bar. When the cone’s slope flips or width jumps, the plan should adapt.
• Validate seasonality for your symbol and timeframe; not every market has strong calendar effects.
Summary
The Seasonality Monte Carlo Forecaster wraps institutional risk planning into a single overlay: a data-driven seasonal drift, realistic volatility scaling, and a probabilistic cone that answers “where could we be, with what odds?” within your trading horizon. Use it to place stops where randomness is less likely to take you out, to set targets aligned with realistic travel, and to size positions with confidence born from distributions rather than hunches. It will not predict the future, but it will keep your decisions anchored to probabilities—the language markets actually speak.
XAUUSD Strength Dashboard with VolumeXAUUSD Strength Dashboard with Volume Analysis
📌 Description
This advanced Pine Script indicator provides a multi-timeframe dashboard for XAUUSD (Gold vs. USD), combining price action analysis with volume confirmation to generate high-probability trading signals. It detects:
✅ Break of Structure (BOS)
✅ Fair Value Gaps (FVG)
✅ Change of Character (CHOCH)
✅ Trendline Breaks (9/21 SMA Crossover)
✅ Volume Spikes (Confirmation of Strength)
The dashboard displays strength scores (0-100%) and action recommendations (Strong Buy/Buy/Neutral/Sell/Strong Sell) across multiple timeframes, helping traders identify confluences for better trade decisions.
🎯 How It Works
1. Multi-Timeframe Analysis
Fetches data from 1m, 5m, 15m, 30m, 1h, 4h, Daily, and Weekly timeframes.
Compares trend direction, BOS, FVG, CHOCH, and volume spikes across all timeframes.
2. Volume-Confirmed Strength Score
The Strength Score (0-100%) is calculated using:
Trend Direction (25 points) → 9 SMA vs. 21 SMA
Break of Structure (20 points) → New highs/lows with momentum
Fair Value Gaps (10 points) → Imbalance zones
Change of Character (10 points) → Shift in market structure
Trendline Break (20 points) → SMA crossover confirmation
Volume Spike (15 points) → High volume confirms moves
Score Interpretation:
≥75% → Strong Buy (High confidence bullish move)
60-74% → Buy (Bullish but weaker confirmation)
40-59% → Neutral (No strong bias)
25-39% → Sell (Bearish but weaker confirmation)
≤25% → Strong Sell (High confidence bearish move)
3. Dashboard & Chart Markers
Dashboard Table: Shows Trend, BOS, Volume, CHOCH, TL Break, Strength %, Key Level, and Action for each timeframe.
Chart Markers:
🟢 Green Triangles → Bullish BOS
🔴 Red Triangles → Bearish BOS
🟢 Green Circles → Bullish CHOCH
🔴 Red Circles → Bearish CHOCH
📈 Green Arrows → Bullish Trendline Break
📉 Red Arrows → Bearish Trendline Break
"Vol↑" (Lime) → Bullish Volume Spike
"Vol↓" (Maroon) → Bearish Volume Spike
🚀 How to Use
1. Dashboard Interpretation
Higher Timeframes (D/W) → Show the dominant trend.
Lower Timeframes (1m-4h) → Help with entry timing.
Strength Score ≥75% or ≤25% → Look for high-confidence trades.
Volume Spikes → Confirm breakouts/reversals.
2. Trading Strategy
📈 Long (Buy) Setup:
Higher TFs (D/W/4h) show bullish trend (↑).
Current TF has BOS & Volume Spike.
Strength Score ≥60%.
Key Level (Low) holds as support.
📉 Short (Sell) Setup:
Higher TFs (D/W/4h) show bearish trend (↓).
Current TF has BOS & Volume Spike.
Strength Score ≤40%.
Key Level (High) holds as resistance.
3. Customization
Adjust Volume Spike Multiplier (Default: 1.5x) → Controls sensitivity to volume spikes.
Toggle Timeframes → Enable/disable higher/lower timeframes.
🔑 Key Benefits
✔ Multi-Timeframe Confluence → Avoids false signals.
✔ Volume Confirmation → Filters low-quality breakouts.
✔ Clear Strength Scoring → Removes emotional bias.
✔ Visual Chart Markers → Easy to spot key signals.
This indicator is ideal for gold traders who follow institutional order flow, market structure, and volume analysis to improve their trading decisions.
🎯 Best Used With:
Support/Resistance Levels
Fibonacci Retracements
Price Action Confirmation
🚀 Happy Trading! 🚀
Average hourly move by @zeusbottradingThis Pine Script called "Average hourly move by @zeusbottrading" calculates and displays the average percentage price movement for each hour of the day using the full available historical data.
How the script works:
It tracks the high and low price within each full hour (e.g., 10:00–10:59).
It calculates the percentage move as the range between high and low relative to the average price during that hour.
For each hour of the day, it stores the total of all recorded moves and the count of occurrences across the full history.
At the end, the script computes the average move for each hour (0 to 23) and determines the minimum and maximum averages.
Using these values, it creates a color gradient, where the hours with the lowest average volatility are red and the highest are green.
It then displays a table in the top-right corner of the chart showing each hour and its average percentage move, color‑coded according to volatility.
What it can be used for:
Identifying when the market is historically most volatile or calm during the day.
Helping plan trade entries and exits based on expected volatility.
Comparing hourly volatility patterns across different markets or instruments.
Adjusting position size and risk management according to the anticipated volatility in a particular hour.
Using long-term historical data to understand recurring daily volatility patterns.
In short, this script is a useful tool for traders who want to fine‑tune their trading strategies and risk management by analyzing time‑based volatility profiles.
Prime NumbersPrime Numbers highlights prime numbers (no surprise there 😅), tokens and the recent "active" feature in "input".
🔸 CONCEPTS
🔹 What are Prime Numbers?
A prime number (or a prime) is a natural number greater than 1 that is not a product of two smaller natural numbers.
Wikipedia: Prime number
🔹 Prime Factorization
The fundamental theorem of arithmetic states that every integer larger than 1 can be written as a product of one or more primes. More strongly, this product is unique in the sense that any two prime factorizations of the same number will have the same number of copies of the same primes, although their ordering may differ. So, although there are many different ways of finding a factorization using an integer factorization algorithm, they all must produce the same result. Primes can thus be considered the "basic building blocks" of the natural numbers.
Wikipedia: Fundamental theorem of arithmetic
Math Is Fun: Prime Factorization
We divide a given number by Prime Numbers until only Primes remain.
Example:
24 / 2 = 12 | 24 / 3 = 8
12 / 3 = 4 | 8 / 2 = 4
4 / 2 = 2 | 4 / 2 = 2
|
24 = 2 x 3 x 2 | 24 = 3 x 2 x 2
or | or
24 = 2² x 3 | 24 = 2² x 3
In other words, every natural/integer number above 1 has a unique representation as a product of prime numbers, no matter how the number is divided. Only the order can change, but the factors (the basic elements) are always the same.
🔸 USAGE
The Prime Numbers publication contains two use cases:
Prime Factorization: performed on "close" prices, or a manual chosen number.
List Prime Numbers: shows a list of Prime Numbers.
The other two options are discussed in the DETAILS chapter:
Prime Factorization Without Arrays
Find Prime Numbers
🔹 Prime Factorization
Users can choose to perform Prime Factorization on close prices or a manually given number.
❗️ Note that this option only applies to close prices above 1, which are also rounded since Prime Factorization can only be performed on natural (integer) numbers above 1.
In the image below, the left example shows Prime Factorization performed on each close price for the latest 50 bars (which is set with "Run script only on 'Last x Bars'" -> 50).
The right example shows Prime Factorization performed on a manually given number, in this case "1,340,011". This is done only on the last bar.
When the "Source" option "close price" is chosen, one can toggle "Also current price", where both the historical and the latest current price are factored. If disabled, only historical prices are factored.
Note that, depending on the chosen options, only applicable settings are available, due to a recent feature, namely the parameter "active" in settings.
Setting the "Source" option to "Manual - Limited" will factorize any given number between 1 and 1,340,011, the latter being the highest value in the available arrays with primes.
Setting to "Manual - Not Limited" enables the user to enter a higher number. If all factors of the manual entered number are in the 1 - 1,340,011 range, these factors will be shown; however, if a factor is higher than 1,340,011, the calculation will stop, after which a warning is shown:
The calculated factors are displayed as a label where identical factors are simplified with an exponent notation in superscript.
For example 2 x 2 x 2 x 5 x 7 x 7 will be noted as 2³ x 5 x 7²
🔹 List Prime Numbers
The "List Prime Numbers" option enables users to enter a number, where the first found Prime Number is shown, together with the next x Prime Numbers ("Amount", max. 200)
The highest shown Prime Number is 1,340,011.
One can set the number of shown columns to customize the displayed numbers ("Max. columns", max. 20).
🔸 DETAILS
The Prime Numbers publication consists out of 4 parts:
Prime Factorization Without Arrays
Prime Factorization
List Prime Numbers
Find Prime Numbers
The usage of "Prime Factorization" and "List Prime Numbers" is explained above.
🔹 Prime Factorization Without Arrays
This option is only there to highlight a hurdle while performing Prime Factorization.
The basic method of Prime Factorization is to divide the base number by 2, 3, ... until the result is an integer number. Continue until the remaining number and its factors are all primes.
The division should be done by primes, but then you need to know which one is a prime.
In practice, one performs a loop from 2 to the base number.
Example:
Base_number = input.int(24)
arr = array.new()
n = Base_number
go = true
while go
for i = 2 to n
if n % i == 0
if n / i == 1
go := false
arr.push(i)
label.new(bar_index, high, str.tostring(arr))
else
arr.push(i)
n /= i
break
Small numbers won't cause issues, but when performing the calculations on, for example, 124,001 and a timeframe of, for example, 1 hour, the script will struggle and finally give a runtime error.
How to solve this?
If we use an array with only primes, we need fewer calculations since if we divide by a non-prime number, we have to divide further until all factors are primes.
I've filled arrays with prime numbers and made libraries of them. (see chapter "Find Prime Numbers" to know how these primes were found).
🔹 Tokens
A hurdle was to fill the libraries with as many prime numbers as possible.
Initially, the maximum token limit of a library was 80K.
Very recently, that limit was lifted to 100K. Kudos to the TradingView developers!
What are tokens?
Tokens are the smallest elements of a program that are meaningful to the compiler. They are also known as the fundamental building blocks of the program.
I have included a code block below the publication code (// - - - Educational (2) - - - ) which, if copied and made to a library, will contain exactly 100K tokens.
Adding more exported functions will throw a "too many tokens" error when saving the library. Subtracting 100K from the shown amount of tokens gives you the amount of used tokens for that particular function.
In that way, one can experiment with the impact of each code addition in terms of tokens.
For example adding the following code in the library:
export a() => a = array.from(1) will result in a 100,041 tokens error, in other words (100,041 - 100,000) that functions contains 41 tokens.
Some more examples, some are straightforward, others are not )
// adding these lines in one of the arrays results in x tokens
, 1 // 2 tokens
, 111, 111, 111 // 12 tokens
, 1111 // 5 tokens
, 111111111 // 10 tokens
, 1111111111111111111 // 20 tokens
, 1234567890123456789 // 20 tokens
, 1111111111111111111 + 1 // 20 tokens
, 1111111111111111111 + 8 // 20 tokens
, 1111111111111111111 + 9 // 20 tokens
, 1111111111111111111 * 1 // 20 tokens
, 1111111111111111111 * 9 // 21 tokens
, 9999999999999999999 // 21 tokens
, 1111111111111111111 * 10 // 21 tokens
, 11111111111111111110 // 21 tokens
//adding these functions to the library results in x tokens
export f() => 1 // 4 tokens
export f() => v = 1 // 4 tokens
export f() => var v = 1 // 4 tokens
export f() => var v = 1, v // 4 tokens
//adding these functions to the library results in x tokens
export a() => const arraya = array.from(1) // 42 tokens
export a() => arraya = array.from(1) // 42 tokens
export a() => a = array.from(1) // 41 tokens
export a() => array.from(1) // 32 tokens
export a() => a = array.new() // 44 tokens
export a() => a = array.new(), a.push(1) // 56 tokens
What if we could lower the amount of tokens, so we can export more Prime Numbers?
Look at this example:
829111, 829121, 829123, 829151, 829159, 829177, 829187, 829193
Eight numbers contain the same number 8291.
If we make a function that removes recurrent values, we get fewer tokens!
829111, 829121, 829123, 829151, 829159, 829177, 829187, 829193
//is transformed to:
829111, 21, 23, 51, 59, 77, 87, 93
The code block below the publication code (// - - - Educational (1) - - - ) shows how these values were reduced. With each step of 100, only the first Prime Number is shown fully.
This function could be enhanced even more to reduce recurrent thousands, tens of thousands, etc.
Using this technique enables us to export more Prime Numbers. The number of necessary libraries was reduced to half or less.
The reduced Prime Numbers are restored using the restoreValues() function, found in the library fikira/Primes_4.
🔹 Find Prime Numbers
This function is merely added to show how I filled arrays with Prime Numbers, which were, in turn, added to libraries (after reduction of recurrent values).
To know whether a number is a Prime Number, we divide the given number by values of the Primes array (Primes 2 -> max. 1,340,011). Once the division results in an integer, where the divisor is smaller than the dividend, the calculation stops since the given number is not a Prime.
When we perform these calculations in a loop, we can check whether a series of numbers is a Prime or not. Each time a number is proven not to be a Prime, the loop starts again with a higher number. Once all Primes of the array are used without the result being an integer, we have found a new Prime Number, which is added to the array.
Doing such calculations on one bar will result in a runtime error.
To solve this, the findPrimeNumbers() function remembers the index of the array. Once a limit has been reached on 1 bar (for example, the number of iterations), calculations will stop on that bar and restart on the next bar.
This spreads the workload over several bars, making it possible to continue these calculations without a runtime error.
The result is placed in log.info() , which can be copied and pasted into a hardcoded array of Prime Number values.
These settings adjust the amount of workload per bar:
Max Size: maximum size of Primes array.
Max Bars Runtime: maximum amount of bars where the function is called.
Max Numbers To Process Per Bar: maximum numbers to check on each bar, whether they are Prime Numbers.
Max Iterations Per Bar: maximum loop calculations per bar.
🔹 The End
❗️ The code and description is written without the help of an LLM, I've only used Grammarly to improve my description (without AI :) )
Major Lows OscillatorDescription
The Major Lows Oscillator is a custom technical indicator designed to identify significant low-price areas by normalizing the current closing price relative to recent lowest lows and highest highs. The oscillator calculates a normalized price percentage over a configurable lookback period, applies exponential moving averages for smoothing, and inverts the result to highlight potential market bottoms.
Calculation Details
Lowest Low Lookback : Finds the lowest low over a user-defined period (default 100 bars).
Highest High Lookback : Calculates the highest high over a short period (default 1 bar), providing a dynamic normalization range.
Normalization : Normalizes the current close within the range defined by the lowest low and highest high, scaled to 0-100.
Smoothing : Applies a 10-period EMA, inversion, and weighted smoothing combining the last valid value and current oscillator reading.
Final Output : Applies a final EMA (period 1) and inverts the oscillator (100 - value) to emphasize major lows.
Features
Customizable midline level for signal alerts (default 50).
Visual midline reference line.
Alerts trigger on oscillator crossing below midline for automated monitoring.
Usage
Useful for complementing existing setups or integration in algorithmic trading strategies.
Changing the input parameters opens new ways to leverage the asymmetric range concept, allowing adaptation to different market regimes and enhancing the oscillator’s sensitivity and utility.
Examples of input combinations and their potential purposes include:
Extremely Asymmetric Setting: Lowest Low Lookback = 200, Highest High Lookback = 1
Focuses on deep long-term lows contrasted with immediate highs, ideal for spotting strong oversold levels within an otherwise bullish short-term momentum.
Symmetric Lookbacks: Lowest Low Lookback = Highest High Lookback = 50
Balances the range equally, creating a normalized oscillator that treats recent lows and highs with the same weight — useful for markets with balanced volatility.
Short but Equal Lookbacks: Lowest Low Lookback = Highest High Lookback = 10
Highly sensitive to recent price swings, this setting can detect rapid shifts and is suited for intraday or very short-term trading.
Inverted Extreme: Lowest Low Lookback = 1, Highest High Lookback = 100
Highlights very recent lows against a long-term high range, possibly signaling quick dips in a generally overextended market.
Inputs
Midline Level : Threshold for alerts (default 50).
Lowest Low Lookback Period : Bars evaluated for lowest low (default 100).
Highest High Lookback Period : Bars evaluated for highest high (default 1).
Alerts
Configured to trigger once per bar close when the oscillator crosses below the midline level.
---
Disclaimer
This indicator is for educational and analytical use only.
ABS NR — Fail-Safe Confirm (v4.2.2)
# ABS NR — Fail-Safe Confirm (v4.2.2)
## What it is (quick take)
**ABS NR FS** is a **non-repainting “arm → confirm” entry framework** for intraday and swing execution. It blends:
* **Regime** (EMA stack + 60-min slope),
* **Location** (Keltner basis/edges),
* **Stretch** (session-anchored **VWAP Z-score**),
* **Momentum gating** (TSI cross/slope),
* **Guards** (session window, minimum ATR%, gap filter, optional market alignment).
You’ll see a **small dot** when a setup is **armed** (candidate) and a **triangle** when that setup **confirms** within a user-defined number of bars. A **gray “X”** marks a timeout (candidate canceled).
> Tip: This entry tool works best when paired with a trend context filter and a dedicated exit tool.
---
## How to use it (operational workflow)
1. **Read the regime**
* **Bull trend**: fast > slow > long EMA **and** 60-min slope up.
* **Bear trend**: fast < slow < long EMA **and** 60-min slope down.
* **Range**: neither bull nor bear.
2. **Wait for a candidate (dot)**
Two families:
* **Reclaim (trend-following):** price crosses the **KC basis** with acceptable |Z| (not overstretched) and passes the TSI gate.
* **Fade (range-revert):** price **pokes a KC band**, prints a **reversal wick**, |Z| is stretched, and TSI gate agrees.
3. **Trade the confirmation (triangle)**
The confirm must occur **within N bars** and follow your chosen **Confirm mode** logic (see Inputs). If confirmation doesn’t arrive in time, an **X** cancels the candidate.
4. **Use guards to avoid junk**
Session windows (US focus), minimum ATR%, gap guard, and optional **market alignment** (e.g., SPY above EMA20 for longs).
5. **Manage the position**
* Entries: take **triangles** in the direction of your playbook (reclaims with trend; fades in clean ranges).
* Filters and exits: use your own process or pair with a trend/exit companion.
---
## Visual semantics & alerts
* **Candidate L / S (dot)** → a setup armed on this bar.
* **CONFIRM L / S (triangle)** → actionable signal that met confirm rules within your time window.
* **Cancel L / S (X)** → candidate expired without confirmation; ignore the dot.
**Alerts (stable names for automation):**
* **ABS FS — Confirmed** → fires on confirmed long or short.
* **ABS FS — Candidate Armed** → fires as a candidate arms.
---
## Non-repainting behavior (why signals don’t repaint)
* All HTF requests use **lookahead\_off**.
* With **Strict NR = true**, the 60-min slope uses the **prior completed** 60-min bar and arming/confirming only occurs on confirmed bars.
* Confirmation triangles finalize on bar close.
* If you disable strictness, signals may appear slightly earlier but with more intrabar sensitivity.
---
## Inputs reference (what each control does and the trade-offs)
### A) Behavior / Modes
**Mode** (`Turbo / Aggressive / Balanced / Conservative`)
Changes multiple internal thresholds:
* **Turbo** → most signals; relaxes prior-bar break & VWAP-side checks and time/vol/gap guards. Highest frequency, highest noise.
* **Aggressive** → more signals than Balanced, fewer than Turbo.
* **Balanced** → default; steady trade-off of frequency vs. quality.
* **Conservative** → tightens |Z| and other checks; fewest but cleanest signals.
**Strict NR (bar close + prior HTF 60m)**
* **true** = safer: uses prior 60-min slope; arms/confirms on confirmed bars → **fewer/cleaner** signals.
* **false** = earlier and more reactive; slightly noisier.
---
### B) Keltner Channel (location engine)
* **KC EMA Length (`kcLen`)**
Higher → smoother basis (fewer basis crosses). Lower → snappier basis (more crosses).
* **ATR Length (`atrLen`)**
Higher → steadier band width; Lower → more reactive band width.
* **KC ATR Mult (`kcMult`)**
Higher → wider bands (fewer edge pokes → fewer fades). Lower → narrower (more fades).
---
### C) Trend & HTF slope
* **Trend EMA Fast/Slow/Long (`emaFastLen / emaSlowLen / emaLongLen`)**
Larger = slower regime flips (fewer reclaims); smaller = faster flips (more reclaims).
* **HTF EMA Len (60m) (`htfLen`)**
Larger = steadier HTF slope (fewer signals); smaller = more sensitive (more signals).
---
### D) VWAP Z-Score (stretch / mean-revert logic)
* **VWAP Z-Length (`zLen`)**
Window for Z over session-anchored VWAP distance. Larger = smoother |Z| (fewer fades/re-entries). Smaller = more reactive (more).
* **Range Fade |Z| (base) (`zFadeBase`)**
Minimum |Z| to allow **fades** in ranges. Raise to demand more stretch (fewer fades). Lower to take more fades.
* **Max |Z| Trend Re-entry (base) (`maxZTrendBase`)**
Caps how stretched price can be and still permit **reclaims** with trend. Lower = stricter (avoid chases). Higher = will chase further.
---
### E) TSI Momentum Gate
* **TSI Long/Short/Signal (`tsiLong / tsiShort / tsiSig`)**
Larger = smoother/laggier momentum; smaller = snappier.
* **TSI gate (`CrossOnly / CrossOrSlope / Off`)**
* **CrossOnly**: require TSI cross of its signal (strict).
* **CrossOrSlope**: cross *or* favorable slope (balanced default).
* **Off**: no momentum gate (most signals, most noise).
---
### F) Guards (filters to avoid low-quality tape)
* **US focus 09:35–10:30 & 14:00–15:45 (base) (`useTimeBase`)**
`true` limits to high-quality windows. `false` trades all session.
* **Skip N bars after 09:30 ET (`skipFirst`)**
Skips the open scramble. Larger = skip longer.
* **Min volatility ATR% (base)** = `useVolMinBase` + `atrPctMinBase`
Requires `ATR(10)/Close*100 ≥ atrPctMinBase`. Raise threshold to avoid dead tape; lower to accept quieter sessions.
* **Gap guard (base)** = `gapGuardBase` + `gapMul`
Blocks signals when the opening gap exceeds `gapMul * ATR`. Increase `gapMul` to allow more gapped opens; decrease to be stricter.
---
### G) Visuals & Sides
* **Plot Keltner (`plotKC`)** → show/hide basis & bands.
* **Show Longs / Show Shorts** → enable/disable each side.
---
### H) Fail-Safe Confirmation
* **Confirm mode (`BreakHighOnly / BreakHigh+Hold / TwoBarImpulse`)**
* **BreakHighOnly**: confirm by taking out the armed bar’s extreme. Fastest, most frequent.
* **BreakHigh+Hold**: must **break**, have **body ≥ X·ATR**, **and** hold above/below the basis → higher quality, fewer signals.
* **TwoBarImpulse**: decisive follow-through vs. prior bar with **body ≥ X·ATR** → momentum-biased confirmations.
* **Confirm within N bars (`confirmBars`)**
Confirmation window size. Smaller = faster validation; larger = more patience (can be later).
* **Impulse body ≥ X·ATR (`impulseBodyATR`)**
Raise for stronger confirmations (fewer weak triangles). Lower to accept lighter pushes.
* **Require market alignment (`needMarket`) + `marketTicker`**
When enabled: Longs require **market > EMA20 (5m)**; Shorts require **market < EMA20 (5m)**.
* **Diagnostics: Show debug letters (`debug`)**
Tiny “B/C” audit marks for base/confirm while tuning.
---
## Tuning recipes (quick, practical)
* **If you’re getting chopped:**
* Set **Mode = Conservative**
* **Confirm mode = BreakHigh+Hold**
* Raise **impulseBodyATR** (e.g., 0.45)
* Keep **needMarket = true**
* Keep **Strict NR = true**
* **If you need more signals:**
* **Mode = Aggressive** (or Turbo if you accept more noise)
* **Confirm mode = BreakHighOnly**
* Lower **impulseBodyATR** (0.25–0.30)
* Increase **confirmBars** to 3
* **Range-day focus (fades):**
* Keep session guard on
* Raise **zFadeBase** to demand real stretch
* Keep **maxZTrendBase** moderate (don’t chase)
* **Trend-day focus (reclaims):**
* Slightly **lower `maxZTrendBase`** (avoid chasing excessive stretch)
* Use **CrossOrSlope** TSI gating
* Consider turning **needMarket** on
---
## Best practices & notes
* **Instrument specificity:** Tune Z, TSI, and guards per symbol and timeframe.
* **Session awareness:** Session filter uses **exchange-local** time; adjust for non-US markets.
* **Automation:** Use the two provided alert names; they’re stable.
* **Risk management:** Confirmation improves quality but doesn’t remove risk. Always pre-define stop/size logic.
---
## Suggested starting point (balanced profile)
* **Mode = balanced**
* **Strict NR = true**
* **Confirm mode = BreakHigh+Hold**
* **confirmBars = 2**
* **impulseBodyATR ≈ 0.35**
* **needMarket = off** (turn on for extra confluence)
* Leave Keltner/TSI defaults; then nudge `zFadeBase` and `maxZTrendBase` to match your symbol.
---
*This tool is a signal generator, not a broker or strategy. Validate on your markets/timeframes and integrate with your risk plan.*
Key Indicators Dashboard (KID)Key Indicators Dashboard (KID) — Comprehensive Market & Trend Metrics
📌 Overview
The Key Indicators Dashboard (KID) is an advanced multi-metric market analysis tool designed to consolidate essential technical, volatility, and relative performance data into a single on-chart table. Instead of switching between multiple indicators, KID centralizes these key measures, making it easier to assess a stock’s technical health, volatility state, trend status, and relative strength at a glance.
🛠 Key Features
⦿ Average Daily Range (ADR %): Measures average daily price movement over a specified period. It is calculated by averaging the daily price range (high - low) over a set number of days (default 20 days).
⦿ Average True Range (ATR): Measures volatility by calculating the average of a true range over a specific period (default 14). It helps traders gauge the typical extent of price movement, regardless of the direction.
⦿ ATR%: Expresses the Average True Range as a percentage of the price, which allows traders to compare the volatility of stocks with different prices.
⦿ Relative Strength (RS): Compares a stock’s performance to a chosen benchmark index (default NIFTYMIDSML400) over a specific period (default 50 days).
⦿ RS Score (IBD-style): A normalized 1–100 rating inspired by Investor’s Business Daily methodology.
How it works: The RS Score is based on a weighted average of price changes over 3 months (40%), 6 months (20%), 9 months (20%), and 12 months (20%).
The raw value is converted into a percentage return, then normalized over the past 252 trading days so the lowest value maps to 1 and the highest to 100.
This produces a percentile-style score that highlights the strongest stocks in relative terms.
⦿ Relative Volume (RVol): Compares a stock's current volume to its average volume over a specific period (default 50). It is calculated by dividing the current volume by the average historical volume.
⦿ Average ₹ Volume (Turnover): Represents the total monetary value of shares traded for a stock. It's calculated by multiplying a day's closing price by its volume, with the final value converted to crores for clarity. This metric is a key indicator of a stock's liquidity and overall market interest.
⦿ Moving Average Extension: Measures how far a stock's current price has moved from from a selected moving average (EMA or SMA). This deviation is normalized by the stock's volatility (ATR%), with a default threshold of 6 ATR used to indicate that the stock is significantly extended and is marked with a selected shape (default Red Flag).
⦿ 52-Weeks High & Low: Measures a stock's current price in relation to its highest and lowest prices over the past year. It calculates the percentage a stock is below its 52-week high and above its 52-week low.
⦿ Market Capitalization: Market Cap represents the total value of all outstanding.
⦿ Free Float: It is the value of shares readily available for public trading, with the Free Float Percentage showing the proportion of shares available to the public.
⦿ Trend: Uses Supertrend indicator to identify the current trend of a stock's price. A factor (default 3) and an ATR period (default 10) is used to signal whether the trend is up or down.
⦿ Minervini Trend Template (MTT): It is a set of technical criteria designed to identify stocks in strong uptrends.
Price > 50-DMA > 150-DMA > 200-DMA
200-DMA is trending up for at least 1 month
Price is at least 30% above its 52-week low.
Price is within at least 25 percent of its 52-week high
Table highlights when a stock meets all above criteria.
⦿ Sector & Industry: Display stock's sector and industry, provides categorical classification to assist sector-based analysis. The sector is a broad economic classification, while the industry is a more specific group within that sector.
⦿ Moving Averages (MAs): Plot up to four customizable Moving Averages on a chart. You can independently set the type (Simple or Exponential), the source price, and the length for each MA to help visualize a stock's underlying trend.
MA1: Default 10-EMA
MA2: Default 20-EMA
MA3: Default 50-EMA
MA4: Default 200-EMA
⦿ Moving Average (MA) Crossover: It is a trend signal that occurs when a shorter-term moving average crosses a longer-term one. This script identifies these crossover events and plots a marker on the chart to visually signal a potential change in trend direction.
User-configurable MAs (short and long).
A bullish crossover occurs when the short MA crosses above the long MA.
A bearish crossover occurs when the short MA crosses below the long MA.
⦿ Inside Bar (IB): An Inside Bar is a candlestick whose entire price range is contained within the range of the previous bar. This script identifies this pattern, which often signals consolidation, and visually marks bullish and bearish inside bars on the chart with distinct colors and labels.
⦿ Tightness: Identifies periods of low volatility and price consolidation. It compares the price range over a short lookback period (default 3) to the average daily range (ADR). When the lookback range is smaller than the ADR, the indicator plots a marker on the chart to signal consolidation.
⦿ PowerBar (Purple Dot): Identifies candles with a strong price move on high volume. By default, it plots a purple dot when a stock moves up or down by at least 5% and has a minimum volume of 500,000. More dots indicate higher volatility and liquidity.
⦿ Squeezing Range (SQ): Identifies periods of low volatility, which can often precede a significant price move. It checks if the Bollinger Bands have narrowed to a range that is smaller than the Average True Range (ATR) for a set number of consecutive bars (default 3).
(UpperBB - LowerBB) < (ATR × 2)
⦿ Mark 52-Weeks High and Low: Marks and labels a stock's 52-Week High and Low prices directly on the chart. It draws two horizontal lines extending from the candles where the highest and lowest prices occurred over the past year, providing a clear visual reference for long-term price extremes.
⏳PineScreener Filters
The indicator’s alert conditions act as filters for PineScreener.
Price Filter: Minimum and maximum price cutoffs (default ₹25 - ₹10000).
Daily Price Change Filter: Minimum and maximum daily percent change (default -5% and 5%).
🔔 Built-in Alerts
Supports alert creation for:
ADR%, ATR/ATR %, RS, RS Rating, Turnover
Moving Average Crossover (Bullish/Bearish)
Minervini Trend Template
52-Week High/Low
Inside Bars (Bullish/Bearish)
Tightness
Squeezing Range (SQ)
⚙️ Customizable Visualization
Switchable between vertical or horizontal layout.
Works in dark/light mode
User-configurable to toggle any indicator ON or OFF.
User-configurable Moving (EMA/SMA), Period/Lengths and thresholds.
⦿ (Optional) : For horizontal table orientation increase Top Margin to 16% in Chart (Canvas) settings to avoid chart overlapping with table.
⚡ Add this script to your chart and start making smarter trade decisions today! 🚀
Relative Strength Range RankRelative Strength Range Rank – Chart Asset vs. Benchmarks
Description:
This indicator calculates and ranks the relative strength position of the current chart’s asset against up to five user-defined comparison symbols. By default, the comparison set is USDT.D, USDC.D and DAI.D.
Calculation method:
The same oscillator calculation is applied identically to the current chart’s asset and all comparison symbols:
For each symbol:
Determine the lowest low over LOWEST bars.
Determine the highest high over HIGHEST bars.
Calculate normalized position within range:
raw_osc = (close - lowest_low) / (highest_high - lowest_low) * 100
Apply a 10-period EMA to smooth raw_osc.
Invert and scale to match assets direction:
raw_osc = 100 - EMA_10(raw_osc)
Apply weighted smoothing:
smoothed = 0.191 * previous_value + 0.809 * current_value
Apply a final 1-period EMA to reduce jitter.
Output is the inverted smoothed oscillator value, representing the relative strength rank.
This function is implemented as calculate_oscillator() and used for all input symbols plus the current chart symbol, ensuring consistency in comparative analysis.
Plotting:
Each comparison symbol oscillator is plotted in the indicator pane.
The current chart oscillator is always plotted in black.
Alert condition:
Boolean chart_osc_above_all is true when the current chart oscillator is strictly greater than all other comparison oscillator values.
The alert chart_osc_crossed_above triggers only on the first bar where chart_osc_above_all changes from false to true.
Smoothing advantage:
The smoothing sequence (EMA → weighted smoothing → EMA) is designed to reduce short-term noise while preserving responsiveness to changes in price position.
The initial EMA(10) filters random fluctuations.
The weighted smoothing step (0.191 * prev + 0.809 * current) reduces overshoot and dampens oscillations without introducing significant lag, unlike longer EMAs.
The final EMA(1) step ensures stability in the plotted oscillator without visible jaggedness.
This combination yields a signal that is both smooth and reactive, making relative strength comparisons more precise.
Inputs:
Sym 1–5: up to five comparison tickers.
Lowest low lookback period ( LOWEST ).
Highest high lookback period ( HIGHEST ).
Color for plotted comparison lines.
Output:
Oscillator values from 0 to 100, where higher values indicate that the asset’s current price is closer to the highest high of the lookback period, and lower values indicate proximity to the lowest low.
Sorted table showing all selected assets ranked by oscillator value.
Optional alert when the current chart asset leads all selected assets in oscillator value.
Short Description:
Computes range-normalized oscillator values for the chart asset and up to 5 symbols, using EMA and weighted smoothing to reduce noise while preserving responsiveness; optional alert when the chart asset exceeds all others.
RSI Momentum Divergence Zones [ChartPrime]⯁ OVERVIEW
RSI Momentum Divergence Zones is a hybrid oscillator and chart overlay tool that detects RSI-based momentum divergences and projects them as key zones on the chart. By combining RSI divergence logic with horizontal level plotting, this indicator reveals high-probability support and resistance areas where price has historically reacted to hidden or classic divergences.
⯁ KEY FEATURES
Momentum-Based RSI Source:
Instead of the classic RSI input, this tool uses the momentum of price as the RSI source:
rsiSrc = ta.mom(close, 10)
This emphasizes acceleration and deceleration of price moves, sharpening divergence signals and making them more responsive to early shifts in momentum.
Automatic Divergence Detection (Optional):
When enabled, the indicator continuously scans for:
— Bullish Divergence : Price makes a Lower Low while RSI forms a Higher Low
— Bearish Divergence : Price makes a Higher High while RSI forms a Lower High
It ensures divergence is valid by checking the spacing between pivots (min 5, max 50 bars).
Divergence Labels & Markers (RSI Pane + Chart):
When a valid divergence is detected:
— On RSI pane:
Labels appear at HL/LH points (“Bull” / “Bear”)
Colored lines show pivot structures
— On price chart:
Labels (“▲ Bull” / “Bear ▼”) mark price pivot that triggered the divergence
Lines highlight the exact price level at the divergence origin
Divergence Zones / Levels (Toggleable):
The indicator projects horizontal zones across the chart based on confirmed divergence points.
These levels dynamically extend as long as price respects them, and auto-expire once broken.
They act as S/R levels created by market imbalance caused by divergence reactions.
Dynamic Zone Extension Logic:
Once plotted, divergence levels will extend to the right:
— If price respects the level, the zone keeps growing
— If broken in the opposite direction, the level stops extending and turns dashed (visually showing break)
Zone Layering and Limit Control:
You can limit the number of simultaneous zones shown on the chart (e.g., 10 most recent).
Old zones automatically expire and are removed to keep the chart clean and focused.
Color Customization and Intensity:
Different colors for bullish and bearish zones let you easily distinguish trend direction.
Background fill, line width, and transparency are all adjustable.
Clean Zone Management with Arrays:
Behind the scenes, the script uses custom divLevel type arrays to manage plotted levels, ensuring they stay up-to-date, extend correctly, and delete once invalidated.
⯁ USAGE
Use bullish divergence zones as potential demand areas and bearish ones as supply zones.
Combine RSI pane labels with price-level zones to confirm strength of reversal.
Watch for price approaching a divergence level to anticipate reactions or breakouts.
Use divergence levels as trade triggers, stop-loss guides, or take-profit markers.
Limit signal count using the “Qty Divergence Zones” setting to reduce chart clutter.
Enable divergence detection only when you want to focus on key structural zones — ideal for swing or positional setups.
⯁ CONCLUSION
RSI Momentum Divergence Zones blends oscillator divergence logic with price action structure to uncover hidden strength or weakness in the market. With flexible zone plotting and clean visual signals, this tool empowers traders to identify where momentum turns into structure — turning hidden signals into tradable edges.
Recent Range DetectorOverview
The Recent Range Detector is a specialized indicator designed to identify when an asset is currently range-bound, providing traders with clear support and resistance levels for range trading strategies. Unlike traditional indicators that focus on trend detection, this tool specifically answers the question: "Is the price range-bound right now, and what are the exact trading levels?"
Key Features
✅ Smart Range Detection - Uses a multi-factor scoring system to identify legitimate ranges
✅ Dynamic Support/Resistance Levels - Automatically calculates and displays key trading levels
✅ Range Quality Scoring - Provides confidence levels (Strong/Moderate/Weak Range)
✅ Touch Validation - Counts actual price touches to confirm range reliability
✅ Breakout Detection - Alerts when price exits the established range
✅ Visual Clarity - Clean boxes, lines, and labels for easy interpretation
How It Works
The indicator analyses recent price action using three core metrics:
Touch Quality (40%) - How many times price has respected support/resistance levels
Containment Quality (40%) - What percentage of recent bars stayed within the range
Recent Respect (20%) - Whether the latest price action confirms the range
These combine into a Range Score (0-1) that determines range strength and reliability.
Settings & Parameters
Range Lookback Period (Default: 15)
Number of bars to analyse for range detection
Shorter periods = more responsive to recent ranges
Longer periods = more stable, fewer false signals
Range Tolerance (Default: 2.0%)
Tolerance for price touches around exact highs/lows
Lower values = stricter range requirements
Higher values = more flexible range detection
Minimum Touches (Default: 3)
Required number of support/resistance touches for valid range
Higher values = more confirmed ranges, fewer signals
Lower values = more sensitive, earlier detection
Visual Options
Show Range Box: Displays the range boundaries
Show Support/Resistance Lines: Extends levels into the future
Understanding the Output
Range Score (0.000 - 1.000)
0.7+ = Strong Range (Green) - High confidence range trading setup
0.5-0.7 = Moderate Range (Yellow) - Decent range with some caution
0.3-0.5 = Weak Range (Orange) - Low confidence, be careful
<0.3 = Not Ranging - Avoid range trading strategies
Range Status Classifications
Strong Range - Perfect for range trading strategies
Moderate Range - Good range with normal risk
Weak Range - Marginal range, use smaller positions
Not Ranging - Price is trending or too choppy for range trading
Key Metrics in Info Table
Range Size (%) - Size of the range relative to price level
5-15% = Ideal range size for most strategies
<5% = Tight range, lower profit potential
>15% = Wide range, higher profit potential but more risk
Support/Resistance Levels - Exact price levels for entries/exits
Use these as your key trading levels
Support = potential buy zone
Resistance = potential sell zone
Total Touches - Number of times price respected the levels
3-5 touches = Newly formed range
6-10 touches = Well-established range
10+ touches = Very strong, reliable range
Price Position (%) - Current location within the range
0-20% = Near support (potential long opportunity)
80-100% = Near resistance (potential short opportunity)
40-60% = Middle of range (wait for better entry)
Visual Elements
Range Box
Green Box = Strong Range (Score ≥ 0.7)
Yellow Box = Moderate Range (Score 0.5-0.7)
Orange Box = Weak Range (Score 0.3-0.5)
Support/Resistance Lines
- Horizontal lines showing exact trading levels
- Extend into the future for forward guidance
- Colour matches the range strength
Background Colouring
- Subtle background tint during range periods
- Helps quickly identify ranging vs trending markets
Breakout Signals
- 📈 RANGE BREAK UP - Price breaks above resistance
- 📉 RANGE BREAK DOWN - Price breaks below support
- Only appears for confirmed ranges (Score ≥ 0.5)
Trading Applications
Range Trading Strategy
1. Look for Range Score ≥ 0.5
2. Buy near support (Price Position 0-20%)
3. Sell near resistance (Price Position 80-100%)
4. Set stops just outside the range
5. Exit on breakout signals
Breakout Strategy
1. Identify strong ranges (Score ≥ 0.7)
2. Wait for volume-confirmed breakout
3. Enter in breakout direction
4. Use previous resistance as support (or vice versa)
Market Context
- Strong ranges often occur after trending moves
- Use higher timeframes to confirm overall market structure
- Combine with volume analysis for better entries/exits
Best Practices
What to Look For
✅ Range Score ≥ 0.5 for trading consideration
✅ Multiple touches (5+) for confirmation
✅ Clear price rejection at levels
✅ Reasonable range size (5-15% for most assets)
✅ Recent price respect of boundaries
What to Avoid
❌ Trading ranges with Score < 0.3
❌ Very tight ranges (<3% size) - low profit potential
❌ Ranges with only 1-2 touches - not confirmed
❌ Ignoring breakout signals
❌ Trading against the higher timeframe trend
Alerts Available
- Range Detected - New range formation
- Range Break Up - Upward breakout
- Range Break Down - Downward breakout
- Range Ended - Range condition ended
Timeframe Recommendations
- Daily Charts - Best for swing trading ranges
- 4H Charts - Good for intermediate-term ranges
- 1H Charts - Suitable for day trading ranges
- Lower Timeframes - May produce more noise
Conclusion
The Recent Range Detector eliminates guesswork in range identification by providing objective, quantified range analysis. It's particularly valuable for traders who prefer range-bound strategies or need to identify when trending strategies should be avoided.
Remember: No indicator is perfect. Always combine with proper risk management, volume analysis, and broader market context for best results.
Disclaimer
This indicator is for educational purposes only and should not be considered as financial advice. Trading involves risk, and past performance does not guarantee future results. Always conduct your own research and consider your risk tolerance before making any trading decisions.
Clean Multi-Indicator Alignment System
Overview
A sophisticated multi-indicator alignment system designed for 24/7 trading across all markets, with pure signal-based exits and no time restrictions. Perfect for futures, forex, and crypto markets that operate around the clock.
Key Features
🎯 Multi-Indicator Confluence System
EMA Cross Strategy: Fast EMA (5) and Slow EMA (10) for precise trend direction
VWAP Integration: Institution-level price positioning analysis
RSI Momentum: 7-period RSI for momentum confirmation and reversal detection
MACD Signals: Optimized 8/17/5 configuration for scalping responsiveness
Volume Confirmation: Customizable volume multiplier (default 1.6x) for signal validation
🚀 Advanced Entry Logic
Initial Full Alignment: Requires all 5 indicators + volume confirmation
Smart Continuation Entries: EMA9 pullback entries when trend momentum remains intact
Flexible Time Controls: Optional session filtering or 24/7 operation
🎪 Pure Signal-Based Exits
No Forced Closes: Positions exit only on technical signal reversals
Dual Exit Conditions: EMA9 breakdown + RSI flip OR MACD cross + EMA20 breakdown
Trend Following: Allows profitable trends to run their full course
Perfect for Swing Scalping: Ideal for multi-session position holding
📊 Visual Interface
Real-Time Status Dashboard: Live alignment monitoring for all indicators
Color-Coded Candles: Instant visual confirmation of entry/exit signals
Clean Chart Display: Toggle-able EMAs and VWAP with professional styling
Signal Differentiation: Clear labels for entries, X-crosses for exits
🔔 Alert System
Entry Notifications: Separate alerts for buy/sell signals
Exit Warnings: Technical breakdown alerts for position management
Mobile Ready: Push notifications to TradingView mobile app
Market Applications
Perfect For:
Gold Futures (GC): 24-hour precious metals trading
NASDAQ Futures (NQ): High-volatility index scalping
Forex Markets: Currency pairs with continuous operation
Crypto Trading: 24/7 cryptocurrency momentum plays
Energy Futures: Oil, gas, and commodity swing trades
Optimal Timeframes:
1-5 Minutes: Ultra-fast scalping during high volatility
5-15 Minutes: Balanced approach for most markets
15-30 Minutes: Swing scalping for trend following
🧠 Smart Position Management
Tracks implied position direction
Prevents conflicting signals
Allows trend continuation entries
State-aware exit logic
⚡ Scalping Optimized
Fast-reacting indicators with shorter periods
Volume-based confirmation reduces false signals
Clean entry/exit visualization
Minimal lag for time-sensitive trades
Configuration Options
All parameters fully customizable:
EMA Lengths: Adjustable from 1-30 periods
RSI Period: 1-14 range for different market conditions
MACD Settings: Fast (1-15), Slow (1-30), Signal (1-10)
Volume Confirmation: 0.5-5.0x multiplier range
Visual Preferences: Colors, displays, and table options
Risk Management Features
Clear visual exit signals prevent emotion-based decisions
Volume confirmation reduces false breakouts
Multi-indicator confluence improves signal quality
Optional time filtering for session-specific strategies
Best Use Cases
Futures Scalping: NQ, ES, GC during active sessions
Forex Swing Trading: Major pairs during overlap periods
Crypto Momentum: Bitcoin, Ethereum trend following
24/7 Automated Systems: Algorithmic trading implementation
Multi-Market Scanning: Portfolio-wide signal monitoring
Keltner Channel Based Grid Strategy # KC Grid Strategy - Keltner Channel Based Grid Trading System
## Strategy Overview
KC Grid Strategy is an innovative grid trading system that combines the power of Keltner Channels with dynamic position sizing to create a mean-reversion trading approach. This strategy automatically adjusts position sizes based on price deviation from the Keltner Channel center line, implementing a systematic grid-based approach that capitalizes on market volatility and price oscillations.
## Core Principles
### Keltner Channel Foundation
The strategy builds upon the Keltner Channel indicator, which consists of:
- **Center Line**: Moving average (EMA or SMA) of the price
- **Upper Band**: Center line + (ATR/TR/Range × Multiplier)
- **Lower Band**: Center line - (ATR/TR/Range × Multiplier)
### Grid Trading Logic
The strategy implements a sophisticated grid system where:
1. **Position Direction**: Inversely correlated to price position within the channel
- When price is above center line → Short positions
- When price is below center line → Long positions
2. **Position Size**: Proportional to distance from center line
- Greater deviation = Larger position size
3. **Grid Activation**: Positions are adjusted only when the difference exceeds a predefined grid threshold
### Mathematical Foundation
The core calculation uses the KC Rate formula:
```
kcRate = (close - ma) / bandWidth
targetPosition = kcRate × maxAmount × (-1)
```
This creates a mean-reversion system where positions increase as price moves further from the mean, expecting eventual return to equilibrium.
## Parameter Guide
### Time Range Settings
- **Start Date**: Beginning of strategy execution period
- **End Date**: End of strategy execution period
### Core Parameters
1. **Number of Grids (NumGrid)**: Default 12
- Controls grid sensitivity and position adjustment frequency
- Higher values = More frequent but smaller adjustments
- Lower values = Less frequent but larger adjustments
2. **Length**: Default 10
- Period for moving average and volatility calculations
- Shorter periods = More responsive to recent price action
- Longer periods = Smoother, less noisy signals
3. **Grid Coefficient (kcRateMult)**: Default 1.33
- Multiplier for channel width calculation
- Higher values = Wider channels, less frequent trades
- Lower values = Narrower channels, more frequent trades
4. **Source**: Default Close
- Price source for calculations (Close, Open, High, Low, etc.)
- Close price typically provides most reliable signals
5. **Use Exponential MA**: Default True
- True = Uses EMA (more responsive to recent prices)
- False = Uses SMA (equal weight to all periods)
6. **Bands Style**: Default "Average True Range"
- **Average True Range**: Smoothed volatility measure (recommended)
- **True Range**: Current bar's volatility only
- **Range**: Simple high-low difference
## How to Use
### Setup Instructions
1. **Apply to Chart**: Add the strategy to your desired timeframe and instrument
2. **Configure Parameters**: Adjust settings based on market characteristics:
- Volatile markets: Increase Grid Coefficient, reduce Number of Grids
- Stable markets: Decrease Grid Coefficient, increase Number of Grids
3. **Set Time Range**: Define your backtesting or live trading period
4. **Monitor Performance**: Watch strategy performance metrics and adjust as needed
### Optimal Market Conditions
- **Range-bound markets**: Strategy performs best in sideways trending markets
- **High volatility**: Benefits from frequent price oscillations around the mean
- **Liquid instruments**: Ensures efficient order execution and minimal slippage
### Position Management
The strategy automatically:
- Calculates optimal position sizes based on account equity
- Adjusts positions incrementally as price moves through grid levels
- Maintains risk control through maximum position limits
- Executes trades only during specified time periods
## Risk Warnings
### ⚠️ Important Risk Considerations
1. **Trending Market Risk**:
- Strategy may underperform or generate losses in strong trending markets
- Mean-reversion assumption may fail during sustained directional moves
- Consider market regime analysis before deployment
2. **Leverage and Position Size Risk**:
- Strategy uses pyramiding (up to 20 positions)
- Large positions may accumulate during extended moves
- Monitor account equity and margin requirements closely
3. **Volatility Risk**:
- Sudden volatility spikes may trigger multiple rapid position adjustments
- Consider volatility filters during high-impact news events
- Backtest across different volatility regimes
4. **Execution Risk**:
- Strategy calculates on every tick (calc_on_every_tick = true)
- May generate frequent orders in volatile conditions
- Ensure adequate execution infrastructure and consider transaction costs
5. **Parameter Sensitivity**:
- Performance highly dependent on parameter optimization
- Over-optimization may lead to curve-fitting
- Regular parameter review and adjustment may be necessary
## Suitable Scenarios
### Ideal Market Conditions
- **Sideways/Range-bound markets**: Primary use case
- **Mean-reverting instruments**: Forex pairs, some commodities
- **Stable volatility environments**: Consistent ATR patterns
- **Liquid markets**: Major currency pairs, popular stocks/indices
## Important Notes
### Strategy Limitations
1. **No Stop Loss**: Strategy relies on mean reversion without traditional stop losses
2. **Capital Requirements**: Requires sufficient capital for grid-based position sizing
3. **Market Regime Dependency**: Performance varies significantly across different market conditions
## Disclaimer
This strategy is provided for educational and research purposes only. Past performance does not guarantee future results. Trading involves substantial risk of loss and is not suitable for all investors. Users should thoroughly test the strategy and understand its mechanics before risking real capital. The author assumes no responsibility for trading losses incurred through the use of this strategy.
---
# KC网格策略 - 基于肯特纳通道的网格交易系统
## 策略概述
KC网格策略是一个创新的网格交易系统,它将肯特纳通道的力量与动态仓位调整相结合,创建了一个均值回归交易方法。该策略根据价格偏离肯特纳通道中心线的程度自动调整仓位大小,实施系统化的网格方法,利用市场波动和价格振荡获利。
## 核心原理
### 肯特纳通道基础
该策略建立在肯特纳通道指标之上,包含:
- **中心线**: 价格的移动平均线(EMA或SMA)
- **上轨**: 中心线 + (ATR/TR/Range × 乘数)
- **下轨**: 中心线 - (ATR/TR/Range × 乘数)
### 网格交易逻辑
该策略实施复杂的网格系统:
1. **仓位方向**: 与价格在通道中的位置呈反向关系
- 当价格高于中心线时 → 空头仓位
- 当价格低于中心线时 → 多头仓位
2. **仓位大小**: 与距离中心线的距离成正比
- 偏离越大 = 仓位越大
3. **网格激活**: 只有当差异超过预定义的网格阈值时才调整仓位
### 数学基础
核心计算使用KC比率公式:
```
kcRate = (close - ma) / bandWidth
targetPosition = kcRate × maxAmount × (-1)
```
这创建了一个均值回归系统,当价格偏离均值越远时仓位越大,期望最终回归均衡。
## 参数说明
### 时间范围设置
- **开始日期**: 策略执行期间的开始时间
- **结束日期**: 策略执行期间的结束时间
### 核心参数
1. **网格数量 (NumGrid)**: 默认12
- 控制网格敏感度和仓位调整频率
- 较高值 = 更频繁但较小的调整
- 较低值 = 较少频繁但较大的调整
2. **长度**: 默认10
- 移动平均线和波动率计算的周期
- 较短周期 = 对近期价格行为更敏感
- 较长周期 = 更平滑,噪音更少的信号
3. **网格系数 (kcRateMult)**: 默认1.33
- 通道宽度计算的乘数
- 较高值 = 更宽的通道,较少频繁的交易
- 较低值 = 更窄的通道,更频繁的交易
4. **数据源**: 默认收盘价
- 计算的价格来源(收盘价、开盘价、最高价、最低价等)
- 收盘价通常提供最可靠的信号
5. **使用指数移动平均**: 默认True
- True = 使用EMA(对近期价格更敏感)
- False = 使用SMA(对所有周期等权重)
6. **通道样式**: 默认"平均真实范围"
- **平均真实范围**: 平滑的波动率测量(推荐)
- **真实范围**: 仅当前K线的波动率
- **范围**: 简单的高低价差
## 使用方法
### 设置说明
1. **应用到图表**: 将策略添加到您所需的时间框架和交易品种
2. **配置参数**: 根据市场特征调整设置:
- 波动市场:增加网格系数,减少网格数量
- 稳定市场:减少网格系数,增加网格数量
3. **设置时间范围**: 定义您的回测或实盘交易期间
4. **监控表现**: 观察策略表现指标并根据需要调整
### 最佳市场条件
- **区间震荡市场**: 策略在横盘趋势市场中表现最佳
- **高波动性**: 受益于围绕均值的频繁价格振荡
- **流动性强的品种**: 确保高效的订单执行和最小滑点
### 仓位管理
策略自动:
- 根据账户权益计算最优仓位大小
- 随着价格在网格水平移动逐步调整仓位
- 通过最大仓位限制维持风险控制
- 仅在指定时间段内执行交易
## 风险警示
### ⚠️ 重要风险考虑
1. **趋势市场风险**:
- 策略在强趋势市场中可能表现不佳或产生损失
- 在持续方向性移动期间均值回归假设可能失效
- 部署前考虑市场制度分析
2. **杠杆和仓位大小风险**:
- 策略使用金字塔加仓(最多20个仓位)
- 在延长移动期间可能积累大仓位
- 密切监控账户权益和保证金要求
3. **波动性风险**:
- 突然的波动性激增可能触发多次快速仓位调整
- 在高影响新闻事件期间考虑波动性过滤器
- 在不同波动性制度下进行回测
4. **执行风险**:
- 策略在每个tick上计算(calc_on_every_tick = true)
- 在波动条件下可能产生频繁订单
- 确保充足的执行基础设施并考虑交易成本
5. **参数敏感性**:
- 表现高度依赖于参数优化
- 过度优化可能导致曲线拟合
- 可能需要定期参数审查和调整
## 适用场景
### 理想市场条件
- **横盘/区间震荡市场**: 主要用例
- **均值回归品种**: 外汇对,某些商品
- **稳定波动性环境**: 一致的ATR模式
- **流动性市场**: 主要货币对,热门股票/指数
## 注意事项
### 策略限制
1. **无止损**: 策略依赖均值回归而无传统止损
2. **资金要求**: 需要充足资金进行基于网格的仓位调整
3. **市场制度依赖性**: 在不同市场条件下表现差异显著
## 免责声明
该策略仅供教育和研究目的。过往表现不保证未来结果。交易涉及重大损失风险,并非适合所有投资者。用户应在投入真实资金前彻底测试策略并理解其机制。作者对使用此策略产生的交易损失不承担任何责任。
---
**Strategy Version**: Pine Script v6
**Author**: Signal2Trade
**Last Updated**: 2025-8-9
**License**: Open Source (Mozilla Public License 2.0)
ABO LANA-𝑀1. إشارات التداول الرئيسية:
إشارة شراء (BUY):
تظهر عند تحول اتجاه السوق من هابط إلى صاعد، مع إغلاق السعر فوق المتوسط المتحرك (EMA 9).
إشارة بيع (SELL):
تظهر عند تحول الاتجاه من صاعد إلى هابط، مع إغلاق السعر تحت المتوسط المتحرك.
2. مناطق العرض والطلب (Supply/Demand):
مناطق العرض (Supply):
تمثل مستويات مقاومة رئيسية (لون أحمر) تُرسم عند القمم السعرية.
مناطق الطلب (Demand):
تمثل مستويات دعم رئيسية (لون أخضر) تُرسم عند القيعان السعرية.
تحديث تلقائي بناءً على حركة السعر وأطر زمنية متعددة.
3. إدارة المخاطر والأرباح:
وقف الخسارة (SL):
يُحسب باستخدام مضاعف ATR (المدى الحقيقي).
مستويات الأرباح (TP1, TP2, TP3):
مستويات ثلاثية للأرباح مع مضاعفات قابلة للتخصيص.
تنبيهات صوتية عند تحقيق كل هدف.
4. لوحة المعلومات (Dashboard):
اتجاه السوق: صاعد/هابط عبر 6 أطر زمنية (من 1 دقيقة إلى يومي).
مؤشر الزخم (Momentum):
اتجاه حركة السعر خلال 10 شمعات.
RSI مخصص:
يجمع بين RSI قصير المدى (2) ومتوسط متحرك (7).
حجم التداول: صاعد/هابط مقارنة بالمتوسط.
قوة الترند (ADX): قوي/ضعيف.
5. ميزات إضافية:
خطوط اتجاه ديناميكية:
تُرسم تلقائياً بين القمم والقيعان.
مستويات دعم/مقاومة:
مستخرجة من 7 أطر زمنية (H4, H1, M30, ...).
نطاق متوسط (Middle Band):
خط برتقالي يعكس متوسط حركة السعر.
تحليل السيولة:
يعتمد على شموع هايكين أشي وحجم التداول.
Brief Explanation of ABO LANA-M (English):
1. Core Trading Signals:
BUY Signal:
Triggers when market trend shifts from bearish to bullish, with price closing above EMA 9.
SELL Signal:
Activates when trend reverses from bullish to bearish, with price closing below EMA 9.
2. Supply/Demand Zones:
Supply Zones (Red):
Key resistance levels plotted at swing highs.
Demand Zones (Green):
Key support levels plotted at swing lows.
Auto-updated based on price action across multiple timeframes.
3. Risk & Profit Management:
Stop Loss (SL):
Calculated using ATR multiplier.
Take Profit Targets (TP1, TP2, TP3):
Three customizable profit levels.
Audio alerts when each target is hit.
4. Smart Dashboard:
Market Trend: Bullish/Bearish across 6 timeframes (1m to Daily).
Momentum Indicator:
Price movement direction over 10 candles.
Custom RSI:
Combines RSI(2) with SMA(7) for smoother readings.
Volume Analysis:
Compares current volume to 20-period average.
Trend Strength (ADX): Strong/Weak.
5. Advanced Features:
Dynamic Trendlines:
Automatically drawn between swing highs/lows.
Support/Resistance Levels:
Extracted from 7 timeframes (H4, H1, M30, etc.).
Middle Band:
Orange line showing price equilibrium.
Liquidity Analysis:
Based on Heikin Ashi candles and volume confirmation.
VOID OCULUS MACHINE V8 – ASSASSIN MODEVOID OCULUS MACHINE V8 – ASSASSIN MODE
Version 8.0 | Pine Script v6
Purpose & Originality
VOID OCULUS MACHINE V8 – ASSASSIN MODE brings together four advanced trading filters—EMA crossovers, TRIX momentum, VWAP band positioning, and a proprietary “Predictive Cloud”—into a single, high-precision entry system. Rather than relying on any one signal, it calculates a confidence score combining trend, momentum, volume, and volatility cues, then triggers only the highest-probability setups once a user-defined threshold is met. This multi-layer architecture offers traders laser-focused entries (“Assassin Mode”) with built-in risk (stop) and reward (targets) visualization.
How It Works & Component Rationale
EMA Trend Alignment
Fast EMA (9) vs. Slow EMA (21): Captures short-term versus medium-term trend. A bullish bias requires EMA9 > EMA21, bearish bias EMA9 < EMA21.
TRIX Momentum Filter
A triple-smoothed EMA oscillator over 15 bars, expressed as a percentage change. Positive TRIX confirms upward momentum; negative TRIX confirms downward momentum.
Gaussian Noise Reduction
Dual 5-period EMA smoothing of price removes short-term noise, creating a “cloud base.” Entries only fire when price interacts favorably with this smoothed baseline.
VWAP Band Confirmation (Optional)
Calculates session VWAP ± one standard deviation over 20 bars, plotting upper/lower bands. Traders can require price to sit above/below VWAP mid for trend confirmation.
Predictive Cloud Overlay
A dynamic band (Gaussian ± ATR) forecasts a near-term “value zone.” Pullback and reversal entries can occur as price re-enters or breaks out of this cloud.
Confidence Scoring
Starts at 0 and adds:
+30 for EMA trend alignment (bull or bear)
+20 for volume spike (>20-bar SMA)
+20 for non-zero TRIX slope
+20 for ATR expansion (volatility ramping)
+10 if price is above or below VWAP mid (if VWAP filter is enabled)
Only fires signals when confidence ≥ 60% (configurable), ensuring multi-factor confluence.
Entry Type Differentiation
Breakout: Price pierces prior 10-bar high/low on volume and ATR expansion.
Pullback: Trend bias plus a crossover of price with EMA9.
Reversal: Price crosses back into the Predictive Cloud from outside, confirmed by VWAP cross.
Automated Trade Visualization
On each signal, clears previous objects, plots a “BUY (xx%) – ” or “SELL (xx%) – ” label, four tiered ATR-based targets (1×, 1.5×, 2×, 3.5×), and a stop-loss (ATR × 1.5).
Inputs & Customization
Input Description Default
Fast EMA Length for short-term trend EMA 9
Slow EMA Length for medium-term trend EMA 21
TRIX Length Period for triple-smoothed momentum oscillator 15
Stop Multiplier ATR multiple for stop-loss distance 1.5
Target Multiplier ATR multiple for first profit target 1.5
Enable VWAP Filter Require price alignment above/below VWAP mid On
Minimum Confidence Confidence % threshold to trigger a signal 60
Show Predictive Cloud Toggle the Gaussian ± ATR cloud on/off On
How to Use
Apply to Chart: Suitable on 5 m–1 h timeframes for swing entries.
Adjust Confidence & Filters: Raise the Minimum Confidence to tighten setups; disable VWAP filter for pure price/momentum plays.
Read Signals:
“BUY (75%) – Breakout” label means 75% confluence across filters, triggered by a breakout entry type.
Four colored horizontal lines mark TP1–TP4; a red line marks your stop.
Manage the Trade:
Use the plotted stop-loss line; scale out at targets or trail behind the Predictive Cloud.
Unique Value
VOID OCULUS MACHINE V8 stands out by quantifying multi-dimensional market context into a single confidence score and providing automated trade object plotting—no more manual target calculations or cluttered charts. Its “Assassin Mode” ensures only the most compelling setups trigger, saving traders time and reducing noise.
Disclaimer
This indicator is for educational purposes. Past performance does not guarantee future results. Always backtest across symbols/timeframes, combine with personal discretion, and apply strict risk management before trading live.
Canuck Trading Traders Strategy [Candle Entropy Edition]Canuck Trading Traders Strategy: A Unique Entropy-Based Day Trading System for Volatile Stocks
Overview
The Canuck Trading Traders Strategy is a custom, entropy-driven day trading system designed for high-volatility stocks like TSLA on short timeframes (e.g., 15m). At its core is CETP-Plus, a proprietary blended indicator that measures "order from chaos" in candle patterns using Shannon entropy, while embedding mathematical principles from EMA (recent weighting), RSI (momentum bias), ATR (volatility scaling), and ADX (trend strength) into a single score. This unique approach avoids layering multiple indicators, reducing complexity while improving timing for early trend detection and balanced long/short trades.
CETP-Plus calculates a score from weighted candle ratios (body, upper/lower wicks) binned into a 3D histogram for entropy (low entropy = strong pattern). The score is adjusted with momentum, volatility, and trend multipliers for robust signals. Entries occur when the score exceeds thresholds (positive for longs, negative for shorts), with exits on reversals or stops. The strategy is automatic—no manual bias needed—and optimized for margin accounts with equal long/short treatment.
Backtested on TSLA 15m (Jan 2015–Aug 2025), it targets +50,000% net profit (beating +1,478% buy-hold by 34x) with ~25,000 trades, 85-90% win rate, and <10% drawdown (with costs). Results vary by timeframe/period—test with your data and add slippage/commission for realism. Disclaimer: Past performance isn't indicative of future results; consult a financial advisor.
Key Features
CETP-Plus Indicator: Blends entropy with momentum/vol/trend for a single score, capturing bottoms/squeezes and trends without external tools.
Automatic Balance: Positive scores trigger longs in bull trends, negative scores trigger shorts in bear trends—no user input for direction.
Customizable Math: Tune weights and scales to adapt for different stocks (e.g., lower thresholds for NVDA's smoother trends).
Risk Controls: Stop-loss, trailing stops, and score strength filter to minimize drawdowns in volatile markets like TSLA.
Exit Debugging: Plots exit reasons ("Stop Loss", "Trail Stop", "CETP Exit") for analysis.
Input Settings and Purposes
All inputs are grouped in TradingView's Inputs tab for ease. Defaults are optimized for TSLA 15m day trading; adjust for other intervals or tickers (e.g., increase window for 1h, lower thresholds for NVDA).
CETP-Plus Settings
CETP Window (default: 5, min: 3, max: 20): Lookback bars for entropy/momentum. Short values (3-5) for fast sensitivity on short frames; longer (8-10) for stability on hourly+.
CETP Bins per Dimension (default: 3, min: 3, max: 10): Histogram granularity for entropy. Low (3) for speed/simple patterns; high (5+) for detail in complex markets.
Long Threshold (default: 0.15, min: 0.1, max: 0.8, step: 0.05): CETP score for long entries. Lower (0.1) for more longs in mild bull trends; higher (0.2) to filter noise.
Short Threshold (default: -0.05, min: -0.8, max: -0.1, step: 0.05): CETP score for short entries. Less negative (-0.05) for more shorts in mild bear trends; more negative (-0.2) for strong signals.
CETP Momentum Weight (default: 0.8, min: 0.1, max: 1.0, step: 0.1): Emphasizes momentum in score. High (0.9) for aggressive in fast moves; low (0.5) for entropy focus.
Momentum Scale (default: 1.6, min: 0.1, max: 2.0, step: 0.1): Amplifies momentum. High (2.0) for short intervals; low (1.0) for stability.
Body Ratio Weight (default: 1.2, min: 0.0, max: 2.0, step: 0.1): Weights candle body in entropy (trend focus). High (1.5) for strong trends; low (0.8) for wick emphasis.
Upper Wick Ratio Weight (default: 0.8, min: 0.0, max: 2.0, step: 0.1): Weights upper wick (reversal noise). Low (0.5) to reduce false ups.
Lower Wick Ratio Weight (default: 0.8, min: 0.0, max: 2.0, step=0.1): Weights lower wick. Low (0.5) to reduce false downs.
Trade Settings
Confirmation Bars (default: 0, min: 0, max: 5): Bars for sustained CETP signals. 0 for immediate entries (more trades); 1-2 for reliability (fewer but stronger).
Min CETP Score Strength (default: 0.04, min: 0.0, max: 0.5, step: 0.05): Min absolute score for entry. Low (0.04) for more trades; high (0.15) for quality.
Risk Management
Stop Loss (%) (default: 0.5, min: 0.1, max: 5.0, step: 0.1): % from entry for stop. Tight (0.4) for quick exits; wide (0.8) for trends.
ATR Multiplier (default: 1.5, min: 0.5, max: 3.0, step: 0.1): Scales ATR for stops/trails. Low (1.0) for tight; high (2.0) for room.
Trailing ATR Mult (default: 3.5, min: 0.5, max: 5.0, step: 0.1): ATR mult for trails. High (4.0) for longer holds; low (2.0) for profits.
Trail Start Offset (%) (default: 1.0, min: 0.5, max: 2.0, step: 0.1): % profit before trailing. Low (0.8) for early lock-in; high (1.5) for bigger moves.
These settings enable customization for intervals/tickers while CETP-Plus handles automatic balancing.
Risk Disclosure
Trading involves significant risk and may result in losses exceeding your initial capital. The Canuck Trading Trader Strategy is provided for educational and informational purposes only. Users are responsible for their own trading decisions and should conduct thorough testing before using in live markets. The strategy’s high trade frequency requires reliable execution infrastructure to minimize slippage and latency.
Mutanabby_AI | Ultimate Algo | Remastered+Overview
The Mutanabby_AI Ultimate Algo Remastered+ represents a sophisticated trend-following system that combines Supertrend analysis with multiple moving average confirmations. This comprehensive indicator is designed specifically for identifying high-probability trend continuation and reversal opportunities across various market conditions.
Core Algorithm Components
**Supertrend Foundation**: The primary signal generation relies on a customizable Supertrend indicator with adjustable sensitivity (1-20 range). This adaptive trend-following tool uses Average True Range calculations to establish dynamic support and resistance levels that respond to market volatility.
**SMA Confirmation Matrix**: Multiple Simple Moving Averages (SMA 4, 5, 9, 13) provide layered confirmation for signal strength. The algorithm distinguishes between regular signals and "Strong" signals based on SMA 4 vs SMA 5 relationship, offering traders different conviction levels for position sizing.
**Trend Ribbon Visualization**: SMA 21 and SMA 34 create a visual trend ribbon that changes color based on their relationship. Green ribbon indicates bullish momentum while red signals bearish conditions, providing immediate visual trend context.
**RSI-Based Candle Coloring**: Advanced 61-tier RSI system colors candles with gradient precision from deep red (RSI ≤20) through purple transitions to bright green (RSI ≥79). This visual enhancement helps traders instantly assess momentum strength and overbought/oversold conditions.
Signal Generation Logic
**Buy Signal Criteria**:
- Price crosses above Supertrend line
- Close price must be above SMA 9 (trend confirmation)
- Signal strength determined by SMA 4 vs SMA 5 relationship
- "Strong Buy" when SMA 4 ≥ SMA 5
- Regular "Buy" when SMA 4 < SMA 5
**Sell Signal Criteria**:
- Price crosses below Supertrend line
- Close price must be below SMA 9 (trend confirmation)
- Signal strength based on SMA relationship
- "Strong Sell" when SMA 4 ≤ SMA 5
- Regular "Sell" when SMA 4 > SMA 5
Advanced Risk Management System
**Automated TP/SL Calculation**: The indicator automatically calculates stop loss and take profit levels using ATR-based measurements. Risk percentage and ATR length are fully customizable, allowing traders to adapt to different market conditions and personal risk tolerance.
**Multiple Take Profit Targets**:
- 1:1 Risk-Reward ratio for conservative profit taking
- 2:1 Risk-Reward for balanced trade management
- 3:1 Risk-Reward for maximum profit potential
**Visual Risk Display**: All risk management levels appear as both labels and optional trend lines on the chart. Customizable line styles (solid, dashed, dotted) and positioning ensure clear visualization without chart clutter.
**Dynamic Level Updates**: Risk levels automatically recalculate with each new signal, maintaining current market relevance throughout position lifecycles.
Visual Enhancement Features
**Customizable Display Options**: Toggle trend ribbon, TP/SL levels, and risk lines independently. Decimal precision adjustments (1-8 decimal places) accommodate different instrument price formats and personal preferences.
**Professional Label System**: Clean, informative labels show entry points, stop losses, and take profit targets with precise price levels. Labels automatically position themselves for optimal chart readability.
**Color-Coded Momentum**: The gradient RSI candle coloring system provides instant visual feedback on momentum strength, helping traders assess market energy and potential reversal zones.
Implementation Strategy
**Timeframe Optimization**: The algorithm performs effectively across multiple timeframes, with higher timeframes (4H, Daily) providing more reliable signals for swing trading. Lower timeframes work well for day trading with appropriate risk adjustments.
**Sensitivity Adjustment**: Lower sensitivity values (1-5) generate fewer but higher-quality signals, ideal for conservative approaches. Higher sensitivity (15-20) increases signal frequency for active trading styles.
**Risk Management Integration**: Use the automated risk calculations as baseline parameters, adjusting risk percentage based on account size and market conditions. The 1:1, 2:1, 3:1 targets enable systematic profit-taking strategies.
Market Application
**Trend Following Excellence**: Primary strength lies in capturing significant trend movements through the Supertrend foundation with SMA confirmation. The dual-layer approach reduces false signals common in single-indicator systems.
**Momentum Assessment**: RSI-based candle coloring provides immediate momentum context, helping traders assess signal strength and potential continuation probability.
**Range Detection**: The trend ribbon helps identify ranging conditions when SMA 21 and SMA 34 converge, alerting traders to potential breakout opportunities.
Performance Optimization
**Signal Quality**: The requirement for both Supertrend crossover AND SMA 9 confirmation significantly improves signal reliability compared to basic trend-following approaches.
**Visual Clarity**: The comprehensive visual system enables rapid market assessment without complex calculations, ideal for traders managing multiple instruments.
**Adaptability**: Extensive customization options allow fine-tuning for specific markets, trading styles, and risk preferences while maintaining the core algorithm integrity.
## Non-Repainting Design
**Educational Note**: This indicator uses standard TradingView functions (Supertrend, SMA, RSI) with normal behavior patterns. Real-time updates on current candles are expected and standard across all technical indicators. Historical signals on closed candles remain fixed and unchanged, ensuring reliable backtesting and analysis.
**Signal Confirmation**: Final signals are confirmed only when candles close, following standard technical analysis principles. The algorithm provides clear distinction between developing signals and confirmed entries.
Technical Specifications
**Supertrend Parameters**: Default sensitivity of 4 with ATR length of 11 provides balanced signal generation. Sensitivity range from 1-20 allows adaptation to different market volatilities and trading preferences.
**Moving Average Configuration**: SMA periods of 8, 9, and 13 create multi-layered trend confirmation, while SMA 21 and 34 form the visual trend ribbon for broader market context.
**Risk Management**: ATR-based calculations with customizable risk percentage ensure dynamic adaptation to market volatility while maintaining consistent risk exposure principles.
Recommended Settings
**Conservative Approach**: Sensitivity 4-5, RSI length 14, higher timeframes (4H, Daily) for swing trading with maximum signal reliability.
**Active Trading**: Sensitivity 6-8, RSI length 8-10, intermediate timeframes (1H) for balanced signal frequency and quality.
**Scalping Setup**: Sensitivity 10-15, RSI length 5-8, lower timeframes (15-30min) with enhanced risk management protocols.
## Conclusion
The Mutanabby_AI Ultimate Algo Remastered+ combines proven trend-following principles with modern visual enhancements and comprehensive risk management. The algorithm's strength lies in its multi-layered confirmation approach and automated risk calculations, providing both novice and experienced traders with clear signals and systematic trade management.
Success with this system requires understanding the relationship between signal strength indicators and adapting sensitivity settings to match current market conditions. The comprehensive visual feedback system enables rapid decision-making while the automated risk management ensures consistent trade parameters.
Practice with different sensitivity settings and timeframes to optimize performance for your specific trading style and risk tolerance. The algorithm's systematic approach provides an excellent framework for disciplined trend-following strategies across various market environments.
ai quant oculusAI QUANT OCULUS
Version 1.0 | Pine Script v6
Purpose & Innovation
AI QUANT OCULUS integrates four distinct technical concepts—exponential trend filtering, adaptive smoothing, momentum oscillation, and Gaussian smoothing—into a single, cohesive system that delivers clear, objective buy and sell signals along with automatically plotted stop-loss and three profit-target levels. This mash-up goes beyond a simple EMA crossover or standalone TRIX oscillator by requiring confluence across trend, adaptive moving averages, momentum direction, and smoothed price action, reducing false triggers and focusing on high‐probability turning points.
How It Works & Why Its Components Matter
Trend Filter: EMA vs. Adaptive MA
EMA (20) measures the prevailing trend with fixed sensitivity.
Adaptive MA (also EMA-based, length 10) approximates a faster-responding moving average, standing in for a KAMA-style filter.
Bullish bias requires AMA > EMA; bearish bias requires AMA < EMA. This ensures signals align with both the underlying trend and a more nimble view of recent price action.
Momentum Confirmation: TRIX
Calculates a triple-smoothed EMA of price over TRIX Length (15), then converts it to a percentage rate-of-change oscillator.
Positive TRIX reinforces bullish entries; negative TRIX reinforces bearish entries. Using TRIX helps filter whipsaws by focusing on sustained momentum shifts.
Gaussian Price Smoother
Applies two back-to-back 5-period EMAs to the price (“gaussian” smoothing) to remove short-term noise.
Price above the smoothed line confirms strength for longs; below confirms weakness for shorts. This layer avoids entries on erratic spikes.
Confluence Signals
Buy Signal (isBull) fires only when:
AMA > EMA (trend alignment)
TRIX > 0 (momentum support)
Close > Gaussian (price strength)
Sell Signal (isBear) fires under the inverse conditions.
Requiring all three conditions simultaneously sharply reduces false triggers common to single-indicator systems.
Automatic Risk & Reward Plotting
On each new buy or sell signal (edge detection via not isBull or not isBear ), the script:
Stores entryPrice at the signal bar’s close.
Draws a stop-loss line at entry minus ATR(14) × Stop Multiplier (1.5) by default.
Plots three profit-target lines at entry plus ATR × Target Multiplier (1×, 1.5×, and 2×).
All previous labels and lines are deleted on each new signal, keeping the chart uncluttered and focusing only on the current trade.
Inputs & Customization
Input Description Default
EMA Length Period for the main trend EMA 20
Adaptive MA Length Period for the faster adaptive EM A substitute 10
TRIX Length Period for the triple-smoothed momentum oscillator 15
Dominant Cycle Length (Reserved) 40
Stop Multiplier ATR multiple for stop-loss distance 1.5
Target Multiplier ATR multiple for first profit target 1.5
Show Buy/Sell Signals Toggle on-chart labels for entry signals On
How to Use
Apply to Chart: Best on 15 m–1 h timeframes for swing entries or 5 m for agile scalps.
Wait for Full Confluence:
Look for the AMA to cross above/below the EMA and verify TRIX and Gaussian conditions on the same bar.
A bright “LONG” or “SHORT” label marks your entry.
Manage the Trade:
Place your stop where the red or green SL line appears.
Scale or exit at the three yellow TP1/TP2/TP3 lines, automatically drawn by volatility.
Repeat Cleanly: Each new signal clears prior annotations, ensuring you only track the active setup.
Why This Script Stands Out
Multi-Layer Confluence: Trend, momentum, and noise-reduction must all align, addressing the weaknesses of single-indicator strategies.
Automated Trade Management: No manual plotting—stop and target lines appear seamlessly with each signal.
Transparent & Customizable: All logic is open, adjustable, and clearly documented, allowing traders to tweak lengths and multipliers to suit different instruments.
Disclaimer
No indicator guarantees profit. Always backtest AI QUANT OCULUS extensively, combine its signals with your own analysis and risk controls, and practice sound money management before trading live.
Smooth Cloud + RSI Liquidity Spectrum + Zig Zag Volume ProfileSmooth Cloud + RSI Liquidity Spectrum + Zig Zag++ Volume Profile" Indicator
| Advanced Trend & Liquidity Analysis.
---
📌 Key Features & Enhancements (Zig Zag++)
This advanced indicator combines **trend-following moving averages, RSI momentum with liquidity factors, and an improved Zig Zag++ algorithm with volume profiling** for precise swing detection.
🔹 Zig Zag++ Upgrades:
✅ **Dynamic Reversal Detection** – Adapts to volatility using percentage-based pivots.
✅ **Volume-Weighted Swing Points** – Highlights high-liquidity turning points.
✅ **Multi-Timeframe Confirmation** – Uses historical pivots for stronger signals.
✅ **Volume Profile Clustering** – Reveals key support/resistance zones based on traded volume.
---
📊 Indicator Components Breakdown
1️⃣ Smooth Cloud (Trend Filter)
- **Fast MA (20-period) & Slow MA (50-period)** – Configurable as EMA, SMA, or WMA.
- **Cloud Coloring** – Green when fast MA > slow MA (bullish), red otherwise (bearish).
- **Purpose**: Acts as a trend filter—only take trades in the direction of the cloud.
2️⃣ RSI Liquidity Spectrum (Momentum + Volume)
- **RSI (14-period default)** – Standard momentum oscillator.
- **Liquidity-Adjusted Momentum** = `(RSI + ROC(RSI,3)) * (Volume / SMA(Volume, RSI Length))`
- **Purpose**: Identifies overbought/oversold conditions with volume confirmation (high volume = stronger signal).
3️⃣ Zig Zag++ (Swing Detection & Volume Profiling)
📈 Zig Zag Logic:**
- **Percentage-Based Reversals** (default: 5%) – Only plots swings exceeding this threshold.
- **Pivot Tracking** – Stores price & bar index of each swing point in arrays.
- **Dynamic Line Drawing** – Connects swing points with yellow trendlines.
📊 Volume Profile at Swings:
- **Lookback Period** (200 bars default) – Analyzes volume distribution between Zig Zag turns.
- **10-Price Bin Clustering** – Splits the price range into 10 levels and calculates traded volume at each.
- **Transparency Scaling** – Higher volume zones appear darker (stronger support/resistance).
---
🎯 Step-by-Step Trading Strategies
📈 Strategy 1: Trend-Following with RSI Liquidity Confirmation**
1. **Enter Long** when:
- Smooth Cloud is **green** (fast MA > slow MA).
- RSI Liquidity Momentum crosses above **30** (bullish momentum + volume).
- Price pulls back to the **Volume Profile high-volume zone** (demand area).
2. **Enter Short** when:
- Smooth Cloud is **red** (fast MA < slow MA).
- RSI Liquidity Momentum crosses below **70** (bearish momentum + volume).
- Price rallies into the **Volume Profile high-volume zone** (supply area).
3. **Exit** when:
- Zig Zag++ detects a new reversal (5% move against position).
- RSI Liquidity Momentum crosses back mid-level (50).
---
📉 Strategy 2: Swing Trading with Zig Zag++ Pivots**
1. **Buy at Swing Lows** when:
- Zig Zag++ prints a **higher low** (bullish structure).
- Volume Profile shows **strong absorption** (high volume at the low).
- RSI Liquidity Momentum is rising from oversold (<30).
2. **Sell at Swing Highs** when:
- Zig Zag++ prints a **lower high** (bearish structure).
- Volume Profile shows **distribution** (high volume at the top).
- RSI Liquidity Momentum is falling from overbought (>70).
3. **Stop Loss**:
- Below the recent Zig Zag low (for longs).
- Above the recent Zig Zag high (for shorts).
---
📌 Additional Enhancements (Pro Tips)**
- **Combine with Higher Timeframe (HTF) Cloud** – Use a 4H/1D cloud to filter trades.
- **Divergence Detection** – Hidden bullish/bearish divergences between Zig Zag & RSI Liquidity.
- **Volume Spike Confirmation** – Only trade if volume exceeds SMA(volume, 20) at reversal points.
---
🚀 Conclusion
This **all-in-one indicator** provides:
✔ **Trend direction** (Smooth Cloud)
✔ **Momentum + Liquidity strength** (RSI Spectrum)
✔ **Precise swing points** (Zig Zag++)
✔ **Volume-based S/R zones** (Profile Clustering)
Best used on **15M-4H timeframes** for swing/day trading. Adjust parameters based on asset volatility.
MSTY-WNTR Rebalancing SignalMSTY-WNTR Rebalancing Signal
## Overview
The **MSTY-WNTR Rebalancing Signal** is a custom TradingView indicator designed to help investors dynamically allocate between two YieldMax ETFs: **MSTY** (YieldMax MSTR Option Income Strategy ETF) and **WNTR** (YieldMax Short MSTR Option Income Strategy ETF). These ETFs are tied to MicroStrategy (MSTR) stock, which is heavily influenced by Bitcoin's price due to MSTR's significant Bitcoin holdings.
MSTY benefits from upward movements in MSTR (and thus Bitcoin) through a covered call strategy that generates income but caps upside potential. WNTR, on the other hand, provides inverse exposure, profiting from MSTR declines but losing in rallies. This indicator uses Bitcoin's momentum and MSTR's relative strength to signal when to hold MSTY (bullish phases), WNTR (bearish phases), or stay neutral, aiming to optimize returns by switching allocations at key turning points.
Inspired by strategies discussed in crypto communities (e.g., X posts analyzing MSTR-linked ETFs), this indicator promotes an active rebalancing approach over a "set and forget" buy-and-hold strategy. In simulated backtests over the past 12 months (as of August 4, 2025), the optimized version has shown potential to outperform holding 100% MSTY or 100% WNTR alone, with an illustrative APY of ~125% vs. ~6% for MSTY and ~-15% for WNTR in one scenario.
**Important Disclaimer**: This is not financial advice. Past performance does not guarantee future results. Always consult a financial advisor. Trading involves risk, and you could lose money. The indicator is for educational and informational purposes only.
## Key Features
- **Momentum-Based Signals**: Uses a Simple Moving Average (SMA) on Bitcoin's price to detect bullish (price > SMA) or bearish (price < SMA) trends.
- **RSI Confirmation**: Incorporates MSTR's Relative Strength Index (RSI) to filter signals, avoiding overbought conditions for MSTY and oversold for WNTR.
- **Visual Cues**:
- Green upward triangle for "Hold MSTY".
- Red downward triangle for "Hold WNTR".
- Yellow cross for "Switch" signals.
- Background color: Green for MSTY, red for WNTR.
- **Information Panel**: A table in the top-right corner displays real-time data: BTC Price, SMA value, MSTR RSI, and current Allocation (MSTY, WNTR, or Neutral).
- **Alerts**: Configurable alerts for holding MSTY, holding WNTR, or switching.
- **Optimized Parameters**: Defaults are tuned (SMA: 10 days, RSI: 15 periods, Overbought: 80, Oversold: 20) based on simulations to reduce whipsaws and capture trends effectively.
## How It Works
The indicator's logic is straightforward yet effective for volatile assets like Bitcoin and MSTR:
1. **Primary Trigger (Bitcoin Momentum)**:
- Calculate the SMA of Bitcoin's closing price (default: 10-day).
- Bullish: Current BTC price > SMA → Potential MSTY hold.
- Bearish: Current BTC price < SMA → Potential WNTR hold.
2. **Secondary Filter (MSTR RSI Confirmation)**:
- Compute RSI on MSTR stock (default: 15-period).
- For bullish signals: If RSI > Overbought (80), signal Neutral (avoid overextended rallies).
- For bearish signals: If RSI < Oversold (20), signal Neutral (avoid capitulation bottoms).
3. **Allocation Rules**:
- Hold 100% MSTY if bullish and not overbought.
- Hold 100% WNTR if bearish and not oversold.
- Neutral otherwise (e.g., during choppy or extreme markets) – consider holding cash or avoiding trades.
4. **Rebalancing**:
- Switch signals trigger when the hold changes (e.g., from MSTY to WNTR).
- Recommended frequency: Weekly reviews or on 5% BTC moves to minimize trading costs (aim for 4-6 trades/year).
This approach leverages Bitcoin's influence on MSTR while mitigating the risks of MSTY's covered call drag during downtrends and WNTR's losses in uptrends.
## Setup and Usage
1. **Chart Requirements**:
- Apply this indicator to a Bitcoin chart (e.g., BTCUSD on Binance or Coinbase, daily timeframe recommended).
- Ensure MSTR stock data is accessible (TradingView supports it natively).
2. **Adding to TradingView**:
- Open the Pine Editor.
- Paste the script code.
- Save and add to your chart.
- Customize inputs if needed (e.g., adjust SMA/RSI lengths for different timeframes).
3. **Interpretation**:
- **Green Background/Triangle**: Allocate 100% to MSTY – Bitcoin is in an uptrend, MSTR not overbought.
- **Red Background/Triangle**: Allocate 100% to WNTR – Bitcoin in downtrend, MSTR not oversold.
- **Yellow Switch Cross**: Rebalance your portfolio immediately.
- **Neutral (No Signal)**: Panel shows "Neutral" – Hold cash or previous position; reassess weekly.
- Monitor the panel for key metrics to validate signals manually.
4. **Backtesting and Strategy Integration**:
- Convert to a strategy script by changing `indicator()` to `strategy()` and adding entry/exit logic for automated testing.
- In simulations (e.g., using Python or TradingView's backtester), it has outperformed buy-and-hold in volatile markets by ~100-200% relative APY, but results vary.
- Factor in fees: ETF expense ratios (~0.99%), trading commissions (~$0.40/trade), and slippage.
5. **Risk Management**:
- Use with a diversified portfolio; never allocate more than you can afford to lose.
- Add stop-losses (e.g., 10% trailing) to protect against extreme moves.
- Rebalance sparingly to avoid over-trading in sideways markets.
- Dividends: Reinvest MSTY/WNTR payouts into the current hold for compounding.
## Performance Insights (Simulated as of August 4, 2025)
Based on synthetic backtests modeling the last 12 months:
- **Optimized Strategy APY**: ~125% (by timing switches effectively).
- **Hold 100% MSTY APY**: ~6% (gains from BTC rallies offset by downtrends).
- **Hold 100% WNTR APY**: ~-15% (losses in bull phases outweigh bear gains).
In one scenario with stronger volatility, the strategy achieved ~4533% APY vs. 10% for MSTY and -34% for WNTR, highlighting its potential in dynamic markets. However, these are illustrative; real results depend on actual BTC/MSTR movements. Test thoroughly on historical data.
## Limitations and Considerations
- **Data Dependency**: Relies on accurate BTC and MSTR data; delays or gaps can affect signals.
- **Market Risks**: Bitcoin's volatility can lead to false signals (whipsaws); the RSI filter helps but isn't perfect.
- **No Guarantees**: This indicator doesn't predict the future. MSTR's correlation to BTC may change (e.g., due to regulatory events).
- **Not for All Users**: Best for intermediate/advanced traders familiar with ETFs and crypto. Beginners should paper trade first.
- **Updates**: As of August 4, 2025, this is version 1.0. Future updates may include volume filters or EMA options.
If you find this indicator useful, consider leaving a like or comment on TradingView. Feedback welcome for improvements!
5 SMA/EMA and Zigzag- Chỉ báo gộp của 2 chỉ báo 5 đường MA/EMA/WMA và đường zigzag
- Các thông số đường EMA và zigzag mặc định đã được đặt theo thông số khoá học Fibo
- 5 đường MA có thể lựa chọn loại đường SMA, EMA, WMA, VWM và được bật mặc định 3 đường EMA 8, 13, 21 và có thể thay đổi màu đường định dạng đường. Và giao cắt của đường EMA 10 và 21 được đánh dấu bằng các dấu chấm tròn.
- Đường zigzag được đặt thông số mặc định là 3.
Màu đường và độ dày đường zigzag có thể thay đổi từ bảng lựa chọn, kiểu đường thì phải thay đổi trong code.
- Bảng giá trị RSI, MA RSI thì đang để 7 khung thời gian. Muốn tắt bớt thì phải tắt trong code
Và giá trị của RSI và MA RSI sẽ không đúng với các Tf 5, 15, 30 nếu Tf của chart lớn hơn TF này (do tradingview) . Vd TF chart là 15m thì giá trị RSI trong bảng của khung 5m không đúng, Tf chart là 60m thì giá trị RSI của 30m, 15m , 5m trong bảng là không đúng. TF chart là 4H thì giá trị trong bảng của khung 5m, 15m 30m không đúng, còn giá trị của 1H, 2H, 3H vẫn đúng.
This is a combined indicator of two separate indicators: a 5-line MA/EMA/WMA indicator and a ZigZag indicator.
The default parameters for the EMA and ZigZag lines are set according to the Fibo course settings.
For the 5 moving averages, you can choose between SMA, EMA, WMA, and VWM. By default, 3 EMA lines (8, 13, 21) are enabled, and their colors and styles can be customized. The crossover between EMA 10 and EMA 21 is marked with circular dots.
The default setting for the ZigZag line is 3.
The color and thickness of the ZigZag line can be changed via the input panel, but the line style must be modified in the code.
The RSI and MA RSI value table is currently set to display across 7 timeframes. To reduce the number of timeframes shown, you will need to edit the code manually.
Note: The RSI and MA RSI values will not be accurate for timeframes 5m, 15m, and 30m if the chart's timeframe is higher than these (due to limitations in TradingView).
For example:
If the chart is on 15m, the RSI value for the 5m frame in the table will be incorrect.
If the chart is on 60m, then RSI values for 30m, 15m, and 5m will be incorrect.
If the chart is on 4H, the RSI values for 5m, 15m, and 30m will be incorrect, but the values for 1H, 2H, and 3H will still be correct.
Bollinger Bands + LWMA + EMA ComboThe BBMA strategy from Omaly Ally, this contains all the MA 5/ 10 high and MA 5/ 10 low, it also has EMA 50, 100 and 200