Weekly pecentage tracker by PRIVATE
Settings Picture below this link: 👇
i.ibb.co
What it is
A lightweight “Weekly % Tracker” overlay that lets you manually enter weekly performance (in percent) for XAUUSD + up to 10 FX pairs, then shows:
a small table panel with each enabled symbol and its % result
one TOTAL row (Sum / Average / Compounded across all enabled symbols)
an optional mini badge showing the % for a single selected symbol
Nothing is auto-calculated from price—you type the % yourself.
Key settings
Panel: show/hide, position, number of decimals, colors (background, text, green/red).
Total mode:
Sum – adds percentages
Average – mean of enabled rows
Compounded –
(
∏
(
1
+
𝑝
/
100
)
−
1
)
×
100
(∏(1+p/100)−1)×100
Symbols:
XAUUSD (toggle + label + % input)
10 FX pairs (each has On/Off, label text, % input). You can rename labels to any symbol text you want.
Mini badge: show/hide, position, and symbol to display.
How it works
Overlay indicator: overlay=true; just draws UI on the chart (no plots).
Arrays (syms, vals, ons) collect the row data in order: XAU first, then FX1…FX10.
Helpers:
posFrom() converts a position string (e.g., “Top Right”) into a position.* constant.
wp_col() picks green/red/neutral based on the sign of the %.
wp_round() rounds values to the selected decimals.
calc_total() computes the TOTAL with the chosen mode over enabled rows only.
Table creation logic:
Counts how many rows are enabled.
If none enabled or panel is off: the panel table is deleted, so no box/background is visible.
If enabled and on: the panel is (re)created at the chosen position.
On each last bar (barstate.islast), it clears the table to transparent (bgcolor=na) and then fills one row per enabled symbol, followed by a single TOTAL row.
Mini badge:
Always (re)created on position change.
Shows selected symbol’s % (or “-” if that symbol isn’t enabled or has no value).
Colors text green/red by sign.
Notes & limits
It’s manual input—the script doesn’t read trades or P/L from price.
You can rename each row’s label to match any symbol name you want.
When no rows are enabled, the panel disappears entirely (no empty background).
Designed to be light: only draws tables; no heavy plotting.
If you want the TOTAL row to be optional, or different color thresholds, or CSV-style export/import of the values, say the word and I’ll add it.
Cari dalam skrip untuk "ha溢价率"
DYNAMIC TRADING DASHBOARDStudy Material for the "Dynamic Trading Dashboard"
This Dynamic Trading Dashboard is designed as an educational tool within the TradingView environment. It compiles commonly used market indicators and analytical methods into one visual interface so that traders and learners can see relationships between indicators and price action. Understanding these indicators, step by step, can help traders develop discipline, improve technical analysis skills, and build strategies. Below is a detailed explanation of each module.
________________________________________
1. Price and Daily Reference Points
The dashboard displays the current price, along with percentage change compared to the day’s opening price. It also highlights whether the price is moving upward or downward using directional symbols. Alongside, it tracks daily high, low, open, and daily range.
For traders, daily levels provide valuable reference points. The daily high and low are considered intraday support and resistance, while the median price of the day often acts as a pivot level for mean reversion traders. Monitoring these helps learners see how price oscillates within daily ranges.
________________________________________
2. VWAP (Volume Weighted Average Price)
VWAP is calculated as a cumulative average price weighted by volume. The dashboard compares the current price with VWAP, showing whether the market is trading above or below it.
For traders, VWAP is often a guide for institutional order flow. Price trading above VWAP suggests bullish sentiment, while trading below VWAP indicates bearish sentiment. Learners can use VWAP as a training tool to recognize trend-following vs. mean reversion setups.
________________________________________
3. Volume Analysis
The system distinguishes between buy volume (when the closing price is higher than the open) and sell volume (when the closing price is lower than the open). A progress bar highlights the ratio of buying vs. selling activity in percentage.
This is useful because volume confirms price action. For instance, if prices rise but sell volume dominates, it can signal weakness. New traders learning with this tool should focus on how volume often precedes price reversals and trends.
________________________________________
4. RSI (Relative Strength Index)
RSI is a momentum oscillator that measures price strength on a scale from 0 to 100. The dashboard classifies RSI readings into overbought (>70), oversold (<30), or neutral zones and adds visual progress bars.
RSI helps learners understand momentum shifts. During training, one should notice how trending markets can keep RSI extended for longer periods (not immediate reversal signals), while range-bound markets react more sharply to RSI extremes. It is an excellent tool for practicing trend vs. range identification.
________________________________________
5. MACD (Moving Average Convergence Divergence)
The MACD indicator involves a fast EMA, slow EMA, and signal line, with focus on crossovers. The dashboard shows whether a “bullish cross” (MACD above signal line) or “bearish cross” (MACD below signal line) has occurred.
MACD teaches traders to identify trend momentum shifts and divergence. During practice, traders can explore how MACD signals align with VWAP trends or RSI levels, which helps in building a structured multi-indicator analysis.
________________________________________
6. Stochastic Oscillator
This indicator compares the current close relative to a range of highs and lows over a period. Displayed values oscillate between 0 and 100, marking zones of overbought (>80) and oversold (<20).
Stochastics are useful for students of trading to recognize short-term momentum changes. Unlike RSI, it reacts faster to price volatility, so false signals are common. Part of the training exercise can be to observe how stochastic “flips” can align with volume surges or daily range endpoints.
________________________________________
7. Trend & Momentum Classification
The dashboard adds simple labels for trend (uptrend, downtrend, neutral) based on RSI thresholds. Additionally, it provides quick momentum classification (“bullish hold”, “bearish hold”, or neutral).
This is beneficial for beginners as it introduces structured thinking: differentiating long-term market bias (trend) from short-term directional momentum. By combining both, traders can practice filtering signals instead of trading randomly.
________________________________________
8. Accumulation / Distribution Bias
Based on RSI levels, the script generates simplified tags such as “Accumulate Long”, “Accumulate Short”, or “Wait”.
This is purely an interpretive guide, helping learners think in terms of accumulation phases (when markets are low) and distribution phases (when markets are high). It reinforces the concept that trading is not only directional but also involves timing.
________________________________________
9. Overall Market Status and Score
Finally, the dashboard compiles multiple indicators (VWAP position, RSI, MACD, Stochastics, and price vs. median levels) into a Market Score expressed as a percentage. It also labels the market as Overbought, Oversold, or Normal.
This scoring system isn’t a recommendation but a learning framework. Students can analyze how combining different indicators improves decision-making. The key training focus here is confluence: not depending on one indicator but observing when several conditions align.
Extended Study Material with Formulas
________________________________________
1. Daily Reference Levels (High, Low, Open, Median, Range)
• Day High (H): Maximum price of the session.
DayHigh=max(Hightoday)DayHigh=max(Hightoday)
• Day Low (L): Minimum price of the session.
DayLow=min(Lowtoday)DayLow=min(Lowtoday)
• Day Open (O): Opening price of the session.
DayOpen=OpentodayDayOpen=Opentoday
• Day Range:
Range=DayHigh−DayLowRange=DayHigh−DayLow
• Median: Mid-point between high and low.
Median=DayHigh+DayLow2Median=2DayHigh+DayLow
These act as intraday guideposts for seeing how far the price has stretched from its key reference levels.
________________________________________
2. VWAP (Volume Weighted Average Price)
VWAP considers both price and volume for a weighted average:
VWAPt=∑i=1t(Pricei×Volumei)∑i=1tVolumeiVWAPt=∑i=1tVolumei∑i=1t(Pricei×Volumei)
Here, Price_i can be the average price (High + Low + Close) ÷ 3, also known as hlc3.
• Interpretation: Price above VWAP = bullish bias; Price below = bearish bias.
________________________________________
3. Volume Buy/Sell Analysis
The dashboard splits total volume into buy volume and sell volume based on candle type.
• Buy Volume:
BuyVol=Volumeif Close > Open, else 0BuyVol=Volumeif Close > Open, else 0
• Sell Volume:
SellVol=Volumeif Close < Open, else 0SellVol=Volumeif Close < Open, else 0
• Buy Ratio (%):
VolumeRatio=BuyVolBuyVol+SellVol×100VolumeRatio=BuyVol+SellVolBuyVol×100
This helps traders gauge who is in control during a session—buyers or sellers.
________________________________________
4. RSI (Relative Strength Index)
RSI measures strength of momentum by comparing gains vs. losses.
Step 1: Compute average gains (AG) and losses (AL).
AG=Average of Upward Closes over N periodsAG=Average of Upward Closes over N periodsAL=Average of Downward Closes over N periodsAL=Average of Downward Closes over N periods
Step 2: Calculate relative strength (RS).
RS=AGALRS=ALAG
Step 3: RSI formula.
RSI=100−1001+RSRSI=100−1+RS100
• Used to detect overbought (>70), oversold (<30), or neutral momentum zones.
________________________________________
5. MACD (Moving Average Convergence Divergence)
• Fast EMA:
EMAfast=EMA(Close,length=fast)EMAfast=EMA(Close,length=fast)
• Slow EMA:
EMAslow=EMA(Close,length=slow)EMAslow=EMA(Close,length=slow)
• MACD Line:
MACD=EMAfast−EMAslowMACD=EMAfast−EMAslow
• Signal Line:
Signal=EMA(MACD,length=signal)Signal=EMA(MACD,length=signal)
• Histogram:
Histogram=MACD−SignalHistogram=MACD−Signal
Crossovers between MACD and Signal are used in studying bullish/bearish phases.
________________________________________
6. Stochastic Oscillator
Stochastic compares the current close against a range of highs and lows.
%K=Close−LowestLowHighestHigh−LowestLow×100%K=HighestHigh−LowestLowClose−LowestLow×100
Where LowestLow and HighestHigh are the lowest and highest values over N periods.
The %D line is a smooth version of %K (using a moving average).
%D=SMA(%K,smooth)%D=SMA(%K,smooth)
• Values above 80 = overbought; below 20 = oversold.
________________________________________
7. Trend and Momentum Classification
This dashboard generates simplified trend/momentum logic using RSI.
• Trend:
• RSI < 40 → Downtrend
• RSI > 60 → Uptrend
• In Between → Neutral
• Momentum Bias:
• RSI > 70 → Bullish Hold
• RSI < 30 → Bearish Hold
• Otherwise Neutral
This is not predictive, only a classification framework for educational use.
________________________________________
8. Accumulation/Distribution Bias
Based on extreme RSI values:
• RSI < 25 → Accumulate Long Bias
• RSI > 80 → Accumulate Short Bias
• Else → Wait/No Action
This helps learners understand the idea of accumulation at lows (strength building) and distribution at highs (profit booking).
________________________________________
9. Overall Market Status and Score
The tool adds up 5 bullish conditions:
1. Price above VWAP
2. RSI > 50
3. MACD > Signal
4. Stochastic > 50
5. Price above Daily Median
BullishScore=ConditionsMet5×100BullishScore=5ConditionsMet×100
Then it categorizes the market:
• RSI > 70 or Stoch > 80 → Overbought
• RSI < 30 or Stoch < 20 → Oversold
• Else → Normal
This encourages learners to think in terms of probabilistic conditions instead of single-indicator signals.
________________________________________
⚠️ Warning:
• Trading financial markets involves substantial risk.
• You can lose more money than you invest.
• Past performance of indicators does not guarantee future results.
• This script must not be copied, resold, or republished without authorization from aiTrendview.
By using this material or the code, you agree to take full responsibility for your trading decisions and acknowledge that this is not financial advice.
________________________________________
⚠️ Disclaimer and Warning (From aiTrendview)
This Dynamic Trading Dashboard is created strictly for educational and research purposes on the TradingView platform. It does not provide financial advice, buy/sell recommendations, or guaranteed returns. Any use of this tool in live trading is completely at the user’s own risk. Markets are inherently risky; losses can exceed initial investment.
The intellectual property of this script and its methodology belongs to aiTrendview. Unauthorized reproduction, modification, or redistribution of this code is strictly prohibited. By using this study material or the script, you acknowledge personal responsibility for any trading outcomes. Always consult professional financial advisors before making investment decisions.
VWAP Executor — v6 (VWAP fix)tarek helishPractical scalping plan with high-rate (sometimes reaching 70–85% in a quiet market)
Concept: “VWAP bounce with a clear trend.”
Tools: 1–3-minute chart for entry, 5-minute trend filter, VWAP, EMA(50) on 5M, ATR(14) on 1M, volume.
When to trade: London session or early New York session; avoid 10–15 minutes before/after high-impact news.
Entry rules (buy for example):
Trend: Price is above the EMA(50) on 5M and has an upward trend.
Entry zone: First bounce to VWAP (or a ±1 standard deviation channel around it).
Signal: Bullish rejection/engulfing candle on 1M with increasing volume, and RSI(2) has exited oversold territory (optional).
Order: Entry after the confirmation candle closes or a limit close to VWAP.
Trade Management:
Stop: Below the bounce low or 0.6xATR(1M) (strongest).
Target: 0.4–0.7xATR(1M) or the previous micro-high (small return to increase success rate).
Trigger: Move the stop to breakeven after +0.25R; close manually if the 1M candle closes strongly against you.
Filter: Do not trade if the spread widens, or the price "saws" around VWAP without a trend.
Sell against the rules in a downtrend.
Why this plan raises the heat-rate? You buy a "small discount" within an existing trend and near the institutional average price (VWAP), with a small target price.
مواقعي شركة الماسة للخدمات المنزلية
شركة تنظيف بالرياض
نقل عفش بالرياض
Candlestick Patterns Dashboard Pro+ [ULTIMATE]Unleash the power of automated candlestick analysis with the most comprehensive and customizable pattern detection tool on TradingView. This is not just another pattern scanner; it's a complete trading dashboard designed to identify, score, and confirm high-probability setups, saving you hours of manual chart analysis.
Built with performance and reliability in mind, this script goes beyond simple detection by introducing a unique reliability score for every pattern, advanced confirmation filters, and a powerful on-screen dashboard to keep you informed.
Key Features
📈 Comprehensive Pattern Detection: Automatically identifies 13 of the most effective candlestick patterns, including Bullish/Bearish Engulfing, Hammer, Shooting Star, Doji, Morning/Evening Star, and more.
🔟 Dynamic Reliability Scoring: Every pattern is assigned a score from 1-10 based on its confirmation strength. Factors include candle body size, volume confirmation, trend alignment, and higher-timeframe confluence, giving you a quantifiable measure of a pattern's potential.
📊 The Ultimate Dashboard: Your at-a-glance command center. The on-screen dashboard provides a complete summary of all active patterns, showing you exactly when they last occurred and highlighting the most recent signals. It also includes an "Overall Bias" meter for a quick sentiment check.
🛡️ Trade Smarter with Advanced Confirmation Filters: Eliminate low-quality signals and focus on what matters.
Trend Alignment: Use SMA(50) and SMA(200) to only show patterns that agree with the dominant market trend.
Volume Confirmation: Validate patterns by requiring a surge in volume.
Non-Repainting HTF Confirmation: Ensure your patterns align with the trend on a higher timeframe (e.g., Daily trend for a 4H signal) using a reliable, non-repainting method.
Market Condition Filter: Isolate patterns that occur only in "Trending" or "Ranging" markets.
Time Filter: Restrict pattern detection to specific trading sessions.
🔧 ‘Fuzzy Logic’ for Real-World Trading: Textbook patterns are rare. Use the "Fuzzy Logic" settings to adjust the criteria for patterns like the Hammer, Piercing Line, and Doji, allowing you to catch imperfect but still valid real-world formations.
⚙️ Fully Customizable Scoring: You decide what's important! Adjust the bonus scores for volume, trend, and other factors to create a scoring system that perfectly aligns with your trading strategy.
🚨 Powerful & Customizable Alerts: Never miss an opportunity.
Create alerts for any individual pattern.
Get notified of "Pattern Clusters" when multiple bullish or bearish signals appear in close succession.
Customize the alert messages to be compatible with your favorite trading automation services.
🚀 Performance Optimized: A "Max Bars Back" setting ensures the script runs smoothly and efficiently, even on lower-end devices or extensive historical data.
How To Use This Indicator
For Confirmation: The primary strength of this tool is for confirmation. Do not trade based on patterns alone. Use the detected signals to confirm your own analysis, such as a pattern appearing at a key support/resistance level, a trendline, or a Fibonacci retracement. A Bullish Engulfing pattern at a major support level is a much stronger signal than one appearing in the middle of a range.
For Discovery: Use the Dashboard to quickly scan through your favorite assets. A dashboard full of recent bullish signals on one asset, and bearish on another, can instantly help you focus your attention for the day.
Customizing for Your Style:
Start with the Market Presets ("Forex," "Stocks," "Crypto") for a solid baseline.
Dive into the Scoring Weights to tell the indicator what you value most. A pure volume trader might increase the Volume Bonus score.
Adjust the Fuzzy Logic settings based on your market's volatility. A volatile crypto market might require a more lenient Doji definition than a stable blue-chip stock.
Setting Up Alerts:
Add the indicator to your chart.
Click the "Alert" button in the TradingView toolbar.
Set the "Condition" to "Candlestick Patterns Dashboard Pro+ ".
Choose the specific alert you want from the dropdown (e.g., "Bullish Pattern Detected," "Bearish Pattern Cluster").
Customize the message if needed and click "Create."
A Note of Thanks
This script began as a personal project and has evolved into this ultimate version thanks to invaluable community feedback, bug reports, and suggestions. A special thank you to the users who helped identify and fix critical bugs related to syntax and variable scope. This collaborative effort has made the indicator more robust and reliable for everyone.
Disclaimer: This tool is for educational and analytical purposes only. All trading involves substantial risk. Past performance is not indicative of future results. Please trade responsibly.
ST-Stochastic DashboardST-Stochastic Dashboard: User Manual & Functionality
1. Introduction
The ST-Stochastic Dashboard is a comprehensive tool designed for traders who utilize the Stochastic Oscillator. It combines two key features into a single indicator:
A standard, fully customizable Stochastic Oscillator plotted directly on your chart.
A powerful Multi-Timeframe (MTF) Dashboard that shows the status of the Stochastic %K value across three different timeframes of your choice.
This allows you to analyze momentum on your current timeframe while simultaneously monitoring for confluence or divergence on higher or lower timeframes, all without leaving your chart.
Disclaimer: In accordance with TradingView's House Rules, this document describes the technical functionality of the indicator. It is not financial advice. The indicator provides data based on user-defined parameters; all trading decisions are the sole responsibility of the user. Past performance is not indicative of future results.
2. How It Works (Functionality)
The indicator is divided into two main components:
A. The Main Stochastic Indicator (Chart Pane)
This is the visual representation of the Stochastic Oscillator for the chart's current timeframe.
%K Line (Blue): This is the main line of the oscillator. It shows the current closing price in relation to the high-low range over a user-defined period. A high value means the price is closing near the top of its recent range; a low value means it's closing near the bottom.
%D Line (Black): This is the signal line, which is a moving average of the %K line. It is used to smooth out the %K line and generate trading signals.
Overbought Zone (Red Area): By default, this zone is above the 75 level. When the Stochastic lines are in this area, it indicates that the asset may be "overbought," meaning the price is trading near the peak of its recent price range.
Oversold Zone (Blue Area): By default, this zone is below the 25 level. When the Stochastic lines are in this area, it indicates that the asset may be "oversold," meaning the price is trading near the bottom of its recent price range.
Crossover Signals:
Buy Signal (Blue Up Triangle): A blue triangle appears below the candles when the %K line crosses above the Oversold line (e.g., from 24 to 26). This suggests a potential shift from bearish to bullish momentum.
Sell Signal (Red Down Triangle): A red triangle appears above the candles when the %K line crosses below the Overbought line (e.g., from 76 to 74). This suggests a potential shift from bullish to bearish momentum.
B. The Multi-Timeframe Dashboard (Table on Chart)
This is the informational table that appears on your chart. Its purpose is to give you a quick, at-a-glance summary of the Stochastic's condition on other timeframes.
Function: The script uses TradingView's request.security() function to pull the %K value from three other timeframes that you specify in the settings.
Efficiency: The table is designed to update only on the last (most recent) bar (barstate.islast) to ensure the script runs efficiently and does not slow down your chart.
Columns:
Timeframe: Displays the timeframe you have selected (e.g., '5', '15', '60').
Stoch %K: Shows the current numerical value of the %K line for that specific timeframe, rounded to two decimal places.
Status: Interprets the %K value and displays a clear status:
OVERBOUGHT (Red Background): The %K value is above the "Upper Line" setting.
OVERSOLD (Blue Background): The %K value is below the "Lower Line" setting.
NEUTRAL (Black/Dark Background): The %K value is between the Overbought and Oversold levels.
3. Settings / Parameters in Detail
You can access these settings by clicking the "Settings" (cogwheel) icon on the indicator name.
Stochastic Settings
This group controls the behavior and appearance of the main Stochastic indicator plotted in the pane.
Stochastic Period (length)
Description: This is the lookback period used to calculate the Stochastic Oscillator. It defines the number of past bars to consider for the high-low range.
Default: 9
%K Smoothing (smoothK)
Description: This is the moving average period used to smooth the raw Stochastic value, creating the %K line. A higher value results in a smoother, less sensitive line.
Default: 3
%D Smoothing (smoothD)
Description: This is the moving average period applied to the %K line to create the %D (signal) line. A higher value creates a smoother signal line that lags further behind the %K line.
Default: 6
Lower Line (Oversold) (ul)
Description: This sets the threshold for the oversold condition. When the %K line is below this value, the dashboard will show "OVERSOLD". It is also the level the %K line must cross above to trigger a Buy Signal triangle.
Default: 25
Upper Line (Overbought) (ll)
Description: This sets the threshold for the overbought condition. When the %K line is above this value, the dashboard will show "OVERBOUGHT". It is also the level the %K line must cross below to trigger a Sell Signal triangle.
Default: 75
Dashboard Settings
This group controls the data and appearance of the multi-timeframe table.
Timeframe 1 (tf1)
Description: The first timeframe to be displayed in the dashboard.
Default: 5 (5 minutes)
Timeframe 2 (tf2)
Description: The second timeframe to be displayed in the dashboard.
Default: 15 (15 minutes)
Timeframe 3 (tf3)
Description: The third timeframe to be displayed in the dashboard.
Default: 60 (1 hour)
Dashboard Position (table_pos)
Description: Allows you to select where the dashboard table will appear on your chart.
Options: top_right, top_left, bottom_right, bottom_left
Default: bottom_right
4. How to Use & Interpret
Configuration: Adjust the Stochastic Settings to match your trading strategy. The default values (9, 3, 6) are common, but feel free to experiment. Set the Dashboard Settings to the timeframes that are most relevant to your analysis (e.g., your entry timeframe, a medium-term timeframe, and a long-term trend timeframe).
Analysis with the Dashboard: The primary strength of this tool is confluence. Look for situations where multiple timeframes align. For example:
If the dashboard shows OVERSOLD on the 15-minute, 60-minute, and your current 5-minute chart, a subsequent Buy Signal on your 5-minute chart may carry more weight.
Conversely, if your 5-minute chart shows OVERSOLD but the 60-minute chart is strongly OVERBOUGHT, it could indicate that you are looking at a minor pullback in a larger downtrend.
Interpreting States:
Overbought is not an automatic "sell" signal. It simply means momentum has been strong to the upside, and the price is near its recent peak. It could signal a potential reversal, but the price can also remain overbought for extended periods in a strong uptrend.
Oversold is not an automatic "buy" signal. It means momentum has been strong to the downside. While it can signal a potential bounce, prices can remain oversold for a long time in a strong downtrend.
Use the signals and dashboard states as a source of information to complement your overall trading strategy, which should include other forms of analysis such as price action, support/resistance levels, or other indicators.
CVD Polarity Indicator (With Rolling Smoothed)📊 CVD Polarity Indicator (with Rolling Smoothing)
Purpose
The CVD Polarity Indicator combines Cumulative Volume Delta (CVD) with price bar direction to measure whether buying or selling pressure is in agreement with price action. It then smooths that signal over time, making it easier to see underlying volume-driven market trends.
This indicator is essentially a volume–price agreement oscillator:
- It compares price direction with volume delta (CVD).
- Translates that into per-bar polarity.
- Smooths it into a rolling sum for clarity.
- Adds a short EMA to highlight turning points.
The end result: a tool that helps you see when price action is backed by real volume flows versus when it’s running on weak participation.
__________________________________________________________________________________
1. Cumulative Volume Delta (CVD)
What it is:
CVD is the cumulative sum of buying vs. selling pressure measured by volume.
- If a bar closes higher than it opens → that bar’s volume is treated as buying pressure (+volume).
- If a bar closes lower than it opens → that bar’s volume is treated as selling pressure (–volume).
Rolling version:
Instead of accumulating indefinitely (which just creates a line that trends forever), this indicator uses a rolling sum over a user-defined number of bars (cumulation_length, default 14).
- This shows the net delta in recent bars, making the CVD more responsive and localized.
2. Bar Direction vs. CVD Change
Each bar has two pieces of directional information:
1. Bar direction: Whether the candle closed above or below its open (close - open).
2. CVD change: Whether cumulative delta increased or decreased from the prior bar (cvd - cvd ).
By comparing these two:
- Agreement (both up or both down):
→ Polarity = +volume (if bullish) or –volume (if bearish).
- Disagreement (bar up but CVD down, or bar down but CVD up):
→ Polarity flips sign, signaling divergence between price and volume.
Thus, raw polarity = a per-bar measure of whether price action and volume delta are in sync.
3. Polarity Smoothing (Rolling Polarity)
- Problem with raw polarity:
It flips bar-to-bar and looks very jagged — not great for seeing trends.
- Solution:
The indicator applies a rolling sum over the past polarity_length bars (default 14).
- This creates a smoother curve, representing the net polarity over time.
- Positive values = net bullish alignment (buyers stronger).
- Negative values = net bearish alignment (sellers stronger).
Think of it like an oscillator showing whether buyers or sellers have had control recently.
4. EMA Smoothing
Finally, a 10-period EMA is applied on top of the rolling polarity line:
- This further reduces noise.
- It helps highlight shifts in the underlying polarity trend.
- Crossovers of the polarity line and its EMA can serve as trade signals (bullish/bearish inflection points).
________________________________________________________________________________
How to Read It
1. Polarity above zero → Recent bars show more bullish agreement between price and volume.
2. Polarity below zero → Recent bars show more bearish agreement.
3. Polarity diverging from price → If price goes up but polarity trends down, it signals weakening buying pressure (potential reversal).
4. EMA crossovers →
- Polarity crossing above its EMA = bullish momentum shift.
- Polarity crossing below its EMA = bearish momentum shift.
Practical Use Cases
- Trend Confirmation
Use polarity to confirm whether a price move is supported by volume. If price rallies but
polarity stays negative, the move is weak.
- Divergence Signals
Watch for divergences between price trend and polarity trend (e.g., higher highs in price but
lower highs in polarity).
- Momentum Shifts
Use EMA crossovers as signals that the underlying balance of buying/selling has flipped.
Fractals + FVG [Combined]Звісно, ось варіант опису англійською, який можна використати для публікації індикатора в TradingView.
Description
This script combines two powerful and widely-used trading concepts into a single, comprehensive indicator: Bill Williams Fractals with dynamic support/resistance lines and Fair Value Gaps (FVG) based on the popular logic from LuxAlgo.
The goal is to provide a cleaner chart by merging two essential tools, allowing traders to analyze market structure and imbalances simultaneously.
Features
1. Williams Fractals with Invalidation Lines
This part of the indicator identifies classic Bill Williams fractals and enhances them with a unique visualization feature.
Fractal Detection: Automatically identifies both bullish (bottom) and bearish (top) fractals. You can choose between a 3-bar or 5-bar pattern in the settings.
Dynamic S/R Lines: A horizontal line is automatically drawn from every confirmed fractal, acting as a potential support or resistance level.
Automatic Invalidation: A line is considered "invalidated" or breached when the body of a candle closes past it. When this happens, the line stops extending, changes its color to the "invalidated" color, and remains on the chart as a historical reference. This provides a clear, objective signal that a level has been broken.
Customization: You can fully customize the colors for the support, resistance, and invalidated lines to match your chart theme.
2. Fair Value Gaps (FVG) / Imbalance
This module incorporates the robust FVG detection logic from LuxAlgo to automatically identify and display market imbalances.
FVG Detection: Highlights bullish and bearish Fair Value Gaps on the chart with colored boxes, representing inefficiencies in price delivery.
Automatic Mitigation: The FVG boxes are automatically removed from the chart once the price has "mitigated" or filled the gap, keeping your workspace clean and focused on active imbalances.
Multi-Timeframe (MTF): You can set the indicator to find and display FVGs from a higher timeframe directly on your current chart.
Dashboard: An optional on-screen dashboard provides a quick summary of the total count of bullish/bearish FVGs and the percentage that have been mitigated.
Full Customization: Control the colors of FVG boxes, extend their length, and configure other visual style settings.
How to Use
Fractal Lines: Use the active support and resistance lines as key levels for potential bounces or breaks. A line's invalidation can serve as confirmation of a shift in market structure.
FVG Zones: Fair Value Gaps often act as "magnets" for price. Use these zones as potential targets for your trades or as areas of interest for entries when price retraces to fill the imbalance.
Combined Strategy: The true power of this indicator comes from combining both concepts. For example, a bullish FVG forming near a key fractal support level can create a high-probability confluence zone for a long entry. Similarly, a break and invalidation of a fractal resistance line might signal that price is heading towards the next bearish FVG above.
This indicator is a tool for analysis and should be used in conjunction with your own trading strategy and risk management rules.
Daily Distribution Range - Amplitude Probability DashboardSummary
This indicator provides a powerful statistical deep-dive into an asset's daily distribution range, amplitude and volatility. It moves beyond simple range indicators by calculating the historical probability of a trading day reaching certain amplitude levels.
The results are presented in a clean, interactive dashboard that highlights the current day's performance in real-time, allowing traders to instantly gauge if the current volatility is normal, unusually high, or unusually low compared to history.
This tool is designed to help traders answer a critical question: "Based on past behavior, what is the likelihood that today's range will be at least X%?"
Key Concepts Explained
1. Daily Amplitude (%)
The indicator first calculates the amplitude (or range) of every historical daily candle and expresses it as a percentage of that day's opening price.
Formula: (Daily High - Daily Low) / Daily Open * 100
This normalization allows for a consistent volatility comparison across different price levels and time periods.
2. Cumulative Probability Distribution
Instead of showing the probability of a day's final range falling into a small, exclusive bin (e.g., "exactly between 1.0% and 1.5%"), this indicator uses a cumulative model. It answers the question, "What is the probability that the daily range will be at least a certain value?"
For example, if the row for "≥ 2%" shows a probability of 12.22%, it means that historically, 12.22% of all trading days have had a total range of 2% or more. This is incredibly useful for risk management and setting realistic expectations.
Core Features
Statistical Dashboard: Presents all data in a clear, easy-to-read table on your chart.
Cumulative Probability Model: Instantly see the historical probability of the daily range reaching or exceeding key percentage levels.
Real-Time Highlight & Arrow (→): The dashboard isn't just historical. It actively tracks the current, unfinished day's amplitude and highlights the corresponding row with a color and an arrow (→). This provides immediate context for the current session's price action.
Timeframe Independent: You can use this indicator on any chart timeframe (e.g., 5-minute, 1-hour, 4-hour), and it will always fetch and calculate using the correct daily data.
Clean & Professional UI: Features a monospace font for perfect alignment and a simple, readable design.
Fully Customizable: Easily adjust the dashboard's position, text size, and the amount of historical data used for the analysis.
How to Use & Interpret the Data
This indicator is not a trading signal but a powerful tool for statistical context and decision-making.
Risk Management: If you see that an asset has only a 5% historical probability of moving more than 3% in a day, you can set stop-losses more intelligently and avoid being overly aggressive with your targets on a typical day.
Setting Profit Targets: Gauge realistic intra-day profit targets. If a stock is already up 2.5% and has historically only moved more than 3% on rare occasions, you might consider taking profits.
Options Trading: Volatility is paramount for options. This tool helps you visualize the expected range of movement, which can inform decisions on strike selection for strategies like iron condors or straddles.
Identifying Volatility Regimes: Quickly see if the current day is a "normal" low-volatility day or an "abnormal" high-volatility day that could signal a major market event or trend initiation.
Dashboard Breakdown
→ (Arrow): Points to the bin corresponding to the current, live day's amplitude.
Amplitude Level: The minimum amplitude threshold. The format "≥ 1.5%" means "greater than or equal to 1.5%".
Days Reaching Level: The raw number of historical days that had an amplitude equal to or greater than the level in the first column.
Prob. of Reaching Level (%): The percentage of total days that reached that amplitude level (Days Reaching Level / Total Days Analyzed).
Settings
Position: Choose where the dashboard appears on your chart.
Text Size: Adjust the font size for better readability on your screen resolution.
Max Historical Days to Analyze: Set the lookback period for the statistical analysis. A larger number provides a more robust statistical sample but may take slightly longer to load initially.
Enjoy this tool and use it to add a new layer of statistical depth to your trading analysis.
Auto-Fit Growth Trendline# **Theoretical Algorithmic Principles of the Auto-Fit Growth Trendline (AFGT)**
## **🎯 What Does This Algorithm Do?**
The Auto-Fit Growth Trendline is an advanced technical analysis system that **automates the identification of long-term growth trends** and **projects future price levels** based on historical cyclical patterns.
### **Primary Functionality:**
- **Automatically detects** the most significant lows in regular periods (monthly, quarterly, semi-annually, annually)
- **Constructs a dynamic trendline** that connects these historical lows
- **Projects the trend into the future** with high mathematical precision
- **Generates Fibonacci bands** that act as dynamic support and resistance levels
- **Automatically adapts** to different timeframes and market conditions
### **Strategic Purpose:**
The algorithm is designed to identify **fundamental value zones** where price has historically found support, enabling traders to:
- Identify optimal entry points for long positions
- Establish realistic price targets based on mathematical projections
- Recognize dynamic support and resistance levels
- Anticipate long-term price movements
---
## **🧮 Core Mathematical Foundations**
### **Adaptive Temporal Segmentation Theory**
The algorithm is based on **dynamic temporal partition theory**, where time is divided into mathematically coherent uniform intervals. It uses modular transformations to create bijective mappings between continuous timestamps and discrete periods, ensuring each temporal point belongs uniquely to a specific period.
**What does this achieve?** It allows the algorithm to automatically identify natural market cycles (annual, quarterly, etc.) without manual intervention, adapting to the inherent periodicity of each asset.
The temporal mapping function implements a **discrete affine transformation** that normalizes different frequencies (monthly, quarterly, semi-annual, annual) to a space of unique identifiers, enabling consistent cross-temporal comparative analysis.
---
## **📊 Local Extrema Detection Theory**
### **Multi-Point Retrospective Validation Principle**
Local minima detection is founded on **relative extrema theory with sliding window**. Instead of using a simple minimum finder, it implements a cross-validation system that examines the persistence of the extremum across multiple historical periods.
**What problem does this solve?** It eliminates false minima caused by temporal volatility, identifying only those points that represent true historical support levels with statistical significance.
This approach is based on the **statistical confirmation principle**, where a minimum is only considered valid if it maintains its extremum condition during a defined observation period, significantly reducing false positives caused by transitory volatility.
---
## **🔬 Robust Interpolation Theory with Outlier Control**
### **Contextual Adaptive Interpolation Model**
The mathematical core uses **piecewise linear interpolation with adaptive outlier correction**. The key innovation lies in implementing a **contextual anomaly detector** that identifies not only absolute extreme values, but relative deviations to the local context.
**Why is this important?** Financial markets contain extreme events (crashes, bubbles) that can distort projections. This system identifies and appropriately weights them without completely eliminating them, preserving directional information while attenuating distortions.
### **Implicit Bayesian Smoothing Algorithm**
When an outlier is detected (deviation >300% of local average), the system applies a **simplified Kalman filter** that combines the current observation with a local trend estimation, using a weight factor that preserves directional information while attenuating extreme fluctuations.
---
## **📈 Stabilized Extrapolation Theory**
### **Exponential Growth Model with Dampening**
Extrapolation is based on a **modified exponential growth model with progressive dampening**. It uses multiple historical points to calculate local growth ratios, implements statistical filtering to eliminate outliers, and applies a dampening factor that increases with extrapolation distance.
**What advantage does this offer?** Long-term projections in finance tend to be exponentially unrealistic. This system maintains short-to-medium term accuracy while converging toward realistic long-term projections, avoiding the typical "exponential explosions" of other methods.
### **Asymptotic Convergence Principle**
For long-term projections, the algorithm implements **controlled asymptotic convergence**, where growth ratios gradually converge toward pre-established limits, avoiding unrealistic exponential projections while preserving short-to-medium term accuracy.
---
## **🌟 Dynamic Fibonacci Projection Theory**
### **Continuous Proportional Scaling Model**
Fibonacci bands are constructed through **uniform proportional scaling** of the base curve, where each level represents a linear transformation of the main curve by a constant factor derived from the Fibonacci sequence.
**What is its practical utility?** It provides dynamic resistance and support levels that move with the trend, offering price targets and profit-taking points that automatically adapt to market evolution.
### **Topological Preservation Principle**
The system maintains the **topological properties** of the base curve in all Fibonacci projections, ensuring that spatial and temporal relationships are consistently preserved across all resistance/support levels.
---
## **⚡ Adaptive Computational Optimization**
### **Multi-Scale Resolution Theory**
It implements **automatic multi-resolution analysis** where data granularity is dynamically adjusted according to the analysis timeframe. It uses the **adaptive Nyquist principle** to optimize the signal-to-noise ratio according to the temporal observation scale.
**Why is this necessary?** Different timeframes require different levels of detail. A 1-minute chart needs more granularity than a monthly one. This system automatically optimizes resolution for each case.
### **Adaptive Density Algorithm**
Calculation point density is optimized through **adaptive sampling theory**, where calculation frequency is adjusted according to local trend curvature and analysis timeframe, balancing visual precision with computational efficiency.
---
## **🛡️ Robustness and Fault Tolerance**
### **Graceful Degradation Theory**
The system implements **multi-level graceful degradation**, where under error conditions or insufficient data, the algorithm progressively falls back to simpler but reliable methods, maintaining basic functionality under any condition.
**What does this guarantee?** That the indicator functions consistently even with incomplete data, new symbols with limited history, or extreme market conditions.
### **State Consistency Principle**
It uses **mathematical invariants** to guarantee that the algorithm's internal state remains consistent between executions, implementing consistency checks that validate data structure integrity in each iteration.
---
## **🔍 Key Theoretical Innovations**
### **A. Contextual vs. Absolute Outlier Detection**
It revolutionizes traditional outlier detection by considering not only the absolute magnitude of deviations, but their relative significance within the local context of the time series.
**Practical impact:** It distinguishes between legitimate market movements and technical anomalies, preserving important events like breakouts while filtering noise.
### **B. Extrapolation with Weighted Historical Memory**
It implements a memory system that weights different historical periods according to their relevance for current prediction, creating projections more adaptable to market regime changes.
**Competitive advantage:** It automatically adapts to fundamental changes in asset dynamics without requiring manual recalibration.
### **C. Automatic Multi-Timeframe Adaptation**
It develops an automatic temporal resolution selection system that optimizes signal extraction according to the intrinsic characteristics of the analysis timeframe.
**Result:** A single indicator that functions optimally from 1-minute to monthly charts without manual adjustments.
### **D. Intelligent Asymptotic Convergence**
It introduces the concept of controlled asymptotic convergence in financial extrapolations, where long-term projections converge toward realistic limits based on historical fundamentals.
**Added value:** Mathematically sound long-term projections that avoid the unrealistic extremes typical of other extrapolation methods.
---
## **📊 Complexity and Scalability Theory**
### **Optimized Linear Complexity Model**
The algorithm maintains **linear computational complexity** O(n) in the number of historical data points, guaranteeing scalability for extensive time series analysis without performance degradation.
### **Temporal Locality Principle**
It implements **temporal locality**, where the most expensive operations are concentrated in the most relevant temporal regions (recent periods and near projections), optimizing computational resource usage.
---
## **🎯 Convergence and Stability**
### **Probabilistic Convergence Theory**
The system guarantees **probabilistic convergence** toward the real underlying trend, where projection accuracy increases with the amount of available historical data, following **law of large numbers** principles.
**Practical implication:** The more history an asset has, the more accurate the algorithm's projections will be.
### **Guaranteed Numerical Stability**
It implements **intrinsic numerical stability** through the use of robust floating-point arithmetic and validations that prevent overflow, underflow, and numerical error propagation.
**Result:** Reliable operation even with extreme-priced assets (from satoshis to thousand-dollar stocks).
---
## **💼 Comprehensive Practical Application**
**The algorithm functions as a "financial GPS"** that:
1. **Identifies where we've been** (significant historical lows)
2. **Determines where we are** (current position relative to the trend)
3. **Projects where we're going** (future trend with specific price levels)
4. **Provides alternative routes** (Fibonacci bands as alternative targets)
This theoretical framework represents an innovative synthesis of time series analysis, approximation theory, and computational optimization, specifically designed for long-term financial trend analysis with robust and mathematically grounded projections.
Chart-Only Scanner — Pro Table v2.5.1Chart-Only Scanner — Pro Table v2.5
User Manual (Pine Script v6)
What this tool does (in one line)
A compact, on-chart table that scores the current chart symbol (or an optional override) using momentum, volume, trend, volatility, and pattern checks—so you can quickly decide UP, DOWN, or WAIT.
Quick Start (90 seconds)
Add the indicator to any chart and timeframe (1m…1M).
Leave “Override chart symbol” = OFF to auto-use the chart’s symbol.
Choose your layout:
Row (wide horizontal strip), or Grid (title + labeled cells).
Pick a size preset (Micro, Small, Medium, Large, Mobile).
Optional: turn on “Use Higher TF (EMA 20/50)” and set HTF Multiplier (e.g., 4 ⇒ if chart is 15m, HTF is 60m).
Watch the table:
DIR (↑/↓/→), ROC%, MOM, VOL, EMA stack, HTF, REV, SCORE, ACT.
Add an alert if you want: the script fires when |SCORE| ≥ Action threshold.
What to expect
A small table appears on the chart corner you choose, updating each bar (or only at bar close if you keep default smart-update).
The ACT cell shows 🔥 (strong), 👀 (medium), or ⏳ (weak).
Panels & Settings (every option explained)
Core
Momentum Period: Lookback for rate-of-change (ROC%). Shorter = more reactive; longer = smoother.
ROC% Threshold: Minimum absolute ROC% to call direction UP (↑) or DOWN (↓); otherwise →.
Require Volume Confirmation: If ON and VOL ≤ 1.0, the SCORE is forced to 0 (prevents low-volume false positives).
Override chart symbol + Custom symbol: By default, the indicator uses the chart’s symbol. Turn this ON to lock to a specific ticker (e.g., a perpetual).
Higher TF
Use Higher TF (EMA 20/50): Compares EMA20 vs EMA50 on a higher timeframe.
HTF Multiplier: Higher TF = (chart TF × multiplier).
Example: on 3H chart with multiplier 2 ⇒ HTF = 6H.
Volatility & Oscillators
ATR Length: Used to show ATR% (ATR relative to price).
RSI Length: Standard RSI; colors: green ≤30 (oversold), red ≥70 (overbought).
Stoch %K Length: With %D = SMA(%K, 3).
MACD Fast/Slow/Signal: Standard MACD values; we display Line, Signal, Histogram (L/S/H).
ADX Length (Wilder): Wilder’s smoothing (internal derivation); also shows +DI / −DI if you enable the ADX column.
EMAs / Trend
EMA Fast/Mid/Slow: We compute EMA(20/50/200) by default (editable).
EMA Stack: Bull if Fast > Mid > Slow; Bear if Fast < Mid < Slow; Flat otherwise.
Benchmark (optional, OFF by default)
Show Relative Strength vs Benchmark: Displays RS% = ROC(symbol) − ROC(benchmark) over the Momentum Period.
Benchmark Symbol: Ticker used for comparison (e.g., BTCUSDT as a market proxy).
Columns (show/hide)
Toggle which fields appear in the table. Hiding unused fields keeps the layout clean (especially on mobile).
Display
Layout Mode:
Row = a single two-row strip; each column is a metric.
Grid = a title row plus labeled pairs (label/value) arranged in rows.
Size Preset: Micro, Small, Medium, Large, Mobile change text size and the grid density.
Table Corner: Where the panel sits (e.g., Top Right).
Opaque Table Background: ON = dark card; OFF = transparent(ish).
Update Every Bar: ON = update intra-bar; OFF = smart update (last bar / real-time / confirmed history).
Action threshold (|score|): The cutoff for 🔥 and alert firing (default 70).
How to read each field
CHART: The active symbol name (or your custom override).
DIR: ↑ (ROC% > threshold), ↓ (ROC% < −threshold), → otherwise.
ROC%: Rate of change over Momentum Period.
Formula: (Close − Close ) / Close × 100.
MOM: A scaled momentum score: min(100, |ROC%| × 10).
VOL: Volume ratio vs 20-bar SMA: Volume / SMA(Volume,20).
1.5 highlights as yellow (significant participation).
ATR%: (ATR / Close) × 100 (volatility relative to price).
RSI: Colored for extremes: ≤30 green, ≥70 red.
Stoch K/D: %K and %D numbers.
MACD L/S/H: Line, Signal, Histogram. Histogram color reflects sign (green > 0, red < 0).
ADX, +DI, −DI: Trend strength and directional components (Wilder). ADX ≥ 25 is highlighted.
EMA 20/50/200: Current EMA values (editable lengths).
STACK: Bull/Bear/Flat as defined above.
VWAP%: (Close − VWAP) / Close × 100 (premium/discount to VWAP).
HTF: ▲ if HTF EMA20 > EMA50; ▼ if <; · if flat/off.
RS%: Symbol’s ROC% − Benchmark ROC% (positive = outperforming).
REV (reversal):
🟢 Eng/Pin = bullish engulfing or bullish pin detected,
🔴 Eng/Pin = bearish engulfing or bearish pin,
· = none.
SCORE (absolute shown as a number; sign shown via DIR and ACT):
Components:
base = MOM × 0.4
volBonus = VOL > 1.5 ? 20 : VOL × 13.33
htfBonus = use_mtf ? (HTF == DIR ? 30 : HTF == 0 ? 15 : 0) : 0
trendBonus = (STACK == DIR) ? 10 : 0
macdBonus = 0 (placeholder for future versions)
scoreRaw = base + volBonus + htfBonus + trendBonus + macdBonus
SCORE = DIR ≥ 0 ? scoreRaw : −scoreRaw
If Require Volume Confirmation and VOL ≤ 1.0 ⇒ SCORE = 0.
ACT:
🔥 if |SCORE| ≥ threshold
👀 if 50 < |SCORE| < threshold
⏳ otherwise
Practical examples
Strong long (trend + participation)
DIR = ↑, ROC% = +3.2, MOM ≈ 32, VOL = 1.9, STACK = Bull, HTF = ▲, REV = 🟢
SCORE: base(12.8) + volBonus(20) + htfBonus(30) + trend(10) ≈ 73 → ACT = 🔥
Action idea: look for longs on pullbacks; confirm risk with ATR%.
Weak long (no volume)
DIR = ↑, ROC% = +1.0, but VOL = 0.8 and Require Volume Confirmation = ON
SCORE forced to 0 → ACT = ⏳
Action: wait for volume > 1.0 or turn off confirmation knowingly.
Bearish reversal warning
DIR = →, REV = 🔴 (bearish engulfing), RSI = 68, HTF = ▼
SCORE may be mid-range; ACT = 👀
Action: watch for breakdown and rising VOL.
Alerts (how to use)
The script calls alert() whenever |SCORE| ≥ Action threshold.
To receive pop-ups, sounds, or emails: click “⏰ Alerts” in TradingView, choose this indicator, and pick “Any alert() function call.”
The alert message includes: symbol, |SCORE|, DIR.
Layout, Size, and Corner tips
Row is best when you want a compact status ribbon across the top.
Grid is clearer on big screens or when you enable many columns.
Size:
Mobile = one pair per row (tall, readable)
Micro/Small = dense; good for many fields
Large = presentation/screenshots
Corner: If the table overlaps price, change the corner or set Opaque Background = OFF.
Repaint & timeframe behavior
Default smart update prefers stability (last bar / live / confirmed history).
For a stricter, “close-only” behavior (less repaint): turn Update Every Bar = OFF and avoid Heikin Ashi when you want raw market OHLC (HA modifies price inputs).
HTF logic is derived from a clean, integer multiple of your chart timeframe (via multiplier). It works with 3H/4H and any TF.
Performance notes
The script analyzes one symbol (chart or override) with multiple metrics using efficient tuple requests.
If you later want a multi-symbol grid, do it with pages (10–15 per page + rotate) to stay within platform limits (recommended future add-on).
Troubleshooting
No table visible
Ensure the indicator is added and not hidden.
Try toggling Opaque Background or switch Corner (it might be behind other drawings).
Keep Columns count reasonable for the chosen Size.
If you turned ON Override, verify the Custom symbol exists on your data provider.
Numbers look different on HA candles
Heikin Ashi modifies OHLC; switch to regular candles if you need raw price metrics.
3H/4H issues
Use integer HTF Multiplier (e.g., 2, 4). The tool builds the correct string internally; no manual timeframe strings needed.
Power user tips
Volume gating: keeping Require Volume Confirmation = ON filters most fake moves; if you’re a scalper, reduce strictness or turn it off.
Action threshold: 60–80 is typical. Higher = fewer but stronger signals.
Benchmark RS%: great for spotting leaders/laggards; positive RS% = outperformance vs benchmark.
Change policy & safety
This version doesn’t alter your historical logic you tested (no radical changes).
Any future “radical” change (score weights, HTF logic, UI hiding data) will ship with a toggle and an Impact Statement so you can keep old behavior if you prefer.
Glossary (quick)
ROC%: Percent change over N bars.
MOM: Scaled momentum (0–100).
VOL ratio: Volume vs 20-bar average.
ATR%: ATR as % of price.
ADX/DI: Trend strength / direction components (Wilder).
EMA stack: Relationship between EMAs (bullish/bearish/flat).
VWAP%: Premium/discount to VWAP.
RS%: Relative strength vs benchmark.
Institution Accumulation/DistributionLeveraging the Williams%R oscillator, the script has been optimized to pick out key turning point in the market specifically at Resistance (Overbought) or Support (Oversold)
The algo has been programmed to print both buy and sell alerts at extremes/when conditions flip eg a long position will be closed simultaneously opening a short position above resistance.
Best used as a scalping tool targeting 30m and below works well with currency pairs
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! 🚀
Volume Rotor Clock [hapharmonic]🕰️ Volume Rotor Clock
The Volume Rotor Clock is an indicator that separates buy and sell volume, compiling these volumes over a recent number of bars or a specified past period, as defined by the user. This helps to reveal accumulation (buying) or distribution (selling) behavior, showing which side has superior volume. With its unique and beautiful display, the Volume Rotor Clock is more than just a timepiece; it's a dynamic dashboard that visualizes the buying and selling pressure of your favorite symbols, all wrapped in an elegant and fully customizable interface.
Instead of just tracking price, this indicator focuses on the engine behind the movement: volume. It helps you instantly identify which assets are under accumulation (buying) and which are under distribution (selling).
---
🎨 20 Pre-configured Templates
---
🧐 Interpreting the Clock Display
The interface is designed to give you multiple layers of information at a glance. Let's break down what each part represents.
1. The Main Clock Hands (Current Chart Symbol)
The clock hands—hour, minute, and second—are dedicated to the symbol on your current active chart .
Minute Hand: Displays the base currency of the current symbol (e.g., USDT, USD) at its tip.
Hour Hand: Displays the percentage of the winning volume side (buy vs. sell) at its tip.
Color Gauge: The color of the text characters at the tip of both the hour and minute hands acts as your primary volume gauge for the current symbol.
If buy volume is dominant , the text will be green .
If sell volume is dominant , the text will be red .
Tooltip: Hovering your mouse over the text at the tip of the hour or minute or other spherical elements hand will reveal a detailed tooltip with the precise Buy Volume, Sell Volume, Total Volume, Buy %, and Sell % for the current chart's symbol.
2. The Volume Scanner: Bulls & Bears (Symbols Inside the Clock) 🐂🐻
The circular symbols scattered inside the clock face are your multi-symbol volume scanner. They represent the assets you've selected in the indicator's settings.
Green Circles (Bulls - Upper Half): These represent symbols from your list where the total buy volume is greater than the total sell volume over the defined "Lookback" period. They are considered to be under bullish accumulation. The size of the circle and its text grows larger as the buy percentage becomes more dominant. The percentage shown within the circle represents the buy volume's share of the total volume, calculated over the 'Lookback (Bars)' you've set.
Red Circles (Bears - Lower Half): These represent symbols where the total sell volume is greater than the total buy volume. They are considered to be under bearish distribution or selling pressure. The size of the circle indicates the dominance of the sell-side volume. The percentage shown within the circle represents the sell volume's share of the total volume, calculated over the 'Lookback (Bars)' you've set.
3. The Bullish Watchlist (Symbols Above the Clock) ⭐
The symbols arranged neatly along the top edge of the clock are the "best of the bulls." They are symbols that are not only bullish but have also passed an additional, powerful strength filter.
What it Means: A symbol appears here when it shows signs of sustained, high-volume buying interest . It's a way to filter out noise and focus on assets with potentially significant accumulation phases.
The Filter Logic: For a bullish symbol (where total buy volume > total sell volume) to be promoted to the watchlist, its trading volume must meet specific criteria based on this formula:
ta.barssince(not(volume > ta.sma(volume, X))) >= Y
In plain English, this means: The indicator checks how many consecutive bars the `volume` has been greater than its `X`-bar Simple Moving Average (`ta.sma(volume, X)`). If this count is greater than or equal to `Y` bars, the condition is met.
(You can configure `X` (Volume MA Length) and `Y` (Consecutive Days Above MA) in the settings.)
Why it's Useful: This filter is powerful because it looks for consistency . A single spike in volume can be an anomaly. However, when an asset's volume remains consistently above its recent average for several consecutive days, it strongly suggests that larger players or a significant portion of the market are actively accumulating the asset. This sustained interest can often precede a significant upward price trend.
---
⚙️ Indicator Settings Explained
The Volume Rotor Clock is highly customizable. Here’s a detailed walkthrough of every setting available in the "Inputs" tab.
🎨 Color Scheme
This group allows you to control the entire aesthetic of the clock.
Template: Choose from a wide variety of professionally designed color themes.
Use Template: A simple checkbox to switch between using a pre-designed theme and creating your own.
`Checked`: You can select a theme from the dropdown menu, which offers 20 unique templates like "Cyberpunk Neon" or "Forest Green". All custom color settings below will be disabled (grayed out and unclickable).
`Unchecked`: The template dropdown is disabled, and you gain full control over every color element in the sections below.
🖌️ Custom Appearance & Colors
These settings are only active when "Use Template" is unchecked.
Flame Head / Tail: Sets the start and end colors for the dynamic flame effect that traces the clock's border, representing the second hand.
Numbers / Main Numbers: Customize the color of the regular hour numbers (1, 2, 4, 5...) and the main cardinal numbers (3, 6, 9, 12).
Sunburst Colors (1-6): Controls the six colors used in the gradient background for the "sunburst" effect inside the clock face.
Hands & Digital: Fine-tune the colors for the Hour/Minute Hand, Second Hand, central Pivot point, and the digital time display.
Chain Color / Width: Customize the appearance of the two chains holding the clock.
📡 Volume Scanner
Control the behavior of the multi-symbol scanner.
Show Scanner Labels: A master switch to show or hide all the bull/bear symbol circles inside the clock.
Lookback (Bars): A crucial setting that defines the calculation period for buy/sell volume for all scanned symbols. The calculation is a sum over the specified number of recent bars.
`0`: Calculates using the current bar only .
`7`: Calculates the sum of volume over the last 8 bars (the current bar + 7 historical bars).
Symbols List: Here you can enable/disable up to 20 slots and input the ticker for each symbol you want to scan (e.g., BINANCE:BTCUSDT , NASDAQ:AAPL ).
⭐ Bullish Watchlist Filter
Configure the criteria for the elite watchlist symbols displayed above the clock.
Enable Watchlist: A master switch to turn the entire watchlist feature on or off.
Volume MA Length: Sets the lookback period `(X)` for the Simple Moving Average of volume used in the filter.
Consecutive Days Above MA: Sets the minimum number of consecutive days `(Y)` that volume must close above its MA to qualify.
Symbols Per Row: Determines the maximum number of watchlist symbols that can fit in a single row before a new row is created above it.
Background / Text Color: When not using a template, you can set custom colors for the watchlist symbols' background and text.
📏 Position & Size
Adjust the clock's placement and dimensions on your chart.
Clock Timezone: Sets the timezone for the digital and analog time display. You can use standard formats like "America/New_York" or enter "Exchange" to sync with the chart's timezone.
Radius (Bars): Controls the overall size of the clock. The radius is measured in terms of the number of bars on the x-axis.
X Offset (Bars): Moves the entire clock horizontally. Positive values shift it to the right; negative values shift it to the left.
Y Offset (Price %): Moves the entire clock vertically as a percentage of your screen's price pane. Positive values move it up; negative values move it down.
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 :) )
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! 🚀
Savages Supply and Demand LevelsThis supply and demand indicator in my opinion is one of the best S&D indicators on trading view. It is clean, organized and just simple. I have spent thousands of hours determining the best and most reliable ways to identify supply and demand, on every time frame! I am going to explain exactly what I look for.
When looking for a supply level meaning, there is potential for more supply of the following stock to hit the marker, what does that mean? People are going to sell. SO, it represents possible sell ordered at that supply level. So lets get into the grit of this, there are two candles that form when a supply level is formed. The first candle needs to be green, it will have a high, a low , an open and a close. The specifics come into play with the next candle which needs to be red, that candle can NOT break the previous green candles high, and needs to close below the previous candles low. THATS IT! That is a supply level. Now, for a demand level, its the same thing just switched, we need a red candle, that will have a high,low, open and a close. Same thing now, the next candle is going to be green, that green candle can NOT break that previous red candles low and needs to close above that previous red candles high. THATS A DEMAND!
I have spent countless hours back testing and studying this, I am extremely confident that this will be a game changer for whoever uses this. I have marked different types of opening and closes and highs and lows and this specific type of setup has worked countless times for me, the only time it will not work is when there is a liquidity sweep or some sort of news where it causes the price action to swing several points. Also do not use only one time frame and only this indicator, try to use some fair value gap levels and break of structure indicators, there are really good ones on here. I have also built the indicator to get rid of supply and demand levels that have already been hit so you always have a clean and fresh supply and demand level that has not been eaten into yet. I also threw some clean labels on there so it is easy to identify. So once price action hits that supply or demand level, it goes away, it either worked or it gets invalidated.
I hope you enjoy!
Not financial advice
-Savage
Adaptive Candle Signals█ OVERVIEW
The Adaptive Candle Signals indicator is a Pine Script® tool designed to identify key candlestick patterns on the chart, such as Bullish Engulfing, Bearish Engulfing, Piercing Line, Dark Cloud Cover, Morning Star, Evening Star, Three White Soldiers, Three Black Crows, and Three Inside Up/Down. The indicator allows customization of settings, including a Moving Average (MA) filter, candle size control, and maximum wick percentage, enabling precise adaptation to various trading strategies. Signals are displayed as labels on the chart, and each pattern can trigger alerts for user convenience.
█ CONCEPTS
The indicator is designed with flexibility and readability in mind. Its main features include:
Features
Signal Filtering: Enables the use of a Moving Average (MA) filter to confirm signals based on trend direction. Bullish signals are generated when the price is above the MA, and bearish signals when below.
Pattern Customization: Users can enable or disable individual candlestick patterns and adjust their parameters, such as maximum wick percentage or candle size multiplier. The candle size multiplier applies to the largest candle in the pattern and determines its minimum size relative to the average candle body size over a specified volatility period.
Labels and Colors: Signals are displayed as clear labels with customizable colors for bullish and bearish patterns.
Alerts: Each pattern has a dedicated alert function, facilitating integration with automated trading strategies.
List of Patterns
The indicator recognizes the following candlestick patterns (labels displayed in parentheses):
Bullish Engulfing (BE): Signals a potential upward reversal after a downtrend.
Bearish Engulfing (BE): Indicates a possible downward reversal after an uptrend.
Piercing Line (PL): A bullish pattern suggesting a bounce from support.
Dark Cloud Cover (DC): A bearish pattern indicating a potential downward reversal.
Morning Star (MS): A three-candle bullish pattern signaling an upward reversal.
Evening Star (ES): A three-candle bearish pattern indicating a downward reversal.
Three White Soldiers (3WS): A strong bullish signal based on three large bullish candles.
Three Black Crows (3BC): A strong bearish signal based on three large bearish candles.
Three Inside Up/Down (3Up/3Dn): Patterns indicating trend reversal based on an inside bar structure.
Settings
Settings are organized as follows:
MA Filter: Allows enabling a Moving Average (SMA, EMA, WMA) to filter signals based on trend direction.
Pattern Parameters: Each pattern has its own settings, such as volatility period, candle size multiplier, and maximum wick percentage. The size of the largest candle in the pattern is compared to the average candle body size over the specified volatility period.
Colors and Labels: Users can customize label colors and their distance from candles to improve readability.
█ SETTINGS
Detailed description of the indicator’s settings:
MA Filter:
Use MA Filter: Enables/disables the Moving Average filter.
MA Length: Specifies the period of the Moving Average (default: 50).
MA Type: Choose between SMA, EMA, or WMA.
MA Source: Select the data source (default: close price).
Pattern Settings:
Enable Pattern: Checkbox for each pattern (e.g., Bullish Engulfing, Morning Star).
Maximum Wick Percentage: Defines the maximum allowable wick size as a percentage of the candle body.
Big Candle Filter: Enables/disables checking if the largest candle in the pattern is larger than the average over the specified volatility period.
Volatility Period: Sets the period for calculating the average candle body size.
Candle Multiplier: Multiplier determining the minimum size of the largest candle in the pattern relative to the average candle body size over the specified volatility period.
Appearance:
Signal Text Color: Color of the label text (default: white).
Bullish Label Color: Color for bullish signals (default: green).
Bearish Label Color: Color for bearish signals (default: red).
Label Offset Factor: Controls the distance of labels from candles (from 0.0 to 1.0).
█ HOW TO USE
Add the indicator to your TradingView chart.
Configure the settings in the indicator’s dialog box:
Enable desired candlestick patterns.
Adjust the MA filter parameters to restrict signals to the trend.
Set colors and label offset for better readability.
Enable alerts for selected patterns to receive real-time notifications.
Monitor the labels on the chart and use them alongside other technical analysis tools.
█ LIMITATIONS
The indicator relies on historical price data and may produce false signals in volatile market conditions.
The big candle filter may be less effective on charts with low volatility.
The indicator performs best when combined with other analysis methods, such as support and resistance levels.
Multi - Timeframe 3 EMA Bull/Bear Table此指标是一个图标指标,适用于短线交易以及中线交易,它明确的显示出来了用EMA来表示方向指示,1分钟不可使用,此图表更新了多次以及修改了多次,在实际回测中有明显的提醒作用,不过多用于参考,不可作为主要指标使用,代码稍复杂如有加以改进的地方请提出,其中核心使用了EMA的20,50,200周期来作为参考,目的是能识别多周期和时间的方向指示,注意:此指标建议仅用于方向参考,不用于主要指标交易。
This indicator is a graphical indicator suitable for short-term and medium-term trading. It clearly shows the direction indicated by the EMA. It cannot be used for 1-minute intervals. This chart has been updated and modified multiple times, and it has a significant alerting effect in actual backtesting; however, it is mainly for reference and should not be used as the primary indicator. The code is somewhat complex, so please suggest improvements if there are any. The core uses the 20, 50, and 200 EMA periods as references, with the aim of identifying the direction indicators across multiple periods and timeframes. Note: This indicator is recommended only for directional reference and not for main indicator trading.
ADR/ATR Session No Probability Table by LKHere you go—clear, English docs you can drop into your script’s description or share with teammates.
ADR/ATR Session by LK — Overview
This indicator summarizes Average Daily Range (ADR) and Average True Range (ATR) for two horizons:
• Session H4 (e.g., 06:00–13:00 on a 4‑hour chart)
• Daily (D)
It shows:
• Current ADR/ATR values (using your chosen smoothing method)
• How much of ADR/ATR today/this bar has already been consumed (% of ADR/ATR)
• ADR/ATR as a percent of price
• Optional probability blocks: likelihood that %ADR will exceed user‑defined thresholds over a lookback window
• Optional on‑chart lines for the current H4 and Daily candles: Open, ADR High, ADR Low
⸻
What the metrics mean
• ADR (H4 / D): Moving average of the bar range (high - low).
• ATR (H4 / D): Moving average of True Range (max(hi-lo, |hi-close |, |lo-close |)).
• % of ADR (curr H4): (H4 range of the current H4 bar) / ADR(H4) × 100. Updates live even if the current time is outside the session.
• % of ADR (Daily): (today’s intra‑day range) / ADR(D) × 100.
• % of ATR (curr H4 / Daily): TR / ATR × 100 for that horizon.
• ADR % of Price / ATR % of Price: ADR or ATR divided by current price × 100 (a quick “volatility vs. price” gauge).
Session logic (H4): ADR/ATR(H4) only update on bars that fall inside the configured session window; outside the window the values hold steady (no recalculation “bleed”).
Daily range tracking: The indicator tracks today’s high/low in real‑time and resets at the day change.
⸻
Inputs (quick reference)
Core
• Length (ADR/ATR): smoothing length for ADR/ATR (default 21).
• Wait for Higher TF Bar Close: if true, updates ADR/ATR only after the higher‑TF bar closes when using request.security.
Timeframes
• Session Timeframe (H4): default 240.
• Daily Timeframe: default D.
Session time
• Session Timezone: “Chart” (default) or a fixed timezone.
• Session Start Hour, End Hour (minutes are fixed to 0 in this version).
Smoothing methods
• H4 ADR Method / H4 ATR Method: SMA/EMA/RMA/WMA.
• Daily ADR Method / Daily ATR Method: SMA/EMA/RMA/WMA.
Table appearance
• Table BG, Table Text, Table Font Size.
Lines (optional)
• Show current H4 segments, Show current Daily segments
• Line colors for Open / ADR High / ADR Low
• Line width
Probability
• H4 Probability Lookback (bars): number of H4 bars to examine (e.g., 300).
• Daily Probability Lookback (days): number of D bars (e.g., 180).
• ADR thresholds (%): CSV list of thresholds (e.g., 25,50,55,60,65,70,75,80,85,90,95,100,125,150).
The table will show the % of lookback bars where %ADR ≥ threshold.
Tip: If you want probabilities only for session H4 bars (not every H4 bar), ask and I can add a toggle to filter by inSess.
⸻
How to read the table
H4 block
• ADR (method) / ATR (method): the session‑aware averages.
• % of ADR (curr H4): live progress of this H4 bar toward the session ADR.
• ADR % of Price: ADR(H4) relative to price.
• % of ATR (curr H4) and ATR % of Price: same idea for ATR.
H4 Probability (lookback N bars)
• Rows like “≥ 80% ADR” show the fraction (in %) of the last N H4 bars that reached at least 80% of ADR(H4).
Daily block
• Mirrors the H4 block, but for Daily.
Daily Probability (lookback M days)
• Rows like “≥ 100% ADR” show the fraction of the last M daily bars whose daily range reached at least 100% of ADR(D).
⸻
Practical usage
• Use % of ADR (curr H4 / Daily) to judge exhaustion or room left in the day/session.
E.g., if Daily %ADR is already 95%, be cautious with momentum continuation trades.
• The probability tables give a quick historical context:
If “≥ 125% ADR” is ~18%, the market rarely stretches that far; your trade sizing/targets can reflect that.
• ADR/ATR % of Price helps normalize volatility between instruments.
⸻
Troubleshooting
• If probability rows are blank: ensure lookback windows are large enough (and that the chart has enough history).
• If ADR/ATR show … (NA): usually you don’t have enough bars for the chosen length/TF yet.
• If line segments are missing: verify you’re on a chart with visible current H4/D bars and the toggles are enabled.
⸻
Notes & customization ideas
• Add a toggle to count only session bars in H4 probability.
• Add separate thresholds for H4 vs Daily.
• Let users pick minutes for session start/end if needed.
• Add alerts when %ADR crosses specified thresholds.
If you want me to bundle any of the “ideas” above into the code, say the word and I’ll ship a clean patch.
Kelly Position Size CalculatorThis position sizing calculator implements the Kelly Criterion, developed by John L. Kelly Jr. at Bell Laboratories in 1956, to determine mathematically optimal position sizes for maximizing long-term wealth growth. Unlike arbitrary position sizing methods, this tool provides a scientifically solution based on your strategy's actual performance statistics and incorporates modern refinements from over six decades of academic research.
The Kelly Criterion addresses a fundamental question in capital allocation: "What fraction of capital should be allocated to each opportunity to maximize growth while avoiding ruin?" This question has profound implications for financial markets, where traders and investors constantly face decisions about optimal capital allocation (Van Tharp, 2007).
Theoretical Foundation
The Kelly Criterion for binary outcomes is expressed as f* = (bp - q) / b, where f* represents the optimal fraction of capital to allocate, b denotes the risk-reward ratio, p indicates the probability of success, and q represents the probability of loss (Kelly, 1956). This formula maximizes the expected logarithm of wealth, ensuring maximum long-term growth rate while avoiding the risk of ruin.
The mathematical elegance of Kelly's approach lies in its derivation from information theory. Kelly's original work was motivated by Claude Shannon's information theory (Shannon, 1948), recognizing that maximizing the logarithm of wealth is equivalent to maximizing the rate of information transmission. This connection between information theory and wealth accumulation provides a deep theoretical foundation for optimal position sizing.
The logarithmic utility function underlying the Kelly Criterion naturally embodies several desirable properties for capital management. It exhibits decreasing marginal utility, penalizes large losses more severely than it rewards equivalent gains, and focuses on geometric rather than arithmetic mean returns, which is appropriate for compounding scenarios (Thorp, 2006).
Scientific Implementation
This calculator extends beyond basic Kelly implementation by incorporating state of the art refinements from academic research:
Parameter Uncertainty Adjustment: Following Michaud (1989), the implementation applies Bayesian shrinkage to account for parameter estimation error inherent in small sample sizes. The adjustment formula f_adjusted = f_kelly × confidence_factor + f_conservative × (1 - confidence_factor) addresses the overconfidence bias documented by Baker and McHale (2012), where the confidence factor increases with sample size and the conservative estimate equals 0.25 (quarter Kelly).
Sample Size Confidence: The reliability of Kelly calculations depends critically on sample size. Research by Browne and Whitt (1996) provides theoretical guidance on minimum sample requirements, suggesting that at least 30 independent observations are necessary for meaningful parameter estimates, with 100 or more trades providing reliable estimates for most trading strategies.
Universal Asset Compatibility: The calculator employs intelligent asset detection using TradingView's built-in symbol information, automatically adapting calculations for different asset classes without manual configuration.
ASSET SPECIFIC IMPLEMENTATION
Equity Markets: For stocks and ETFs, position sizing follows the calculation Shares = floor(Kelly Fraction × Account Size / Share Price). This straightforward approach reflects whole share constraints while accommodating fractional share trading capabilities.
Foreign Exchange Markets: Forex markets require lot-based calculations following Lot Size = Kelly Fraction × Account Size / (100,000 × Base Currency Value). The calculator automatically handles major currency pairs with appropriate pip value calculations, following industry standards described by Archer (2010).
Futures Markets: Futures position sizing accounts for leverage and margin requirements through Contracts = floor(Kelly Fraction × Account Size / Margin Requirement). The calculator estimates margin requirements as a percentage of contract notional value, with specific adjustments for micro-futures contracts that have smaller sizes and reduced margin requirements (Kaufman, 2013).
Index and Commodity Markets: These markets combine characteristics of both equity and futures markets. The calculator automatically detects whether instruments are cash-settled or futures-based, applying appropriate sizing methodologies with correct point value calculations.
Risk Management Integration
The calculator integrates sophisticated risk assessment through two primary modes:
Stop Loss Integration: When fixed stop-loss levels are defined, risk calculation follows Risk per Trade = Position Size × Stop Loss Distance. This ensures that the Kelly fraction accounts for actual risk exposure rather than theoretical maximum loss, with stop-loss distance measured in appropriate units for each asset class.
Strategy Drawdown Assessment: For discretionary exit strategies, risk estimation uses maximum historical drawdown through Risk per Trade = Position Value × (Maximum Drawdown / 100). This approach assumes that individual trade losses will not exceed the strategy's historical maximum drawdown, providing a reasonable estimate for strategies with well-defined risk characteristics.
Fractional Kelly Approaches
Pure Kelly sizing can produce substantial volatility, leading many practitioners to adopt fractional Kelly approaches. MacLean, Sanegre, Zhao, and Ziemba (2004) analyze the trade-offs between growth rate and volatility, demonstrating that half-Kelly typically reduces volatility by approximately 75% while sacrificing only 25% of the growth rate.
The calculator provides three primary Kelly modes to accommodate different risk preferences and experience levels. Full Kelly maximizes growth rate while accepting higher volatility, making it suitable for experienced practitioners with strong risk tolerance and robust capital bases. Half Kelly offers a balanced approach popular among professional traders, providing optimal risk-return balance by reducing volatility significantly while maintaining substantial growth potential. Quarter Kelly implements a conservative approach with low volatility, recommended for risk-averse traders or those new to Kelly methodology who prefer gradual introduction to optimal position sizing principles.
Empirical Validation and Performance
Extensive academic research supports the theoretical advantages of Kelly sizing. Hakansson and Ziemba (1995) provide a comprehensive review of Kelly applications in finance, documenting superior long-term performance across various market conditions and asset classes. Estrada (2008) analyzes Kelly performance in international equity markets, finding that Kelly-based strategies consistently outperform fixed position sizing approaches over extended periods across 19 developed markets over a 30-year period.
Several prominent investment firms have successfully implemented Kelly-based position sizing. Pabrai (2007) documents the application of Kelly principles at Berkshire Hathaway, noting Warren Buffett's concentrated portfolio approach aligns closely with Kelly optimal sizing for high-conviction investments. Quantitative hedge funds, including Renaissance Technologies and AQR, have incorporated Kelly-based risk management into their systematic trading strategies.
Practical Implementation Guidelines
Successful Kelly implementation requires systematic application with attention to several critical factors:
Parameter Estimation: Accurate parameter estimation represents the greatest challenge in practical Kelly implementation. Brown (1976) notes that small errors in probability estimates can lead to significant deviations from optimal performance. The calculator addresses this through Bayesian adjustments and confidence measures.
Sample Size Requirements: Users should begin with conservative fractional Kelly approaches until achieving sufficient historical data. Strategies with fewer than 30 trades may produce unreliable Kelly estimates, regardless of adjustments. Full confidence typically requires 100 or more independent trade observations.
Market Regime Considerations: Parameters that accurately describe historical performance may not reflect future market conditions. Ziemba (2003) recommends regular parameter updates and conservative adjustments when market conditions change significantly.
Professional Features and Customization
The calculator provides comprehensive customization options for professional applications:
Multiple Color Schemes: Eight professional color themes (Gold, EdgeTools, Behavioral, Quant, Ocean, Fire, Matrix, Arctic) with dark and light theme compatibility ensure optimal visibility across different trading environments.
Flexible Display Options: Adjustable table size and position accommodate various chart layouts and user preferences, while maintaining analytical depth and clarity.
Comprehensive Results: The results table presents essential information including asset specifications, strategy statistics, Kelly calculations, sample confidence measures, position values, risk assessments, and final position sizes in appropriate units for each asset class.
Limitations and Considerations
Like any analytical tool, the Kelly Criterion has important limitations that users must understand:
Stationarity Assumption: The Kelly Criterion assumes that historical strategy statistics represent future performance characteristics. Non-stationary market conditions may invalidate this assumption, as noted by Lo and MacKinlay (1999).
Independence Requirement: Each trade should be independent to avoid correlation effects. Many trading strategies exhibit serial correlation in returns, which can affect optimal position sizing and may require adjustments for portfolio applications.
Parameter Sensitivity: Kelly calculations are sensitive to parameter accuracy. Regular calibration and conservative approaches are essential when parameter uncertainty is high.
Transaction Costs: The implementation incorporates user-defined transaction costs but assumes these remain constant across different position sizes and market conditions, following Ziemba (2003).
Advanced Applications and Extensions
Multi-Asset Portfolio Considerations: While this calculator optimizes individual position sizes, portfolio-level applications require additional considerations for correlation effects and aggregate risk management. Simplified portfolio approaches include treating positions independently with correlation adjustments.
Behavioral Factors: Behavioral finance research reveals systematic biases that can interfere with Kelly implementation. Kahneman and Tversky (1979) document loss aversion, overconfidence, and other cognitive biases that lead traders to deviate from optimal strategies. Successful implementation requires disciplined adherence to calculated recommendations.
Time-Varying Parameters: Advanced implementations may incorporate time-varying parameter models that adjust Kelly recommendations based on changing market conditions, though these require sophisticated econometric techniques and substantial computational resources.
Comprehensive Usage Instructions and Practical Examples
Implementation begins with loading the calculator on your desired trading instrument's chart. The system automatically detects asset type across stocks, forex, futures, and cryptocurrency markets while extracting current price information. Navigation to the indicator settings allows input of your specific strategy parameters.
Strategy statistics configuration requires careful attention to several key metrics. The win rate should be calculated from your backtest results using the formula of winning trades divided by total trades multiplied by 100. Average win represents the sum of all profitable trades divided by the number of winning trades, while average loss calculates the sum of all losing trades divided by the number of losing trades, entered as a positive number. The total historical trades parameter requires the complete number of trades in your backtest, with a minimum of 30 trades recommended for basic functionality and 100 or more trades optimal for statistical reliability. Account size should reflect your available trading capital, specifically the risk capital allocated for trading rather than total net worth.
Risk management configuration adapts to your specific trading approach. The stop loss setting should be enabled if you employ fixed stop-loss exits, with the stop loss distance specified in appropriate units depending on the asset class. For stocks, this distance is measured in dollars, for forex in pips, and for futures in ticks. When stop losses are not used, the maximum strategy drawdown percentage from your backtest provides the risk assessment baseline. Kelly mode selection offers three primary approaches: Full Kelly for aggressive growth with higher volatility suitable for experienced practitioners, Half Kelly for balanced risk-return optimization popular among professional traders, and Quarter Kelly for conservative approaches with reduced volatility.
Display customization ensures optimal integration with your trading environment. Eight professional color themes provide optimization for different chart backgrounds and personal preferences. Table position selection allows optimal placement within your chart layout, while table size adjustment ensures readability across different screen resolutions and viewing preferences.
Detailed Practical Examples
Example 1: SPY Swing Trading Strategy
Consider a professionally developed swing trading strategy for SPY (S&P 500 ETF) with backtesting results spanning 166 total trades. The strategy achieved 110 winning trades, representing a 66.3% win rate, with an average winning trade of $2,200 and average losing trade of $862. The maximum drawdown reached 31.4% during the testing period, and the available trading capital amounts to $25,000. This strategy employs discretionary exits without fixed stop losses.
Implementation requires loading the calculator on the SPY daily chart and configuring the parameters accordingly. The win rate input receives 66.3, while average win and loss inputs receive 2200 and 862 respectively. Total historical trades input requires 166, with account size set to 25000. The stop loss function remains disabled due to the discretionary exit approach, with maximum strategy drawdown set to 31.4%. Half Kelly mode provides the optimal balance between growth and risk management for this application.
The calculator generates several key outputs for this scenario. The risk-reward ratio calculates automatically to 2.55, while the Kelly fraction reaches approximately 53% before scientific adjustments. Sample confidence achieves 100% given the 166 trades providing high statistical confidence. The recommended position settles at approximately 27% after Half Kelly and Bayesian adjustment factors. Position value reaches approximately $6,750, translating to 16 shares at a $420 SPY price. Risk per trade amounts to approximately $2,110, representing 31.4% of position value, with expected value per trade reaching approximately $1,466. This recommendation represents the mathematically optimal balance between growth potential and risk management for this specific strategy profile.
Example 2: EURUSD Day Trading with Stop Losses
A high-frequency EURUSD day trading strategy demonstrates different parameter requirements compared to swing trading approaches. This strategy encompasses 89 total trades with a 58% win rate, generating an average winning trade of $180 and average losing trade of $95. The maximum drawdown reached 12% during testing, with available capital of $10,000. The strategy employs fixed stop losses at 25 pips and take profit targets at 45 pips, providing clear risk-reward parameters.
Implementation begins with loading the calculator on the EURUSD 1-hour chart for appropriate timeframe alignment. Parameter configuration includes win rate at 58, average win at 180, and average loss at 95. Total historical trades input receives 89, with account size set to 10000. The stop loss function is enabled with distance set to 25 pips, reflecting the fixed exit strategy. Quarter Kelly mode provides conservative positioning due to the smaller sample size compared to the previous example.
Results demonstrate the impact of smaller sample sizes on Kelly calculations. The risk-reward ratio calculates to 1.89, while the Kelly fraction reaches approximately 32% before adjustments. Sample confidence achieves 89%, providing moderate statistical confidence given the 89 trades. The recommended position settles at approximately 7% after Quarter Kelly application and Bayesian shrinkage adjustment for the smaller sample. Position value amounts to approximately $700, translating to 0.07 standard lots. Risk per trade reaches approximately $175, calculated as 25 pips multiplied by lot size and pip value, with expected value per trade at approximately $49. This conservative position sizing reflects the smaller sample size, with position sizes expected to increase as trade count surpasses 100 and statistical confidence improves.
Example 3: ES1! Futures Systematic Strategy
Systematic futures trading presents unique considerations for Kelly criterion application, as demonstrated by an E-mini S&P 500 futures strategy encompassing 234 total trades. This systematic approach achieved a 45% win rate with an average winning trade of $1,850 and average losing trade of $720. The maximum drawdown reached 18% during the testing period, with available capital of $50,000. The strategy employs 15-tick stop losses with contract specifications of $50 per tick, providing precise risk control mechanisms.
Implementation involves loading the calculator on the ES1! 15-minute chart to align with the systematic trading timeframe. Parameter configuration includes win rate at 45, average win at 1850, and average loss at 720. Total historical trades receives 234, providing robust statistical foundation, with account size set to 50000. The stop loss function is enabled with distance set to 15 ticks, reflecting the systematic exit methodology. Half Kelly mode balances growth potential with appropriate risk management for futures trading.
Results illustrate how favorable risk-reward ratios can support meaningful position sizing despite lower win rates. The risk-reward ratio calculates to 2.57, while the Kelly fraction reaches approximately 16%, lower than previous examples due to the sub-50% win rate. Sample confidence achieves 100% given the 234 trades providing high statistical confidence. The recommended position settles at approximately 8% after Half Kelly adjustment. Estimated margin per contract amounts to approximately $2,500, resulting in a single contract allocation. Position value reaches approximately $2,500, with risk per trade at $750, calculated as 15 ticks multiplied by $50 per tick. Expected value per trade amounts to approximately $508. Despite the lower win rate, the favorable risk-reward ratio supports meaningful position sizing, with single contract allocation reflecting appropriate leverage management for futures trading.
Example 4: MES1! Micro-Futures for Smaller Accounts
Micro-futures contracts provide enhanced accessibility for smaller trading accounts while maintaining identical strategy characteristics. Using the same systematic strategy statistics from the previous example but with available capital of $15,000 and micro-futures specifications of $5 per tick with reduced margin requirements, the implementation demonstrates improved position sizing granularity.
Kelly calculations remain identical to the full-sized contract example, maintaining the same risk-reward dynamics and statistical foundations. However, estimated margin per contract reduces to approximately $250 for micro-contracts, enabling allocation of 4-5 micro-contracts. Position value reaches approximately $1,200, while risk per trade calculates to $75, derived from 15 ticks multiplied by $5 per tick. This granularity advantage provides better position size precision for smaller accounts, enabling more accurate Kelly implementation without requiring large capital commitments.
Example 5: Bitcoin Swing Trading
Cryptocurrency markets present unique challenges requiring modified Kelly application approaches. A Bitcoin swing trading strategy on BTCUSD encompasses 67 total trades with a 71% win rate, generating average winning trades of $3,200 and average losing trades of $1,400. Maximum drawdown reached 28% during testing, with available capital of $30,000. The strategy employs technical analysis for exits without fixed stop losses, relying on price action and momentum indicators.
Implementation requires conservative approaches due to cryptocurrency volatility characteristics. Quarter Kelly mode is recommended despite the high win rate to account for crypto market unpredictability. Expected position sizing remains reduced due to the limited sample size of 67 trades, requiring additional caution until statistical confidence improves. Regular parameter updates are strongly recommended due to cryptocurrency market evolution and changing volatility patterns that can significantly impact strategy performance characteristics.
Advanced Usage Scenarios
Portfolio position sizing requires sophisticated consideration when running multiple strategies simultaneously. Each strategy should have its Kelly fraction calculated independently to maintain mathematical integrity. However, correlation adjustments become necessary when strategies exhibit related performance patterns. Moderately correlated strategies should receive individual position size reductions of 10-20% to account for overlapping risk exposure. Aggregate portfolio risk monitoring ensures total exposure remains within acceptable limits across all active strategies. Professional practitioners often consider using lower fractional Kelly approaches, such as Quarter Kelly, when running multiple strategies simultaneously to provide additional safety margins.
Parameter sensitivity analysis forms a critical component of professional Kelly implementation. Regular validation procedures should include monthly parameter updates using rolling 100-trade windows to capture evolving market conditions while maintaining statistical relevance. Sensitivity testing involves varying win rates by ±5% and average win/loss ratios by ±10% to assess recommendation stability under different parameter assumptions. Out-of-sample validation reserves 20% of historical data for parameter verification, ensuring that optimization doesn't create curve-fitted results. Regime change detection monitors actual performance against expected metrics, triggering parameter reassessment when significant deviations occur.
Risk management integration requires professional overlay considerations beyond pure Kelly calculations. Daily loss limits should cease trading when daily losses exceed twice the calculated risk per trade, preventing emotional decision-making during adverse periods. Maximum position limits should never exceed 25% of account value in any single position regardless of Kelly recommendations, maintaining diversification principles. Correlation monitoring reduces position sizes when holding multiple correlated positions that move together during market stress. Volatility adjustments consider reducing position sizes during periods of elevated VIX above 25 for equity strategies, adapting to changing market conditions.
Troubleshooting and Optimization
Professional implementation often encounters specific challenges requiring systematic troubleshooting approaches. Zero position size displays typically result from insufficient capital for minimum position sizes, negative expected values, or extremely conservative Kelly calculations. Solutions include increasing account size, verifying strategy statistics for accuracy, considering Quarter Kelly mode for conservative approaches, or reassessing overall strategy viability when fundamental issues exist.
Extremely high Kelly fractions exceeding 50% usually indicate underlying problems with parameter estimation. Common causes include unrealistic win rates, inflated risk-reward ratios, or curve-fitted backtest results that don't reflect genuine trading conditions. Solutions require verifying backtest methodology, including all transaction costs in calculations, testing strategies on out-of-sample data, and using conservative fractional Kelly approaches until parameter reliability improves.
Low sample confidence below 50% reflects insufficient historical trades for reliable parameter estimation. This situation demands gathering additional trading data, using Quarter Kelly approaches until reaching 100 or more trades, applying extra conservatism in position sizing, and considering paper trading to build statistical foundations without capital risk.
Inconsistent results across similar strategies often stem from parameter estimation differences, market regime changes, or strategy degradation over time. Professional solutions include standardizing backtest methodology across all strategies, updating parameters regularly to reflect current conditions, and monitoring live performance against expectations to identify deteriorating strategies.
Position sizes that appear inappropriately large or small require careful validation against traditional risk management principles. Professional standards recommend never risking more than 2-3% per trade regardless of Kelly calculations. Calibration should begin with Quarter Kelly approaches, gradually increasing as comfort and confidence develop. Most institutional traders utilize 25-50% of full Kelly recommendations to balance growth with prudent risk management.
Market condition adjustments require dynamic approaches to Kelly implementation. Trending markets may support full Kelly recommendations when directional momentum provides favorable conditions. Ranging or volatile markets typically warrant reducing to Half or Quarter Kelly to account for increased uncertainty. High correlation periods demand reducing individual position sizes when multiple positions move together, concentrating risk exposure. News and event periods often justify temporary position size reductions during high-impact releases that can create unpredictable market movements.
Performance monitoring requires systematic protocols to ensure Kelly implementation remains effective over time. Weekly reviews should compare actual versus expected win rates and average win/loss ratios to identify parameter drift or strategy degradation. Position size efficiency and execution quality monitoring ensures that calculated recommendations translate effectively into actual trading results. Tracking correlation between calculated and realized risk helps identify discrepancies between theoretical and practical risk exposure.
Monthly calibration provides more comprehensive parameter assessment using the most recent 100 trades to maintain statistical relevance while capturing current market conditions. Kelly mode appropriateness requires reassessment based on recent market volatility and performance characteristics, potentially shifting between Full, Half, and Quarter Kelly approaches as conditions change. Transaction cost evaluation ensures that commission structures, spreads, and slippage estimates remain accurate and current.
Quarterly strategic reviews encompass comprehensive strategy performance analysis comparing long-term results against expectations and identifying trends in effectiveness. Market regime assessment evaluates parameter stability across different market conditions, determining whether strategy characteristics remain consistent or require fundamental adjustments. Strategic modifications to position sizing methodology may become necessary as markets evolve or trading approaches mature, ensuring that Kelly implementation continues supporting optimal capital allocation objectives.
Professional Applications
This calculator serves diverse professional applications across the financial industry. Quantitative hedge funds utilize the implementation for systematic position sizing within algorithmic trading frameworks, where mathematical precision and consistent application prove essential for institutional capital management. Professional discretionary traders benefit from optimized position management that removes emotional bias while maintaining flexibility for market-specific adjustments. Portfolio managers employ the calculator for developing risk-adjusted allocation strategies that enhance returns while maintaining prudent risk controls across diverse asset classes and investment strategies.
Individual traders seeking mathematical optimization of capital allocation find the calculator provides institutional-grade methodology previously available only to professional money managers. The Kelly Criterion establishes theoretical foundation for optimal capital allocation across both single strategies and multiple trading systems, offering significant advantages over arbitrary position sizing methods that rely on intuition or fixed percentage approaches. Professional implementation ensures consistent application of mathematically sound principles while adapting to changing market conditions and strategy performance characteristics.
Conclusion
The Kelly Criterion represents one of the few mathematically optimal solutions to fundamental investment problems. When properly understood and carefully implemented, it provides significant competitive advantage in financial markets. This calculator implements modern refinements to Kelly's original formula while maintaining accessibility for practical trading applications.
Success with Kelly requires ongoing learning, systematic application, and continuous refinement based on market feedback and evolving research. Users who master Kelly principles and implement them systematically can expect superior risk-adjusted returns and more consistent capital growth over extended periods.
The extensive academic literature provides rich resources for deeper study, while practical experience builds the intuition necessary for effective implementation. Regular parameter updates, conservative approaches with limited data, and disciplined adherence to calculated recommendations are essential for optimal results.
References
Archer, M. D. (2010). Getting Started in Currency Trading: Winning in Today's Forex Market (3rd ed.). John Wiley & Sons.
Baker, R. D., & McHale, I. G. (2012). An empirical Bayes approach to optimising betting strategies. Journal of the Royal Statistical Society: Series D (The Statistician), 61(1), 75-92.
Breiman, L. (1961). Optimal gambling systems for favorable games. In J. Neyman (Ed.), Proceedings of the Fourth Berkeley Symposium on Mathematical Statistics and Probability (pp. 65-78). University of California Press.
Brown, D. B. (1976). Optimal portfolio growth: Logarithmic utility and the Kelly criterion. In W. T. Ziemba & R. G. Vickson (Eds.), Stochastic Optimization Models in Finance (pp. 1-23). Academic Press.
Browne, S., & Whitt, W. (1996). Portfolio choice and the Bayesian Kelly criterion. Advances in Applied Probability, 28(4), 1145-1176.
Estrada, J. (2008). Geometric mean maximization: An overlooked portfolio approach? The Journal of Investing, 17(4), 134-147.
Hakansson, N. H., & Ziemba, W. T. (1995). Capital growth theory. In R. A. Jarrow, V. Maksimovic, & W. T. Ziemba (Eds.), Handbooks in Operations Research and Management Science (Vol. 9, pp. 65-86). Elsevier.
Kahneman, D., & Tversky, A. (1979). Prospect theory: An analysis of decision under risk. Econometrica, 47(2), 263-291.
Kaufman, P. J. (2013). Trading Systems and Methods (5th ed.). John Wiley & Sons.
Kelly Jr, J. L. (1956). A new interpretation of information rate. Bell System Technical Journal, 35(4), 917-926.
Lo, A. W., & MacKinlay, A. C. (1999). A Non-Random Walk Down Wall Street. Princeton University Press.
MacLean, L. C., Sanegre, E. O., Zhao, Y., & Ziemba, W. T. (2004). Capital growth with security. Journal of Economic Dynamics and Control, 28(4), 937-954.
MacLean, L. C., Thorp, E. O., & Ziemba, W. T. (2011). The Kelly Capital Growth Investment Criterion: Theory and Practice. World Scientific.
Michaud, R. O. (1989). The Markowitz optimization enigma: Is 'optimized' optimal? Financial Analysts Journal, 45(1), 31-42.
Pabrai, M. (2007). The Dhandho Investor: The Low-Risk Value Method to High Returns. John Wiley & Sons.
Shannon, C. E. (1948). A mathematical theory of communication. Bell System Technical Journal, 27(3), 379-423.
Tharp, V. K. (2007). Trade Your Way to Financial Freedom (2nd ed.). McGraw-Hill.
Thorp, E. O. (2006). The Kelly criterion in blackjack sports betting, and the stock market. In L. C. MacLean, E. O. Thorp, & W. T. Ziemba (Eds.), The Kelly Capital Growth Investment Criterion: Theory and Practice (pp. 789-832). World Scientific.
Van Tharp, K. (2007). Trade Your Way to Financial Freedom (2nd ed.). McGraw-Hill Education.
Vince, R. (1992). The Mathematics of Money Management: Risk Analysis Techniques for Traders. John Wiley & Sons.
Vince, R., & Zhu, H. (2015). Optimal betting under parameter uncertainty. Journal of Statistical Planning and Inference, 161, 19-31.
Ziemba, W. T. (2003). The Stochastic Programming Approach to Asset, Liability, and Wealth Management. The Research Foundation of AIMR.
Further Reading
For comprehensive understanding of Kelly Criterion applications and advanced implementations:
MacLean, L. C., Thorp, E. O., & Ziemba, W. T. (2011). The Kelly Capital Growth Investment Criterion: Theory and Practice. World Scientific.
Vince, R. (1992). The Mathematics of Money Management: Risk Analysis Techniques for Traders. John Wiley & Sons.
Thorp, E. O. (2017). A Man for All Markets: From Las Vegas to Wall Street. Random House.
Cover, T. M., & Thomas, J. A. (2006). Elements of Information Theory (2nd ed.). John Wiley & Sons.
Ziemba, W. T., & Vickson, R. G. (Eds.). (2006). Stochastic Optimization Models in Finance. World Scientific.
The Daily Bias Dashboard📜 Overview
This indicator is a powerful statistical tool designed to provide traders with a probable Daily Bias based on historical price action. It is built upon the concepts of Quarterly Theory, which divides the 24-hour trading day into 4 distinct sessions to analyze market behavior.
This tool analyzes how the market has behaved in the past to give you a statistical edge. It answers the question: "Based on the last X number of days, what is the most likely way the price will move during the Newyork AM & PM Sessions based on Asian & London Sessions?"
⚙️ How It Works
The indicator divides the 24-hour day (based on the America/New_York timezone) into two 12-hour halves:
First Half - 12 Hour Candle: The Accumulation/Manipulation or Asian/London Sessions (6 PM to 6 AM NY Time)
This period covers the Asian session and the start of the London session.
The indicator's only job here is to identify the highest high and lowest low of this 12-hour block, establishing the initial daily range.
Second Half - 12 Hour Candle: The Distribution/Continuation or NY AM/PM Sessions (6 AM to 6 PM NY Time)
This period covers the main London session and the full New York session.
The indicator actively watches to see if, and in what order, the price breaks out of the range established in Session 1 (FIrst Half of the day).
By tracking this behavior over hundreds of days, the indicator compiles statistics on four possible daily scenarios.
📊 The Four Scenarios & The Dashboard
The indicator presents its findings in a clean, easy-to-read dashboard, calculating the historical probability of each of the following scenarios:
↓ Low, then ↑ High: The price first breaks the low of Session 1 (often a liquidity sweep or stop hunt) before reversing to break the high of Session 1. This suggests a "sweep and reverse" bullish day.
↑ High, then ↓ Low: The price first breaks the high of Session 1 before reversing to break the low of Session 1. This suggests a "sweep and reverse" bearish day.
One-Sided Breakout: The price breaks only one of the boundaries (either the high or the low) and continues in that direction without taking the other side. This indicates a strong, trending day.
No Breakout (Inside Bar): The price fails to break either the high or the low of Session 1, remaining contained within its range. This indicates a day of consolidation and low volatility.
🧠 How to Use This Indicator
This is a confluence tool, not a standalone trading system. Its purpose is to help you frame a high-probability narrative for the trading day.
Establish a Bias: Start checking the dashboard at 06:00 AM Newyork time, which is the start of next half day trading session. If one scenario has a significantly higher probability (e.g., "One-Sided Breakout" at 89%), you have a statistically-backed directional bias in the direction of Breakout.
🔧 Features & Settings
Historical Days to Analyze: Set how many past days the indicator should use for its statistical analysis (default is 500).
Session Timezone : The calculation is locked to America/New_York as it is central to the Quarterly Theory concept, but this setting ensures correct alignment.
Dashboard Display: Fully customize the on-screen table, including its position and text size, or hide it completely.
⚠️ Important Notes
For maximum accuracy, use this indicator on hourly (H1) or lower timeframes.
The statistical probabilities are based on past performance and are not a guarantee of future results.
This tool is designed to sharpen your analytical skills and provide a robust, data-driven framework for your daily trading decisions. Use it to build confidence in your directional bias and to better understand the rhythm of the market.
Disclaimer: This indicator is for educational and informational purposes only and does not constitute financial advice. All trading involves risk.
Multi-Timeframe RSIRSI Divergence (Time-Based Engine)
This script is a powerful and highly customizable tool designed to automatically detect and display RSI divergences from up to three independent, user-defined timeframes directly on your chart. It eliminates the need to manually switch between timeframes to find these critical trading signals, allowing you to see long-term and short-term divergences all in one place.
The engine is built to be flexible, supporting both regular (reversal) divergences and hidden (trend-continuation) divergences. It's designed for traders who rely on divergence analysis as a core part of their strategy.
Key Features
Multi-Timeframe (MTF) Analysis: Configure and display divergences from up to three different timeframes simultaneously (e.g., show 4-Hour, Daily, and Weekly divergences on your 1-Hour chart). Each timeframe operates independently with its own settings.
Regular & Hidden Divergence: The script can detect both standard regular divergences that signal potential reversals and hidden divergences that suggest a trend may continue.
Configurable Pivot Strength: You have full control over the sensitivity of pivot detection. The 'Left Strength' and 'Right Strength' settings allow you to define what qualifies as a significant price pivot, filtering out market noise.
Bar Count Filter: Refine your signals by setting the minimum and maximum number of bars allowed between two pivots. This ensures you only see divergences that fit your specific strategic timeframe.
Dedicated Alerts: Each of the three timeframes has its own "Enable Alerts" toggle. When a new divergence line is drawn on the chart for a specific timeframe, a corresponding alert can be triggered, ensuring you never miss a potential setup.
Full Visual Customization: Tailor the look and feel of the indicator to your preference. Each timeframe has unique color settings for its bullish and bearish lines, allowing for easy visual identification. You can also toggle the visibility of various chart markers to keep your view clean.
How to Use
1. Add the indicator to your chart.
2. Open the Settings panel.
3. For each timeframe you wish to use (1, 2, or 3), check the "Enable Timeframe" box.
4. Select the desired Timeframe, RSI Length, and Pivot Strength for each active engine.
5. Adjust the Min/Max Bars filter to match your trading style.
6. If you want to receive notifications, check the "Enable Alerts" box for the desired timeframe(s). Then, create an alert using TradingView's alert manager, selecting the indicator and choosing the "Any alert() function call" option.
Pivot Points HL DetailedThis indicator marks important turning points in the market, showing you the most recent swing high and swing low as horizontal lines across the chart. Each pivot line has a price label where it formed and a small counter that updates whenever the market touches that level again. The line’s color reflects the prevailing trend, determined by an EMA filter, so you can quickly see if the level is likely acting as support or resistance in the current market environment.
It works by scanning recent bars for points where price made a local high higher than several bars to its left and right, or a local low lower than several bars to its left and right. These pivots are calculated directly from price action using the ta.pivothigh and ta.pivotlow functions. Once identified, the level is tracked in real time, counting every time price crosses it. The EMA provides context: if price is above the EMA, the market is considered in an uptrend and the pivots are colored to match; if price is below, they’re marked as part of a downtrend.
For traders, this offers a clean way to see where the market has turned before and whether those levels are still relevant. Strong levels often show multiple touches, which can be used for entries, exits, or risk management. The built-in alert system can notify you when price approaches either the most recent swing high or swing low, so you can react quickly.
This tool can be applied in almost any market — forex, stocks, indices, commodities, or crypto — because price tends to respect recent swing points regardless of the asset class. It tends to be most effective in liquid markets, where many traders see and react to the same key levels, and it’s valuable in both trending and ranging conditions, though the EMA trend filter adds extra clarity when the market is moving directionally.