Smart Wick Concept (SWC)Smart Wick Concept (SWC)
The Smart Wick Concept (SWC) is a unique trend-following strategy designed to capture precise entry points in trending markets. This indicator identifies trade opportunities based on higher timeframe trends and wick behavior on lower timeframes, making it an effective tool for intraday and swing traders.
Key Features:
Trend Identification:
SWC uses the H1 timeframe to define the primary market trend (bullish or bearish), ensuring alignment with the overall market direction.
Precise Entry Signals:
Entry opportunities are generated on the M15 timeframe when a candle's wick interacts with the prior candle's range. This approach minimizes false signals and enhances accuracy.
Stop Loss and Take Profit Levels:
The indicator automatically calculates suggested stop loss and take profit levels based on market dynamics, providing traders with a clear risk-reward framework.
Customizable Parameters:
SWC allows traders to adjust key settings, such as the higher timeframe and minimum trend range, to align with their trading preferences and market conditions.
How It Works:
Bullish Entry:
Higher timeframe trend must be bullish.
A M15 candle must dip below the previous candle’s low and close back above it, signaling a potential buy opportunity.
Bearish Entry:
Higher timeframe trend must be bearish.
A M15 candle must exceed the previous candle’s high and close back below it, signaling a potential sell opportunity.
Risk Management:
Stop loss is placed at the low (for buys) or high (for sells) of the current M15 candle.
Take profit targets are calculated at twice the risk, ensuring a favorable risk-reward ratio.
Benefits:
Aligns trades with market momentum.
Reduces noise by filtering out weak or sideways trends.
Provides a structured approach to trading XAUUSD and other volatile instruments.
Use Cases:
The Smart Wick Concept is ideal for traders looking for a disciplined and data-driven approach to trading. While it is optimized for XAUUSD, it can also be applied to other trending markets such as major currency pairs or indices with some parameter adjustments.
Disclaimer:
This indicator is a trading tool and should not be used as a standalone strategy. Always backtest the indicator thoroughly and use proper risk management to protect your capital. Past performance does not guarantee future results.
Cerca negli script per "bear"
SMA Trend Spectrum [InvestorUnknown]The SMA Trend Spectrum indicator is designed to visually represent market trends and momentum by using a series of Simple Moving Averages (SMAs) to create a color-coded spectrum or heatmap. This tool helps traders identify the strength and direction of market trends across various time frames within one chart.
Functionality:
SMA Calculation: The indicator calculates multiple SMAs starting from a user-defined base period (Starting Period) and increasing by a specified increment (Period Increment). This creates a sequence of moving averages that span from short-term to long-term perspectives.
Trend Analysis: Each segment of the spectrum compares three SMAs to determine the market's trend strength: Bullish (color-coded green) when the current price is above all three SMAs. Neutral (color-coded purple) when the price is above some but not all SMAs. Bearish (color-coded red) when the price is below all three SMAs.
f_col(x1, x2, x3) =>
min = ta.sma(src, x1)
mid = ta.sma(src, x2)
max = ta.sma(src, x3)
c = src > min and src > mid and src > max ? bull : src > min or src > mid or src > max ? ncol : bear
Heatmap Visualization: The indicator plots these trends as a vertical spectrum where each row represents a different set of SMAs, forming a heatmap-like display. The color of each segment in the heatmap directly correlates with market conditions, providing an intuitive view of market sentiment.
Signal Smoothing: Users can choose to smooth the trend signal using either a Simple Moving Average (SMA), Exponential Moving Average (EMA), or leave it as raw data (Signal Smoothing). The length of smoothing can be adjusted (Smoothing Length). The signal is displayed in a scaled way to automatically adjust for the best visual experience, ensuring that the trend is clear and easily interpretable across different chart scales and time frames
Additional Features:
Plot Signal: Optionally plots a line representing the average trend across all calculated SMAs. This line helps in identifying the overall market direction based on the spectrum data.
Bar Coloring: Bars on the chart can be colored according to the average trend strength, providing a quick visual cue of market conditions.
Usage:
Trend Identification: Use the heatmap to quickly assess if the market is trending strongly in one direction or if it's in a consolidation phase.
Entry/Exit Points: Look for shifts in color patterns to anticipate potential trend changes or confirmations for entry or exit points.
Momentum Analysis: The gradient from bearish to bullish across the spectrum can be used to gauge momentum and potentially forecast future price movements.
Notes:
The effectiveness of this indicator can vary based on market conditions, asset volatility, and the chosen SMA periods and increments.
It's advisable to combine this tool with other technical indicators or fundamental analysis for more robust trading decisions.
Disclaimer: Past performance does not guarantee future results. Always use this indicator as part of a broader trading strategy.
Bitcoin Logarithmic Regression BandsOverview
This indicator displays logarithmic regression bands for Bitcoin. Logarithmic regression is a statistical method used to model data where growth slows down over time. I initially created these bands in 2019 using a spreadsheet, and later coded them in TradingView in 2021. Over time, the bands proved effective at capturing Bitcoin's bull market peaks and bear market lows. In 2024, I decided to share this indicator because I believe these logarithmic regression bands offer the best fit for the Bitcoin chart.
How It Works
The logarithmic regression lines are fitted to the Bitcoin (BTCUSD) chart using two key factors: the 'a' factor (slope) and the 'b' factor (intercept). The two lines in the upper and lower bands share the same 'a' factor, but I adjust the 'b' factor by 0.2 to more accurately capture the bull market peaks and bear market lows. The formula for logaritmic regression is 10^((a * ln) - b).
How to Use the Logarithmic Regression Bands
1. Lower Band (Support Band):
The two lines in the lower band create a potential support area for Bitcoin’s price. Historically, Bitcoin’s price has always found its lows within this band during past market cycles. When the price is within the lower band, it suggests that Bitcoin is undervalued and could be set for a rebound.
2. Upper Band (Resistance Band):
The two lines in the upper band create a potential resistance area for Bitcoin’s price. Bitcoin has consistently reached its highs in this band during previous market cycles. If the price is within the upper band, it indicates that Bitcoin is overvalued, and a potential price correction may be imminent.
Use Cases
- Price Bottoming:
Bitcoin tends to bottom out at the lower band before entering a prolonged bull market or a period of sideways movement.
- Price Topping:
In reverse, Bitcoin tends to top out at the upper band before entering a bear market phase.
- Profitable Strategy:
Buying at the lower band and selling at the upper band can be a profitable trading strategy, as these bands often indicate key price levels for Bitcoin’s market cycles.
Fair Value Gap DetectorHow this indicator works:
It detects two types of FVGs:
Bullish FVG: Occurs when the low of the current candle is higher than the high of the candle from 2 bars ago (creates an upward gap)
Bearish FVG: Occurs when the high of the current candle is lower than the low of the candle from 2 bars ago (creates a downward gap)
Features:
Allows users to toggle both bullish and bearish FVG detection independently
Customizable colors for both bullish (default green) and bearish (default red) FVGs
Visualizes FVGs using:
Boxes that highlight the gap area (with 80% transparency)
Labels that mark each FVG ("Bull FVG" or "Bear FVG")
Visual representation:
Bullish FVGs are marked with green boxes and downward-pointing labels
Bearish FVGs are marked with red boxes and upward-pointing labels
This indicator can be useful for :
Identifying potential areas where price might return to
Finding potential support and resistance zones
Understanding market structure and momentum shifts
RSI+EMA+MZONES with DivergencesFeatures:
1. RSI Calculation:
Uses user-defined periods to calculate the RSI and visualize momentum shifts.
Plots key RSI zones, including upper (overbought), lower (oversold), and middle levels.
2. EMA of RSI:
Includes an Exponential Moving Average (EMA) of the RSI for trend smoothing and confirmation.
3. Bullish and Bearish Divergences:
Detects Regular divergences (labeled as “Bull” and “Bear”) for classic signals.
Identifies Hidden divergences (labeled as “H Bull” and “H Bear”) for potential trend continuation opportunities.
4. Customizable Labels:
Displays divergence labels directly on the chart.
Labels can be toggled on or off for better chart visibility.
5. Alerts:
Predefined alerts for both regular and hidden divergences to notify users in real time.
6. Fully Customizable:
Adjust RSI period, lookback settings, divergence ranges, and visibility preferences.
Colors and styles are easily configurable to match your trading style.
How to Use:
RSI Zones: Use RSI and its zones to identify overbought/oversold conditions.
EMA: Look for crossovers or confluence with divergences for confirmation.
Divergences: Monitor for “Bull,” “Bear,” “H Bull,” or “H Bear” labels to spot key reversal or continuation signals.
Alerts: Set alerts to be notified of divergence opportunities without constant chart monitoring.
CandleCandle: A Comprehensive Pine Script™ Library for Candlestick Analysis
Overview
The Candle library, developed in Pine Script™, provides traders and developers with a robust toolkit for analyzing candlestick data. By offering easy access to fundamental candlestick components like open, high, low, and close prices, along with advanced derived metrics such as body-to-wick ratios, percentage calculations, and volatility analysis, this library enables detailed insights into market behavior.
This library is ideal for creating custom indicators, trading strategies, and backtesting frameworks, making it a powerful resource for any Pine Script™ developer.
Key Features
1. Core Candlestick Data
• Open : Access the opening price of the current candle.
• High : Retrieve the highest price.
• Low : Retrieve the lowest price.
• Close : Access the closing price.
2. Candle Metrics
• Full Size : Calculates the total range of the candle (high - low).
• Body Size : Computes the size of the candle’s body (open - close).
• Wick Size : Provides the combined size of the upper and lower wicks.
3. Wick and Body Ratios
• Upper Wick Size and Lower Wick Size .
• Body-to-Wick Ratio and Wick-to-Body Ratio .
4. Percentage Calculations
• Upper Wick Percentage : The proportion of the upper wick size relative to the full candle size.
• Lower Wick Percentage : The proportion of the lower wick size relative to the full candle size.
• Body Percentage and Wick Percentage relative to the candle’s range.
5. Candle Direction Analysis
• Determines if a candle is "Bullish" or "Bearish" based on its closing and opening prices.
6. Price Metrics
• Average Price : The mean of the open, high, low, and close prices.
• Midpoint Price : The midpoint between the high and low prices.
7. Volatility Measurement
• Calculates the standard deviation of the OHLC prices, providing a volatility metric for the current candle.
Code Architecture
Example Functionality
The library employs a modular structure, exporting various functions that can be used independently or in combination. For instance:
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at mozilla.org
// © DevArjun
//@version=6
indicator("Candle Data", overlay = true)
import DevArjun/Candle/1 as Candle
// Body Size %
bodySize = Candle.BodySize()
// Determining the candle direction
candleDirection = Candle.CandleDirection()
// Calculating the volatility of the current candle
volatility = Candle.Volatility()
// Plotting the metrics (for demonstration)
plot(bodySize, title="Body Size", color=color.blue)
label.new(bar_index, high, candleDirection, style=label.style_circle)
Scalability
The modularity of the Candle library allows seamless integration into more extensive trading systems. Functions can be mixed and matched to suit specific analytical or strategic needs.
Use Cases
Trading Strategies
Developers can use the library to create strategies based on candle properties such as:
• Identifying long-bodied candles (momentum signals).
• Detecting wicks as potential reversal zones.
• Filtering trades based on candle ratios.
Visualization
Plotting components like body size, wick size, and directional labels helps visualize market behavior and identify patterns.
Backtesting
By incorporating volatility and ratio metrics, traders can design and test strategies on historical data, ensuring robust performance before live trading.
Education
This library is a great tool for teaching candlestick analysis and how each component contributes to market behavior.
Portfolio Highlights
Project Objective
To create a Pine Script™ library that simplifies candlestick analysis by providing comprehensive metrics and insights, empowering traders and developers with advanced tools for market analysis.
Development Challenges and Solutions
• Challenge : Achieving high precision in calculating ratios and percentages.
• Solution : Implemented robust mathematical operations and safeguarded against division-by-zero errors.
• Challenge : Ensuring modularity and scalability.
• Solution : Designed functions as independent modules, allowing flexible integration.
Impact
• Efficiency : The library reduces the time required to calculate complex candlestick metrics.
• Versatility : Supports various trading styles, from scalping to swing trading.
• Clarity : Clean code and detailed documentation ensure usability for developers of all levels.
Conclusion
The Candle library exemplifies the power of Pine Script™ in simplifying and enhancing candlestick analysis. By including this project in your portfolio, you showcase your expertise in:
• Financial data analysis.
• Pine Script™ development.
• Creating tools that solve real-world trading challenges.
This project demonstrates both technical proficiency and a keen understanding of market analysis, making it an excellent addition to your professional portfolio.
Library "Candle"
A comprehensive library to access and analyze the basic components of a candlestick, including open, high, low, close prices, and various derived metrics such as full size, body size, wick sizes, ratios, percentages, and additional analysis metrics.
Open()
Open
@description Returns the opening price of the current candle.
Returns: float - The opening price of the current candle.
High()
High
@description Returns the highest price of the current candle.
Returns: float - The highest price of the current candle.
Low()
Low
@description Returns the lowest price of the current candle.
Returns: float - The lowest price of the current candle.
Close()
Close
@description Returns the closing price of the current candle.
Returns: float - The closing price of the current candle.
FullSize()
FullSize
@description Returns the full size (range) of the current candle (high - low).
Returns: float - The full size of the current candle.
BodySize()
BodySize
@description Returns the body size of the current candle (open - close).
Returns: float - The body size of the current candle.
WickSize()
WickSize
@description Returns the size of the wicks of the current candle (full size - body size).
Returns: float - The size of the wicks of the current candle.
UpperWickSize()
UpperWickSize
@description Returns the size of the upper wick of the current candle.
Returns: float - The size of the upper wick of the current candle.
LowerWickSize()
LowerWickSize
@description Returns the size of the lower wick of the current candle.
Returns: float - The size of the lower wick of the current candle.
BodyToWickRatio()
BodyToWickRatio
@description Returns the ratio of the body size to the wick size of the current candle.
Returns: float - The body to wick ratio of the current candle.
UpperWickPercentage()
UpperWickPercentage
@description Returns the percentage of the upper wick size relative to the full size of the current candle.
Returns: float - The percentage of the upper wick size relative to the full size of the current candle.
LowerWickPercentage()
LowerWickPercentage
@description Returns the percentage of the lower wick size relative to the full size of the current candle.
Returns: float - The percentage of the lower wick size relative to the full size of the current candle.
WickToBodyRatio()
WickToBodyRatio
@description Returns the ratio of the wick size to the body size of the current candle.
Returns: float - The wick to body ratio of the current candle.
BodyPercentage()
BodyPercentage
@description Returns the percentage of the body size relative to the full size of the current candle.
Returns: float - The percentage of the body size relative to the full size of the current candle.
WickPercentage()
WickPercentage
@description Returns the percentage of the wick size relative to the full size of the current candle.
Returns: float - The percentage of the wick size relative to the full size of the current candle.
CandleDirection()
CandleDirection
@description Returns the direction of the current candle.
Returns: string - "Bullish" if the candle is bullish, "Bearish" if the candle is bearish.
AveragePrice()
AveragePrice
@description Returns the average price of the current candle (mean of open, high, low, and close).
Returns: float - The average price of the current candle.
MidpointPrice()
MidpointPrice
@description Returns the midpoint price of the current candle (mean of high and low).
Returns: float - The midpoint price of the current candle.
Volatility()
Volatility
@description Returns the standard deviation of the OHLC prices of the current candle.
Returns: float - The volatility of the current candle.
DAILY Supertrend + EMA Crossover with RSI FilterThis strategy is a technical trading approach that combines multiple indicators—Supertrend, Exponential Moving Averages (EMAs), and the Relative Strength Index (RSI)—to identify and manage trades.
Core Components:
1. Exponential Moving Averages (EMAs):
Two EMAs, one with a shorter period (fast) and one with a longer period (slow), are calculated. The idea is to spot when the faster EMA crosses above or below the slower EMA. A fast EMA crossing above the slow EMA often suggests upward momentum, while crossing below suggests downward momentum.
2. Supertrend Indicator:
The Supertrend uses Average True Range (ATR) to establish dynamic support and resistance lines. These lines shift above or below price depending on the prevailing trend. When price is above the Supertrend line, the trend is considered bullish; when below, it’s considered bearish. This helps ensure that the strategy trades only in the direction of the overall trend rather than against it.
3. RSI Filter:
The RSI measures momentum. It helps avoid buying into markets that are already overbought or selling into markets that are oversold. For example, when going long (buying), the strategy only proceeds if the RSI is not too high, and when going short (selling), it only proceeds if the RSI is not too low. This filter is meant to improve the quality of the trades by reducing the chance of entering right before a reversal.
4. Time Filters:
The strategy only triggers entries during user-specified date and time ranges. This is useful if one wants to limit trading activity to certain trading sessions or periods with higher market liquidity.
5. Risk Management via ATR-based Stops and Targets:
Both stop loss and take profit levels are set as multiples of the ATR. ATR measures volatility, so when volatility is higher, both stops and profit targets adjust to give the trade more breathing room. Conversely, when volatility is low, stops and targets tighten. This dynamic approach helps maintain consistent risk management regardless of market conditions.
Overall Logic Flow:
- First, the market conditions are analyzed through EMAs, Supertrend, and RSI.
- When a buy (long) condition is met—meaning the fast EMA crosses above the slow EMA, the trend is bullish according to Supertrend, and RSI is below the specified “overbought” threshold—the strategy initiates or adds to a long position.
- Similarly, when a sell (short) condition is met—meaning the fast EMA crosses below the slow EMA, the trend is bearish, and RSI is above the specified “oversold” threshold—it initiates or adds to a short position.
- Each position is protected by an automatically calculated stop loss and a take profit level based on ATR multiples.
Intended Result:
By blending trend detection, momentum filtering, and volatility-adjusted risk management, the strategy aims to capture moves in the primary trend direction while avoiding entries at excessively stretched prices. Allowing multiple entries can potentially amplify gains in strong trends but also increases exposure, which traders should consider in their risk management approach.
In essence, this strategy tries to ride established trends as indicated by the Supertrend and EMAs, filter out poor-quality entries using RSI, and dynamically manage trade risk through ATR-based stops and targets.
20/50 SMA Cross 200 SMAThis Pine Script code is designed to identify and visualize crossovers of two shorter-term Simple Moving Averages (SMAs), a 20-period SMA and a 50-period SMA, with a longer-term 200-period SMA on a price chart. It also includes alerts for these crossover events. Here's a breakdown:
**Purpose:**
The core idea behind this script is to detect potential trend changes. Crossovers of shorter-term moving averages over a longer-term moving average are often interpreted as bullish signals, while crossovers below are considered bearish.
**Key Components:**
1. **Moving Average Calculation:**
* `sma20 = ta.sma(close, 20)`: Calculates the 20-period SMA of the closing price.
* `sma50 = ta.sma(close, 50)`: Calculates the 50-period SMA of the closing price.
* `sma200 = ta.sma(close, 200)`: Calculates the 200-period SMA of the closing price.
2. **Crossover Detection:**
* `crossUp20 = ta.crossover(sma20, sma200)`: Returns `true` when the 20-period SMA crosses above the 200-period SMA.
* `crossDown20 = ta.crossunder(sma20, sma200)`: Returns `true` when the 20-period SMA crosses below the 200-period SMA.
* Similar logic applies for `crossUp50` and `crossDown50` with the 50-period SMA.
3. **Recent Crossover Tracking (Crucial Improvement):**
* `lookback = 7`: Defines a lookback period of 7 bars.
* `var bool hasCrossedUp20 = false`, etc.: Declares `var` (persistent) boolean variables to track if a crossover has occurred *within* the last 7 bars. This is the most important correction from previous versions.
* The logic using `ta.barssince()` is the key:
* If a crossover happens (`crossUp20` is true), the corresponding `hasCrossedUp20` is set to `true`.
* If no crossover happens on the current bar, it checks if a crossover happened within the last 7 bars using `ta.barssince(crossUp20) <= lookback`. If so, it keeps `hasCrossedUp20` as `true`. After 7 bars, it becomes `false`.
4. **Plotting Crossovers:**
* `plotshape(...)`: Plots circles on the chart to visually mark the crossovers.
* Green circles below the bars for bullish crossovers (20 and 50).
* Red circles above the bars for bearish crossovers (20 and 50).
* Different shades of green/red (green/lime, red/maroon) distinguish between 20 and 50 SMA crossovers.
5. **Plotting Moving Averages (Optional but Helpful):**
* `plot(sma20, color=color.blue, linewidth=1)`: Plots the 20-period SMA in blue.
* Similar logic for the 50-period SMA (orange) and 200-period SMA (gray).
6. **Alerts:**
* `alertcondition(...)`: Triggers alerts when crossovers occur. This is essential for real-time trading signals.
**How it Works (in Simple Terms):**
The script continuously calculates the 20, 50, and 200 SMAs. It then monitors for instances where the 20 or 50 SMA crosses the 200 SMA. When such a crossover happens, a colored circle is plotted on the chart, and an alert is triggered. The key improvement is that it remembers if a crossover occurred in the last 7 bars and continues to display the circle during that period.
**Use Case:**
Traders use this type of indicator to identify potential entry and exit points in the market. A bullish crossover (shorter SMA crossing above the longer SMA) might be a signal to buy, while a bearish crossover might be a signal to sell.
**Key Improvements over Previous Versions:**
* **Correct Lookback Implementation:** The use of `ta.barssince()` and `var` variables is the correct and efficient way to check for crossovers within a lookback period. This fixes the major flaw in earlier versions.
* **Clear Visualizations:** The use of `plotshape` with distinct colors makes it easy to distinguish between 20 and 50 SMA crossovers.
* **Alerts:** The inclusion of alerts makes the script much more practical for real-time trading.
This improved version provides a robust and useful tool for identifying and tracking SMA crossovers.
3_SMA_Strategy_V-Singhal by ParthibIndicator Name: 3_SMA_Strategy_V-Singhal by Parthib
Description:
The 3_SMA_Strategy_V-Singhal by Parthib is a dynamic trend-following strategy that combines three key simple moving averages (SMA) — SMA 20, SMA 50, and SMA 200 — to generate buy and sell signals. This strategy uses these SMAs to capture and follow market trends, helping traders identify optimal entry (buy) and exit (sell) points. Additionally, the strategy highlights the closing price (CP), which plays a critical role in confirming buy and sell signals.
The strategy also features a Second Buy Signal triggered if the price falls more than 10% after an initial buy signal, providing a re-entry opportunity with a different visual highlight for the second buy signal.
Features:
Three Simple Moving Averages (SMA):
SMA 20: Short-term moving average reflecting immediate market trends.
SMA 50: Medium-term moving average showing the prevailing trend.
SMA 200: Long-term moving average that indicates the overall market trend.
Buy Signal (B1):
Triggered when:
SMA 200 > SMA 50 > SMA 20, indicating a bullish market structure.
The closing price is positioned below all three SMAs, confirming a potential upward reversal.
A green label appears at the low of the bar with the text B1-Price, indicating the price at which the buy signal is generated.
Second Buy Signal (B2):
Triggered if the price falls more than 10% after the first buy signal, providing an opportunity to re-enter the market at a potentially better price.
A blue label appears at the low of the bar with the text B2-Price, showing the price at which the second buy opportunity arises.
Sell Signal (S):
Triggered when:
SMA 20 > SMA 50 > SMA 200, indicating a bearish trend.
The closing price (CP) is positioned above all three SMAs, confirming a potential downward movement.
A red label appears at the high of the bar with the text S-Price, showing the price at which the sell signal is triggered.
How It Works:
Buy Conditions:
SMA 200 > SMA 50 > SMA 20: Indicates a bullish market where the long-term trend (SMA 200) is above the medium-term (SMA 50), and the medium-term trend is above the short-term (SMA 20).
Closing price below all three SMAs: Confirms that the price is in a favorable position for a potential upward reversal.
Sell Conditions:
SMA 20 > SMA 50 > SMA 200: This setup indicates a bearish trend.
Closing price above all three SMAs: Confirms that the price is in a favorable position for a potential downward movement.
Second Buy Signal (B2): If the price falls more than 10% after the first buy signal, the strategy triggers a second buy opportunity (B2) at a potentially better price. This helps traders take advantage of pullbacks or corrections after an initial favorable entry.
Labeling System:
B1-Price: The first buy signal label, appearing when the market is bullish and the closing price is below all three SMAs.
B2-Price: The second buy signal label, triggered if the price falls more than 10% after the initial buy signal.
S-Price: The sell signal label, appearing when the market turns bearish and the closing price is above all three SMAs.
How to Use:
Add the Indicator: Add "3_SMA_Strategy_V-Singhal by Parthib" to your chart on TradingView.
Interpret Buy Signals (B1): Look for green labels with the text "B1-Price" when the closing price (CP) is below all three SMAs and the trend is bullish.
Interpret Second Buy Signals (B2): If the price falls more than 10% after the first buy, look for blue labels with "B2-Price" and a re-entry opportunity.
Interpret Sell Signals (S): Look for red labels with the text "S-Price" when the market turns bearish, and the closing price (CP) is above all three SMAs.
Conclusion:
The 3_SMA_Strategy_V-Singhal by Parthib is an efficient and simple trend-following tool for traders looking to make informed buy and sell decisions. By combining the power of three SMAs and the closing price (CP) confirmation, this strategy helps traders to buy when the market shows a strong bullish setup and sell when the trend turns bearish. Additionally, the second buy signal feature ensures that traders don’t miss out on re-entry opportunities after price corrections, giving them a chance to re-enter the market at a favorable price.
Crypto$ure EMA with 4H Trend TableThe Crypto AMEX:URE EMA indicator provides a clear, multi-timeframe confirmation setup to help you align your shorter-term trades with the broader market trend.
Key Features:
4-Hour EMA Trend Insight:
A table, displayed at the top-right corner of your chart, shows the current 4-hour EMA value and whether the 4-hour trend is Bullish, Bearish, or Neutral. This gives you a reliable, higher-timeframe perspective, making it easier to understand the general market direction.
Lower Timeframe Signals (e.g., 25m or 15m):
On your chosen chart timeframe, the indicator plots two EMAs (Fast and Slow).
A Buy Signal (an up arrow) appears when the Fast EMA crosses above the Slow EMA, indicating potential upward momentum.
A Sell Signal (a down arrow) appears when the Fast EMA crosses below the Slow EMA, indicating potential downward momentum.
Manual Confirmation for Better Accuracy:
While the Buy/Sell signals come directly from the shorter timeframe, you can use the 4-hour trend information from the table to confirm or filter these signals. For example, if the 4-hour trend is Bullish, the Buy signals on the shorter timeframe may carry more weight. If it’s Bearish, then the Sell signals might be more reliable.
How to Use:
Add the Crypto AMEX:URE EMA indicator to your chart.
Check the top-right table to see the current 4-hour EMA trend.
Watch for Buy (up arrow) or Sell (down arrow) signals on your current timeframe.
For added confidence, consider taking Buy signals only when the 4-hour trend is Bullish and Sell signals when the 4-hour trend is Bearish.
Note:
This indicator does not generate trading orders. Instead, it provides actionable insights to help guide your discretionary decision-making. Always consider additional market context, risk management practices, and personal trading rules before acting on any signal.
Trend Condition [TradersPro]
OVERVIEW
The Trend Condition Indicator measures the strength of the bullish or bearish trend by using a ribbon pattern of exponential moving averages and scoring system. Trend cycles naturally expand and contract as a normal part of the cycle. It is the rhythm of the market. Perpetual expansion and contraction of trend.
As trend cycles develop the indicator shows a compression of the averages. These compression zones are key locations as trends typically expand from there. The expansion of trend can be up or down.
As the trend advances the ribbon effect of the indicator can be seen as each average expands with the price action. Once they have “fanned” the probability of the current trend slowing is high.
This can be used to recognize a powerful trend may be concluding. Traders can tighten stops, exit positions or utilize other prudent strategies.
CONCEPTS
Each line will display green if it is higher than the prior period and red if it is lower than the prior period. If the average is green it is considered bullish and will score one point in the bullish display. Red lines are considered bearish and will score one point in the bearish display.
The indicator can then be used at a quick glance to see the number of averages that are bullish and the number that are bearish.
A trader may use these on any tradable instrument. They can be helpful in stock portfolio management when used with an index like the S&P 500 to determine the strength of the current market trend. This may affect trade decisions like possession size, stop location and other risk factors.
DonAlt - Smart Money Toolkit [BigBeluga]DonAlt - Smart Money Toolkit is inspired by the analytical insights of popular crypto influencer DonAlt.
This advanced toolkit integrates smart money concepts with key technical analysis elements to enhance your trading decisions.
🔵 KEY FEATURES:
SUPPORT AND RESISTANCE LEVELS Automatically identifies critical market turning points with significant volume. Levels turn green when the price is above them and red when below, providing a visual cue for key market thresholds.
ORDER BLOCKS: Highlights significant price zones preceding major price movements.
- If the move is down , it searches for the last bullish candle and plots a block from its body.
- If the move is up , it searches for the last bearish candle and creates a block from its body.
These blocks help identify areas of institutional interest and potential reversals.
TRENDLINES: Automatically plots trendlines to identify breakout zones or price accumulation areas.
• Bullish trendlines accumulation form when the current low is higher than the previous low.
• Bearish trendlines accumulation emerge when the current high is lower than the previous high.
• Bullish trendlines Breakout form when the price break above it.
• Bearish trendlines Breakout form when the price break below it.
Volatility Integration: The levels incorporate normalized volatility to ensure only significant zones are highlighted, filtering noise and emphasizing meaningful data.
🔵 WHEN TO USE:
This toolkit is ideal for traders seeking to align with "smart money" strategies by identifying key areas of institutional activity, strong support and resistance zones, and potential breakout setups.
🔵 CUSTOMIZATION:
Toggle the visibility of levels, order blocks, or trendlines to match your trading style and focus.
Colors of the Bull and Bear key features
Extend trendline
CauchyTrend [InvestorUnknown]The CauchyTrend is an experimental tool that leverages a Cauchy-weighted moving average combined with a modified Supertrend calculation. This unique approach provides traders with insight into trend direction, while also offering an optional ATR-based range analysis to understand how often the market closes within, above, or below a defined volatility band.
Core Concepts
Cauchy Distribution and Gamma Parameter
The Cauchy distribution is a probability distribution known for its heavy tails and lack of a defined mean or variance. It is characterized by two parameters: a location parameter (x0, often 0 in our usage) and a scale parameter (γ, "gamma").
Gamma (γ): Determines the "width" or scale of the distribution. Smaller gamma values produce a distribution more concentrated near the center, giving more weight to recent data points, while larger gamma values spread the weight more evenly across the sample.
In this indicator, gamma influences how much emphasis is placed on values closer to the current price versus those further away in time. This makes the resulting weighted average either more reactive or smoother, depending on gamma’s value.
// Cauchy PDF formula used for weighting:
// f(x; γ) = (1/(π*γ)) *
f_cauchyPDF(offset, gamma) =>
numerator = gamma * gamma
denominator = (offset * offset) + (gamma * gamma)
pdf = (1 / (math.pi * gamma)) * (numerator / denominator)
pdf
A chart showing different Cauchy PDFs with various gamma values, illustrating how gamma affects the weight distribution.
Cauchy-Weighted Moving Average (CWMA)
Using the Cauchy PDF, we calculate normalized weights to create a custom Weighted Moving Average. Each bar in the lookback period receives a weight according to the Cauchy PDF. The result is a Cauchy Weighted Average (cwm_avg) that differs from typical moving averages, potentially offering unique sensitivity to price movements.
// Summation of weighted prices using Cauchy distribution weights
cwm_avg = 0.0
for i = 0 to length - 1
w_norm = array.get(weights, i) / sum_w
cwm_avg += array.get(values, i) * w_norm
Supertrend with a Cauchy Twist
The indicator integrates a modified Supertrend calculation using the cwm_avg as its reference point. The Supertrend logic typically sets upper and lower bands based on volatility (ATR), and flips direction when price crosses these bands.
In this case, the Cauchy-based average replaces the usual baseline, aiming to capture trend direction via a different weighting mechanism.
When price closes above the upper band, the trend is considered bullish; closing below the lower band signals a bearish trend.
ATR Stats Range (Optional)
Beyond the fundamental trend detection, the indicator optionally computes ATR-based stats to understand price distribution relative to a volatility corridor centered on the cwm_avg line:
Volatility Range:
Defined as cwm_avg ± (ATR * atr_mult), this range creates upper and lower bands. Turning on atr_stats computes how often the daily close falls: Within the range, Above the upper ATR boundary, Below the lower ATR boundary, Within the range but above cwm_avg, Within the range but below cwm_avg
These statistics can help traders gauge how the market behaves relative to this volatility envelope and possibly identify if the market tends to revert to the mean or break out more often.
Backtesting and Performance Metrics
The code is integrated with a backtesting library that allows users to assess strategy performance historically:
Equity Curve Calculation: Compares CauchyTrend-based signals against the underlying asset.
Performance Metrics Table: Once enabled, displays key metrics such as mean returns, Sharpe Ratio, Sortino Ratio, and more, comparing the strategy to a simple Buy & Hold approach.
Alerts and Notifications
The indicator provides Alerts for key events:
Long Alert: Triggered when the trend flips bullish.
Short Alert: Triggered when the trend flips bearish.
Customization and Calibration
Important: The default parameters are not optimized for any specific instrument or time frame. Traders should:
Adjust the length and gamma parameters to influence how sharply or broadly the cwm_avg reacts to price changes.
Tune the atr_len and atr_mult for the Supertrend logic to better match the asset’s volatility characteristics.
Experiment with atr_stats on/off to see if that additional volatility distribution information provides helpful insights.
Traders may find certain sets of parameters that align better with their preferred trading style, risk tolerance, or asset volatility profile.
Disclaimer: This indicator is for educational and informational purposes only. Past performance in backtesting does not guarantee future results. Always perform due diligence, and consider consulting a qualified financial advisor before trading.
ATR HEMA [SeerQuant]What is the ATR Holt Moving Average (HEMA)?
The ATR Holt Moving Average (HEMA) is an advanced smoothing technique that incorporates the Holt exponential smoothing method. Unlike traditional moving averages, HEMA uses two smoothing factors (alpha and gamma) to forecast both the current trend and the trend change rate. This dual-layer approach improves the responsiveness of the moving average to both stable trends and volatile price swings.
When paired with the Average True Range (ATR), the HEMA becomes even more powerful. The ATR acts as a volatility filter, defining a "neutral zone" where minor price fluctuations are ignored. This allows traders to focus on significant market movements while reducing the impact of noise.
⚙️ How the Code Works
The ATR Holt Moving Average (HEMA) combines trend smoothing with volatility filtering to provide traders with dynamic signals. Here's how it functions step by step:
User Inputs and Customization:
Traders can customize the lengths for HEMA's smoothing factors (alphaL and gammaL), the ATR calculation length, and the neutral zone multiplier (atrMult).
The src input allows users to choose the price source for calculations (e.g., hl2), while the col input offers various color themes (Default, Modern, Warm, Cool).
Holt Exponential Moving Average (HEMA) Calculation:
Alpha and Gamma Smoothing Factors:
alpha controls how much weight is given to the current price versus past prices.
gamma smooths the trend change rate, reducing noise. The HEMA formula combines the current price, the previous HEMA value, and a trend adjustment (via the b variable) to create a smooth yet responsive average. The b variable tracks the rate of change in the HEMA over time, further refining the trend detection.
ATR-Based Neutral Zone:
If the change in HEMA (hemaChange) falls within the neutral zone, it is considered insignificant, and the trend color remains unchanged.
Color and Signal Detection:
Bullish Trend: The color is set to bull when HEMA rises above the neutral zone.
Bearish Trend: The color is set to bear when HEMA falls below the neutral zone.
Neutral Zone: The color remains unchanged, signalling no significant trend.
🚀 Summary
This indicator enhances traditional moving averages by combining the Holt smoothing method with ATR-based volatility filtering. The HEMA adapts to market conditions, detecting trends and transitions while filtering out insignificant price changes. The result is a versatile tool for:
The ATR Holt Moving Average (HEMA) is ideal for traders seeking a balance between responsiveness and stability, offering precise signals in both trending and volatile markets.
📜 Disclaimer
The information provided by this script is for educational and informational purposes only and does not constitute financial, investment, or trading advice. Past performance of any trading system or indicator, including this one, is not indicative of future results. Trading and investing in financial markets involve risk, and it is possible to lose your entire investment.
Users are advised to perform their own due diligence and consult with a licensed financial advisor before making any trading or investment decisions. The creator of this script is not responsible for any trading or investment decisions made based on the use of this script.
This script complies with TradingView's guidelines and is provided as-is, without any guarantee of accuracy, reliability, or performance. Use at your own risk.
Daily Directional Bias Indicator (S&P 500)This indicator is designed to help you be on the right side of the trade.
Most traders who struggle to know which way price may move are only looking at part of the picture. This Directional Bias Indicator uses both the Accumulation/Distribution Line and VIX for directional confirmation.
The Accumulation/Distribution Line
The Accumulation/Distribution (ACC) line helps us gauge market momentum by showing the cumulative flow of money into or out of an asset. When the ACC line is rising, it suggests that buying pressure is dominating, indicating a bullish market. Conversely, when the ACC line is falling, it suggests that selling pressure is stronger, indicating a bearish market. By comparing the ACC line with the VWAP, traders can see if the price is moving in line with the overall market sentiment. If the ACC line is above the VWAP, it suggests the market is in a bullish phase; if it's below, it indicates a bearish phase.
The VIX
The VIX (Volatility Index) is often referred to as the "fear gauge" of the market. When the VIX is rising, it typically signals increased market fear and higher volatility, which can be a sign of bearish market conditions. Conversely, when the VIX is falling, it suggests lower volatility and a more stable, bullish market. Using the VIX with the VWAP helps us confirm market direction, particularly in relation to the S&P 500.
VWAP
For both the ACC Line and VIX, we use a VWAP line to gauge whether the ACC line or the VIX is above or below the average. When the ACC line is above the VWAP, we view it as a sign that price will go up. However, because the VIX has an inverse relationship, when the VIX falls below the VWAP, we take that as a sign to go long.
How to use
The yellow line represents the ACC Line.
The red line represents the VWAP based on the ACC line.
The triangles at the bottom simply show when the ACC line is above or below the VWAP.
The triangles at the top show whether the VIX is bullish or bearish.
If both triangles (top or bottom) are bullish, this confirms that the price of an asset like the S&P 500 will likely go up. If both triangles are pointing down, it suggests that price will fall.
As always, test for yourself.
Happy trading!
Simple Decesion Matrix Classification Algorithm [SS]Hello everyone,
It has been a while since I posted an indicator, so thought I would share this project I did for fun.
This indicator is an attempt to develop a pseudo Random Forest classification decision matrix model for Pinescript.
This is not a full, robust Random Forest model by any stretch of the imagination, but it is a good way to showcase how decision matrices can be applied to trading and within Pinescript.
As to not market this as something it is not, I am simply calling it the "Simple Decision Matrix Classification Algorithm". However, I have stolen most of the aspects of this machine learning algo from concepts of Random Forest modelling.
How it works:
With models like Support Vector Machines (SVM), Random Forest (RF) and Gradient Boosted Machine Learning (GBM), which are commonly used in Machine Learning Classification Tasks (MLCTs), this model operates similarity to the basic concepts shared amongst those modelling types. While it is not very similar to SVM, it is very similar to RF and GBM, in that it uses a "voting" system.
What do I mean by voting system?
How most classification MLAs work is by feeding an input dataset to an algorithm. The algorithm sorts this data, categorizes it, then introduces something called a confusion matrix (essentially sorting the data in no apparently order as to prevent over-fitting and introduce "confusion" to the algorithm to ensure that it is not just following a trend).
From there, the data is called upon based on current data inputs (so say we are using RSI and Z-Score, the current RSI and Z-Score is compared against other RSI's and Z-Scores that the model has saved). The model will process this information and each "tree" or "node" will vote. Then a cumulative overall vote is casted.
How does this MLA work?
This model accepts 2 independent variables. In order to keep things simple, this model was kept as a three node model. This means that there are 3 separate votes that go in to get the result. A vote is casted for each of the two independent variables and then a cumulative vote is casted for the overall verdict (the result of the model's prediction).
The model actually displays this system diagrammatically and it will likely be easier to understand if we look at the diagram to ground the example:
In the diagram, at the very top we have the classification variable that we are trying to predict. In this case, we are trying to predict whether there will be a breakout/breakdown outside of the normal ATR range (this is either yes or no question, hence a classification task).
So the question forms the basis of the input. The model will track at which points the ATR range is exceeded to the upside or downside, as well as the other variables that we wish to use to predict these exceedences. The ATR range forms the basis of all the data flowing into the model.
Then, at the second level, you will see we are using Z-Score and RSI to predict these breaks. The circle will change colour according to "feature importance". Feature importance basically just means that the indicator has a strong impact on the outcome. The stronger the importance, the more green it will be, the weaker, the more red it will be.
We can see both RSI and Z-Score are green and thus we can say they are strong options for predicting a breakout/breakdown.
So then we move down to the actual voting mechanisms. You will see the 2 pink boxes. These are the first lines of voting. What is happening here is the model is identifying the instances that are most similar and whether the classification task we have assigned (remember out ATR exceedance classifier) was either true or false based on RSI and Z-Score.
These are our 2 nodes. They both cast an individual vote. You will see in this case, both cast a vote of 1. The options are either 1 or 0. A vote of 1 means "Yes" or "Breakout likely".
However, this is not the only voting the model does. The model does one final vote based on the 2 votes. This is shown in the purple box. We can see the final vote and result at the end with the orange circle. It is 1 which means a range exceedance is anticipated and the most likely outcome.
The Data Table Component
The model has many moving parts. I have tried to represent the pivotal functions diagrammatically, but some other important aspects and background information must be obtained from the companion data table.
If we bring back our diagram from above:
We can see the data table to the left.
The data table contains 2 sections, one for each independent variable. In this case, our independent variables are RSI and Z-Score.
The data table will provide you with specifics about the independent variables, as well as about the model accuracy and outcome.
If we take a look at the first row, it simply indicates which independent variable it is looking at. If we go down to the next row where it reads "Weighted Impact", we can see a corresponding percent. The "weighted impact" is the amount of representation each independent variable has within the voting scheme. So in this case, we can see its pretty equal, 45% and 55%, This tells us that there is a slight higher representation of z-score than RSI but nothing to worry about.
If there was a major over-respresentation of greater than 30 or 40%, then the model would risk being skewed and voting too heavily in favour of 1 variable over the other.
If we move down from there we will see the next row reads "independent accuracy". The voting of each independent variable's accuracy is considered separately. This is one way we can determine feature importance, by seeing how well one feature augments the accuracy. In this case, we can see that RSI has the greatest importance, with an accuracy of around 87% at predicting breakouts. That makes sense as RSI is a momentum based oscillator.
Then if we move down one more, we will see what each independent feature (node) has voted for. In this case, both RSI and Z-Score voted for 1 (Breakout in our case).
You can weigh these in collaboration, but its always important to look at the final verdict of the model, which if we move down, we can see the "Model prediction" which is "Bullish".
If you are using the ATR breakout, the model cannot distinguish between "Bullish" or "Bearish", must that a "Breakout" is likely, either bearish or bullish. However, for the other classification tasks this model can do, the results are either Bullish or Bearish.
Using the Function:
Okay so now that all that technical stuff is out of the way, let's get into using the function. First of all this function innately provides you with 3 possible classification tasks. These include:
1. Predicting Red or Green Candle
2. Predicting Bullish / Bearish ATR
3. Predicting a Breakout from the ATR range
The possible independent variables include:
1. Stochastics,
2. MFI,
3. RSI,
4. Z-Score,
5. EMAs,
6. SMAs,
7. Volume
The model can only accept 2 independent variables, to operate within the computation time limits for pine execution.
Let's quickly go over what the numbers in the diagram mean:
The numbers being pointed at with the yellow arrows represent the cases the model is sorting and voting on. These are the most identical cases and are serving as the voting foundation for the model.
The numbers being pointed at with the pink candle is the voting results.
Extrapolating the functions (For Pine Developers:
So this is more of a feature application, so feel free to customize it to your liking and add additional inputs. But here are some key important considerations if you wish to apply this within your own code:
1. This is a BINARY classification task. The prediction must either be 0 or 1.
2. The function consists of 3 separate functions, the 2 first functions serve to build the confusion matrix and then the final "random_forest" function serves to perform the computations. You will need all 3 functions for implementation.
3. The model can only accept 2 independent variables.
I believe that is the function. Hopefully this wasn't too confusing, it is very statsy, but its a fun function for me! I use Random Forest excessively in R and always like to try to convert R things to Pinescript.
Hope you enjoy!
Safe trades everyone!