Golden Setup V1Golden Setup V1 is an overlay indicator that automates Tony Rago’s “Golden Setup” price-level framework. It divides the chart into fixed “blockSize” intervals (default 100 points) and plots a series of key horizontal levels within each block—levels at 00, 12, 26, 33, 50, 62, 77 and 88 offsets. These levels act as dynamic support and resistance grids that roll up or down as price moves between blocks.
Key Features
Customizable Offsets
Define eight offset levels corresponding to Rago’s Golden Setup:
00 (Round Number)
12 (Target 12)
26 (First “Golden” level)
33 (Target 33)
50 (Mid-block pivot)
62 (Target 62)
77 (Second “Golden” level)
88 (Target 88)
Multi-Block Coverage
Choose how many blocks above and below the current 100-point block you wish to display, so you always have levels drawn for the surrounding price range.
Golden-Only Filter
A handy toggle lets you show only the two “Golden” offsets (26 & 77), which many traders prioritize for high-probability bounce or breakout areas.
Dynamic Nearest-Level Label
Highlights the closest Golden Setup level (to the right edge of the chart) with a movable label, so you always know which level price is approaching.
Full Styling Control
Customize line colors, widths, block size, label fonts and opacity to suit your charting style.
How It Works
Block Calculation
On each bar, the indicator computes the “current block” by flooring (close / blockSize) and multiplying back by blockSize.
Level Offsets
It adds each of the eight user-defined offsets to that block base (and, if price has moved below the lowest offset, shifts the block down one interval).
Drawing
Each level is drawn as a horizontal line extending across the chart for as many blocks above/below as you select.
Nearest-Level Detection
Within the present block, it calculates which of the plotted levels is closest to price and displays that value on the right edge.
Usage Tips
Use the Golden-Only filter to declutter and focus solely on the 26 & 77 levels, which often act as strong intra-block pivot points.
Combine with volume or momentum indicators to confirm bounces at these levels.
Adjust blockSize (e.g. 50 or 200) if you wish to work in smaller or larger price increments.
⚠️ Disclaimer: This script is for educational and illustrative purposes only. Trading involves risk—always back-test and validate any strategy on a demo account before going live.
Statistics
Median Price RSI DeviationThis indicator is a smoothed RSI-based trend filter that combines median price smoothing, customizable moving averages, and standard deviation bands to identify bullish or bearish conditions:
=> It first smooths price using a median filter.
=> Then it calculates RSI on that smoothed price.
=> The RSI is further smoothed using a selectable moving average (e.g., DEMA, EMA).
=> Standard deviation bands are applied around this smoothed RSI.
Signals:
=> A bullish signal is triggered when the upper band exceeds a long threshold (default 50).
=> A bearish signal occurs when the smoothed RSI drops below a short threshold (default 40).
Hippo Battlefield - Bulls VS Bears 20 bars## Hippo Battlefield – Bulls VS Bears (20 Bars)
**What it is**
A multi-dimensional momentum-and-sentiment oscillator that combines classic Bull/Bear Power with ATR- or peak-normalization, then layers on RSI and MACD-derived metrics into:
1. **A colored bar series** showing net Bull+Bear Power strength over the last 20 bars,
2. **A dynamic table** of each of those 20 BBP values (grouped into four 5-bar “quartals”), with symbols, per-bar change, and rolling averages, and
3. **A composite “Weighted BBP” histogram** blending normalized RSI, MACD, and BBP into a single view.
---
### Key Inputs
- **Length (EMA)** – look-back for the underlying EMA (default 60)
- **Normalization Length** – look-back window for peak-normalization (default 60)
- **Use ATR for Norm.** – toggle ATR-based normalization vs. highest-abs(BBP)
- **Show Tables** – toggle the bottom-right 21×11 grid of raw and average BBP values
---
### What You See
#### 1. Colored Bars (Overlay = false)
- Bars are colored by normalized BBP intensity:
- Extreme Bull (≥+10): deep blue
- Strong Bull (+5 to +10): green/yellow
- Weak Bull (+0 to +5): dark green
- Weak Bear (–0 to –5): dark red
- Strong Bear (–5 to –10): pink/red
- Extreme Bear (<–10): magenta
#### 2. Bottom-Right Table (20 Bars of Data)
- Divided into four columns (0–4, 5–9, 10–14, 15–19 bars ago) and one “average” row.
- Each cell shows:
1. Bar index (1–20),
2. Normalized BBP value (to four decimals),
3. Direction symbol (↑/↓/=),
4. Bar-to-bar change (± value),
5. A separator “|”.
- At the very bottom, each column’s 5-bar average is displayed as “Avg: X.XXXX” with a dot marker.
#### 3. Top-Center Mini-Table
- When ≥20 bars have elapsed, shows the date at 20 bars ago and the average BBP across the full 20-bar window.
#### 4. Normalized RSI Line
- Rescales the classic 14-period RSI into a –20…+20 band to align with BBP.
#### 5. MACD Lines (Hidden) & Composite Histogram
- MACD and signal lines are calculated but not plotted by default.
- A “Weighted BBP” histogram combines:
- 20% normalized RSI,
- 20% average of (MACD + signal + normalized BBP),
- 60% normalized BBP
- Plotted as columns, color-coded by strength using the same palette as the main bars.
#### 6. Middle Reference Line
- A horizontal zero line to anchor over/under-zero readings.
---
### How to Use It
- **Trend confirmation**: Strong blue/green bars alongside a rising histogram suggest bull conviction; strong reds/magentas signal bear dominance.
- **Divergence spotting**: Watch for price making new highs/lows while BBP or the histogram fails to follow.
- **Quartal analysis**: The 5-bar group averages can reveal whether recent momentum is accelerating or waning.
- **Cross-indicator weighting**: Because RSI, MACD, and raw BBP all feed into the final histogram, you get a smoothed, blended view of momentum shifts.
---
**Tip:** Tweak the EMA and normalization length to suit your preferred timeframe (e.g. shorter for intraday scalps, longer for swing trades). Enable/disable the table if you prefer a cleaner pane.
Altseason Index | AlchimistOfCrypto
🌈 Altseason Index | AlchimistOfCrypto – Revealing Bitcoin-Altcoin Dominance Cycles 🌈
"The Altseason Index, engineered through advanced mathematical methodology, visualizes the probabilistic distribution of capital flows between Bitcoin and altcoins within a multi-cycle paradigm. This indicator employs statistical normalization principles where ratio coefficients create mathematical boundaries that define dominance transitions between cryptographic asset classes. Our implementation features algorithmically enhanced rainbow visualization derived from extensive market cycle analysis, creating a dynamic representation of value flow with adaptive color gradients that highlight critical phase transitions in the cyclical evolution of the crypto market."
📊 Professional Trading Application
The Altseason Index transcends traditional sentiment models with a sophisticated multi-band illumination system that reveals the underlying structure of crypto sector rotation. Scientifically calibrated across different ratios (TOTAL2/BTC, OTHERS/BTC) and featuring seamless daily visualization, it enables investors to perceive capital transitions between Bitcoin and altcoins with unprecedented clarity.
- Visual Theming 🎨
Scientifically designed rainbow gradient optimized for market cycle recognition:
- Green-Blue: Altcoin accumulation zones with highest capital flow potential
- Neutral White: Market equilibrium zone representing balanced capital distribution
- Yellow-Red: Bitcoin dominance regions indicating defensive capital positioning
- Gradient Transitions: Mathematical inflection points for strategic reallocation
- Market Phase Detection 🔍
- Precise zone boundaries demarcating critical sentiment shifts in the crypto ecosystem
- Daily timeframe calculation ensuring consistent signal reliability
- Multiple ratio analysis revealing the probabilistic nature of market capital flows
🚀 How to Use
1. Identify Market Phase ⏰: Locate the current index relative to colored zones
2. Understand Capital Flow 🎚️: Monitor transitions between Bitcoin and altcoin dominance
3. Assess Mathematical Value 🌈: Determine optimal allocation based on zone location
4. Adjust Investment Strategy 🔎: Modulate position sizing based on dominance assessment
5. Prepare for Rotation ✅: Anticipate capital shifts when approaching extreme zones
6. Invest with Precision 🛡️: Accumulate altcoins in lower zones, reduce in upper zones
7. Manage Risk Dynamically 🔐: Scale portfolio allocations based on index positioning
Max RR CalculatorAutomatically calculates the maximum RR reached during trade. Entry is at the candle close. There is an option available that takes another trade after getting stopped out on the next candle that is in same bias as first trade.
(If the first trade is a long and gets stopped out, then the second trade will wait until the next up candle to enter long again)
TradeTrackerLibrary "TradeTracker"
Simple Library for tracking trades
method track(this)
tracks trade when called on every bar
Namespace types: Trade
Parameters:
this (Trade) : Trade object
Returns: current Trade object
Trade
Has the constituents to track trades generated by any method.
Fields:
id (series int)
direction (series int) : Trade direction. Positive values for long and negative values for short trades
initialEntry (series float) : Initial entry price. This value will not change even if the entry is changed in the lifecycle of the trade
entry (series float) : Updated entry price. Allows variations to initial calculated entry. Useful in cases of trailing entry.
initialStop (series float) : Initial stop. Similar to initial entry, this is the first calculated stop for the lifecycle of trade.
stop (series float) : Trailing Stop. If there is no trailing, the value will be same as that of initial trade
targets (array) : array of target values.
startBar (series int) : bar index of starting bar. Set by default when object is created. No need to alter this after that.
endBar (series int) : bar index of last bar in trade. Set by tracker on each execution
startTime (series int) : time of the start bar. Set by default when object is created. No need to alter this after that.
endTime (series int) : time of the ending bar. Updated by tracking method.
status (series int) : Integer parameter to track the status of the trade
retest (series bool) : Boolean parameter to notify if there was retest of the entry price
[Stop!Loss] ADR Signal ADR Signal - a technical indicator located in a separate window, which displays by default the 80%-level , as well as the 100%-level of the average daily range (ADR) for the last 10 days and compares it with the current intraday range. The indicator helps not only with the use of a mathematical-statistical method to identify a potential reversal at the moment during intraday trading, but can also serves as an effective assistant in risk management.
👉 Basic mechanics of the indicator
Firstly, this indicator tracks the performance of the standard ATR indicator on the daily chart, in other words, ADR (Average Daily Range).
Important ❗️The ATR (Average True Range) indicator was created by J. Welles Wilder Jr. He first introduced ATR in his book "New Concepts in Technical Trading Systems", published in 1978. Wilder developed this indicator to measure market volatility to help traders estimate the range of price movements. This indicator is built into TradingView, more details can be found by link: www.tradingview.com
Like ATR , ADR calculates the average true range for a specified period. In this case, the distance in points from the maximum of each day to its minimum is calculated, after which the arithmetic mean is calculated - this is ADR .
👉 Visualization
ADR Signal is located in a separate window on the chart and has 3 levels:
1) "ADR level" (green line) - the same parameter, the calculations of which are briefly described above. There is 100%-level of ATR on the daily chart (ADR).
2) "Current level" (red line) - this is the current price passage within the day, calculated in points. At the start of a new day, this parameter is reset. Therefore, in the indicator window, this line has sharp drops at the start of a new trading day: "A new trading day - the instrument's power reserve is renewed again".
3) "Signal level" (blue line) - this is an individually customized value that demonstrates a certain part of the ADR parameter.
👉 Inputs
1) - is responsible for the ATR indicator period, the value of which will always be calculated on the daily chart. The default value is "10", that is, ATR is calculated for the last 10 days (not including the current one).
2) - signal level (in %). The default value is "0.8", that is, 80%-level of the ADR parameter (set earlier) is calculated.
👉 Style
1) - by default, this level is colored "blue".
2) - by default, this level is colored "red".
3) - by default, this level is colored "green".
👉 How to use this indicator
Important❗️ The two methods of the use of the ADR Signal indicator described below will be most effective when trading intraday (which is highlighted quite well below), so it is more logical to use the indicator information on time periods H1 and below.
1) Identifying potential reversals during intraday trading:
The ADR Signal indicator can be used as a potential individual reversal strategy.
Important ❗️It should be noted that using it in it without additional confirming analysis tools will be a rather aggressive trading approach. Therefore, it is best to support the entry point in particular with other methods.
In this case, the crossing of the red line (the number of points passed within the current day, that is, from the minimum of the current day to its maximum) and the blue line (color of the Signal level based on the default settings), indicates that the trading instrument has passed 80% (based on the default settings for the "Signal level") of its average distance from the maximum to the minimum over the past 10 days (based on the default settings for the "ADR Length"). Such a situation in the context of the mathematical-statistical approach indicates a probable reversal, since the "power reserve" of this instrument is mostly exhausted, so one can expect with a higher probability, at least, a price stop and possibly a reversal. In case of crossing of the red line and the green one (ADR level), it says again that based on the mathematical-statistical approach, this trading instrument has completely exhausted its intraday "power reserve". In this situation, a stop or reversal of the price will be even more likely.
Of course, using the "Signal level" parameter, one can filter out even more reliable situations for potential price reversals within a day, namely, by specifying, for example, 1.5 in the field of this parameter. Under such conditions, in the case of crossing the red and blue lines (based on the default style settings), to say that the trading instrument has passed 150% of its average distance over the last 10 days (based on the default style settings "ADR length"). In this case, the probability of a stop or reversal of the price increases even more.
2) Use in risk management:
In terms of risk management, this indicator is more applicable to open trades. For example, if one had an open Buy-position (especially if it is an intraday trade) and the price has raised significantly during the day, then the crossing of the red line with the blue line , and especially the red line with the green line , may indicate that the price will most likely stop growing, since the "power reserve" is almost or completely exhausted for this instrument within the current day. In this case, one can, at a minimum, move the trade to breakeven or even partially fix the profit.
We will continue to discuss the methods of using this indicator and strategies based on it here. And we are always waiting for your reactions and feedback on this topic 💬.
Thank you for your support 🚀
NIG Probability TableNormal-Inverse Gaussian Probability Table
This indicator implements the Normal-Inverse Gaussian (NIG) distribution to estimate the likelihood of future price based on recent market behavior.
📊 Key Features:
- Estimates the parameters (α: tail heaviness, β: skewness, δ: scale, μ: location)
of the NIG distribution using a sliding window over log returns.
- Uses a numerically approximated version of the modified Bessel function (K₁)
to calculate the NIG probability density function (PDF).
- Normalizes the total probability across all bins to ensure the values are interpretable.
- Displays a dynamic probability table showing the chance of future returns falling into each bin.
⚠️ Notes:
- This is a real-time approximation. The Bessel function and posterior inference are simplified.
- Tail probabilities and shape parameters are sensitive to the window size and input settings.
- Useful for risk analysis, option overlays, and strategy filters.
LAOS Gold Price in LAK By LSENMany people in Laos are confused about the actual price of Gold in local currency.
This script provides a simple and live updating way to convert the international gold price (XAU/USD) into Lao Kip Currency in BAHT-weight gold (15.244g).
By default, it uses an exchnage rte of 21,000 KIP = 1 USD, But you can easily customize the rate to fit your needs.
-See things as they truly are. Suffering arises when you try to resist reality. Don't let greed and FOMO fuel the fire.
ຂໍໃຫ້ທຸກທ່ານໂຊກດີ
Log-Normal Price ForecastLog-Normal Price Forecast
This Pine Script creates a log-normal forecast model of future price movements on a TradingView chart, based on historical log returns. It plots expected price trajectories and bands representing different levels of statistical deviation.
Parameters
Model Length – Number of bars used to calculate average and standard deviation of log returns (default: 100).
Forecast Length – Number of bars into the future for which the forecast is projected (default: 100, max: 500).
Volatility SMA Length – The smoothing length for the standard deviation (default: 20).
Confidence Intervals – Confidence intervals for price bands (default: 95%, 99%, 99.9%).
Daily Levels & Stats Pro - [Aspect] v4.0# Description of the "Daily Levels & Stats Pro - v4.0" Indicator
This indicator is a powerful tool for market analysis through the lens of key daily levels and statistical price movement indicators. It allows you to display important trading session opening levels, daily statistical movements, and high volatility zones on the price chart.
## Main Indicator Functions:
### Key Time Levels:
- **Daily Open (DO)** - daily trading session opening level at 02:00
- **NY Midnight (NYM)** - New York session opening level at 06:00
- **Trade Open (TO)** - active trading opening level at 10:00
### Analysis Zones:
- **Previous Close Zone (PCZ)** - previous day's closing zone (displayed on M5 timeframe)
- **Open Day Zone (ODZ)** - current day's opening zone (displayed on M5 timeframe)
### Statistical Price Movement Levels:
- **Min** - minimum statistical movement from DO
- **Max** - maximum statistical movement from DO
- **Aver** - average statistical movement from DO
- **Dev-** - lower deviation of movement from DO
- **Dev+** - upper deviation of movement from DO
### TO Impulse Movement Statistical Levels:
- **Aver TO** - average statistical movement from TO
- **Dev+ TO** - upper deviation of movement from TO
- **Max TO** - maximum statistical movement from TO
## Indicator Features:
- Complete customization of colors, styles, and line widths for all levels
- Ability to select time for each main level
- Adjustment of the number of bars for level display
- Automatic calculation of level values relative to DO and TO
- Visual display of TO-levels starts 3 bars before the actual TO point, providing better visual perception
- Ability to enable/disable individual levels and zones
- Automatic updates and resets when the day changes
- Adaptive text labels to mark levels
This indicator is excellent for traders who use statistical data and daily support/resistance levels in their trading strategy. It is particularly useful for DAX40 and other highly liquid instruments where daily trading statistics are important for making trading decisions.
Log-Normal Z-ScoreLog-Normal Z-Score
This Pine Script indicator calculates a modified Z-Score based on log-normal returns, aiming to identify statistically significant price deviations.
Indicator Parameters:
Model Length: The number of bars used to calculate the mean and standard deviation of log returns.
Lookback Length: The number of bars used to compute the lookback return and volatility. This is the main timeframe over which the Z-Score is calculated.
Volatility SMA Length: The smoothing length for the volatility, applying a simple moving average to the calculated volatility.
TDO & Hit Rates by Weekday (5 min)Purpose
Tracks how often the next NY session “hits” the previous day’s True Day Open (TDO) level, separately for sessions that open above vs. below TDO, and breaks the statistics down by weekday (Mon–Fri) plus an overall summary.
Key Features
True Day Open (TDO) Plot
Captures the prior day’s 23:00 CT close price as the TDO.
Plots it as a continuous yellow line across your chart.
Session Labeling
At the end of each NY session (08:30–15:00 CT), places a small “TDO” label at the TDO price to confirm visually where it lay during that day.
Hit‑Count Logic
For each 5 min bar in the NY session, checks if the bar’s high ≥ TDO ≥ low (i.e. the TDO level was “hit”).
Classifies each session by whether its opening price (first 5 min bar) was above or below the TDO.
Weekday Statistics Table
Displays in the bottom‑left of your main chart window.
Rows: Header, Mon, Tue, Wed, Thu, Fri, All.
Columns:
% Hit Above: % of “above‑TDO” sessions that saw at least one hit
% Hit Below: % of “below‑TDO” sessions that saw at least one hit
Automatically updates in real time as new sessions complete.
Inputs & Settings
Data Resolution: Default = 5 min; use any intraday timeframe you like (1, 3, 15 min, etc.).
Extended Hours: Make sure your chart’s Extended Session (overnight) is enabled so the 23:00 CT bar exists.
Overlay: Draws directly on your price chart (no separate pane).
How to Use
Add to Chart: Paste the Pine v5 code into TradingView’s editor and apply to your ES (or other) futures chart.
Enable Overnight Bars: In Chart Settings → Symbol/Session → include Extended Hours.
Select Timeframe: Set the chart (or the indicator’s “Data Resolution” input) to 5 min (or your preferred intraday).
Read the Table:
Each weekday row shows how reliable TDO touches have been historically, separately for “above” and “below” opens.
The bottom “All” row summarizes combined performance.
What You Learn
Edge Analysis: Do sessions opening above TDO tend to test that level more often than those opening below (or vice versa)?
Day‑of‑Week Bias: Are certain weekdays more prone to TDO retests?
Overall Confidence: The “All” row lets you see your full-sample hit‑rate on both sides.
Log-Normal Price DistributionThis Pine Script indicator plots a log-normal distribution model of future price projections on a TradingView chart. It visualizes the potential price ranges based on the statistical properties (mean and standard deviation) of log returns over a defined period. It's particularly useful for analyzing potential volatility and predicting future price ranges.
MACD Bullish Cross Alert📘 Indicator Description – MACD Bullish Cross Alert
This indicator is designed to detect bullish momentum shifts using the classic MACD (Moving Average Convergence Divergence) crossover strategy.
Key Features:
Calculates the MACD Line and Signal Line using customizable inputs (default: 12, 26, 9).
Triggers an alert when the MACD Line (blue) crosses above the Signal Line (orange).
Helps identify early bullish trend reversals or momentum entry points.
Ideal for swing traders, position traders, and crypto investors using the weekly timeframe.
How to Use:
Add to any chart and set the timeframe to 1W (weekly).
Create an alert using the built-in MACD Bullish Crossover condition.
Combine with price action, volume, or RSI for higher conviction entries.
Use Cases:
Spotting early entry points after long downtrends.
Confirming a trend reversal in high timeframes.
Generating high-probability entries in trend-following systems.
Auto Step Horizontal LinesAuto Step Horizontal lines by custom range
Create automatic horizontal lines by specifying the price range for each line, with each line serving as an observation point for support and resistance levels.
MG Universal model🚀 Summary🚀
The MG univerasal model is a composite of various items such as RSI, price Z-Score, Sharpe Ratio, Sortino Ratio, Omega Ratio, etc
Each component is normalized and then equally wheighted out to perform a global metric.
At the end, an Exponential Moving Average is added on the global metric.
You can easily find a description of each component on the internet, for the Crosby Ratio, it's a metric that comes from bitcoinmagazinepro.com.
✨ Key Features ✨
🗡 Smoothed Global Metric
Using a Moving average to smooth out the whole aggregated metric.
🗡 Bands Zone at extreme levels
Automatically displaying bands at top and bottom levels of the oscillator.
🗡 Normalizing components
Each component is normalized.
🗡 DataTable
Optional DataTable is available to check the score for each components and their related Z-Score.
📊 How I use it 📊
When catching up with 0 line (midline), crossing it :
if it goes above 0.2:
get out when it crosses 0.2 again
else:
get out when it crosses 0 again
That's the way I use it, may be there is a better way, FAFO :)
❓ Seeing a bug or an issue ❓
Feel free to DM me if you see a component that seems badly calculated.
I will be happy to fix it.
❗❗ Disclaimer ❗❗
This is a single indicator, even though it's aggregating many, do not use it as a standalone.
Past performance is not indicative of future results.
Always backtest, check, and align parameters before live trading.
Prop Firm Business SimulatorThe prop firm business simulator is exactly what it sounds like. It's a plug and play tool to test out any tradingview strategy and simulate hypothetical performance on CFD Prop Firms.
Now what is a modern day CFD Prop Firm?
These companies sell simulated trading challenges for a challenge fee. If you complete the challenge you get access to simulated capital and you get a portion of the profits you make on those accounts payed out.
I've included some popular firms in the code as presets so it's easy to simulate them. Take into account that this info will likely be out of date soon as these prices and challenge conditions change.
Also, this tool will never be able to 100% simulate prop firm conditions and all their rules. All I aim to do with this tool is provide estimations.
Now why is this tool helpful?
Most traders on here want to turn their passion into their full-time career, prop firms have lately been the buzz in the trading community and market themselves as a faster way to reach that goal.
While this all sounds great on paper, it is sometimes hard to estimate how much money you will have to burn on challenge fees and set realistic monthly payout expectations for yourself and your trading. This is where this tool comes in.
I've specifically developed this for traders that want to treat prop firms as a business. And as a business you want to know your monthly costs and income depending on the trading strategy and prop firm challenge you are using.
How to use this tool
It's quite simple you remove the top part of the script and replace it with your own strategy. Make sure it's written in same version of pinescript before you do that.
//--$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$--//--------------------------------------------------------------------------------------------------------------------------$$$$$$
//--$$$$$--Strategy-- --$$$$$$--// ******************************************************************************************************************************
//--$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$--//--------------------------------------------------------------------------------------------------------------------------$$$$$$
length = input.int(20, minval=1, group="Keltner Channel Breakout")
mult = input(2.0, "Multiplier", group="Keltner Channel Breakout")
src = input(close, title="Source", group="Keltner Channel Breakout")
exp = input(true, "Use Exponential MA", display = display.data_window, group="Keltner Channel Breakout")
BandsStyle = input.string("Average True Range", options = , title="Bands Style", display = display.data_window, group="Keltner Channel Breakout")
atrlength = input(10, "ATR Length", display = display.data_window, group="Keltner Channel Breakout")
esma(source, length)=>
s = ta.sma(source, length)
e = ta.ema(source, length)
exp ? e : s
ma = esma(src, length)
rangema = BandsStyle == "True Range" ? ta.tr(true) : BandsStyle == "Average True Range" ? ta.atr(atrlength) : ta.rma(high - low, length)
upper = ma + rangema * mult
lower = ma - rangema * mult
//--Graphical Display--// *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-$$$$$$
u = plot(upper, color=#2962FF, title="Upper", force_overlay=true)
plot(ma, color=#2962FF, title="Basis", force_overlay=true)
l = plot(lower, color=#2962FF, title="Lower", force_overlay=true)
fill(u, l, color=color.rgb(33, 150, 243, 95), title="Background")
//--Risk Management--// *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-$$$$$$
riskPerTradePerc = input.float(1, title="Risk per trade (%)", group="Keltner Channel Breakout")
le = high>upper ? false : true
se = lowlower
strategy.entry('PivRevLE', strategy.long, comment = 'PivRevLE', stop = upper, qty=riskToLots)
if se and upper>lower
strategy.entry('PivRevSE', strategy.short, comment = 'PivRevSE', stop = lower, qty=riskToLots)
The tool will then use the strategy equity of your own strategy and use this to simulat prop firms. Since these CFD prop firms work with different phases and payouts the indicator will simulate the gains until target or max drawdown / daily drawdown limit gets reached. If it reaches target it will go to the next phase and keep on doing that until it fails a challenge.
If in one of the phases there is a reward for completing, like a payout, refund, extra it will add this to the gains.
If you fail the challenge by reaching max drawdown or daily drawdown limit it will substract the challenge fee from the gains.
These gains are then visualised in the calendar so you can get an idea of yearly / monthly gains of the backtest. Remember, it is just a backtest so no guarantees of future income.
The bottom pane (non-overlay) is visualising the performance of the backtest during the phases. This way u can check if it is realistic. For instance if it only takes 1 bar on chart to reach target you are probably risking more than the firm wants you to risk. Also, it becomes much less clear if daily drawdown got hit in those high risk strategies, the results will be less accurate.
The daily drawdown limit get's reset every time there is a new dayofweek on chart.
If you set your prop firm preset setting to "'custom" the settings below that are applied as your prop firm settings. Otherwise it will use one of the template by default it's FTMO 100K.
The strategy I'm using as an example in this script is a simple Keltner Channel breakout strategy. I'm using a 0.05% commission per trade as that is what I found most common on crypto exchanges and it's close to the commissions+spread you get on a cfd prop firm. I'm targeting a 1% risk per trade in the backtest to try and stay within prop firm boundaries of max 1% risk per trade.
Lastly, the original yearly and monthly performance table was developed by Quantnomad and I've build ontop of that code. Here's a link to the original publication:
That's everything for now, hope this indicator helps people visualise the potential of prop firms better or to understand that they are not a good fit for their current financial situation.
CVD (Cumulative Volume Delta)
Cumulative Volume Delta
Use a moving average with three different
I thought about determining the volatility and direction of the price of the stock price and finding a place to break through.
I made some Mistake coz I'm new corder
I'm reposting this simple script due to house rule violation. (Whatever can haha) 😁
I'm erasing all the comments in my native language that I had in my script... I thought it would make the User uncomfortable, so I locked the code, and I thought maybe that's the problem
Anyway, I'm sorry 😅
[Kpt-Ahab] PnL-calculatorThe PnL-Cal shows how much you’re up or down in your own currency, based on the current exchange rate.
Let’s say your home currency is EUR.
On October 10, 2022, you bought 10 Tesla stocks at $219 apiece.
Back then, with an exchange rate of 0.9701, you spent €2,257.40.
If you sold the 10 Tesla shares on April 17, 2025 for $241.37 each, that’s around a 10% gain in USD.
But if you converted the USD back to EUR on the same day at an exchange rate of 1.1398, you’d actually end up with an overall loss of about 6.2%.
Right now, only a single entry point is supported.
If you bought shares on different days with different exchange rates, you’ll unfortunately have to enter an average for now.
For viewing on a phone, the table can be simplified.
Institutional MACD (Z-Score Edition) [VolumeVigilante]📈 Institutional MACD (Z-Score Edition) — Professional-Grade Momentum Signal
This is not your average MACD .
The Institutional MACD (Z-Score Edition) is a statistically enhanced momentum tool, purpose-built for serious traders and breakout hunters . By applying Z-Score normalization to the classic MACD structure, this indicator uncovers statistically significant momentum shifts , enabling cleaner reads on price extremes, trend continuation, and potential reversals.
💡 Why It Matters
The classic MACD is powerful — but raw momentum values can be noisy and relative , especially on volatile assets like BTC/USD . By transforming the MACD line, signal line, and histogram into Z-scores , we anchor these signals in statistical context . This makes the Institutional MACD:
✔️ Timeframe-agnostic and asset-normalized
✔️ Ideal for spotting true breakouts , not false flags
✔️ A reliable tool for detecting momentum divergence and exhaustion
🧪 Key Features
✅ Full Z-Score normalization (MACD, Signal, Histogram)
✅ Highlighted ±Z threshold bands for overbought/oversold zones
✅ Customizable histogram coloring for visual momentum shifts
✅ Built-in alerts for zero-crosses and Z-threshold breaks
✅ Clean overlay with optional display toggles
🔁 Strategy Tip: Mean Reversion Signals with Statistical Confidence
This indicator isn't just for spotting breakouts — it also shines as a mean reversion tool , thanks to its Z-Score normalization .
When the Z-Score histogram crosses beyond ±2, it marks a statistically significant deviation from the mean — often signaling that momentum is overstretched and the asset may be due for a pullback or reversal .
📌 How to use it:
Z > +2 → Price action is in overbought territory. Watch for exhaustion or short setups.
Z < -2 → Momentum is deeply oversold. Look for reversal confirmation or long opportunities.
These zones often precede snap-back moves , especially in range-bound or corrective markets .
🎯 Combine Z-Score extremes with:
Candlestick confirmation
Support/resistance zones
Volume or price divergence
Other mean reversion tools (e.g., RSI, Bollinger Bands)
Unlike the raw MACD, this version delivers statistical thresholds , not guesswork — helping traders make decisions rooted in probability, not emotion.
📢 Trade Smart. Trade Vigilantly.
Published by VolumeVigilante
Vietnamese Stocks: Multi-Ticker Fibonacci AlertThis Pine Script™ indicator is designed specifically for traders monitoring the Vietnamese stock market (HOSE, HNX). Its primary goal is to automate the tracking of Fibonacci retracement levels across a large list of stocks, alerting you when prices breach key support zones.
Core Functionality:
The script calculates Fibonacci retracement levels (23.6%, 38.2%, 50%, 61.8%, 78.6%) for up to 40 tickers simultaneously. The calculation is based on the highest high and lowest low identified since a user-defined Start Time. This allows you to anchor the Fibonacci analysis to a specific market event, trend start, or time period relevant to your strategy.
What it Does For You:
Automated Watchlist Scanning: Instead of drawing Fib levels on dozens of charts, select one of the two pre-configured watchlists (up to 40 symbols each, customizable in settings) populated with popular Vietnamese stocks.
Time-Based Fibonacci: Define a Start Time in the settings. The script uses this date to find the subsequent highest high and lowest low for each symbol in your chosen watchlist, forming the basis for the Fib calculation.
Intelligent Alerts: Get notified via TradingView's alerts when the candle closing price of any stock in your active watchlist falls below the critical 38.2%, 50%, 61.8%, or 78.6% levels relative to its own high/low range since the start time. Alerts are consolidated for efficiency.
Visual Aids:
- Plots the same time-based Fibonacci levels directly on your current chart symbol for quick reference.
- Includes an optional on-chart table showing which monitored stocks are currently below key Fib levels (enable "Show Debug Info").
- Features experimental background coloring to highlight potential bullish signals on the current chart.
Configuration:
Start Time: Crucial input – sets the anchor point for Fib calculations.
WatchList Selection: Choose between WatchList #1 (Bluechip/Midcap focus) or WatchList #2 (Defensive/Other focus) using the boolean toggles.
Symbol Customization: Easily replace the default symbols with your preferred Vietnamese stocks directly in the indicator settings.
Notification Prefix: Add custom text to the beginning of your alert messages.
Alert Setup: Remember to create an alert in TradingView, selecting this indicator and the alert() condition, usually with "Once Per Bar Close" frequency.
This tool is open-source under the MPL 2.0 license. Feel free to use, modify, and learn from it.
tafirstlibGeneral Purpose: Starts by stating it's a collection of utility functions for technical analysis.
Core Functionality Areas: Mentions key categories like:
Extrema detection (isMin, isMax, etc.)
Condition checking over time (isMachedInRange, isContinuous, etc.)
Rate of change analysis (isSlowDown)
Moving average calculation (getMA)
Advanced Features: Highlights the more complex functions:
Visualization helpers (getColorNew)
Moving Regression (mr) for smoothing/trend
Cycle analysis (bpDom)
Overall Goal: Concludes by stating the library's aim – simplifying development and enabling complex analysis.
Library "tafirstlib"
TODO: add library description here
isSlowDown(data)
isSlowDown
Parameters:
data (float) : array of numbers
Returns: boolean
isMin(data, maeLength)
isMin
Parameters:
data (float) : array of numbers
maeLength (int) : number
Returns: boolean
isMax(data, maeLength)
isMax
Parameters:
data (float) : array of numbers
maeLength (int) : number
Returns: boolean
isMinStopped(data, maeLength)
isMinStopped
Parameters:
data (float) : array of numbers
maeLength (int) : number
Returns: boolean
isMaxStopped(data, maeLength)
isMaxStopped
Parameters:
data (float) : array of numbers
maeLength (int) : number
Returns: boolean
isLongMinStopped(data, maeLength, distance)
isLongMinStopped
Parameters:
data (float) : array of numbers
maeLength (int) : number
distance (int) : number
Returns: boolean
isLongMaxStopped(data, maeLength, distance)
isLongMaxStopped
Parameters:
data (float) : array of numbers
maeLength (int) : number
distance (int) : number
Returns: boolean
isMachedInRangeSkipCurrent(data, findRange, findValue)
isMachedInRangeSkipCurrent
Parameters:
data (bool) : array of numbers
findRange (int) : number
findValue (bool) : number
Returns: boolean
isMachedInRange(data, findRange, findValue)
isMachedInRange
Parameters:
data (bool) : array of numbers
findRange (int) : number
findValue (bool) : number
Returns: boolean
isMachedColorInRange(data, findRange, findValue)
isMachedColorInRange isMachedColorInRange(series color data, int findRange, color findValue)
Parameters:
data (color) : series of color
findRange (int) : int
findValue (color) : color
Returns: boolean
countMachedInRange(data, findRange, findValue)
countMachedInRange
Parameters:
data (bool) : array of numbers
findRange (int) : number
findValue (bool) : number
Returns: number
getColor(data)
getColor
Parameters:
data (float) : array of numbers
Returns: color
getColorNew(data)
getColorNew
Parameters:
data (float) : array of numbers
Returns: color
isColorBetter(color_data)
isColorBetter
Parameters:
color_data (color) : array of colors
Returns: boolean
isColorWorst(color_data)
isColorWorst
Parameters:
color_data (color) : array of colors
Returns: boolean
isColorBetter2(color_data)
isColorBetter2
Parameters:
color_data (color) : array of colors
Returns: boolean
isColorWorst2(color_data)
isColorWorst2
Parameters:
color_data (color) : array of colors
Returns: boolean
isDecreased2Bar(data)
isDecreased2Bar
Parameters:
data (float) : array of numbers
Returns: boolean
isContinuousAdvance(targetSeries, range2Find, howManyException)
isContinuousAdvance
Parameters:
targetSeries (bool) : array of booleans
range2Find (int) : number
howManyException (int) : number
Returns: boolean
isContinuous(targetSeries, range2Find, truefalse)
isContinuous
Parameters:
targetSeries (bool) : array of booleans
range2Find (int) : number
truefalse (bool) : boolean
Returns: boolean
isContinuousNotNow(targetSeries, range2Find, truefalse)
isContinuousNotNow
Parameters:
targetSeries (bool) : array of booleans
range2Find (int) : number
truefalse (bool) : boolean
Returns: boolean
isContinuousTwoFactors(targetSeries, range2Find, truefalse)
isContinuousTwoFactors
Parameters:
targetSeries (bool) : array of booleans
range2Find (int) : number
truefalse (bool) : boolean
Returns: boolean
findEventInRange(startDataBarIndex, neededDataBarIndex, currentBarIndex)
findEventInRange
Parameters:
startDataBarIndex (int) : number
neededDataBarIndex (int) : number
currentBarIndex (int) : number
Returns: boolean
findMin(firstdata, secondata, thirddata, forthdata)
findMin
Parameters:
firstdata (float) : number
secondata (float) : number
thirddata (float) : number
forthdata (float) : number
Returns: number
findMax(firstdata, secondata, thirddata, forthdata)
findMax
Parameters:
firstdata (float) : number
secondata (float) : number
thirddata (float) : number
forthdata (float) : number
Returns: number
getMA(src, length, mav)
getMA
Parameters:
src (float) : number
length (simple int) : number
mav (string) : string
Returns: number
mr(mrb_src, mrb_window, mrb_degree)
Parameters:
mrb_src (float)
mrb_window (int)
mrb_degree (int)
bpDom(maeLength, bpw, mult)
Parameters:
maeLength (int)
bpw (float)
mult (float)