Fuzzy SMA with DCTI Confirmation[FibonacciFlux]FibonacciFlux: Advanced Fuzzy Logic System with Donchian Trend Confirmation
Institutional-grade trend analysis combining adaptive Fuzzy Logic with Donchian Channel Trend Intensity for superior signal quality
Conceptual Framework & Research Foundation
FibonacciFlux represents a significant advancement in quantitative technical analysis, merging two powerful analytical methodologies: normalized fuzzy logic systems and Donchian Channel Trend Intensity (DCTI). This sophisticated indicator addresses a fundamental challenge in market analysis – the inherent imprecision of trend identification in dynamic, multi-dimensional market environments.
While traditional indicators often produce simplistic binary signals, markets exist in states of continuous, graduated transition. FibonacciFlux embraces this complexity through its implementation of fuzzy set theory, enhanced by DCTI's structural trend confirmation capabilities. The result is an indicator that provides nuanced, probabilistic trend assessment with institutional-grade signal quality.
Core Technological Components
1. Advanced Fuzzy Logic System with Percentile Normalization
At the foundation of FibonacciFlux lies a comprehensive fuzzy logic system that transforms conventional technical metrics into degrees of membership in linguistic variables:
// Fuzzy triangular membership function with robust error handling
fuzzy_triangle(val, left, center, right) =>
if na(val)
0.0
float denominator1 = math.max(1e-10, center - left)
float denominator2 = math.max(1e-10, right - center)
math.max(0.0, math.min(left == center ? val <= center ? 1.0 : 0.0 : (val - left) / denominator1,
center == right ? val >= center ? 1.0 : 0.0 : (right - val) / denominator2))
The system employs percentile-based normalization for SMA deviation – a critical innovation that enables self-calibration across different assets and market regimes:
// Percentile-based normalization for adaptive calibration
raw_diff = price_src - sma_val
diff_abs_percentile = ta.percentile_linear_interpolation(math.abs(raw_diff), normLookback, percRank) + 1e-10
normalized_diff_raw = raw_diff / diff_abs_percentile
normalized_diff = useClamping ? math.max(-clampValue, math.min(clampValue, normalized_diff_raw)) : normalized_diff_raw
This normalization approach represents a significant advancement over fixed-threshold systems, allowing the indicator to automatically adapt to varying volatility environments and maintain consistent signal quality across diverse market conditions.
2. Donchian Channel Trend Intensity (DCTI) Integration
FibonacciFlux significantly enhances fuzzy logic analysis through the integration of Donchian Channel Trend Intensity (DCTI) – a sophisticated measure of trend strength based on the relationship between short-term and long-term price extremes:
// DCTI calculation for structural trend confirmation
f_dcti(src, majorPer, minorPer, sigPer) =>
H = ta.highest(high, majorPer) // Major period high
L = ta.lowest(low, majorPer) // Major period low
h = ta.highest(high, minorPer) // Minor period high
l = ta.lowest(low, minorPer) // Minor period low
float pdiv = not na(L) ? l - L : 0 // Positive divergence (low vs major low)
float ndiv = not na(H) ? H - h : 0 // Negative divergence (major high vs high)
float divisor = pdiv + ndiv
dctiValue = divisor == 0 ? 0 : 100 * ((pdiv - ndiv) / divisor) // Normalized to -100 to +100 range
sigValue = ta.ema(dctiValue, sigPer)
DCTI provides a complementary structural perspective on market trends by quantifying the relationship between short-term and long-term price extremes. This creates a multi-dimensional analysis framework that combines adaptive deviation measurement (fuzzy SMA) with channel-based trend intensity confirmation (DCTI).
Multi-Dimensional Fuzzy Input Variables
FibonacciFlux processes four distinct technical dimensions through its fuzzy system:
Normalized SMA Deviation: Measures price displacement relative to historical volatility context
Rate of Change (ROC): Captures price momentum over configurable timeframes
Relative Strength Index (RSI): Evaluates cyclical overbought/oversold conditions
Donchian Channel Trend Intensity (DCTI): Provides structural trend confirmation through channel analysis
Each dimension is processed through comprehensive fuzzy sets that transform crisp numerical values into linguistic variables:
// Normalized SMA Deviation - Self-calibrating to volatility regimes
ndiff_LP := fuzzy_triangle(normalized_diff, norm_scale * 0.3, norm_scale * 0.7, norm_scale * 1.1)
ndiff_SP := fuzzy_triangle(normalized_diff, norm_scale * 0.05, norm_scale * 0.25, norm_scale * 0.5)
ndiff_NZ := fuzzy_triangle(normalized_diff, -norm_scale * 0.1, 0.0, norm_scale * 0.1)
ndiff_SN := fuzzy_triangle(normalized_diff, -norm_scale * 0.5, -norm_scale * 0.25, -norm_scale * 0.05)
ndiff_LN := fuzzy_triangle(normalized_diff, -norm_scale * 1.1, -norm_scale * 0.7, -norm_scale * 0.3)
// DCTI - Structural trend measurement
dcti_SP := fuzzy_triangle(dcti_val, 60.0, 85.0, 101.0) // Strong Positive Trend (> ~85)
dcti_WP := fuzzy_triangle(dcti_val, 20.0, 45.0, 70.0) // Weak Positive Trend (~30-60)
dcti_Z := fuzzy_triangle(dcti_val, -30.0, 0.0, 30.0) // Near Zero / Trendless (~+/- 20)
dcti_WN := fuzzy_triangle(dcti_val, -70.0, -45.0, -20.0) // Weak Negative Trend (~-30 - -60)
dcti_SN := fuzzy_triangle(dcti_val, -101.0, -85.0, -60.0) // Strong Negative Trend (< ~-85)
Advanced Fuzzy Rule System with DCTI Confirmation
The core intelligence of FibonacciFlux lies in its sophisticated fuzzy rule system – a structured knowledge representation that encodes expert understanding of market dynamics:
// Base Trend Rules with DCTI Confirmation
cond1 = math.min(ndiff_LP, roc_HP, rsi_M)
strength_SB := math.max(strength_SB, cond1 * (dcti_SP > 0.5 ? 1.2 : dcti_Z > 0.1 ? 0.5 : 1.0))
// DCTI Override Rules - Structural trend confirmation with momentum alignment
cond14 = math.min(ndiff_NZ, roc_HP, dcti_SP)
strength_SB := math.max(strength_SB, cond14 * 0.5)
The rule system implements 15 distinct fuzzy rules that evaluate various market conditions including:
Established Trends: Strong deviations with confirming momentum and DCTI alignment
Emerging Trends: Early deviation patterns with initial momentum and DCTI confirmation
Weakening Trends: Divergent signals between deviation, momentum, and DCTI
Reversal Conditions: Counter-trend signals with DCTI confirmation
Neutral Consolidations: Minimal deviation with low momentum and neutral DCTI
A key innovation is the weighted influence of DCTI on rule activation. When strong DCTI readings align with other indicators, rule strength is amplified (up to 1.2x). Conversely, when DCTI contradicts other indicators, rule impact is reduced (as low as 0.5x). This creates a dynamic, self-adjusting system that prioritizes high-conviction signals.
Defuzzification & Signal Generation
The final step transforms fuzzy outputs into a precise trend score through center-of-gravity defuzzification:
// Defuzzification with precise floating-point handling
denominator = strength_SB + strength_WB + strength_N + strength_WBe + strength_SBe
if denominator > 1e-10
fuzzyTrendScore := (strength_SB * STRONG_BULL + strength_WB * WEAK_BULL +
strength_N * NEUTRAL + strength_WBe * WEAK_BEAR +
strength_SBe * STRONG_BEAR) / denominator
The resulting FuzzyTrendScore ranges from -1.0 (Strong Bear) to +1.0 (Strong Bull), with critical threshold zones at ±0.3 (Weak trend) and ±0.7 (Strong trend). The histogram visualization employs intuitive color-coding for immediate trend assessment.
Strategic Applications for Institutional Trading
FibonacciFlux provides substantial advantages for sophisticated trading operations:
Multi-Timeframe Signal Confirmation: Institutional-grade signal validation across multiple technical dimensions
Trend Strength Quantification: Precise measurement of trend conviction with noise filtration
Early Trend Identification: Detection of emerging trends before traditional indicators through fuzzy pattern recognition
Adaptive Market Regime Analysis: Self-calibrating analysis across varying volatility environments
Algorithmic Strategy Integration: Well-defined numerical output suitable for systematic trading frameworks
Risk Management Enhancement: Superior signal fidelity for risk exposure optimization
Customization Parameters
FibonacciFlux offers extensive customization to align with specific trading mandates and market conditions:
Fuzzy SMA Settings: Configure baseline trend identification parameters including SMA, ROC, and RSI lengths
Normalization Settings: Fine-tune the self-calibration mechanism with adjustable lookback period, percentile rank, and optional clamping
DCTI Parameters: Optimize trend structure confirmation with adjustable major/minor periods and signal smoothing
Visualization Controls: Customize display transparency for optimal chart integration
These parameters enable precise calibration for different asset classes, timeframes, and market regimes while maintaining the core analytical framework.
Implementation Notes
For optimal implementation, consider the following guidance:
Higher timeframes (4H+) benefit from increased normalization lookback (800+) for stability
Volatile assets may require adjusted clamping values (2.5-4.0) for optimal signal sensitivity
DCTI parameters should be aligned with chart timeframe (higher timeframes require increased major/minor periods)
The indicator performs exceptionally well as a trend filter for systematic trading strategies
Acknowledgments
FibonacciFlux builds upon the pioneering work of Donovan Wall in Donchian Channel Trend Intensity analysis. The normalization approach draws inspiration from percentile-based statistical techniques in quantitative finance. This indicator is shared for educational and analytical purposes under Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) license.
Past performance does not guarantee future results. All trading involves risk. This indicator should be used as one component of a comprehensive analysis framework.
Shout out @DonovanWall
Cari dalam skrip untuk "想象图:箱线图+折线组合,横轴为国家,纵轴为响应指数(0-100),箱线显示均值±标准差,叠加红色虚线标注各国确诊高峰时间点"
Stochastic Fusion Elite [trade_lexx]📈 Stochastic Fusion Elite is your reliable trading assistant!
📊 What is Stochastic Fusion Elite ?
Stochastic Fusion Elite is a trading indicator based on a stochastic oscillator. It analyzes the rate of price change and generates buy or sell signals based on various technical analysis methods.
💡 The main components of the indicator
📊 Stochastic oscillator (K and D)
Stochastic shows the position of the current price relative to the price range for a certain period. Values above 80 indicate overbought (an early sale is possible), and values below 20 indicate oversold (an early purchase is possible).
📈 Moving Averages (MA)
The indicator uses 10 different types of moving averages to smooth stochastic lines.:
- SMA: Simple moving average
- EMA: Exponential moving average
- WMA: Weighted moving average
- HMA: Moving Average Scale
- KAMA: Kaufman Adaptive Moving Average
- VWMA: Volume-weighted moving average
- ALMA: Arnaud Legoux Moving Average
- TEMA: Triple exponential moving average
- ZLEMA: zero delay exponential moving average
- DEMA: Double exponential moving average
The choice of the type of moving average affects the speed of the indicator's response to market changes.
🎯 Bollinger Bands (BB)
Bands around the moving average that widen and narrow depending on volatility. They help determine when the stochastic is out of the normal range.
🔄 Divergences
Divergences show discrepancies between price and stochastic:
- Bullish divergence: price is falling and stochastic is rising — an upward reversal is possible
- Bearish divergence: the price is rising, and stochastic is falling — a downward reversal is possible
🔍 Indicator signals
1️⃣ KD signals (K and D stochastic lines)
- Buy signal:
- What happens: the %K line crosses the %D line from bottom to top
- What does it look like: a green triangle with the label "KD" under the chart and the label "Buy" below the bar
- What does this mean: the price is gaining an upward momentum, growth is possible
- Sell signal:
- What happens: the %K line crosses the %D line from top to bottom
- What it looks like: a red triangle with the label "KD" above the chart and the label "Sell" above the bar
- What does this mean: the price is losing its upward momentum, possibly falling
2️⃣ Moving Average Signals (MA)
- Buy Signal:
- What happens: stochastic crosses the moving average from bottom to top
- What it looks like: a green triangle with the label "MA" under the chart and the label "Buy" below the bar
- What does this mean: stochastic is starting to accelerate upward, price growth is possible
- Sell signal:
- What happens: stochastic crosses the moving average from top to bottom
- What it looks like: a red triangle with the label "MA" above the chart and the label "Sell" above the bar
- What does this mean: stochastic is starting to accelerate downwards, a price drop is possible
3️⃣ Bollinger Band Signals (BB)
- Buy signal:
- What happens: stochastic crosses the lower Bollinger band from bottom to top
- What it looks like: a green triangle with the label "BB" under the chart and the label "Buy" below the bar
- What does this mean: stochastic was too low and is now starting to recover
- Sell signal:
- What happens: Stochastic crosses the upper Bollinger band from top to bottom
- What it looks like: a red triangle with a "BB" label above the chart and a "Sell" label above the bar
- What does this mean: stochastic was too high and is now starting to decline
4️⃣ Divergence Signals (Div)
- Buy Signal (Bullish Divergence):
- What's happening: the price is falling, and stochastic is forming higher lows
- What it looks like: a green triangle with a "Div" label under the chart and a "Buy" label below the bar
- What does this mean: despite the falling price, the momentum is already changing in an upward direction
- Sell signal (bearish divergence):
- What's going on: the price is rising, and stochastic is forming lower highs
- What it looks like: a red triangle with a "Div" label above the chart and a "Sell" label above the bar
- What does this mean: despite the price increase, the momentum is already weakening
🛠️ Filters to filter out false signals
1️⃣ Minimum distance between the signals
- What it does: sets the minimum number of candles between signals
- Why it is needed: prevents signals from being too frequent during strong market fluctuations
- How to set it up: Set the number from 0 and above (default: 5)
2️⃣ "Waiting for the opposite signal" mode
- What it does: waits for a signal in the opposite direction before generating a new signal
- Why you need it: it helps you not to miss important trend reversals
- How to set up: just turn the function on or off
3️⃣ Filter by stochastic levels
- What it does: generates signals only when the stochastic is in the specified ranges
- Why it is needed: it helps to catch the moments when the market is oversold or overbought
- How to set up:
- For buy signals: set a range for oversold (for example, 1-20)
- For sell signals: set a range for overbought (for example, 80-100)
4️⃣ MFI filter
- What it does: additionally checks the values of the cash flow index (MFI)
- Why it is needed: confirms stochastic signals with cash flow data
- How to set it up:
- For buy signals: set the range for oversold MFI (for example, 1-25)
- For sell signals: set the range for overbought MFI (for example, 75-100)
5️⃣ The RSI filter
- What it does: additionally checks the RSI values to confirm the signals
- Why it is needed: adds additional confirmation from another popular indicator
- How to set up:
- For buy signals: set the range for oversold MFI (for example, 1-30)
- For sell signals: set the range for overbought MFI (for example, 70-100)
🔄 Signal combination modes
1️⃣ Normal mode
- How it works: all signals (KD, MA, BB, Div) work independently of each other
- When to use it: for general market analysis or when learning how to work with the indicator
2️⃣ "AND" Mode ("AND Mode")
- How it works: the alarm appears only when several conditions are triggered simultaneously
- Combination options:
- KD+MA: signals from the KD and moving average lines
- KD+BB: signals from KD lines and Bollinger bands
- KD+Div: signals from the KD and divergence lines
- KD+MA+BB: three signals simultaneously
- KD+MA+Div: three signals at the same time
- KD+BB+Div: three signals at the same time
- KD+MA+BB+Div: all four signals at the same time
- When to use: for more reliable but rare signals
🔌 Connecting to trading strategies
The indicator can be connected to your trading strategies using 6 different channels.:
1. Connector KD signals: connects only the signals from the intersection of lines K and D
2. Connector MA signals: connects only signals from moving averages
3. Connector BB signal: connects only the signals from the Bollinger bands
4. Connector divergence signals: connects only divergence signals
5. Combined Connector: connects any signals
6. Connector for "And" mode: connects only combined signals
🔔 Setting up alerts
The indicator can send alerts when alarms appear.:
- Alerts for KD: when the %K line crosses the %D line
- Alerts for MA: when stochastic crosses the moving average
- Alerts for BB: when stochastic crosses the Bollinger bands
- Divergence alerts: when a divergence is detected
- Combined alerts: for all types of alarms
- Alerts for "And" mode: for combined signals
🎭 What does the indicator look like on the chart ?
- Main lines K and D: blue and orange lines
- Overbought/oversold levels: horizontal lines at levels 20 and 80
- Middle line: dotted line at level 50
- Stochastic Moving Average: yellow line
- Bollinger bands: green lines around the moving average
- Signals: green and red triangles with corresponding labels
📚 How to start using Stochastic Fusion Elite
1️⃣ Initial setup
- Add an indicator to your chart
- Select the types of signals you want to use (KD, MA, BB, Div)
- Adjust the period and smoothing for the K and D lines
2️⃣ Filter settings
- Set the distance between the signals to get rid of unnecessary noise
- Adjust stochastic, MFI and RSI levels depending on the volatility of your asset
- If you need more reliable signals, turn on the "Waiting for the opposite signal" mode.
3️⃣ Operation mode selection
- First, use the standard mode to see all possible signals.
- When you get comfortable, try the "And" mode for rarer signals.
4️⃣ Setting up Alerts
- Select the types of signals you want to be notified about
- Set up alerts for these types of signals
5️⃣ Verification and adaptation
- Check the operation of the indicator on historical data
- Adjust the parameters for a specific asset
- Adapt the settings to your trading style
🌟 Usage examples
For trend trading
- Use the KD and MA signals in the direction of the main trend
- Set the distance between the signals
- Set stricter levels for filters
For trading in a sideways range
- Use BB signals to detect bounces from the range boundaries
- Use a stochastic level filter to confirm overbought/oversold conditions
- Adjust the Bollinger bands according to the width of the range
To determine the pivot points
- Pay attention to the divergence signals
- Set the distance between the signals
- Check the MFI and RSI filters for additional confirmation
Nef33 Forex & Crypto Trading Signals PRO
1. Understanding the Indicator's Context
The indicator generates signals based on confluence (trend, volume, key zones, etc.), but it does not include predefined SL or TP levels. To establish them, we must:
Use dynamic or static support/resistance levels already present in the script.
Incorporate volatility (such as ATR) to adjust the levels based on market conditions.
Define a risk/reward ratio (e.g., 1:2).
2. Options for Determining SL and TP
Below, I provide several ideas based on the tools available in the script:
Stop Loss (SL)
The SL should protect you from adverse movements. You can base it on:
ATR (Volatility): Use the smoothed ATR (atr_smooth) multiplied by a factor (e.g., 1.5 or 2) to set a dynamic SL.
Buy: SL = Entry Price - (atr_smooth * atr_mult).
Sell: SL = Entry Price + (atr_smooth * atr_mult).
Key Zones: Place the SL below a support (for buys) or above a resistance (for sells), using Order Blocks, Fair Value Gaps, or Liquidity Zones.
Buy: SL below the nearest ob_lows or fvg_lows.
Sell: SL above the nearest ob_highs or fvg_highs.
VWAP: Use the daily VWAP (vwap_day) as a critical level.
Buy: SL below vwap_day.
Sell: SL above vwap_day.
Take Profit (TP)
The TP should maximize profits. You can base it on:
Risk/Reward Ratio: Multiply the SL distance by a factor (e.g., 2 or 3).
Buy: TP = Entry Price + (SL Distance * 2).
Sell: TP = Entry Price - (SL Distance * 2).
Key Zones: Target the next resistance (for buys) or support (for sells).
Buy: TP at the next ob_highs, fvg_highs, or liq_zone_high.
Sell: TP at the next ob_lows, fvg_lows, or liq_zone_low.
Ichimoku: Use the cloud levels (Senkou Span A/B) as targets.
Buy: TP at senkou_span_a or senkou_span_b (whichever is higher).
Sell: TP at senkou_span_a or senkou_span_b (whichever is lower).
3. Practical Implementation
Since the script does not automatically draw SL/TP, you can:
Calculate them manually: Observe the chart and use the levels mentioned.
Modify the code: Add SL/TP as labels (label.new) at the moment of the signal.
Here’s an example of how to modify the code to display SL and TP based on ATR with a 1:2 risk/reward ratio:
Modified Code (Signals Section)
Find the lines where the signals (trade_buy and trade_sell) are generated and add the following:
pinescript
// Calculate SL and TP based on ATR
atr_sl_mult = 1.5 // Multiplier for SL
atr_tp_mult = 3.0 // Multiplier for TP (1:2 ratio)
sl_distance = atr_smooth * atr_sl_mult
tp_distance = atr_smooth * atr_tp_mult
if trade_buy
entry_price = close
sl_price = entry_price - sl_distance
tp_price = entry_price + tp_distance
label.new(bar_index, low, "Buy: " + str.tostring(math.round(bull_conditions, 1)), color=color.green, textcolor=color.white, style=label.style_label_up, size=size.tiny)
label.new(bar_index, sl_price, "SL: " + str.tostring(math.round(sl_price, 2)), color=color.red, textcolor=color.white, style=label.style_label_down, size=size.tiny)
label.new(bar_index, tp_price, "TP: " + str.tostring(math.round(tp_price, 2)), color=color.blue, textcolor=color.white, style=label.style_label_up, size=size.tiny)
if trade_sell
entry_price = close
sl_price = entry_price + sl_distance
tp_price = entry_price - tp_distance
label.new(bar_index, high, "Sell: " + str.tostring(math.round(bear_conditions, 1)), color=color.red, textcolor=color.white, style=label.style_label_down, size=size.tiny)
label.new(bar_index, sl_price, "SL: " + str.tostring(math.round(sl_price, 2)), color=color.red, textcolor=color.white, style=label.style_label_up, size=size.tiny)
label.new(bar_index, tp_price, "TP: " + str.tostring(math.round(tp_price, 2)), color=color.blue, textcolor=color.white, style=label.style_label_down, size=size.tiny)
Code Explanation
SL: Calculated by subtracting/adding sl_distance to the entry price (close) depending on whether it’s a buy or sell.
TP: Calculated with a double distance (tp_distance) for a 1:2 risk/reward ratio.
Visualization: Labels are added to the chart to display SL (red) and TP (blue).
4. Practical Strategy Without Modifying the Code
If you don’t want to modify the script, follow these steps manually:
Entry: Take the trade_buy or trade_sell signal.
SL: Check the smoothed ATR (atr_smooth) on the chart or calculate a fixed level (e.g., 1.5 times the ATR). Also, review nearby key zones (OB, FVG, VWAP).
TP: Define a target based on the next key zone or multiply the SL distance by 2 or 3.
Example:
Buy at 100, ATR = 2.
SL = 100 - (2 * 1.5) = 97.
TP = 100 + (2 * 3) = 106.
5. Recommendations
Test in Demo: Apply this logic in a demo account to adjust the multipliers (atr_sl_mult, atr_tp_mult) based on the market (forex or crypto).
Combine with Zones: If the ATR-based SL is too wide, use the nearest OB or FVG as a reference.
Risk/Reward Ratio: Adjust the TP based on your tolerance (1:1, 1:2, 1:3)
HILo Ema Squeeze BandsThis indicator combines uses ema to identify price squeeze before a big move.
The ema gets initialised at new high low. It used 3 ema's lengths. For result use x, 2x ,4x ie 50, 100, 200 or 100,200,400 and so on . On more volatile asset use a higher settings like 100,200,400. The inner band is divided into 4 zones, which can give support resistance. As you use it you will become aware of subtle information that it can give at times. Like you may be able to find steps at which prices move, when the market is trending
Just like in Bollinger bands, in a trending market the price stays within sd=1 and sd=2 so does in the inner band the price will remain in band1 and band2. But Bollinger band cannot print steps this indicator shows steps
Psych LevelWhat it shows:
This indicator will show a horizontal line at a psychological value which can be user defined. (Psychological values are round numbers, like 10,50,100,1000 and so on...)
At these Psychological value there are often limit orders placed for both buying and selling and can often act as support and resistances.
Therefore it is useful to pre-draw these levels beforehand and this indicator will speed up the process doing so by adjusting few different settings and draw them automatically.
How to use it:
At these Psychological value there are often limit orders placed for both buying and selling and can often act as support and resistances. This is often the case when you look at limit orders at such levels on bookmap or level 2 data.
At these psychological levels it can be set as a target of your trade or as risk levels when taking a trade in either of direction. Obviously this alone shouldn't dictate the trade you should take but can be a valuable info to supplement your trade.
On the chart it is clear to see these psychological level lines are acting as resistances/supports.
Key settings:
Interval: Interval levels will be drawn for, between the minimum and maximum values inputted by the user. Minimum value allowed is 1.
Min. value: Minimum value of Psychological level that will be drawn. Minimum value allowed is 1.
Max value: Maximum value of Psychological level that will be drawn. Minimum value allowed is 1.
Line colour: Colour of line drawn.
Line width: Width of line drawn.
Line style: Style of line drawn, either solid, dotted or dashed.
Label offset: Offset of where where label will be, measured from current bar. Offset of 0 will be drawn at current bar location, any positive number will move to the right by the set amount.
Text Colour: Colour of label text
Text size: Size of label text
Example: Chart here shows setting for minimum value as 100, maximum value as 140 and interval as 5. In this setting lines will be automatically drawn at: 100,105,110,115,120,125,130,145 and 140.
The flexibility of user defined max/min and interval values allows to be accommodated for price with different price tags, including stocks under $10.
----------------------------------------------------------------------
If anything is not clear please let me know!
Volume Buy/Sell ChartVolume Buy/Sell Chart
This script visualizes the distribution of buying and selling volume within each candlestick, helping traders identify dominant market pressure at a glance. It separates volume into Buy Volume (Green) and Sell Volume (Red) using a unique calculation based on price movement within a candle.
Features:
✅ Customizable Bar Display: Choose to display 5, 10, or 100 bars using a simple dropdown selection.
✅ Buy & Sell Volume Calculation: The script determines buying and selling volume dynamically based on price action within the candle.
✅ Custom Volume Threshold for Alerts: Set a percentage threshold (0–100) to trigger alerts when buy or sell volume exceeds a predefined level.
✅ Color-Coded Histogram:
Green Bars: Represent the estimated buy volume.
Red Bars: Represent the estimated sell volume.
✅ Alerts Integration: Automatically detect strong buy or sell signals when the respective volume percentage exceeds your set threshold.
How It Works:
The script calculates total price movement within a candle.
It then estimates buying and selling volume ratios based on whether the price closes higher or lower than it opened.
Finally, it normalizes the buy/sell volume against the total volume and plots it as a column chart.
Usage Guide:
Add the script to your chart.
Select how many bars to display (5, 10, or 100).
Adjust the Custom Volume Percentage Threshold (default: 75%).
Watch for significant buy/sell volume imbalances that might indicate market turning points!
This tool is great for traders looking to analyze volume flow and market sentiment with a simple yet effective visualization. 🚀
TSI Long/Short for BTC 2HThe TSI Long/Short for BTC 2H strategy is an advanced trend-following system designed specifically for trading Bitcoin (BTC) on a 2-hour timeframe. It leverages the True Strength Index (TSI) to identify momentum shifts and executes both long and short trades in response to dynamic market conditions.
Unlike traditional moving average-based strategies, this script uses a double-smoothed momentum calculation, enhancing signal accuracy and reducing noise. It incorporates automated position sizing, customizable leverage, and real-time performance tracking, ensuring a structured and adaptable trading approach.
🔹 What Makes This Strategy Unique?
Unlike simple crossover strategies or generic trend-following approaches, this system utilizes a customized True Strength Index (TSI) methodology that dynamically adjusts to market conditions.
🔸 True Strength Index (TSI) Filtering – The script refines the TSI by applying double exponential smoothing, filtering out weak signals and capturing high-confidence momentum shifts.
🔸 Adaptive Entry & Exit Logic – Instead of fixed thresholds, it compares the TSI value against a dynamically determined high/low range from the past 100 bars to confirm trade signals.
🔸 Leverage & Risk Optimization – Position sizing is dynamically adjusted based on account equity and leverage settings, ensuring controlled risk exposure.
🔸 Performance Monitoring System – A built-in performance tracking table allows traders to evaluate monthly and yearly results directly on the chart.
📊 Core Strategy Components
1️⃣ Momentum-Based Trade Execution
The strategy generates long and short trade signals based on the following conditions:
✅ Long Entry Condition – A buy signal is triggered when the TSI crosses above its 100-bar highest value (previously set), confirming bullish momentum.
✅ Short Entry Condition – A sell signal is generated when the TSI crosses below its 100-bar lowest value (previously set), indicating bearish pressure.
Each trade execution is fully automated, reducing emotional decision-making and improving trading discipline.
2️⃣ Position Sizing & Leverage Control
Risk management is a key focus of this strategy:
🔹 Dynamic Position Sizing – The script calculates position size based on:
Account Equity – Ensuring trade sizes adjust dynamically with capital fluctuations.
Leverage Multiplier – Allows traders to customize risk exposure via an adjustable leverage setting.
🔹 No Fixed Stop-Loss – The strategy relies on reversals to exit trades, meaning each position is closed when the opposite signal appears.
This design ensures maximum capital efficiency while adapting to market conditions in real time.
3️⃣ Performance Visualization & Tracking
Understanding historical performance is crucial for refining strategies. The script includes:
📌 Real-Time Trade Markers – Buy and sell signals are visually displayed on the chart for easy reference.
📌 Performance Metrics Table – Tracks monthly and yearly returns in percentage form, helping traders assess profitability over time.
📌 Trade History Visualization – Completed trades are displayed with color-coded boxes (green for long trades, red for short trades), visually representing profit/loss dynamics.
📢 Why Use This Strategy?
✔ Advanced Momentum Detection – Uses a double-smoothed TSI for more accurate trend signals.
✔ Fully Automated Trading – Removes emotional bias and enforces discipline.
✔ Customizable Risk Management – Adjust leverage and position sizing to suit your risk profile.
✔ Comprehensive Performance Tracking – Integrated reporting system provides clear insights into past trades.
This strategy is ideal for Bitcoin traders looking for a structured, high-probability system that adapts to both bullish and bearish trends on the 2-hour timeframe.
📌 How to Use: Simply add the script to your 2H BTC chart, configure your leverage settings, and let the system handle trade execution and tracking! 🚀
UM-Optimized Linear Regression ChannelDESCRIPTION
This indicator was inspired by Dr. Stoxx at drstoxx.com. Shout out to him and his services for introducing me to this idea. This indicator is a slightly different take on the standard linear regression indicator.
It uses two standard deviations to draw bands and dynamically attempts to best-fit the data lookback period using an R-squared statistical measure. The R-squared value ranges between zero and one with zero being no fit to the data at all and 1 being a 100% match of the data to linear regression line. The R-squared calculation is weighted exponentially to give more weight to the most recent data.
The label provides the number of periods identified as the optimal best-fit period, the type of loopback period determination (Manual or Auto) and the R-squared value (0-100, 100% being a perfect fit). >=90% is a great fit of the data to the regression line. <50% is a difficult fit and more or less considered random data.
The lookback mode can also be set manually and defaults to a value of 100 periods.
DEFAULTS
The defaults are 1.5 and 2.0 for standard deviation. This creates 2 bands above and below the regression line. The default mode for best-fit determination with "Auto" selected in the dropdown. When manual mode is selected, the default is 100. The modes, manual lookback periods, colors, and standard deviations are user-configurable.
HOW TO USE
Overlay this indicator on any chart of any timeframe. Look for turning points at extremes in the upper and lower bands. Look for crossovers of the centerline. Look at the Auto-determination for best fit. Compare this to your favorite Manual mode setting (Manual Mode is set to 100 by default lookback periods.)
When price is at an extreme, look for turnarounds or reversals. Use your favorite indicators, in addition to this indicator, to determine reversals. Try this indicator against your favorite securities and timeframes.
CHART EXAMPLE
The chart I used for an example is the daily chart of IWM. I illustrated the extremes with white text. This is where I consider proactively exiting an existing position and/or begin looking for a reversal.
VolatilityThis is a filtering indicator Volatility in the CTA contract of BG Exchange. According to their introduction, it should be calculated using this simple method.
However, you may have seen the problem. According to the exchange's introduction, the threshold should still be divided by 100, which is in percentage form. The result I calculated, even if not divided by 100, still shows a significant difference, which may be due to the exchange's mistake. Smart netizens, do you know how the volatility of BG Exchange is calculated.
The official introduction of BG Exchange is as follows: Volatility (K, Fluctuation) is an additional indicator used to filter out positions triggered by CTA strategy signals in low volatility markets. Usage: Select the fluctuation range composed of the nearest K candlesticks, and choose the highest and lowest closing prices. Calculation: 100 * (highest closing price - lowest closing price) divided by the lowest closing price to obtain the recent amplitude. When the recent amplitude is greater than Fluctuation, it is considered that the current market volatility meets the requirements. When the CTA strategy's position building signal is triggered, position building can be executed. Otherwise, warehouse building cannot be executed.
EMA/SMA Ribbon Pro (AUTO HTF + Labels)This indicator is a multi-timeframe (MTF) moving average ribbon that dynamically adjusts to the next highest timeframe. It provides a visual representation of market trends by stacking multiple EMAs and SMAs with customizable color fills and labels.
Features
✅ Multi-Timeframe (MTF) Support: Automatically detects the next highest time frame or allows for manual selection
✅ Customizable Moving Averages: Supports EMA and SMA with different lengths for flexible configuration
✅ Ribbon Visualization: Smooth color transitions between different moving averages for better trend identification
✅ Crossover Labels: Detects bullish and bearish EMA/SMA crossovers and marks them on the chart
✅ Price Labels & Timeframe Display: Displays moving average values to the right of the price axis with customizable label padding and colors
How It Works
Select the HTF mode: Manual or automatic
Choose EMA/SMA lengths to create different ribbons
Enable/disable price labels for each moving average
Customize colors and transparency for ribbons and labels
Crossover labels appear when faster moving averages cross slower ones and vice versa
Use Cases
📌 Trend Identification: Identify bullish and bearish trends using multiple EMAs and SMAs
📌 Support & Resistance Zones: MAs can act as dynamic support and resistance levels
📌 Reversal & Confirmation Signals: Watch for MTF crossovers to confirm trend changes
Customization
🔹 Standard EMA Lengths: 6, 8, 13, 21, 34, 48, 100, 200, 300, 400
🔹 SMA Lengths: 48, 100, 200
🔹 Color Adjustments: Set custom colors for bullish/bearish ribbons
🔹 Crossovers: Enable/disable custom crossover pairs (e.g., 100/200 EMA, 200 EMA/SMA).
This indicator is perfect for traders who rely on multi-timeframe confluence while seeking to enhance their market analysis and decision-making process.
As always, by combining EMA/SMA Ribbon with other tools, traders ensure that they are not relying on a single indicator. This layered approach can reduce the likelihood of false signals and improve overall trading accuracy.
As always, be sure to use any indicator with price action and volume indicators for better trade confirmation!
Highest Price MarkerHighest Price Marker – Smart Label & Line Indicator
This Pine Script v5 indicator highlights the highest price reached within the last 100 bars on your chart. It visually enhances key price levels by:
✅ Placing a label at the highest price, positioned 3 candles to the left for clarity.
✅ Drawing a line connecting the label to the actual high for better visibility.
✅ Auto-updating dynamically whenever a new highest price is detected.
This is useful for traders who want to quickly identify resistance levels or analyze historical price peaks without cluttering the chart.
🔹 How to Use:
Add the indicator to your chart.
Look for the red label marking the highest price within the last 100 bars.
The horizontal line helps track the exact price level.
💡 Customization Ideas:
Adjust the lookback period (length = 100) to detect longer or shorter trends.
Modify colors or label positioning to suit your preferences.
🚀 Perfect for:
🔸 Price Action Traders
🔸 Swing & Breakout Traders
🔸 Support & Resistance Analysis
MATA GOLD RATIOMata Gold Instrument: User Guide
The Instrument to Gold Oscillator is a technical analysis tool that normalizes the ratio of an instrument's price (e.g., BTC/USD) to the price of gold (XAU/USD) into a 0-100 scale. This provides a clear and intuitive way to evaluate the relative performance of an instrument compared to gold over a specified period.
---
How It Works
1. Calculation of the Ratio:
The ratio is calculated as:
\text{Ratio} = \frac{\text{Instrument Price}}{\text{Gold Price}}
2. Normalization:
The ratio is normalized using the highest and lowest values over a user-defined period (length), typically 14 periods:
\text{Normalized Ratio} = \frac{\text{Ratio} - \text{Min(Ratio)}}{\text{Max(Ratio)} - \text{Min(Ratio)}} \times 100
3. Overbought/Oversold Levels:
Above 80: The instrument is relatively expensive compared to gold (overbought).
Below 20: The instrument is relatively cheap compared to gold (oversold).
---
How to Use the Oscillator
1. Identify Overbought and Oversold Levels:
If the oscillator rises above 80, the instrument may be overvalued relative to gold. This could signal a potential reversal or correction.
If the oscillator falls below 20, the instrument may be undervalued relative to gold. This could signal a buying opportunity.
2. Track Trends:
Rising oscillator values indicate the instrument is gaining value relative to gold.
Falling oscillator values indicate the instrument is losing value relative to gold.
3. Crossing the Midline (50):
When the oscillator crosses above 50, the instrument's value is gaining strength relative to gold.
When it crosses below 50, the instrument is weakening relative to gold.
4. Combine with Other Indicators:
Use this oscillator alongside other technical indicators (e.g., RSI, MACD, STOCH) for more robust decision-making.
Confirm signals from the oscillator with price action or volume analysis.
---
Example Scenarios
1. Trading Cryptocurrencies Against Gold:
If BTC/USD's oscillator value is above 80, Bitcoin may be overvalued relative to gold. Consider reducing exposure or looking for short opportunities.
If BTC/USD's oscillator value is below 20, Bitcoin may be undervalued relative to gold. This could be a good time to accumulate.
2. Commodities vs. Gold:
Analyze the relative strength of commodities (e.g., oil, silver) against gold using the oscillator to identify periods of overperformance or underperformance.
---
Advantages of the Oscillator
Relative Performance Insight: Tracks the performance of an instrument relative to gold, providing a macro perspective.
Clear Visual Representation: The 0-100 scale makes it easy to identify overbought/oversold conditions and trend shifts.
Customizable Periods: The user-defined length allows flexibility in analyzing short- or long-term trends.
---
Limitations
Dependence on Gold: As the oscillator is based on gold prices, any external shocks to gold (e.g., geopolitical events) can influence its signals.
No Absolute Buy/Sell Signals: The oscillator should not be used in isolation but as part of a broader analysis strategy.
---
By using the Instrument to Gold Oscillator effectively, traders and investors can gain valuable insights into the relative valuation and performance of assets compared to gold, enabling more informed trading and investment decisions.
NVOL Normalized Volume & VolatilityOVERVIEW
Plots a normalized volume (or volatility) relative to a given bar's typical value across all charted sessions. The concept is similar to Relative Volume (RVOL) and Average True Range (ATR), but rather than using a moving average, this script uses bar data from previous sessions to more accurately separate what's normal from what's anomalous. Compatible on all timeframes and symbols.
Having volume and volatility processed within a single indicator not only allows you to toggle between the two for a consistent data display, it also allows you to measure how correlated they are. These measurements are available in the data table.
DATA & MATH
The core formula used to normalize each bar is:
( Value / Basis ) × Scale
Value
The current bar's volume or volatility (see INPUTS section). When set to volume, it's exactly what you would expect (the volume of the bar). When set to volatility, it's the bar's range (high - low).
Basis
A statistical threshold (Mean, Median, or Q3) plus a Sigma multiple (standard deviations). The default is set to the Mean + Sigma × 3 , which represents 99.7% of data in a normal distribution. The values are derived from the current bar's equivalent in other sessions. For example, if the current bar time is 9:30 AM, all previous 9:30 AM bars would be used to get the Mean and Sigma. Thus Mean + Sigma × 3 would represent the Normal Bar Vol at 9:30 AM.
Scale
Depends on the Normalize setting, where it is 1 when set to Ratio, and 100 when set to Percent. This simply determines the plot's scale (ie. 0 to 1 vs. 0 to 100).
INPUTS
While the default configuration is recommended for a majority of use cases (see BEST PRACTICES), settings should be adjusted so most of the Normalized Plot and Linear Regression are below the Signal Zone. Only the most extreme values should exceed this area.
Normalize
Allows you to specify what should be normalized (Volume or Volatility) and how it should be measured (as a Ratio or Percentage). This sets the value and scale in the core formula.
Basis
Specifies the statistical threshold (Mean, Median, or Q3) and how many standard deviations should be added to it (Sigma). This is the basis in the core formula.
Mean is the sum of values divided by the quantity of values. It's what most people think of when they say "average."
Median is the middle value, where 50% of the data will be lower and 50% will be higher.
Q3 is short for Third Quartile, where 75% of the data will be lower and 25% will be higher (think three quarters).
Sample
Determines the maximum sample size.
All Charted Bars is the default and recommended option, and ignores the adjacent lookback number.
Lookback is not recommended, but it is available for comparisons. It uses the adjacent lookback number and is likely to produce unreliable results outside a very specific context that is not suitable for most traders. Normalization is not a moving average. Unless you have a good reason to limit the sample size, do not use this option and instead use All Charted Bars .
Show Vol. name on plot
Overlays "VOLUME" or "VOLATILITY" on the plot (whichever you've selected).
Lin. Reg.
Polynomial regressions are great for capturing non-linear patterns in data. TradingView offers a "linear regression curve", which this script uses as a substitute. If you're unfamiliar with either term, think of this like a better moving average.
You're able to specify the color, length, and multiple (how much to amplify the value). The linear regression derives its value from the normalized values.
Norm. Val.
This is the color of the normalized value of the current bar (see DATA & MATH section). You're able to specify the default, within signal, and beyond signal colors. As well as the plot style.
Fade in colors between zero and the signal
Programmatically adjust the opacity of the primary plot color based on it's normalized value. When enabled, values equal to 0 will be fully transparent, become more opaque as they move away from 0, and be fully opaque at the signal. Adjusting opacity in this way helps make difference more obvious.
Plot relative to bar direction
If enabled, the normalized value will be multiplied by -1 when a bar's open is greater than the bar's close, mirroring price direction.
Technically volume and volatility are directionless. Meaning there's really no such thing as buy volume, sell volume, positive volatility, or negative volatility. There is just volume (1 buy = 1 sell = 1 volume) and volatility (high - low). Even so, visually reflecting the net effect of pricing pressure can still be useful. That's all this setting does.
Sig. Zone
Signal zones make identifying extremes easier. They do not signal if you should buy or sell, only that the current measurement is beyond what's normal. You are able to adjust the color and bounds of the zone.
Int. Levels
Interim levels can be useful when you want to visually bracket values into high / medium / low. These levels can have a value anywhere between 0 and 1. They will automatically be multiplied by 100 when the scale is set to Percent.
Zero Line
This setting allows you to specify the visibility of the zero line to best suit your trading style.
Volume & Volatility Stats
Displays a table of core values for both volume and volatility. Specifically the actual value, threshold (mean, median, or Q3), sigma (standard deviation), basis, normalized value, and linear regression.
Correlation Stats
Displays a table of correlation statistics for the current bar, as well as the data set average. Specifically the coefficient, R2, and P-Value.
Indices & Sample Size
Displays a table of mixed data. Specifically the current bar's index within the session, the current bar's index within the sample, and the sample size used to normalize the current bar's value.
BEST PRACTICES
NVOL can tell you what's normal for 9:30 AM. RVOL and ATR can only tell you if the current value is higher or lower than a moving average.
In a normal distribution (bell curve) 99.7% of data occurs within 3 standard deviations of the mean. This is why the default basis is set to "Mean, 3"; it includes the typical day-to-day fluctuations, better contextualizing what's actually normal, minimizing false positives.
This means a ratio value greater than 1 only occurs 0.3% of the time. A series of these values warrants your attention. Which is why the default signal zone is between 1 and 2. Ratios beyond 2 would be considered extreme with the default settings.
Inversely, ratio values less than 1 (the normal daily fluctuations) also tell a story. We should expect most values to occur around the middle 3rd, which is why interim levels default to 0.33 and 0.66, visually simplifying a given move's participation. These can be set to whatever you like and only serve as visual aids for your specific trading style.
It's worth noting that the linear regression oscillates when plotted directionally, which can help clarify short term move exhaustion and continuation. Akin to a relative strength index (RSI), it may be used to inform a trading decision, but it should not be the only factor.
Poisson Projection of Price Levels### **Poisson Projection of Price Levels**
**Overview:**
The *Poisson Projection of Price Levels* is a cutting-edge technical indicator designed to identify and visualize potential support and resistance levels based on historical price interactions. By leveraging the Poisson distribution, this tool dynamically adjusts the significance of each price level's past "touches" to project future interactions with varying degrees of probability. This probabilistic approach offers traders a nuanced view of where price levels may hold or react in upcoming bars, enhancing both analysis and trading strategies.
---
**🔍 **Math & Methodology**
1. **Strata Levels:**
- **Definition:** Strata are horizontal lines spaced evenly around the current closing price.
- **Calculation:**
\
where \(i\) ranges from 0 to \(\text{Strata Count} - 1\).
2. **Forecast Iterations:**
- **Structure:** The indicator projects five forecast iterations into the future, each spaced by a Fibonacci sequence of bars: 2, 3, 5, 8, and 13 bars ahead. This spacing is inspired by the Fibonacci sequence, which is prevalent in financial market analysis for identifying key levels.
- **Purpose:** Each iteration represents a distinct forecast point where the price may interact with the strata, allowing for a multi-step projection of potential price levels.
3. **Touch Counting:**
- **Definition:** A "touch" occurs when the closing price of a bar is within half the increment of a stratum level.
- **Process:** For each stratum and each forecast iteration, the indicator counts the number of touches within a specified lookback window (e.g., 80 bars), offset by the forecasted position. This ensures that each iteration's touch count is independent and contextually relevant to its forecast horizon.
- **Adjustment:** Each forecast iteration analyzes a unique segment of the lookback window, offset by its forecasted position to ensure independent probability calculations.
4. **Poisson Probability Calculation:**
- **Formula:**
\
\
- **Interpretation:** \(p(k=1)\) represents the probability of exactly one touch occurring within the lookback window for each stratum and iteration.
- **Application:** This probability is used to determine the transparency of each stratum line, where higher probabilities result in more opaque (less transparent) lines, indicating stronger historical significance.
5. **Transparency Mapping:**
- **Calculation:**
\
- **Purpose:** Maps the Poisson probability to a visual transparency level, enhancing the readability of significant strata levels.
- **Outcome:** Strata with higher probabilities (more historical touches) appear more opaque, while those with lower probabilities appear fainter.
---
**📊 **Comparability to Standard Techniques**
1. **Support and Resistance Levels:**
- **Traditional Approach:** Traders identify support and resistance based on historical price reversals, pivot points, or psychological price levels.
- **Poisson Projection:** Automates and quantifies this process by statistically analyzing the frequency of price interactions with specific levels, providing a probabilistic measure of significance.
2. **Statistical Modeling:**
- **Standard Models:** Techniques like Moving Averages, Bollinger Bands, or Fibonacci Retracements offer dynamic and rule-based levels but lack direct probabilistic interpretation.
- **Poisson Projection:** Introduces a discrete event probability framework, offering a unique blend of statistical rigor and visual clarity that complements traditional indicators.
3. **Event-Based Analysis:**
- **Financial Industry Practices:** Event studies and high-frequency trading models often use Poisson processes to model order arrivals or price jumps.
- **Indicator Application:** While not identical, the use of Poisson probabilities in this indicator draws inspiration from event-based modeling, applying it to the context of price level interactions.
---
**💡 **Strengths & Advantages**
1. **Innovative Visualization:**
- Combines statistical probability with traditional support/resistance visualization, offering a fresh perspective on price level significance.
2. **Dynamic Adaptability:**
- Parameters like strata increment, lookback window, and probability threshold are user-defined, allowing customization across different markets and timeframes.
3. **Independent Probability Calculations:**
- Each forecast iteration calculates its own Poisson probability, ensuring that projections are contextually relevant and independent of other iterations.
4. **Clear Visual Cues:**
- Transparency-based coloring intuitively highlights significant price levels, making it easier for traders to identify key areas of interest at a glance.
---
**⚠️ **Limitations & Considerations**
1. **Poisson Assumptions:**
- Assumes that touches occur independently and at a constant average rate (\(\lambda\)), which may not always align with market realities characterized by trends and volatility clustering.
2. **Computational Intensity:**
- Managing multiple iterations and strata can be resource-intensive, potentially affecting performance on lower-powered devices or with very high lookback windows.
3. **Interpretation Complexity:**
- While transparency offers visual clarity, understanding the underlying probability calculations requires a basic grasp of Poisson statistics, which may be a barrier for some traders.
---
**📢 **How to Use It**
1. **Add to TradingView:**
- Open TradingView and navigate to the Pine Script Editor.
- Paste the script above and click **Add to Chart**.
2. **Configure Inputs:**
- **Strata Increment:** Set the desired price step between strata (e.g., `0.1` for 10 cents).
- **Lookback Window:** Define how many past bars to consider for calculating Poisson probabilities (e.g., `80`).
- **Probability Transparency Threshold (%):** Set the threshold percentage to map probabilities to line transparency (e.g., `25%`).
3. **Understand the Forecast Iterations:**
- The indicator projects five forecast points into the future at bar spacings of 2, 3, 5, 8, and 13 bars ahead.
- Each iteration independently calculates its Poisson probability based on the touch counts within its specific lookback window offset by its forecasted position.
4. **Interpret the Visualization:**
- **Opaque Lines:** Indicate higher Poisson probabilities, suggesting historically significant price levels that are more likely to interact again.
- **Fainter Lines:** Represent lower probabilities, indicating less historically significant levels that may be less likely to interact.
- **Forecast Spacing:** The spacing of 2, 3, 5, 8, and 13 bars ahead aligns with Fibonacci principles, offering a natural progression in forecast horizons.
5. **Apply to Trading Strategies:**
- **Support/Resistance Identification:** Use the opaque lines as potential support and resistance levels for placing trades.
- **Entry and Exit Points:** Anticipate price interactions at forecasted levels to plan strategic entries and exits.
- **Risk Management:** Utilize the transparency mapping to determine where to place stop-loss and take-profit orders based on the probability of price interactions.
6. **Customize as Needed:**
- Adjust the **Strata Increment** to fit different price ranges or volatility levels.
- Modify the **Lookback Window** to capture more or fewer historical touches, adapting to different timeframes or market conditions.
- Tweak the **Probability Transparency Threshold** to control the sensitivity of transparency mapping to Poisson probabilities.
**📈 **Practical Applications**
1. **Identifying Key Levels:**
- Quickly visualize which price levels have historically had significant interactions, aiding in the identification of potential support and resistance zones.
2. **Forecasting Price Reactions:**
- Use the forecast iterations to anticipate where price may interact in the near future, assisting in planning entry and exit points.
3. **Risk Management:**
- Determine areas of high probability for price reversals or consolidations, enabling better placement of stop-loss and take-profit orders.
4. **Market Analysis:**
- Assess the strength of market levels over different forecast horizons, providing a multi-layered understanding of market structure.
---
**🔗 **Conclusion**
The *Poisson Projection of Price Levels* bridges the gap between statistical modeling and traditional technical analysis, offering traders a sophisticated tool to quantify and visualize the significance of price levels. By integrating Poisson probabilities with dynamic transparency mapping, this indicator provides a unique and insightful perspective on potential support and resistance zones, enhancing both analysis and trading strategies.
---
**📞 **Contact:**
For support or inquiries, please contact me on TradingView!
---
**📢 **Join the Conversation!**
Have questions, feedback, or suggestions for further enhancements? Feel free to comment below or reach out directly. Your input helps refine and evolve this tool to better serve the trading community.
---
**Happy Trading!** 🚀
BullBear with Volume-Percentile TP - Strategy [presentTrading] Happy New Year, everyone! I hope we have a fantastic year ahead.
It's been a while since I published an open script, but it's time to return.
This strategy introduces an indicator called Bull Bear Power, combined with an advanced take-profit system, which is the main innovative and educational aspect of this script. I hope all of you find some useful insights here. Welcome to engage in meaningful exchanges. This is a versatile tool suitable for both novice and experienced traders.
█ Introduction and How it is Different
Unlike traditional strategies that rely solely on price or volume indicators, this approach combines Bull Bear Power (BBP) with volume percentile analysis to identify optimal entry and exit points. It features a dynamic take-profit mechanism based on ATR (Average True Range) multipliers adjusted by volume and percentile factors, ensuring adaptability to diverse market conditions. This multifaceted strategy not only improves signal accuracy but also optimizes risk management, distinguishing it from conventional trading methods.
BTCUSD 6hr performance
Disable the visualization of Bull Bear Power (BBP) to clearly view the Z-Score.
█ Strategy, How it Works: Detailed Explanation
The BBP Strategy with Volume-Percentile TP utilizes several interconnected components to analyze market data and generate trading signals. Here's an overview with essential equations:
🔶 Core Indicators and Calculations
1. Exponential Moving Average (EMA):
- **Purpose:** Smoothens price data to identify trends.
- **Formula:**
EMA_t = (Close_t * (2 / (lengthInput + 1))) + (EMA_(t-1) * (1 - (2 / (lengthInput + 1))))
- Usage: Baseline for Bull and Bear Power.
2. Bull and Bear Power:
- Bull Power: `BullPower = High_t - EMA_t`
- Bear Power: `BearPower = Low_t - EMA_t`
- BBP:** `BBP = BullPower + BearPower`
- Interpretation: Positive BBP indicates bullish strength, negative indicates bearish.
3. Z-Score Calculation:
- Purpose: Normalizes BBP to assess deviation from the mean.
- Formula:
Z-Score = (BBP_t - bbp_mean) / bbp_std
- Components:
- `bbp_mean` = SMA of BBP over `zLength` periods.
- `bbp_std` = Standard deviation of BBP over `zLength` periods.
- Usage: Identifies overbought or oversold conditions based on thresholds.
🔶 Volume Analysis
1. Volume Moving Average (`vol_sma`):
vol_sma = (Volume_1 + Volume_2 + ... + Volume_vol_period) / vol_period
2. Volume Multiplier (`vol_mult`):
vol_mult = Current Volume / vol_sma
- Thresholds:
- High Volume: `vol_mult > 2.0`
- Medium Volume: `1.5 < vol_mult ≤ 2.0`
- Low Volume: `1.0 < vol_mult ≤ 1.5`
🔶 Percentile Analysis
1. Percentile Calculation (`calcPercentile`):
Percentile = (Number of values ≤ Current Value / perc_period) * 100
2. Thresholds:
- High Percentile: >90%
- Medium Percentile: >80%
- Low Percentile: >70%
🔶 Dynamic Take-Profit Mechanism
1. ATR-Based Targets:
TP1 Price = Entry Price ± (ATR * atrMult1 * TP_Factor)
TP2 Price = Entry Price ± (ATR * atrMult2 * TP_Factor)
TP3 Price = Entry Price ± (ATR * atrMult3 * TP_Factor)
- ATR Calculation:
ATR_t = (True Range_1 + True Range_2 + ... + True Range_baseAtrLength) / baseAtrLength
2. Adjustment Factors:
TP_Factor = (vol_score + price_score) / 2
- **vol_score** and **price_score** are based on current volume and price percentiles.
Local performance
🔶 Entry and Exit Logic
1. Long Entry: If Z-Score crosses above 1.618, then Enter Long.
2. Short Entry: If Z-Score crosses below -1.618, then Enter Short.
3. Exiting Positions:
If Long and Z-Score crosses below 0:
Exit Long
If Short and Z-Score crosses above 0:
Exit Short
4. Take-Profit Execution:
- Set multiple exit orders at dynamically calculated TP levels based on ATR and adjusted by `TP_Factor`.
█ Trade Direction
The strategy determines trade direction using the Z-Score from the BBP indicator:
- Long Positions:
- Condition: Z-Score crosses above 1.618.
- Short Positions:
- Condition: Z-Score crosses below -1.618.
- Exiting Trades:
- Long Exit: Z-Score drops below 0.
- Short Exit: Z-Score rises above 0.
This approach aligns trades with prevailing market trends, increasing the likelihood of successful outcomes.
█ Usage
Implementing the BBP Strategy with Volume-Percentile TP in TradingView involves:
1. Adding the Strategy:
- Copy the Pine Script code.
- Paste it into TradingView's Pine Editor.
- Save and apply the strategy to your chart.
2. Configuring Settings:
- Adjust parameters like EMA length, Z-Score thresholds, ATR multipliers, volume periods, and percentile settings to match your trading preferences and asset behavior.
3. Backtesting:
- Use TradingView’s backtesting tools to evaluate historical performance.
- Analyze metrics such as profit factor, drawdown, and win rate.
4. Optimization:
- Fine-tune parameters based on backtesting results.
- Test across different assets and timeframes to enhance adaptability.
5. Deployment:
- Apply the strategy in a live trading environment.
- Continuously monitor and adjust settings as market conditions change.
█ Default Settings
The BBP Strategy with Volume-Percentile TP includes default parameters designed for balanced performance across various markets. Understanding these settings and their impact is essential for optimizing strategy performance:
Bull Bear Power Settings:
- EMA Length (`lengthInput`): 21
- **Effect:** Balances sensitivity and trend identification; shorter lengths respond quicker but may generate false signals.
- Z-Score Length (`zLength`): 252
- **Effect:** Long period for stable mean and standard deviation, reducing false signals but less responsive to recent changes.
- Z-Score Threshold (`zThreshold`): 1.618
- **Effect:** Higher threshold filters out weaker signals, focusing on significant market moves.
Take Profit Settings:
- Use Take Profit (`useTP`): Enabled (`true`)
- **Effect:** Activates dynamic profit-taking, enhancing profitability and risk management.
- ATR Period (`baseAtrLength`): 20
- **Effect:** Shorter period for sensitive volatility measurement, allowing tighter profit targets.
- ATR Multipliers:
- **Effect:** Define conservative to aggressive profit targets based on volatility.
- Position Sizes:
- **Effect:** Diversifies profit-taking across multiple levels, balancing risk and reward.
Volume Analysis Settings:
- Volume MA Period (`vol_period`): 100
- **Effect:** Longer period for stable volume average, reducing the impact of short-term spikes.
- Volume Multipliers:
- **Effect:** Determines volume conditions affecting take-profit adjustments.
- Volume Factors:
- **Effect:** Adjusts ATR multipliers based on volume strength.
Percentile Analysis Settings:
- Percentile Period (`perc_period`): 100
- **Effect:** Balances historical context with responsiveness to recent data.
- Percentile Thresholds:
- **Effect:** Defines price and volume percentile levels influencing take-profit adjustments.
- Percentile Factors:
- **Effect:** Modulates ATR multipliers based on price percentile strength.
Impact on Performance:
- EMA Length: Shorter EMAs increase sensitivity but may cause more false signals; longer EMAs provide stability but react slower to market changes.
- Z-Score Parameters:*Longer Z-Score periods create more stable signals, while higher thresholds reduce trade frequency but increase signal reliability.
- ATR Multipliers and Position Sizes: Higher multipliers allow for larger profit targets with increased risk, while diversified position sizes help in securing profits at multiple levels.
- Volume and Percentile Settings: These adjustments ensure that take-profit targets adapt to current market conditions, enhancing flexibility and performance across different volatility environments.
- Commission and Slippage: Accurate settings prevent overestimation of profitability and ensure the strategy remains viable after accounting for trading costs.
Conclusion
The BBP Strategy with Volume-Percentile TP offers a robust framework by combining BBP indicators with volume and percentile analyses. Its dynamic take-profit mechanism, tailored through ATR adjustments, ensures that traders can effectively capture profits while managing risks in varying market conditions.
Money Flow ExtendedMoney Flow Extended (MF)
Definition
The Money Flow Extended (MF) indicator brings together the functionality of the Money Flow Index indicator (MFI) , a tool created by Gene Quong and Avrum Soudack and used in technical analysis for measuring buying and selling pressure, and The Relative Strength Index (RSI) , a well versed momentum based oscillator created by J.Welles Wilder Jr., which is used to measure the speed (velocity) as well as the change (magnitude) of directional price movements.
History
As the Money Flow Index (MFI) is quite similar to The Relative Strength Index (RSI), essentially the RSI with the added aspect of volume, adding a Moving Average, divergence calculation, oversold and overbought gradients, facilitates the transition from RSI, making the use of MFI pretty similar.
What to look for
Overbought/Oversold
When momentum and price rise fast enough, at a high enough level, eventual the security will be considered overbought. The opposite is also true. When price and momentum fall far enough, they can be considered oversold. Traditional overbought territory starts above 80 and oversold territory starts below 20. These values are subjective however, and a technical analyst can set whichever thresholds they choose.
Divergence
MF Divergence occurs when there is a difference between what the price action is indicating and what MF is indicating. These differences can be interpreted as an impending reversal. Specifically, there are two types of divergences, bearish and bullish.
Bullish MFI Divergence – When price makes a new low but MF makes a higher low.
Bearish MFI Divergence – When price makes a new high but MF makes a lower high.
Failure Swings
Failure swings are another occurrence which can lead to a price reversal. One thing to keep in mind about failure swings is that they are completely independent of price and rely solely on MF. Failure swings consist of four steps and are considered to be either Bullish (buying opportunity) or Bearish (selling opportunity).
Bullish Failure Swing
MF drops below 20 (considered oversold).
MF bounces back above 20.
MF pulls back but remains above 20 (remains above oversold)
MF breaks out above its previous high.
Bearish Failure Swing
MF rises above 80 (considered overbought)
MF drops back below 80
MF rises slightly but remains below 80 (remains below overbought)
MF drops lower than its previous low.
Summary
The Money Flow Extended (MF) can be a very valuable technical analysis tool. Of course, MF should not be used alone as the sole source for a trader’s signals or setups. MF can be combined with additional indicators or chart pattern analysis to increase its effectiveness.
Inputs
Length
The time period to be used in calculating the MF. 14 is the default.
Pivot Loopback
After how many bars you want the divergence to show, on the scale of 1-5. 5 is the default.
Calculate Divergence
Calculating divergences is needed in order for divergence alerts to fire.
Moving Average section
You can learn more about the inputs in the "Moving Average" section in this Help Center article .
Style
MF
Can toggle the visibility of the MF as well as the visibility of a price line showing the actual current value of the MF. Can also select the MF Line's color, line thickness and visual style.
MF-based MA
Can toggle the visibility of the MF-based MA as well as the visibility of a price line showing the actual current MA value. Can also select its color, line thickness and line style.
MF Upper Band
Can toggle the visibility of the Upper Band as well as sets the boundary, on the scale of 1-100, for the Upper Band (80 is the default). The color, line thickness and line style can also be determined.
MF Middle Band
Can toggle the visibility of the Middle Band as well as sets the boundary, on the scale of 1-100, for the Middle Band (50 is the default). The color, line thickness and line style can also be determined.
MF Lower Band
Can toggle the visibility of the Lower Band as well as sets the boundary, on the scale of 1-100, for the Lower Band (20 is the default). The color, line thickness and line style can also be determined.
MF Background Fill
Toggles the visibility of a Background color within the MF's boundaries. Can also change the Color itself as well as the opacity.
Overbought Gradient Fill
Can toggle the visibility of the Overbought Gradient Fill. Can also select its colors combination.
Oversold Gradient Fill
Can toggle the visibility of the Oversold Gradient Fill. Can also select its colors combination.
Precision
Sets the number of decimal places to be left on the indicator's value before rounding up. The higher this number, the more decimal points will be on the indicator's value.
Pro Stock Scanner + MACD# Pro Stock Scanner - Advanced Trading System
### Professional Scanning System Combining MACD, Momentum & Technical Analysis
## 🎯 Indicator Purpose
This indicator was developed to identify high-quality trading opportunities by combining:
- Strong positive momentum
- Clear technical trend
- Significant trading volume
- Precise MACD signals
## 💡 Core Mechanics
The indicator is based on three core components:
### 1. Advanced MACD Analysis (40%)
- MACD line crossover tracking
- Momentum strength measurement
- Positive/negative divergence detection
- Score range: 0-40 points
### 2. Trend Analysis (40%)
- Moving average relationships (MA20, MA50)
- Primary trend direction
- Current trend strength
- Score range: 0-40 points
### 3. Volume Analysis (20%)
- Comparison with 20-day average volume
- Volume breakout detection
- Score range: 0-20 points
## 📊 Scoring System
Total score (0-100) composition:
```
Total Score = MACD Score (40%) + Trend Score (40%) + Volume Score (20%)
```
### Score Interpretation:
- 80-100: Strong Buy Signal 🔥
- 65-79: Developing Bullish Trend ⬆️
- 50-64: Neutral ↔️
- 0-49: Technical Weakness ⬇️
## 📈 Chart Markers
1. **Large Blue Triangle**
- High score (80+)
- Positive MACD
- Bullish MACD crossover
2. **Small Triangles**
- Green: Bullish MACD crossover
- Red: Bearish MACD crossover
## 🎛️ Customizable Parameters
```
MACD Settings:
- Fast Length: 12
- Slow Length: 26
- Signal Length: 9
- Strength Threshold: 0.2%
Volume Settings:
- Threshold: 1.5x average
```
## 📱 Information Panel
Real-time display of:
1. Total Score
2. MACD Score
3. MACD Strength
4. Volume Score
5. Summary Signal
## ⚙️ Optimization Guidelines
Recommended adjustments:
1. **Bull Market**
- Decrease MACD sensitivity
- Increase volume threshold
- Focus on trend strength
2. **Bear Market**
- Increase MACD sensitivity
- Stricter trend conditions
- Higher score requirements
## 🎯 Recommended Trading Strategy
### Phase 1: Initial Scan
1. Look for 80+ total score
2. Verify sufficient trading volume
3. Confirm bullish MACD crossover
### Phase 2: Validation
1. Check long-term trend
2. Identify nearby resistance levels
3. Review earnings calendar
### Phase 3: Position Management
1. Set clear stop-loss
2. Define realistic profit targets
3. Monitor score changes
## ⚠️ Important Notes
1. This indicator is a supplementary tool
2. Combine with fundamental analysis
3. Strict risk management is essential
4. Not recommended for automated trading
## 📈 Usage Examples
Examples included:
1. Successful buy signal
2. Trend reversal identification
3. False signal analysis and lessons learned
## 🔄 Future Updates
1. RSI integration
2. Advanced alerts
3. Auto-optimization features
## 🎯 Key Benefits
1. Clear scoring system
2. Multiple confirmation layers
3. Real-time market feedback
4. Customizable parameters
## 🚀 Getting Started
1. Add indicator to chart
2. Adjust parameters if needed
3. Monitor information panel
4. Wait for strong signals (80+ score)
## 📊 Performance Metrics
- Success rate: Monitor and track
- Best performing in trending markets
- Optimal for swing trading
- Most effective on daily timeframe
## 🛠️ Technical Details
```pine
// Core components
1. MACD calculation
2. Volume analysis
3. Trend confirmation
4. Score computation
```
## 💡 Pro Tips
1. Use multiple timeframes
2. Combine with support/resistance
3. Monitor sector trends
4. Consider market conditions
## 🤝 Support
Feedback and improvement suggestions welcome!
## 📜 License
MIT License - Free to use and modify
## 📚 Additional Resources
- Recommended timeframes: Daily, 4H
- Best performing markets: Stocks, ETFs
- Optimal market conditions: Trending markets
- Risk management guidelines included
## 🔍 Final Notes
Remember:
- No indicator is 100% accurate
- Always use proper position sizing
- Combine with other analysis tools
- Practice proper risk management
// @version=5
// @description Pro Stock Scanner - Advanced trading system combining MACD, momentum and volume analysis
// @author AviPro
// @license MIT
//
// This indicator helps identify high-quality trading opportunities by analyzing:
// 1. MACD momentum and crossovers
// 2. Trend strength and direction
// 3. Volume patterns and breakouts
//
// The system provides:
// - Total score (0-100)
// - Visual signals on chart
// - Information panel with key metrics
// - Customizable parameters
//
// IMPORTANT: This indicator is for educational and informational purposes only.
// Always conduct your own analysis and use proper risk management.
//
// If you find this indicator helpful, please consider leaving a like and comment!
// Feedback and suggestions for improvement are always welcome.
Advanced MA and MACD PercentageIntroduction
The "Advanced MA and MACD Percentage" indicator is a powerful and innovative tool designed to help traders analyze financial markets with ease and precision. This indicator combines Moving Averages (MA) with the MACD indicator to assess the market’s overall trend and calculate the percentage of buy and sell signals based on current data.
Features
Multi-Timeframe Analysis:
Allows selecting your preferred timeframe for trend analysis, such as minute, hourly, daily, or weekly charts.
Support for Multiple Moving Average Types:
Offers the option to use either Simple Moving Average (SMA) or Exponential Moving Average (EMA), based on user preference.
Comprehensive MACD Analysis:
Analyzes the relationship between multiple moving averages (e.g., 20/50, 50/100) using MACD to provide deeper insights into market dynamics.
Calculation of Buy and Sell Percentages:
Computes the percentage of indicators signaling buy or sell conditions, providing a clear summary to assist trading decisions.
Intuitive Visual Interface:
Displays buy and sell percentages as two visible lines (green and red) on the chart.
Includes reference lines to clarify the range of percentages (100% to 0%).
How It Works
Moving Averages Calculation:
Calculates moving averages (20, 50, 100, 150, and 200) for the selected timeframe.
MACD Pair Analysis:
Computes the MACD to compare the performance between various moving average pairs, such as (20/50) and (50/100).
Identifying Buy and Sell Signals:
Counts the number of indicators signaling buy (price above MAs or positive MACD histogram).
Converts the count into percentages for both buy and sell signals.
Visual Representation:
Plots buy and sell percentages as clear lines (green for buy, red for sell).
Adds reference lines (100% and 0%) for easier interpretation.
How to Use the Indicator?
Settings:
Choose the type of moving average (SMA or EMA).
Select the timeframe that suits your strategy (e.g., 15 minutes, 1 hour, or daily).
Reading the Results:
If the buy percentage (green line) is above 50%, the overall trend is bullish (buy).
If the sell percentage (red line) is above 50%, the overall trend is bearish (sell).
Integrating Into Your Strategy:
Combine it with other indicators to confirm entry and exit signals.
Use it to quickly understand the market’s overall trend without needing complex manual analysis.
Benefits of the Indicator
Simplified Analysis: Provides a straightforward summary of the market's overall trend.
Adaptable to All Timeframes: Works perfectly on all timeframes.
Customizable: Allows users to adjust settings according to their needs.
Important Notes
This indicator does not provide direct buy or sell signals. Instead, it offers a summary of the market’s condition based on a combination of indicators.
It is recommended to use it alongside other technical analysis tools for precise trading signals.
Conclusion
The "Advanced MA and MACD Percentage" indicator is an ideal tool for traders who want to analyze the market using a combination of Moving Averages and MACD. It gives you a comprehensive overview of the overall trend, helping you make informed and quick trading decisions. Try it now and see the difference!
MultiLayer Awesome Oscillator Saucer Strategy [Skyrexio]Overview
MultiLayer Awesome Oscillator Saucer Strategy leverages the combination of Awesome Oscillator (AO), Williams Alligator, Williams Fractals and Exponential Moving Average (EMA) to obtain the high probability long setups. Moreover, strategy uses multi trades system, adding funds to long position if it considered that current trend has likely became stronger. Awesome Oscillator is used for creating signals, while Alligator and Fractal are used in conjunction as an approximation of short-term trend to filter them. At the same time EMA (default EMA's period = 100) is used as high probability long-term trend filter to open long trades only if it considers current price action as an uptrend. More information in "Methodology" and "Justification of Methodology" paragraphs. The strategy opens only long trades.
Unique Features
No fixed stop-loss and take profit: Instead of fixed stop-loss level strategy utilizes technical condition obtained by Fractals and Alligator to identify when current uptrend is likely to be over (more information in "Methodology" and "Justification of Methodology" paragraphs)
Configurable Trading Periods: Users can tailor the strategy to specific market windows, adapting to different market conditions.
Multilayer trades opening system: strategy uses only 10% of capital in every trade and open up to 5 trades at the same time if script consider current trend as strong one.
Short and long term trend trade filters: strategy uses EMA as high probability long-term trend filter and Alligator and Fractal combination as a short-term one.
Methodology
The strategy opens long trade when the following price met the conditions:
1. Price closed above EMA (by default, period = 100). Crossover is not obligatory.
2. Combination of Alligator and Williams Fractals shall consider current trend as an upward (all details in "Justification of Methodology" paragraph)
3. Awesome Oscillator shall create the "Saucer" long signal (all details in "Justification of Methodology" paragraph). Buy stop order is placed one tick above the candle's high of last created "Saucer signal".
4. If price reaches the order price, long position is opened with 10% of capital.
5. If currently we have opened position and price creates and hit the order price of another one "Saucer" signal another one long position will be added to the previous with another one 10% of capital. Strategy allows to open up to 5 long trades simultaneously.
6. If combination of Alligator and Williams Fractals shall consider current trend has been changed from up to downtrend, all long trades will be closed, no matter how many trades has been opened.
Script also has additional visuals. If second long trade has been opened simultaneously the Alligator's teeth line is plotted with the green color. Also for every trade in a row from 2 to 5 the label "Buy More" is also plotted just below the teeth line. With every next simultaneously opened trade the green color of the space between teeth and price became less transparent.
Strategy settings
In the inputs window user can setup strategy setting: EMA Length (by default = 100, period of EMA, used for long-term trend filtering EMA calculation). User can choose the optimal parameters during backtesting on certain price chart.
Justification of Methodology
Let's go through all concepts used in this strategy to understand how they works together. Let's start from the easies one, the EMA. Let's briefly explain what is EMA. The Exponential Moving Average (EMA) is a type of moving average that gives more weight to recent prices, making it more responsive to current price changes compared to the Simple Moving Average (SMA). It is commonly used in technical analysis to identify trends and generate buy or sell signals. It can be calculated with the following steps:
1.Calculate the Smoothing Multiplier:
Multiplier = 2 / (n + 1), Where n is the number of periods.
2. EMA Calculation
EMA = (Current Price) × Multiplier + (Previous EMA) × (1 − Multiplier)
In this strategy uses EMA an initial long term trend filter. It allows to open long trades only if price close above EMA (by default 50 period). It increases the probability of taking long trades only in the direction of the trend.
Let's go to the next, short-term trend filter which consists of Alligator and Fractals. Let's briefly explain what do these indicators means. The Williams Alligator, developed by Bill Williams, is a technical indicator designed to spot trends and potential market reversals. It uses three smoothed moving averages, referred to as the jaw, teeth, and lips:
Jaw (Blue Line): The slowest of the three, based on a 13-period smoothed moving average shifted 8 bars ahead.
Teeth (Red Line): The medium-speed line, derived from an 8-period smoothed moving average shifted 5 bars forward.
Lips (Green Line): The fastest line, calculated using a 5-period smoothed moving average shifted 3 bars forward.
When these lines diverge and are properly aligned, the "alligator" is considered "awake," signaling a strong trend. Conversely, when the lines overlap or intertwine, the "alligator" is "asleep," indicating a range-bound or sideways market. This indicator assists traders in identifying when to act on or avoid trades.
The Williams Fractals, another tool introduced by Bill Williams, are used to pinpoint potential reversal points on a price chart. A fractal forms when there are at least five consecutive bars, with the middle bar displaying the highest high (for an up fractal) or the lowest low (for a down fractal), relative to the two bars on either side.
Key Points:
Up Fractal: Occurs when the middle bar has a higher high than the two preceding and two following bars, suggesting a potential downward reversal.
Down Fractal: Happens when the middle bar shows a lower low than the surrounding two bars, hinting at a possible upward reversal.
Traders often combine fractals with other indicators to confirm trends or reversals, improving the accuracy of trading decisions.
How we use their combination in this strategy? Let’s consider an uptrend example. A breakout above an up fractal can be interpreted as a bullish signal, indicating a high likelihood that an uptrend is beginning. Here's the reasoning: an up fractal represents a potential shift in market behavior. When the fractal forms, it reflects a pullback caused by traders selling, creating a temporary high. However, if the price manages to return to that fractal’s high and break through it, it suggests the market has "changed its mind" and a bullish trend is likely emerging.
The moment of the breakout marks the potential transition to an uptrend. It’s crucial to note that this breakout must occur above the Alligator's teeth line. If it happens below, the breakout isn’t valid, and the downtrend may still persist. The same logic applies inversely for down fractals in a downtrend scenario.
So, if last up fractal breakout was higher, than Alligator's teeth and it happened after last down fractal breakdown below teeth, algorithm considered current trend as an uptrend. During this uptrend long trades can be opened if signal was flashed. If during the uptrend price breaks down the down fractal below teeth line, strategy considered that uptrend is finished with the high probability and strategy closes all current long trades. This combination is used as a short term trend filter increasing the probability of opening profitable long trades in addition to EMA filter, described above.
Now let's talk about Awesome Oscillator's "Sauser" signals. Briefly explain what is the Awesome Oscillator. The Awesome Oscillator (AO), created by Bill Williams, is a momentum-based indicator that evaluates market momentum by comparing recent price activity to a broader historical context. It assists traders in identifying potential trend reversals and gauging trend strength.
AO = SMA5(Median Price) − SMA34(Median Price)
where:
Median Price = (High + Low) / 2
SMA5 = 5-period Simple Moving Average of the Median Price
SMA 34 = 34-period Simple Moving Average of the Median Price
Now we know what is AO, but what is the "Saucer" signal? This concept was introduced by Bill Williams, let's briefly explain it and how it's used by this strategy. Initially, this type of signal is a combination of the following AO bars: we need 3 bars in a row, the first one shall be higher than the second, the third bar also shall be higher, than second. All three bars shall be above the zero line of AO. The price bar, which corresponds to third "saucer's" bar is our signal bar. Strategy places buy stop order one tick above the price bar which corresponds to signal bar.
After that we can have the following scenarios.
Price hit the order on the next candle in this case strategy opened long with this price.
Price doesn't hit the order price, the next candle set lower low. If current AO bar is increasing buy stop order changes by the script to the high of this new bar plus one tick. This procedure repeats until price finally hit buy order or current AO bar become decreasing. In the second case buy order cancelled and strategy wait for the next "Saucer" signal.
If long trades has been opened strategy use all the next signals until number of trades doesn't exceed 5. All trades are closed when the trend changes to downtrend according to combination of Alligator and Fractals described above.
Why we use "Saucer" signals? If AO above the zero line there is a high probability that price now is in uptrend if we take into account our two trend filters. When we see the decreasing bars on AO and it's above zero it's likely can be considered as a pullback on the uptrend. When we see the stop of AO decreasing and the first increasing bar has been printed there is a high probability that this local pull back is finished and strategy open long trade in the likely direction of a main trend.
Why strategy use only 10% per signal? Sometimes we can see the false signals which appears on sideways. Not risking that much script use only 10% per signal. If the first long trade has been open and price continue going up and our trend approximation by Alligator and Fractals is uptrend, strategy add another one 10% of capital to every next saucer signal while number of active trades no more than 5. This capital allocation allows to take part in long trades when current uptrend is likely to be strong and use only 10% of capital when there is a high probability of sideways.
Backtest Results
Operating window: Date range of backtests is 2023.01.01 - 2024.11.25. It is chosen to let the strategy to close all opened positions.
Commission and Slippage: Includes a standard Binance commission of 0.1% and accounts for possible slippage over 5 ticks.
Initial capital: 10000 USDT
Percent of capital used in every trade: 10%
Maximum Single Position Loss: -5.10%
Maximum Single Profit: +22.80%
Net Profit: +2838.58 USDT (+28.39%)
Total Trades: 107 (42.99% win rate)
Profit Factor: 3.364
Maximum Accumulated Loss: 373.43 USDT (-2.98%)
Average Profit per Trade: 26.53 USDT (+2.40%)
Average Trade Duration: 78 hours
These results are obtained with realistic parameters representing trading conditions observed at major exchanges such as Binance and with realistic trading portfolio usage parameters.
How to Use
Add the script to favorites for easy access.
Apply to the desired timeframe and chart (optimal performance observed on 3h BTC/USDT).
Configure settings using the dropdown choice list in the built-in menu.
Set up alerts to automate strategy positions through web hook with the text: {{strategy.order.alert_message}}
Disclaimer:
Educational and informational tool reflecting Skyrex commitment to informed trading. Past performance does not guarantee future results. Test strategies in a simulated environment before live implementation
Candle ThermalsThis indicator color candles based on their percentage price change, relative to the average, maximum, and minimum changes over the last 100 candles.
-It calculates the percentage change of all candles
-Calculates the minimum, maximum and average in the last 100 bars in percentage change
-Changes color of the candle based on the range between the current percent and min/max value
-The brightest candle provides the highest compound effect to you account if you act on it at the open.
-Candles that have a percentage close to the average then they are barely visible = lowest compound effect to your account
This indicator functions like a "heatmap" for candles, highlighting the relative volatility of price movements in both directions. Strong bullish candles are brighter green, and strong bearish candles are brighter red. It's particularly useful for traders wanting quick visual feedback on price volatility and strength trends within the last 100 bars.
Global Index Spread RSI StrategyThis strategy leverages the relative strength index (RSI) to monitor the price spread between a global benchmark index (such as AMEX) and the currently opened asset in the chart window. By calculating the spread between these two, the strategy uses RSI to identify oversold and overbought conditions to trigger buy and sell signals.
Key Components:
Global Benchmark Index: The strategy compares the current asset with a predefined global index (e.g., AMEX) to measure relative performance. The choice of a global benchmark allows the trader to analyze the current asset's movement in the context of broader market trends.
Spread Calculation:
The spread is calculated as the percentage difference between the current asset's closing price and the global benchmark index's closing price:
Spread=Current Asset Close−Global Index CloseGlobal Index Close×100
Spread=Global Index CloseCurrent Asset Close−Global Index Close×100
This metric provides a measure of how the current asset is performing relative to the global index. A positive spread indicates the asset is outperforming the benchmark, while a negative spread signals underperformance.
RSI of the Spread: The RSI is then calculated on the spread values. The RSI is a momentum oscillator that ranges from 0 to 100 and is commonly used to identify overbought or oversold conditions in asset prices. An RSI below 30 is considered oversold, indicating a potential buying opportunity, while an RSI above 70 is overbought, suggesting that the asset may be due for a pullback.
Strategy Logic:
Entry Condition: The strategy enters a long position when the RSI of the spread falls below the oversold threshold (default 30). This suggests that the asset may have been oversold relative to the global benchmark and might be due for a reversal.
Exit Condition: The strategy exits the long position when the RSI of the spread rises above the overbought threshold (default 70), indicating that the asset may have become overbought and a price correction is likely.
Visual Reference:
The RSI of the spread is plotted on the chart for visual reference, making it easier for traders to monitor the relative strength of the asset in relation to the global benchmark.
Overbought and oversold levels are also drawn as horizontal reference lines (70 and 30), along with a neutral level at 50 to show market equilibrium.
Theoretical Basis:
The strategy is built on the mean reversion principle, which suggests that asset prices tend to revert to a long-term average over time. When prices move too far from this mean—either being overbought or oversold—they are likely to correct back toward equilibrium. By using RSI to identify these extremes, the strategy aims to profit from price reversals.
Mean Reversion: According to financial theory, asset prices oscillate around a long-term average, and any extreme deviation (overbought or oversold conditions) presents opportunities for price corrections (Poterba & Summers, 1988).
Momentum Indicators (RSI): The RSI is widely used in technical analysis to measure the momentum of an asset. Its application to the spread between the asset and a global benchmark allows for a more nuanced view of relative performance and potential turning points in the asset's price trajectory.
Practical Application:
This strategy works best in markets where relative strength is a key factor in decision-making, such as in equity indices, commodities, or forex markets. By assessing the performance of the asset relative to a global benchmark and utilizing RSI to identify extremes in price movements, the strategy helps traders to make more informed decisions based on potential mean reversion points.
While the "Global Index Spread RSI Strategy" offers a method for identifying potential price reversals based on relative strength and oversold/overbought conditions, it is important to recognize that no strategy is foolproof. The strategy assumes that the historical relationship between the asset and the global benchmark will hold in the future, but financial markets are subject to a wide array of unpredictable factors that can lead to sudden changes in price behavior.
Risk of False Signals:
The strategy relies heavily on the RSI to trigger buy and sell signals. However, like any momentum-based indicator, RSI can generate false signals, particularly in highly volatile or trending markets. In such conditions, the strategy may enter positions too early or exit too late, leading to potential losses.
Market Context:
The strategy may not account for macroeconomic events, news, or other market forces that could cause sudden shifts in asset prices. External factors, such as geopolitical developments, monetary policy changes, or financial crises, can cause a divergence between the asset and the global benchmark, leading to incorrect conclusions from the strategy.
Overfitting Risk:
As with any strategy that uses historical data to make decisions, there is a risk of overfitting the model to past performance. This could result in a strategy that works well on historical data but performs poorly in live trading conditions due to changes in market dynamics.
Execution Risks:
The strategy does not account for slippage, transaction costs, or liquidity issues, which can impact the execution of trades in real-market conditions. In fast-moving markets, prices may move significantly between order placement and execution, leading to worse-than-expected entry or exit prices.
No Guarantee of Profit:
Past performance is not necessarily indicative of future results. The strategy should be used with caution, and risk management techniques (such as stop losses and position sizing) should always be implemented to protect against significant losses.
Traders should thoroughly test and adapt the strategy in a simulated environment before applying it to live trades, and consider seeking professional advice to ensure that their trading activities align with their risk tolerance and financial goals.
References:
Poterba, J. M., & Summers, L. H. (1988). Mean Reversion in Stock Prices: Evidence and Implications. Journal of Financial Economics, 22(1), 27-59.
Chaikin's Money FlowOverview : Chaikin's Money Flow (CMF) is a momentum indicator that measures the buying and selling pressure of a financial instrument over a specified period. By incorporating both price and volume, CMF provides a comprehensive view of market sentiment, helping traders identify potential trend reversals and confirm the strength of existing trends.
Key Features:
Volume-Weighted : Unlike price-only indicators, CMF accounts for trading volume, offering deeper insights into the forces driving price movements.
Oscillatory Nature : CMF oscillates between positive and negative values, typically ranging from -100 to +100, indicating the balance between buying and selling pressure.
Trend Confirmation : Positive CMF values suggest accumulating buying pressure, while negative values indicate distributing selling pressure. This aids in confirming the direction and strength of trends.
Calculation Details :
Intraday Intensity (II) = 100 × (2×Close−High−Low) / (High−Low) × Volume
Condition: If High=Low, II is set to 0 to prevent division by zero.
II_smoothed = SMA(II, lookback)
Applies a Simple Moving Average (SMA) to the Intraday Intensity over the defined lookback period to smooth out short-term fluctuations.
Volume Smoothing:
V_smoothed = EMA(Volume, Volume Smoothing Period)
Utilizes an Exponential Moving Average (EMA) to smooth the volume over the specified smoothing period, giving more weight to recent data.
Money Flow Calculation:
Money Flow = II_smoothed / V_smoothed
Condition: If Vsmoothed=0Vsmoothed=0, Money Flow is set to 0 to avoid division by zero.
Usage Instructions:
Parameters Configuration:
Lookback Period: Determines the number of periods over which Intraday Intensity is averaged. A higher value results in a smoother indicator, reducing sensitivity to short-term price movements.
Volume Smoothing Period: Defines the period for the EMA applied to Volume. Adjusting this parameter affects the responsiveness of the Money Flow indicator to changes in trading volume.
Interpreting the Indicator:
Positive Values (>0): Indicate buying pressure. The higher the value, the stronger the buying interest.
Negative Values (<0): Signal selling pressure. The lower the value, the more intense the selling activity.
Crossovers: Watch for Money Flow crossing above the zero line as potential buy signals and crossing below as potential sell signals.
Divergence: Identify divergences between Money Flow and price movements to anticipate possible trend reversals.
Complementary Analysis:
Confluence with Other Indicators: Use CMF in conjunction with trend indicators like Moving Averages or oscillators like RSI to enhance signal reliability.
Volume Confirmation: CMF's volume-weighted approach makes it a powerful tool for confirming the validity of price trends and breakouts.
Acknowledgment: This implementation of Chaikin's Money Flow Indicator is inspired by and derived from the methodologies presented in "Statistically Sound Indicators" by Timothy Masters. The indicator has been meticulously translated to Pine Script to maintain the statistical integrity and effectiveness outlined in the source material.
Disclaimer: The Chaikin's Money Flow Indicator is a tool designed to assist in trading decisions. It does not guarantee profits and should be used in conjunction with other analysis methods. Trading involves risk, and it's essential to perform thorough testing and validation before deploying any indicator in live trading environments.
TrigWave Suite [InvestorUnknown]The TrigWave Suite combines Sine-weighted, Cosine-weighted, and Hyperbolic Tangent moving averages (HTMA) with a Directional Movement System (DMS) and a Relative Strength System (RSS).
Hyperbolic Tangent Moving Average (HTMA)
The HTMA smooths the price by applying a hyperbolic tangent transformation to the difference between the price and a simple moving average. It also adjusts this value by multiplying it by a standard deviation to create a more stable signal.
// Function to calculate Hyperbolic Tangent
tanh(x) =>
e_x = math.exp(x)
e_neg_x = math.exp(-x)
(e_x - e_neg_x) / (e_x + e_neg_x)
// Function to calculate Hyperbolic Tangent Moving Average
htma(src, len, mul) =>
tanh_src = tanh((src - ta.sma(src, len)) * mul) * ta.stdev(src, len) + ta.sma(src, len)
htma = ta.sma(tanh_src, len)
Sine-Weighted Moving Average (SWMA)
The SWMA applies sine-based weights to historical prices. This gives more weight to the central data points, making it responsive yet less prone to noise.
// Function to calculate the Sine-Weighted Moving Average
f_Sine_Weighted_MA(series float src, simple int length) =>
var float sine_weights = array.new_float(0)
array.clear(sine_weights) // Clear the array before recalculating weights
for i = 0 to length - 1
weight = math.sin((math.pi * (i + 1)) / length)
array.push(sine_weights, weight)
// Normalize the weights
sum_weights = array.sum(sine_weights)
for i = 0 to length - 1
norm_weight = array.get(sine_weights, i) / sum_weights
array.set(sine_weights, i, norm_weight)
// Calculate Sine-Weighted Moving Average
swma = 0.0
if bar_index >= length
for i = 0 to length - 1
swma := swma + array.get(sine_weights, i) * src
swma
Cosine-Weighted Moving Average (CWMA)
The CWMA uses cosine-based weights for data points, which produces a more stable trend-following behavior, especially in low-volatility markets.
f_Cosine_Weighted_MA(series float src, simple int length) =>
var float cosine_weights = array.new_float(0)
array.clear(cosine_weights) // Clear the array before recalculating weights
for i = 0 to length - 1
weight = math.cos((math.pi * (i + 1)) / length) + 1 // Shift by adding 1
array.push(cosine_weights, weight)
// Normalize the weights
sum_weights = array.sum(cosine_weights)
for i = 0 to length - 1
norm_weight = array.get(cosine_weights, i) / sum_weights
array.set(cosine_weights, i, norm_weight)
// Calculate Cosine-Weighted Moving Average
cwma = 0.0
if bar_index >= length
for i = 0 to length - 1
cwma := cwma + array.get(cosine_weights, i) * src
cwma
Directional Movement System (DMS)
DMS is used to identify trend direction and strength based on directional movement. It uses ADX to gauge trend strength and combines +DI and -DI for directional bias.
// Function to calculate Directional Movement System
f_DMS(simple int dmi_len, simple int adx_len) =>
up = ta.change(high)
down = -ta.change(low)
plusDM = na(up) ? na : (up > down and up > 0 ? up : 0)
minusDM = na(down) ? na : (down > up and down > 0 ? down : 0)
trur = ta.rma(ta.tr, dmi_len)
plus = fixnan(100 * ta.rma(plusDM, dmi_len) / trur)
minus = fixnan(100 * ta.rma(minusDM, dmi_len) / trur)
sum = plus + minus
adx = 100 * ta.rma(math.abs(plus - minus) / (sum == 0 ? 1 : sum), adx_len)
dms_up = plus > minus and adx > minus
dms_down = plus < minus and adx > plus
dms_neutral = not (dms_up or dms_down)
signal = dms_up ? 1 : dms_down ? -1 : 0
Relative Strength System (RSS)
RSS employs RSI and an adjustable moving average type (SMA, EMA, or HMA) to evaluate whether the market is in a bullish or bearish state.
// Function to calculate Relative Strength System
f_RSS(rsi_src, rsi_len, ma_type, ma_len) =>
rsi = ta.rsi(rsi_src, rsi_len)
ma = switch ma_type
"SMA" => ta.sma(rsi, ma_len)
"EMA" => ta.ema(rsi, ma_len)
"HMA" => ta.hma(rsi, ma_len)
signal = (rsi > ma and rsi > 50) ? 1 : (rsi < ma and rsi < 50) ? -1 : 0
ATR Adjustments
To minimize false signals, the HTMA, SWMA, and CWMA signals are adjusted with an Average True Range (ATR) filter:
// Calculate ATR adjusted components for HTMA, CWMA and SWMA
float atr = ta.atr(atr_len)
float htma_up = htma + (atr * atr_mult)
float htma_dn = htma - (atr * atr_mult)
float swma_up = swma + (atr * atr_mult)
float swma_dn = swma - (atr * atr_mult)
float cwma_up = cwma + (atr * atr_mult)
float cwma_dn = cwma - (atr * atr_mult)
This adjustment allows for better adaptation to varying market volatility, making the signal more reliable.
Signals and Trend Calculation
The indicator generates a Trend Signal by aggregating the output from each component. Each component provides a directional signal that is combined to form a unified trend reading. The trend value is then converted into a long (1), short (-1), or neutral (0) state.
Backtesting Mode and Performance Metrics
The Backtesting Mode includes a performance metrics table that compares the Buy and Hold strategy with the TrigWave Suite strategy. Key statistics like Sharpe Ratio, Sortino Ratio, and Omega Ratio are displayed to help users assess performance. Note that due to labels and plotchar use, automatic scaling may not function ideally in backtest mode.
Alerts and Visualization
Trend Direction Alerts: Set up alerts for long and short signals
Color Bars and Gradient Option: Bars are colored based on the trend direction, with an optional gradient for smoother visual feedback.
Important Notes
Customization: Default settings are experimental and not intended for trading/investing purposes. Users are encouraged to adjust and calibrate the settings to optimize results according to their trading style.
Backtest Results Disclaimer: Please note that backtest results are not indicative of future performance, and no strategy guarantees success.