Market Structure: BoS & CHoCH (Math by Thomas)📌 Description:
Market Structure: BoS & CHoCH (Math by Thomas) is a clean and reliable market structure tool designed to visually mark Swing Highs, Swing Lows, and classify each one as HH (Higher High), LH (Lower High), LL (Lower Low), or HL (Higher Low) based on price action. It also detects and labels Break of Structure (BoS) and Change of Character (CHoCH) to help identify potential continuation or reversal in trend.
🛠️ How to Use:
Add the indicator to your chart (works on any timeframe and asset).
Adjust the "Swing Sensitivity" input to fine-tune how many bars the script uses to detect a swing high/low. A higher number smooths out noise.
The script will automatically:
Mark every confirmed swing high or low with a solid line.
Label the swing as HH, LH, HL, or LL depending on its relative position.
Show BoS (trend continuation) or CHoCH (trend reversal) labels with the current trend direction.
Toggle labels or lines on or off with the corresponding checkboxes in settings.
🔍 Tip:
Use this indicator alongside other tools like volume or RSI for more confident entries. A CHoCH followed by two BoS in the same direction often signals a strong trend reversal.
Educational
Volume towers by GSK-VIZAG-AP-INDIAVolume Towers by GSK-VIZAG-AP-INDIA
Overview :
This Pine Script visualizes volume activity and provides insights into market sentiment through the display of buying and selling volume, alongside moving averages. It highlights high and low volume candles, enabling traders to make informed decisions based on volume anomalies. The script is designed to identify key volume conditions, such as below-average volume, high-volume candles, and their relationship to price movement.
Script Details:
The script calculates a Simple Moving Average (SMA) of the volume over a user-defined period and categorizes volume into several states:
Below Average Volume: Volume is below the moving average.
High Volume: Volume exceeds the moving average by a multiplier (configurable by the user).
Low Volume: Volume that doesn’t qualify as either high or below average.
Additionally, the script distinguishes between buying volume (when the close is higher than the open) and selling volume (when the close is lower than the open). This categorization is color-coded for better visualization:
Green: Below average buying volume.
Red: Below average selling volume.
Blue: High-volume buying.
Purple: High-volume selling.
Black: Low volume.
The Volume Moving Average (SMA) is plotted as a reference line, helping users identify trends in volume over time.
Features & Customization:
Customizable Inputs:
Volume MA Length: The period for calculating the volume moving average (default is 20).
High Volume Multiplier: A multiplier for defining high volume conditions (default is 2.0).
Color-Coded Volume Histograms:
Different colors are used for buying and selling volume, as well as high and low-volume candles, for quick visual analysis.
Alerts:
Alerts can be set for the following conditions:
Below-average buying volume.
Below-average selling volume.
High-volume conditions.
How It Works:
Volume Moving Average (SMA) is calculated using the user-defined period (length), and it acts as the baseline for categorizing volume.
Volume Conditions:
Below Average Volume: Identifies candles with volume below the SMA.
High Volume: Identifies candles where volume exceeds the SMA by the set multiplier (highVolumeMultiplier).
Low Volume: When volume is neither high nor below average.
Buying and Selling Volume:
The script identifies buying and selling volume based on the closing price relative to the opening price:
Buying Volume: When the close is greater than the open.
Selling Volume: When the close is less than the open.
Volume histograms are then plotted using the respective colors for quick visualization of volume trends.
User Interface & Settings:
Inputs:
Volume MA Length: Adjust the period for the volume moving average.
High Volume Multiplier: Define the multiplier for high volume conditions.
Plots:
Buying Volume: Green bars indicate buying volume.
Selling Volume: Red bars indicate selling volume.
High Volume: Blue or purple bars for high-volume candles.
Low Volume: Black bars for low-volume candles.
Volume Moving Average Line: Displays the moving average line for reference.
Source Code / Authorship:
Author: prowelltraders
Disclaimer:
This script is intended for educational purposes only. While it visualizes important volume data, users are encouraged to perform their own research and testing before applying this script for trading decisions. No guarantees are made regarding the effectiveness of this script for real-world trading.
Contact & Support:
For questions, support, or feedback, please reach out to the author directly through TradingView (prowelltraders).
Signature:
GSK-VIZAG-AP-INDIA
Ticker DataThis script mostly for Pine coders but may be useful for regular users too.
I often find myself needing quick access to certain information about a ticker — like its full ticker name, mintick, last bar index and so on. Usually, I write a few lines of code just to display this info and check it.
Today I got tired of doing that manually, so I created a small script that shows the most essential data in one place. I also added a few extra fields that might be useful or interesting to regular users.
Description for regular users (from Pine Script Reference Manual)
tickerid - full ticker name
description - description for the current symbol
industry - the industry of the symbol. Example: "Internet Software/Services", "Packaged software", "Integrated Oil", "Motor Vehicles", etc.
country - the two-letter code of the country where the symbol is traded
sector - the sector of the symbol. Example: "Electronic Technology", "Technology services", "Energy Minerals", "Consumer Durables", etc.
session - session type (regular or extended)
timezone - timezone of the exchange of the chart
type - the type of market the symbol belongs to. Example: "stock", "fund", "index", "forex", "futures", "spread", "economic", "fundamental", "crypto".
volumetype - volume type of the current symbol.
mincontract - the smallest amount of the current symbol that can be traded
mintick - min tick value for the current symbol (the smallest increment between a symbol's price movements)
pointvalue - point value for the current symbol
pricescale - a whole number used to calculate mintick (usually (when minmove is 1), it shows the resolution — how many decimal places the price has. For example, a pricescale 100 means the price will have two decimal places - 1 / 100 = 0.01)
bar index - last bar index (if add 1 (because indexes starts from 0) it will shows how many bars available to you on the chart)
If you need some more information at table feel free to leave a comment.
Heikin Ashi Colored Regular OHLC CandlesHeikin Ashi Colored Regular OHLC Candles
In the world of trading, Heikin Ashi candles are a popular tool for smoothing out price action and identifying trends more clearly. However, Heikin Ashi candles do not reflect the actual open, high, low, and close prices of a market. They are calculated values that change the chart’s structure. This can make it harder to see precise price levels or use standard price-based tools effectively.
To get the best of both worlds, we can apply the color logic of Heikin Ashi candles to regular OHLC candles. This means we keep the true market data, but show the trend visually in the same smooth way Heikin Ashi candles do.
Why use this approach
Heikin Ashi color logic filters out noise and helps provide a clearer view of the current trend direction. Since we are still plotting real OHLC candles, we do not lose important price information such as actual highs, lows, or closing prices. This method offers a hybrid view that combines the accuracy of real price levels with the visual benefits of Heikin Ashi trend coloring. It also helps maintain visual consistency for traders who are used to Heikin Ashi signals but want to see real price action.
Advantages for scalping
Scalping requires fast decisions. Even small price noise can lead to hesitation or bad entries. Coloring regular candles based on Heikin Ashi direction helps reduce that noise and makes short-term trends easier to read. It allows for faster confirmation of momentum without switching away from real prices. Since the candles are not modified, scalpers can still place tight stop-losses and targets based on actual price structure. This approach also avoids clutter, keeping the chart clean and focused.
How it works
We calculate the Heikin Ashi values in the background. If the Heikin Ashi close is higher than the Heikin Ashi open, the trend is considered bullish and the candle is colored green. If the close is lower than the open, it is bearish and the candle is red. If they are equal, the candle is gray or neutral. We then use these colors to paint the real OHLC candles, which are unchanged in shape or position.
S&P 500 Top 25 - EPS AnalysisEarnings Surprise Analysis Framework for S&P 500 Components: A Technical Implementation
The "S&P 500 Top 25 - EPS Analysis" indicator represents a sophisticated technical implementation designed to analyze earnings surprises among major market constituents. Earnings surprises, defined as the deviation between actual reported earnings per share (EPS) and analyst estimates, have been consistently documented as significant market-moving events with substantial implications for price discovery and asset valuation (Ball and Brown, 1968; Livnat and Mendenhall, 2006). This implementation provides a comprehensive framework for quantifying and visualizing these deviations across multiple timeframes.
The methodology employs a parameterized approach that allows for dynamic analysis of up to 25 top market capitalization components of the S&P 500 index. As noted by Bartov et al. (2002), large-cap stocks typically demonstrate different earnings response coefficients compared to their smaller counterparts, justifying the focus on market leaders.
The technical infrastructure leverages the TradingView Pine Script language (version 6) to construct a real-time analytical framework that processes both actual and estimated EPS data through the platform's request.earnings() function, consistent with approaches described by Pine (2022) in financial indicator development documentation.
At its core, the indicator calculates three primary metrics: actual EPS, estimated EPS, and earnings surprise (both absolute and percentage values). This calculation methodology aligns with standardized approaches in financial literature (Skinner and Sloan, 2002; Ke and Yu, 2006), where percentage surprise is computed as: (Actual EPS - Estimated EPS) / |Estimated EPS| × 100. The implementation rigorously handles potential division-by-zero scenarios and missing data points through conditional logic gates, ensuring robust performance across varying market conditions.
The visual representation system employs a multi-layered approach consistent with best practices in financial data visualization (Few, 2009; Tufte, 2001).
The indicator presents time-series plots of the four key metrics (actual EPS, estimated EPS, absolute surprise, and percentage surprise) with customizable color-coding that defaults to industry-standard conventions: green for actual figures, blue for estimates, red for absolute surprises, and orange for percentage deviations. As demonstrated by Padilla et al. (2018), appropriate color mapping significantly enhances the interpretability of financial data visualizations, particularly for identifying anomalies and trends.
The implementation includes an advanced background coloring system that highlights periods of significant earnings surprises (exceeding ±3%), a threshold identified by Kinney et al. (2002) as statistically significant for market reactions.
Additionally, the indicator features a dynamic information panel displaying current values, historical maximums and minimums, and sample counts, providing important context for statistical validity assessment.
From an architectural perspective, the implementation employs a modular design that separates data acquisition, processing, and visualization components. This separation of concerns facilitates maintenance and extensibility, aligning with software engineering best practices for financial applications (Johnson et al., 2020).
The indicator processes individual ticker data independently before aggregating results, mitigating potential issues with missing or irregular data reports.
Applications of this indicator extend beyond merely observational analysis. As demonstrated by Chan et al. (1996) and more recently by Chordia and Shivakumar (2006), earnings surprises can be successfully incorporated into systematic trading strategies. The indicator's ability to track surprise percentages across multiple companies simultaneously provides a foundation for sector-wide analysis and potentially improves portfolio management during earnings seasons, when market volatility typically increases (Patell and Wolfson, 1984).
References:
Ball, R., & Brown, P. (1968). An empirical evaluation of accounting income numbers. Journal of Accounting Research, 6(2), 159-178.
Bartov, E., Givoly, D., & Hayn, C. (2002). The rewards to meeting or beating earnings expectations. Journal of Accounting and Economics, 33(2), 173-204.
Bernard, V. L., & Thomas, J. K. (1989). Post-earnings-announcement drift: Delayed price response or risk premium? Journal of Accounting Research, 27, 1-36.
Chan, L. K., Jegadeesh, N., & Lakonishok, J. (1996). Momentum strategies. The Journal of Finance, 51(5), 1681-1713.
Chordia, T., & Shivakumar, L. (2006). Earnings and price momentum. Journal of Financial Economics, 80(3), 627-656.
Few, S. (2009). Now you see it: Simple visualization techniques for quantitative analysis. Analytics Press.
Gu, S., Kelly, B., & Xiu, D. (2020). Empirical asset pricing via machine learning. The Review of Financial Studies, 33(5), 2223-2273.
Johnson, J. A., Scharfstein, B. S., & Cook, R. G. (2020). Financial software development: Best practices and architectures. Wiley Finance.
Ke, B., & Yu, Y. (2006). The effect of issuing biased earnings forecasts on analysts' access to management and survival. Journal of Accounting Research, 44(5), 965-999.
Kinney, W., Burgstahler, D., & Martin, R. (2002). Earnings surprise "materiality" as measured by stock returns. Journal of Accounting Research, 40(5), 1297-1329.
Livnat, J., & Mendenhall, R. R. (2006). Comparing the post-earnings announcement drift for surprises calculated from analyst and time series forecasts. Journal of Accounting Research, 44(1), 177-205.
Padilla, L., Kay, M., & Hullman, J. (2018). Uncertainty visualization. Handbook of Human-Computer Interaction.
Patell, J. M., & Wolfson, M. A. (1984). The intraday speed of adjustment of stock prices to earnings and dividend announcements. Journal of Financial Economics, 13(2), 223-252.
Skinner, D. J., & Sloan, R. G. (2002). Earnings surprises, growth expectations, and stock returns or don't let an earnings torpedo sink your portfolio. Review of Accounting Studies, 7(2-3), 289-312.
Tufte, E. R. (2001). The visual display of quantitative information (Vol. 2). Graphics Press.
FVG [TakingProphets]🧠 Purpose
This indicator is built for traders applying Inner Circle Trader (ICT) methodology. It detects and manages Fair Value Gaps (FVGs) — price imbalances that often act as future reaction zones. It also highlights New Day Opening Gaps (NDOGs) and New Week Opening Gaps (NWOGs) that frequently play a role in early-session price behavior.
📚 What is a Fair Value Gap?
A Fair Value Gap forms when price moves rapidly, skipping over a portion of the chart between three candles — typically between the high of the first candle and the low of the third. These zones are considered inefficient, meaning institutions may return to them later to:
-Rebalance unfilled orders
-Enter or scale into positions
-Engineer liquidity with minimal slippage
In ICT methodology, FVGs are seen as both entry zones and targets, depending on market structure and context.
⚙️ How It Works
-This script automatically identifies and manages valid FVGs using the following logic:
-Bullish FVGs: When the low of the current candle is above the high from two candles ago
-Bearish FVGs: When the high of the current candle is below the body of two candles ago
-Minimum Gap Filter: Gaps must be larger than 0.05% of price
-Combine Consecutive Gaps (optional): Merges adjacent gaps of the same type
-Consequent Encroachment Line (optional): Plots the midpoint of each gap
-NDOG/NWOG Tracking: Labels gaps created during the 5–6 PM session transition
-Automatic Invalidation: Gaps are removed once price closes beyond their boundary
🎯 Practical Use
-Use unmitigated FVGs as potential entry points or targets
-Monitor NDOG and NWOG for context around daily or weekly opens
-Apply the midpoint (encroachment) line for precise execution decisions
-Let the script handle cleanup — only active, relevant zones remain visible
🎨 Customization
-Control colors for bullish, bearish, and opening gaps
-Toggle FVG borders and midpoint lines
-Enable or disable combining of consecutive gaps
-Fully automated zone management, no manual intervention required
✅ Summary
This tool offers a clear, rules-based approach to identifying price inefficiencies rooted in ICT methodology. Whether used for intraday or swing trading, it helps traders stay focused on valid, active Fair Value Gaps while filtering out noise and maintaining chart clarity.
[TTM] ICT Sessions & Ranges🌟 Overview 🌟
The ICT Sessions & Ranges Indicator helps traders identify key intraday price levels by marking custom session highs/lows and opening ranges.
It helps traders spot potential liquidity grabs, reversals, and breakout zones by tracking price behavior around these key areas
🌟 Session Highs & Lows – Liquidity Zones 🌟
Session highs and lows often attract price due to stop orders resting above or below them. These levels are frequently targeted during high-volatility moves.
🔹 Asia Session
- Usually ranges in low volatility.
- Highs/lows often get swept during early London.
- Price may raid these levels, then reverse.
🔹 London Session
- First major volatility of the day.
- Highs/lows often tested or swept in New York.
- Commonly forms the day’s true high or low.
🌟 Opening Range Concepts 🌟
The Opening Range is the first 15, 30, or 60 minutes of a session (e.g., New York).
The high (ORH) and low (ORL) define the market’s initial balance and key reaction levels.
🔹 Breakout Trade
- Price breaks ORH/ORL with momentum.
- Signals directional intent.
- Traders enter on the breakout, with stops inside the range.
🔹 Liquidity Raid
- Price briefly breaks ORH/ORL to trigger stops.
- Reverses after the sweep.
- Look for structure shift and entry near FVG or OB.
🌟 Customizable Settings 🌟
The indicator includes 3 configurable ranges , each with:
Start & End Time – Set any custom time window.
Display Type – Choose Box (highlight range) or Lines (mark high/low).
Color Settings – Set custom colors for boxes and lines.
🌟 Default Settings 🌟
Range 1 : 19:00–00:00 (Asia Session)
Range 2 : 01:45–05:15 (London Session)
Range 3 : 09:30–10:00 (NY Opening Range – 30m)
6 Dynamic EMAs by Koenigsegg🚀 6 Dynamic EMAs by Koenigsegg
Take control of your chart with ultimate flexibility. This tool gives you 6 customizable EMAs across any timeframe, helping you read the market like a pro — whether you're scalping seconds or swinging days. Built for precision, designed for dominance.
The combinations? Endless. Mix and match any EMA lengths and timeframes for tailored confluence — exactly how elite traders operate.
🔑 Key Features
✅ 6 Fully Customizable EMAs
⏳ Multi-Timeframe Support (from seconds to months)
🎨 Custom Colors & Thickness for each EMA
🚨 Built-in Cross Alerts for instant trade signals
🧠 Clean, efficient logic using request.security()
🔁 Dynamically toggle EMAs on/off
⚙️ Lightweight for smooth chart performance
🧩 Endless combo potential — confluence on your terms
📈 What Is an EMA?
The EMA is a type of moving average that adjusts more quickly to recent price changes than a Simple Moving Average (SMA). It does this by giving exponentially more weight to the most recent candles.
⚙️ How Does It Function?
Smoothing Price Data:
It takes the average of closing prices over a chosen period (like 20 or 50 candles), but gives more influence to the latest prices.
Reacts Quickly to Price Shifts:
Since recent data is weighted more heavily, the EMA adjusts faster to sudden price changes — helping you spot trend reversals or momentum shifts earlier.
Dynamic Support & Resistance:
Traders often use EMAs as moving support/resistance levels. Price often "respects" EMAs in trending markets — bouncing off them during pullbacks.
Trend Confirmation:
- If price is above the EMA, the market is likely in an uptrend.
- If price is below the EMA, the market is likely in a downtrend.
- Multiple EMAs (like 12/21 or 50/200) crossing each other are used for entry/exit signals.
💡 Example:
If you use a 21 EMA on a chart, it shows you the average price of the last 21 candles, but the most recent ones weigh heavier. This makes the EMA more responsive than an SMA, and better for short-term or active trading.
📊 Why EMAs Matter — and How Multi-Timeframe EMAs Give You the Edge
Exponential Moving Averages (EMAs) are essential tools for identifying trend direction, momentum shifts, and dynamic support/resistance. Because they weight recent price data more heavily, EMAs adapt quickly to changing market conditions, giving traders early insight into reversals or continuations.
Where this script shines is in its multi-timeframe (MTF) capability. For example, plotting a daily EMA on a 4H chart gives you high-level directional guidance while still allowing precision entries. This enables confluence between LTF (low timeframe) signals and HTF (high timeframe) momentum — a crucial edge used by institutional-level traders.
You can configure the tool to run classic combos like the 12/21 crossover on your current chart, while layering in a 50 or 200 EMA from a higher timeframe for macro confirmation. The 6th EMA, colored light blue by default, is perfect for adding one final level of structure insight — often used as a long-term anchor or trend bias marker.
Whether you're riding the wave or catching the reversal, these EMAs serve as your adaptable compass in every environment.
🎯 Purpose
This indicator was built to give traders a clear, responsive, and multi-timeframe edge using dynamic Exponential Moving Averages. Whether you're trend-following, identifying momentum shifts, or building a confluence system — these 6 EMAs are here to align with your strategy and style.
💡 Pro Tip
Instead of cluttering your chart with multiple EMA indicators, this script consolidates all into one sleek tool. You can toggle off bands you don't currently need, like running only the 12/21 EMAs on your active chart timeframe, while adding the 12/21 EMAs from a higher timeframe to guide trade decisions.
With this setup, you're not just reacting — you're orchestrating your trades with intention.
⚠️ Disclaimer
This script is for educational and informational purposes only. It does not constitute financial advice. Always do your own research and trade responsibly. Past performance does not guarantee future results.
BTC Markup/Markdown Zones by Koenigsegg📈 BTC Markup/Markdown Zones
A handcrafted indicator designed to mark Bitcoin's most critical High Time Frame (HTF) structure shifts. This tool overlays true institutional-level Markup and Markdown Zones, selected manually after deep market review. Whether you're testing strategies or actively trading, this tool gives you the bigger picture at all times.
🔍 Key Features:
✅ HTF Markup & Markdown Zones
Every zone is manually selected — no indicators, no repainting. Just raw market history and real structure.
✅ Two Display Modes
• Background Zones — soft overlays with low opacity for visual context — with the option to increase opacity manually if desired.
• Start Candle Highlight — sharply highlighted candle marking the final pivot before a macro reversal.
✅ Custom Color Controls (Style Tab)
All visual styling lives in the Style tab, with clearly labeled fields:
• Markup Zone
• Markdown Zone
• Start Candle Highlight Markup
• Start Candle Highlight Markdown
✅ Minimal Input Section
Just one toggle: display mode. Everything else is kept clean and intuitive.
🧠 Purpose:
This script is made for any timeframe:
• Zoom into lower timeframes to know whether you're trading inside a Markup or Markdown
• Use it during strategy testing for true structural awareness
📅 Handpicked Macro Turning Points:
Each zone originates from a manually confirmed candle — the last meaningful candle before a shift in control between bulls and bears:
• FRI 19 AUG 2011 12PM – MARK DOWN
• THU 20 OCT 2011 12AM – MARK UP
• WED 10 APR 2013 12PM – MARK DOWN
• FRI 12 APR 2013 12PM – MARK UP
• SAT 30 NOV 2013 12AM – MARK DOWN
• WED 14 JAN 2015 12PM – MARK UP
• SUN 17 DEC 2017 12PM – MARK DOWN
• SAT 15 DEC 2018 12PM – MARK UP
• WED 14 APR 2021 4AM – MARK DOWN
• TUE 22 JUN 2021 12PM – MARK UP
• WED 10 NOV 2021 12PM – MARK DOWN
• MON 21 NOV 2022 8PM – MARK UP
• THU 14 MAR 2024 4AM – MARK DOWN
• MON 5 AUG 2024 12PM – MARK UP
• MON 20 JAN 2025 4AM – MARK DOWN
💡 Zones are manually updated by me after each new confirmed Markup or Markdown.
🧬 Fractal Structure for MTF Systems
Price is fractal — meaning the same principles of structure repeat across all timeframes. In Version 2, this tool evolves by introducing manually selected sub-zones inside each High Time Frame (HTF) Markup or Markdown. These sub-zones reflect Medium Timeframe (MTF) structure shifts, offering precision for traders who operate on both intraday and swing levels.
This makes the indicator ideal for low timeframe (LTF) Markup/Markdown awareness — whether you're managing 15m entries or building multi-timeframe confluence systems.
No auto-zones. No guesswork. Just clean, intentional structure division within the broader trend, handpicked for maximum clarity and edge.
💡 Pro Tip:
When price is inside a Markup Zone, shorting becomes riskier — you're trading against a macro bullish structure.
When inside a Markdown Zone, longing becomes riskier — you're fighting against confirmed bearish momentum.
Use this tool to stay aligned with the broader move, especially when zoomed into smaller timeframes or managing entries/exits during intraday setups.
📈 Markup Phase – Bullish Sentiment
Definition: A period where price makes higher highs and higher lows — the uptrend is in full force.
Why sentiment is bullish:
- Institutions and smart money are already positioned long.
- Public/institutional demand drives prices up.
- Momentum is supported by positive news, breakouts, and FOMO.
- Higher highs confirm buyers are in control.
📉 Markdown Phase – Bearish Sentiment
Definition: A period where price makes lower lows and lower highs — clear downtrend.
Why sentiment is bearish:
- Distribution has already occurred, and supply outweighs demand.
- Smart money is short or sidelined, waiting for deeper prices.
- Panic selling or trend-following traders add downside momentum.
- Lower lows confirm sellers are in control.
❌ Trading Against the Trend — Consequences:
-Reduced Probability of Success
-You’re fighting the dominant flow. Most participants are pushing in the opposite direction.
-Drawdowns & Stop-Outs
-Countertrend trades often get wicked or flushed before any meaningful move, especially without structure-based entries.
-Low Risk-Reward Ratio
-Trends offer sustained moves. Countertrend trades may have small take-profit zones or chop.
-Mental Drain & Doubt
-Fighting momentum causes anxiety, second-guessing, and emotional reactions.
-Missed Opportunities
-Focusing on fighting the trend makes you blind to the high-probability setups with the trend.
-Increased Transaction Costs
-More stop-outs and re-entries mean more fees, more friction.
-FOMO from Watching the Trend Run
-Entering countertrend means you might watch the trend explode without you.
-Confirmation Bias & Stubbornness
-Countertrend traders often look for reasons to justify staying in the wrong direction — leading to bigger losses.
🧠 Summary
In markup = bulls dominate → you swim with the current.
In markdown = bears dominate → going long is like pushing a rock uphill.
Trading with the trend is not just safer, it's smarter. The edge lives in momentum — not ego.
⚠️ Disclaimer
This indicator is for educational and analytical use only. It is not financial advice and should not be relied on for decision-making without personal analysis.
This is not a predictive tool. No indicator can forecast upcoming price movements.
What you see here is based purely on past market behavior — specifically, historical tops and bottoms that marked the start of confirmed reversals.
This script does not know where the next reversal begins, nor can it determine where a new Markup or Markdown starts or ends. It is designed to provide context, not prediction.
Always trade with responsibility and perform your own due diligence.
IU Inside out candlestick patternIU Inside Out Candlestick Pattern
This indicator identifies the Inside Out Candlestick Pattern — a unique 3-bar price action setup that captures strong market momentum and potential reversals with greater reliability than traditional patterns.
Pattern Logic:
The Inside Out pattern builds upon a classic engulfing setup by adding a breakout confirmation, making it a refined and filtered approach to candlestick analysis.
Bullish Inside Out Logic:
- Bar must be a bullish engulfing candle (engulfs previous bearish candle).
- Current bar must be bullish and must close above the high of the engulfing candle (a bullish breakout).
- When this setup is confirmed, a shaded green box is drawn around the range of the engulfing candle and its preceding bar.
Bearish Inside Out Logic:
- Bar must be a bearish engulfing candle (engulfs previous bullish candle).
- Current bar must be bearish and must close below the low of the engulfing candle (a bearish breakdown).
- When confirmed, a red box highlights the zone formed by the engulfing candle and its prior bar.
Why this is unique:
Unlike conventional candlestick indicators that trigger signals immediately after an engulfing pattern, this script adds a breakout condition to validate follow-through strength. This reduces false positives and gives traders a clearer edge. The pattern is also rare, which means it captures strong, decisive moves when it does appear.
How users can benefit:
- High-quality entries: Only shows patterns with proven follow-through, improving trade timing.
- Visual clarity: Boxes and labels highlight significant price zones for easy interpretation.
- Flexible use: Applicable across timeframes and instruments — ideal for both intraday and swing traders.
- Alerts included: Real-time alerts help traders stay updated without staring at charts all day.
This script is a powerful tool for price action traders looking to enhance pattern reliability and signal strength through structure-based breakout confirmation.
Support/Resistance Breakout DetectorThis indicator automatically detects and plots dynamic support and resistance levels using pivot highs and lows.
✅ It draws red resistance lines and blue support lines,
✅ The lines extend forward but automatically stop when the price touches them,
✅ It monitors for breakouts with strong volume,
✅ When a breakout happens, it shows labels like “B” or “Bull Wick” / “Bear Wick” on the chart,
✅ It also triggers alerts when support or resistance breaks with high volume.
Main settings:
Pivot lookback period
Show/hide breakout labels
Minimum volume for breakout
Maximum extension length for lines
This tool helps traders easily spot key price levels and watch for meaningful breakouts.
ETF Builder & Backtest System [TradeDots]Create, analyze, and monitor your own custom “ETF-like” portfolio directly on TradingView. This script merges up to 10 different assets with user-defined weightings into a single composite chart, allowing you to see how your personalized portfolio would have performed historically. It is an original tool designed to help traders and investors quickly gauge risk and return profiles without leaving the TradingView platform.
📝 HOW IT WORKS
1. Custom Portfolio Construction
Multiple Assets : Combine up to 10 different stocks, ETFs, cryptocurrencies, or other symbols.
User-Defined Weights : Allocate each asset a percentage weight (e.g., 15% in AAPL, 10% in MSFT, etc.).
Single Composite Value : The script calculates a weighted “ETF-style” price, effectively simulating a merged portfolio curve on your chart.
2. Performance Tracking & Return Analysis
Automatic History Capture : The indicator records each asset’s starting price when it first appears in your chosen date range.
Rolling Updates : As time progresses, all asset prices are continually evaluated and the portfolio value is updated in real time.
Buy & Hold Returns : See how each asset—and the overall portfolio—performed from the “start” date to the most recent bar.
Annualized Return : Automatically calculates CAGR (Compound Annual Growth Rate) to help visualize performance over varying timescales.
3. Table & Visual Output
Performance Table : A comprehensive table displays individual asset returns, annualized returns, and portfolio totals.
Normalized Chart Plot : The composite ETF value is scaled to 100 at the start date, making it easy to compare relative growth or decline.
Optional Time Filter : You can define a specific date range (Start/End Dates) to focus on a particular period or to limit historical data.
⚙️ KEY FEATURES
1. Flexible Asset Selection
Choose any symbols from multiple asset classes. The script will only run calculations when data is available—no need to worry about missing quotes.
2. Dynamic Table Reporting
Start Price for each asset
Percentage Weight in the portfolio
Total Return (%) and Annualized Return (%)
3. Simple Backtesting Logic
This script takes a straightforward Buy & Hold perspective. Once the start date is reached, the portfolio remains static until the end date, so you can quickly assess hypothetical growth.
4. Plot Customization
Toggle the main “ETF” plot on/off.
Alter the visual style for tables and text.
Adjust the time filter to limit or extend your performance measurement window.
🚀 HOW TO USE IT
1. Add the Script
Search for “ETF Builder & Backtest System ” in the Indicators & Strategies tab or manually add it to your chart after saving it in your Pine Editor.
2. Configure Inputs
Enable Time Filter : Choose whether to restrict the analysis to a particular date range.
Start & End Date : Define the period you want to measure performance over (e.g., from 2019-12-31 to 2025-01-01).
Assets & Weights : Enter each symbol and specify a percentage weight (up to 10 assets).
Display Options : Pick where you want the Table to appear and choose background/text colors.
3. Interpret the Table & Plots
Asset Rows : Each asset’s ticker, weighting, start price, and performance metrics.
ETF Total Row : Summarizes total weighting, composite starting value, and overall returns.
Normalized Plot : Tracks growth/decline of the combined portfolio, starting at 100 on the chart.
4. Refine Your Strategy
Compare how different weights or a new mix of assets would have performed over the same period.
Assess if certain assets contribute disproportionately to your returns or volatility.
Use the results to guide allocations in your real trading or paper trading accounts.
❗️LIMITATIONS
1. Buy & Hold Only
This script does not handle rebalancing or partial divestments. Once the portfolio starts, weights remain fixed throughout the chosen timeframe.
2. No Reinvestment Tracking
Dividends or other distributions are not factored into performance.
3. Data Availability
If historical data for a particular asset is unavailable on TradingView, related results may display as “N/A.”
4. Market Regimes & Volatility
Past performance does not guarantee similar future behavior. Markets can change rapidly, which may render historical backtests less predictive over time.
⚠️ RISK DISCLAIMER
Trading and investing carry significant risk and can result in financial loss. The “ETF Builder & Backtest System ” is provided for informational and educational purposes only. It does not constitute financial advice.
Always conduct your own research.
Use proper risk management and position sizing.
Past performance does not guarantee future results.
This script is an original creation by TradeDots, published under the Mozilla Public License 2.0.
Use this indicator as part of a broader trading or investment approach—consider fundamental and technical factors, overall market context, and personal risk tolerance. No trading tool can assure profits; exercise caution and responsibility in all financial decisions.
Custom Rotatable PinwheelCustom Rotatable Pinwheel – Art Generator (Fully Color-Configurable)
This visual indicator draws a rotating pinwheel using radial spokes. It's designed purely for artistic and decorative purposes — not for trading signals. Use it to create abstract, mandala-like effects by layering multiple instances with different rotation angles and color palettes.
Fully Customizable Spoke Colors
You can now define up to 8 custom spoke colors, which cycle across the pinwheel arms.
Optionally, enable "Use Single Color" to override all spokes with a single color.
This gives full creative control over your color palette and design aesthetic.
Controls:
Number of Spokes – Total number of radial arms
Rotation Offset (°) – Adjusts the starting angle, useful when layering multiple instances
Spin Speed – Controls how fast the pinwheel rotates with each bar
Inner / Outer Radius – Adjusts the spoke arm lengths
Transparency – Controls how visible the lines are
Use Single Color – Toggle between a single color or a full custom palette
Color 1–8 – Set your preferred spoke colors (used when single color is off)
Setup for a Clean Chart Canvas (No Price Bars or Gridlines)
To hide all default chart visuals and show only the pinwheel design:
Right-click chart → Settings
Symbol tab: Uncheck "Show Bars"
Scales tab: Uncheck "Price Scale" and "Time Scale"
Appearance tab:
Set background to black
Uncheck grid lines, watermark, etc.
Status Line and Events: Uncheck all
Entropy Bands (TechnoBlooms)Entropy Bands — A New Era of Volatility and Trend Analysis
Entropy Bands is our next indicator as a part of the Quantum Price Theory (QPT) Series of indicators.
🧠 Overview
Entropy Bands are an advanced volatility-based indicator that reimagines traditional banded systems like Bollinger Bands.
Built on entropy theory, adaptive moving averages, and dynamic volatility measurement, Entropy Bands provide deeper insights into market randomness, trend strength, and breakout potential.
Instead of only relying on price deviation (like Bollinger Bands), Entropy Bands integrate chaos theory principles to create smarter, more responsive dynamic bands that adapt to real market behavior.
🚀Why is Entropy Bands Different — and Better
Dynamic Band Width : Adjusts using both entropy and ATR, creating smarter expansion/contraction.
Multi-Moving Average Core : Choose between SMA, EMA, or WMA for optimal centerline behavior.
Noise and Breakout Filtering : Filters fake breakouts by analyzing candle body size and entropy conditions.
Visual Clarity : Background and candle coloring highlight chaotic/noisy zones, trend zones, and breakout moments.
Entropy Bands don't just react to price — they analyze the underlying market behavior, offering superior decision-making signals.
📚 Watch Band Behavior:
Bands expand during volatility spikes or chaotic conditions.
Bands contract during low volatility or tight consolidation zones.
📚 Analyze Candle Coloring:
Green = Bullish breakout (closing above upper band).
Pink = Bearish breakout (closing below lower band).
Gray = Inside bands (neutral/random noise).
✨ Key Features of Entropy Bands:
Entropy-Based Band Width Calculation: A scientific edge over pure price deviation methods.
Dynamic Background Coloring: Highlights high entropy areas where randomness dominates.
Candle Breakout Coloring: Easy-to-spot trend breakouts and strength moves.
Multi-MA Flexibility: Adapt the bands’ core to trending, ranging, or volatile markets.
Body Size Filter: Protects against fake breakouts by requiring meaningful candle body moves.
Custom Time Session Background (Amsterdam Time, DST Safe)This indicator highlights two custom intraday time ranges with background colors on your chart. The times are set based on your local Amsterdam time and automatically adjust for Daylight Saving Time (DST).
📌 Features:
- Define two separate time ranges (Start & End) in local Amsterdam time
- Background color highlighting for each range
- Fully DST-aware using the "Europe/Amsterdam" timezone
- Works across all intraday timeframes
🎯 Use Cases:
- Highlight key market sessions (e.g., EU open, NY overlap)
- Visually segment your trading hours
- Eliminate manual DST adjustments
Developed with Pine Script v5.
Made for traders who want clarity during specific time zones, without worrying about time shifts across the year.
Price Channel MarkerThis indicator identifies a dynamic price channel based on the most relevant recent price action. It draws two horizontal lines:
* 🔴 Red Line – Marks the high of the most recent red candle (bearish) whose high is just below the current price. It selects the red candle with the high closest in price to the current close, and ensures it is from a valid historical context (ignoring recent highs above the current price).
* 🟢 Green Line – Marks the low of the most recent green candle (bullish) whose low is just above the current price, also selected based on proximity to the current price.
Together, these two lines define a potential price compression zone or "trap" area — showing where price may currently be trading between recent supply (red candle) and demand (green candle). The lines update dynamically and extend into the future to help visualize breakout or rejection levels.
Use Cases:
* Spot potential breakout zones.
* Define short-term support and resistance.
* Filter for entries in range-bound or squeeze conditions.
Customization:
* Adjustable lookback range (up to 5000 bars).
* Colors and line style are easily customizable.
MyBoxMyBox - Display Text with Customizable Position and Size
This indicator allows you to display a customizable message on your chart, with adjustable font size, position, and background color. You can input your desired message, choose the font size (small, normal, large, huge), and place it in various positions on the chart (top-left, top-center, top-right, etc.). Additionally, you can customize the background color of the box where the text is displayed.
Features:
Display a custom message on your chart (e.g., "FOMO Incoming!!").
Adjustable font size (small, normal, large, huge).
Choose from multiple position options for text placement (e.g., top-left, middle-center, bottom-right).
Customize the box background color for better visibility.
Perfect for displaying personal notes, reminders, or trading signals while analyzing the market!
OpeningRange (Trading_Tix)Purpose:
The indicator highlights the high, low, and middle (50%) price levels of a specified session's opening range. These levels can serve as key support and resistance zones for trading strategies. The indicator also offers options to extend these levels beyond the session into later timeframes, making it useful for tracking breakout or trend continuation setups.
Key Features:
1. Session Detection:
The indicator identifies a specific session period using the user-defined Session Time. It calculates the start time, high, and low prices during this period:
rangeTime: Defines the session time range (default: 5:00 PM to 2:59 AM).
extendTime: Defines the extended time range where lines/backgrounds can be prolonged.
2. Opening Range Calculation:
High (high_val) and Low (low_val)**:
Tracks the highest and lowest prices during the session.
Middle Line:
A midpoint is calculated by averaging high_val and low_val.
3. Visual Elements:
Horizontal Lines:
Drawn at the high, low, and middle levels.
Customizable in width and color.
Shaded Background Box:
Covers the range between high and low prices.
The box’s color and transparency can be adjusted.
Line and Box Extension:
Optionally extends these elements into the extended time range.
4. Customization:
Users have the flexibility to:
Toggle visibility of lines, middle line, and background box.
Adjust colors, line thickness, and style.
Enable or disable the extension of lines and backgrounds into the extended period.
How It Works:
Initialization:
The script initializes variables to store range data (startTime, high_val, low_val) and drawing objects (lines, boxes).
It detects whether the current bar falls within the session (inSession) or extended timeframe (inExtend).
Plotting:
During the session:
Deletes previous lines and boxes from prior sessions.
Draws new lines at the high, low, and middle levels.
Creates a background box covering the range, if enabled.
During the extended period:
Extends the session lines and box, if the user has opted for extensions.
Updates:
Continuously adjusts the high/low values and updates the lines as new price data arrives.
Use Cases:
This indicator can be valuable for traders who:
Use the opening range to identify potential breakout zones.
Trade based on price consolidation within the range.
Want a visual representation of key price levels to plan entries and exits.
Would you like help refining this script further or adjusting its settings to match your trading style?
Bitcoin as % Global M2 signalThis script provides signal system:
Buy signal: each time the YoY of the Global M2 rises more than 2.5% while the distance between the bitcoin price as a percentage of the Global M2 is below its yearly SMA.
Sell signal: the distance between the bitcoin price as a percentage of the Global M2 and its yearly SMA is > 0.7
This is a very simple system, but it seems to work pretty well to ride the bitcoin price cycle wave.
The parameters are hard coded but they can be easily changed to test different levels for both the buy and sell signals.
Global M2 YoY % Increase signalThe script produces a signal each time the global M2 increases more than 2.5%. This usually coincides with bitcoin prices pumps, except when it is late in the business cycle or the bitcoin price / halving cycle.
It leverages dylanleclair Global M2 YoY % change, with several modifications:
adding a 10 week lead at the YoY Change plot for better visibility, so that the bitcoin pump moreless coincides with the YoY change.
signal increases > 2.5 in Global M2 at the point at which they occur with a green triangle up.
CISD [TakingProphets]🧠 Indicator Purpose:
The "CISD - Change in State of Delivery" is a precision tool designed for traders utilizing ICT (Inner Circle Trader) conecpets. It detects critical shifts in delivery conditions after liquidity sweeps — helping you spot true smart money activity and optimal trade opportunities. This script is especially valuable for traders applying liquidity concepts, displacement recognition, and market structure shifts at both intraday and swing levels.
🌟 What Makes This Indicator Unique:
Unlike basic trend-following or scalping tools, CISD operates through a two-phase smart money logic:
Liquidity Sweep Detection (sweeping Buyside or Sellside Liquidity).
State of Delivery Change Identification (through bearish or bullish displacement after the sweep).
It intelligently tracks candle sequences and only signals a CISD event after true displacement — offering a much deeper context than ordinary indicators.
⚙️ How the Indicator Works:
Swing Point Detection: Identifies recent pivot highs/lows to map Buyside Liquidity (BSL) and Sellside Liquidity (SSL) zones.
Liquidity Sweeps: Watches for price breaches of these liquidity points to detect institutional stop hunts.
Sequence Recognition: Finds series of same-direction candles before sweeps to mark institutional accumulation/distribution.
Change of Delivery Confirmation: Confirms CISD only after significant displacement moves price against the initial candle sequence.
Visual Markings: Automatically plots CISD lines and optional labels, customizable in color, style, and size.
🎯 How to Use It:
Identify Liquidity Sweeps: Watch for CISD levels plotted after a liquidity sweep event.
Plan Entries: Look for retracements into CISD lines for high-probability entries.
Manage Risk: Use CISD levels to refine your stop-loss and profit-taking zones.
Best Application:
After stop hunts during Killzones (London Open, New York AM).
As part of the Flow State Model: identify higher timeframe PD Arrays ➔ wait for lower timeframe CISD confirmation.
🔎 Underlying Concepts:
Liquidity Pools: Highs and lows cluster stop orders, attracting institutional sweeps.
Displacement: Powerful price moves post-sweep confirm smart money involvement.
Market Structure: CISD frequently precedes major Change of Character (CHoCH) or Break of Structure (BOS) shifts.
🎨 Customization Options:
Adjustable line color, width, and style (solid, dashed, dotted).
Optional label display with customizable color and sizing.
Line extension settings to keep CISD zones visible for future reference.
✅ Recommended for:
Traders studying ICT Smart Money Concepts.
Intraday scalpers and higher timeframe swing traders.
Traders who want to improve entries around liquidity sweeps and institutional displacement moves.
🚀 Bonus Tip:
For maximum confluence, pair this with the HTF POI, ICT Liquidity Levels, and HTF Market Structure indicators available at TakingProphets.com! 🔥
Kalman Filtered RSI | [DeV]The Kalman Filtered RSI indicator is an advanced tool designed for traders who want precise, noise-free market insights. By enhancing the classic Relative Strength Index (RSI) with a Kalman filter, this indicator delivers a smoother, more reliable view of market momentum, helping you identify trends, reversals, and overbought/oversold conditions with greater accuracy. It’s an ideal choice for traders seeking clear signals amidst market volatility, giving you a competitive edge across any trading environment.
The RSI measures momentum by analyzing price movements over a set period, typically 14 bars. It calculates the average of price gains on up days and the average of price losses on down days, then compares these to produce a value between 0 and 100. An RSI above 70 often indicates an overbought market that may reverse downward, while below 30 suggests an oversold market that could reverse upward. RSI is great for spotting momentum shifts, potential reversals, and trend strength, but it can be noisy in choppy markets, leading to misleading signals.
That's where the Kalman filter comes in; it enhances the RSI by applying a sophisticated smoothing process that predicts the RSI’s next value based on its historical trend, then updates this prediction with the actual RSI reading. It operates in two phases: prediction and correction. In the prediction phase, it uses the previous filtered RSI and adds uncertainty from process noise (Q), which is derived from the historical variance of RSI changes, reflecting how much the RSI might unexpectedly shift. In the correction phase, it calculates a Kalman gain based on the ratio of prediction uncertainty to measurement noise (R), which is determined from the variance between raw RSI and a smoothed version, indicating the raw data’s noisiness. This gain weights how much the filter trusts the new RSI versus the prediction, blending them to produce a smoothed RSI that reduces noise while staying responsive to real trends, outperforming simpler methods like moving averages that often lag or oversmooth.
With the Kalman Filtered RSI, you get a refined view of momentum, making it easier to spot trends and reversals with clarity. This indicator’s ability to dynamically adapt to market changes delivers timely, reliable signals, making it a powerful addition to your trading strategy for any market or timeframe.
Sharpe & Sortino Ratio PROSharpe & Sortino Ratio PRO offers an advanced and more precise way to calculate and visualize the Sharpe and Sortino Ratios for financial assets on TradingView. Its main goal is to provide a scientifically accurate method for assessing the risk-adjusted performance of assets, both in the short and long term. Unlike TradingView’s built-in metrics, this script correctly handles periodic returns, uses optional logarithmic returns, properly annualizes both returns and volatility, and adjusts for the risk-free rate — all critical factors for truly meaningful Sharpe and Sortino calculations.
Users can customize the rolling analysis window (e.g., 252 periods for one year on daily data) and the long-term smoothing period (e.g., 1260 periods for five years). There’s also an option to select between linear and logarithmic returns and to manually input a risk-free rate if real-time data from FRED (the 3-Month T-Bill Rate via FRED:DGS3MO) is unavailable. Based on the chart’s timeframe (daily, weekly, or monthly), the script automatically adjusts the risk-free rate to a per-period basis.
The Sharpe Ratio is calculated by first determining the asset’s excess returns (returns after subtracting the risk-free return per period), then computing the average and standard deviation of those excess returns over the specified window, and finally annualizing these figures separately — in line with best scientific practices (Sharpe, 1994). The Sortino Ratio follows a similar approach but only considers negative returns, focusing specifically on downside risk (Sortino & Van der Meer, 1991).
To enhance readability, the script visualizes the ratios using a color gradient: strong negative values are shown in red, neutral values in yellow, and strong positive values in green. Additionally, the long-term averages for both Sharpe and Sortino are plotted with steady colors (teal and orange, respectively), making it easier to spot enduring performance trends.
Why calculating Sharpe and Sortino Ratios manually on TradingView is necessary?
While TradingView provides basic Sharpe and Sortino Ratios, they come with significant methodological flaws that can lead to misleading conclusions about an asset’s true risk-adjusted performance.
First, TradingView often computes volatility based on the standard deviation of price levels rather than returns (TradingView, 2023). This method is problematic because it causes the volatility measure to be directly dependent on the asset’s absolute price. For instance, a stock priced at $1,000 will naturally show larger absolute daily price moves than a $10 stock, even if their percentage changes are similar. This artificially inflates the measured standard deviation and, as a result, depresses the calculated Sharpe Ratio.
Second, TradingView frequently neglects to adjust for the risk-free rate. By treating all returns as risky returns, the computed Sharpe Ratio may significantly underestimate risk-adjusted performance, especially when interest rates are high (Sharpe, 1994).
Third, and perhaps most critically, TradingView doesn’t properly annualize the mean excess return and the standard deviation separately. In correct financial math, the mean excess return should be multiplied by the number of periods per year, while the standard deviation should be multiplied by the square root of the number of periods per year (Cont, 2001; Fabozzi et al., 2007). Incorrect annualization skews the Sharpe and Sortino Ratios and can lead to under- or overestimating investment risk.
These flaws lead to three major issues:
• Overstated volatility for high-priced assets.
• Incorrect scaling between returns and risk.
• Sharpe Ratios that are systematically biased downward, especially in high-price or high-interest environments.
How to properly calculate Sharpe and Sortino Ratios in Pine Script?
To get accurate results, the Sharpe and Sortino Ratios must be calculated using the correct methodology:
1. Use returns, not price levels, to calculate volatility. Ideally, use logarithmic returns for better mathematical properties like time additivity (Cont, 2001).
2. Adjust returns by subtracting the risk-free rate on a per-period basis to obtain true excess returns.
3. Annualize separately:
• Multiply the mean excess return by the number of periods per year (e.g., 252 for daily data).
• Multiply the standard deviation by the square root of the number of periods per year.
4. Finally, divide the annualized mean excess return by the annualized standard deviation to calculate the Sharpe Ratio.
The Sortino Ratio follows the same structure but uses downside deviations instead of standard deviations.
By following this scientifically sound method, you ensure that your Sharpe and Sortino Ratios truly reflect the asset’s real-world risk and return characteristics.
References
• Cont, R. (2001). Empirical properties of asset returns: stylized facts and statistical issues. Quantitative Finance, 1(2), pp. 223–236.
• Fabozzi, F.J., Gupta, F. and Markowitz, H.M. (2007). The Legacy of Modern Portfolio Theory. Journal of Investing, 16(3), pp. 7–22.
• Sharpe, W.F. (1994). The Sharpe Ratio. Journal of Portfolio Management, 21(1), pp. 49–58.
• Sortino, F.A. and Van der Meer, R. (1991). Downside Risk: Capturing What’s at Stake in Investment Situations. Journal of Portfolio Management, 17(4), pp. 27–31.
• TradingView (2023). Help Center - Understanding Sharpe and Sortino Ratios. Available at: www.tradingview.com (Accessed: 25 April 2025).