Continuation Index [DCAUT]█ Continuation Index
📊 OVERVIEW
Continuation Index (CI) is an advanced trend analysis indicator developed by John F. Ehlers. This indicator provides early warning signals for trend onset, continuation, and exhaustion, with values oscillating between -1 and +1 to offer clear trend state identification for traders.
Based on the article TASC 2025.09 "Trend Onset And Trend Exhaustion - The Continuation Index" by John F. Ehlers.
💡 CORE VALUE
Unlike traditional trend indicators, the Continuation Index provides:
- Advanced dual-filter architecture (Ultimate Smoother + Laguerre Filter)
- Inverse Fisher Transform for enhanced signal-to-noise ratio
- Adaptive gamma parameter allowing market-specific tuning
- Binary state output (+1/-1) eliminating interpretation ambiguity
🎯 CONCEPTS
Signal Interpretation
CI > 0.5 : Strong bullish trend continuation - consider holding/adding long positions
CI = +1 : Maximum bullish signal - strong uptrend in progress
CI < -0.5 : Strong bearish trend continuation - consider holding/adding short positions
CI = -1 : Maximum bearish signal - strong downtrend in progress
CI near 0 : Neutral zone - trend uncertain, wait for clear signals
Brief pullbacks from extreme states : Potential reentry opportunities in trend direction
Primary Applications
Trend Onset Detection : Early warning signals for trend initiation
Trend Exhaustion Signals : Identify potential trend reversals
Position Management : Clear binary states for entry/exit decisions
Market Timing : Adaptive filtering reduces false signals
📋 PARAMETER SETUP
Source : Data source for calculation (default: close)
Length : The calculation length for the filters (default: 40, min: 1)
Gamma : Controls the phase response of the Laguerre filter. Smaller values increase responsiveness (default: 0.8, range: 0.0-1.0)
Laguerre Order : The order of the Laguerre filter, which directly affects its lag (default: 8, range: 1-10)
📊 COLOR CODING
Green : CI > 0.5 - Bullish trend continuation
Red : CI < -0.5 - Bearish trend continuation
Gray : Neutral zone - Trend unclear
在脚本中搜索"binary"
Dip Hunter [BackQuant]Dip Hunter
What this tool does in plain language
Dip Hunter is a pullback detector designed to find high quality buy-the-dip opportunities inside healthy trends and to avoid random knife catches. It watches for a quick drop from a recent high, checks that the drop happened with meaningful participation and volatility, verifies short-term weakness inside a larger uptrend, then scores the setup and paints the chart so you can act with confidence. It also draws clean entry lines, provides a meter that shows dip strength at a glance, and ships with alerts that match common execution workflows.
How Dip Hunter thinks
It defines a recent swing reference, measures how far price has dipped off that high, and only looks at candidates that meet your minimum percentage drop.
It confirms the dip with real activity by requiring a volume spike and a volatility spike.
It checks structure with two EMAs. Price should be weak in the short term while the larger context remains constructive.
It optionally requires a higher-timeframe trend to be up so you focus on pullbacks in trending markets.
It bundles those checks into a score and shows you the score on the candles and on a gradient meter.
When everything lines up it paints a green triangle below the bar, shades the background, and (if you wish) draws a horizontal entry line at your chosen level.
Inputs and what they mean
Dip Hunter Settings
• Vol Lookback and Vol Spike : The script computes an average volume over the lookback window and flags a spike when current volume is a multiple of that average. A multiplier of 2.0 means today’s volume must be at least double the average. This helps filter noise and focuses on dips that other traders actually traded.
• Fast EMA and Slow EMA : Short-term and medium-term structure references. A dip is more credible if price closes below the fast EMA while the fast EMA is still below the slow EMA during the pullback. That is classic corrective behavior inside a larger trend.
• Price Smooth : Optional smoothing length for price-derived series. Use this if you trade very noisy assets or low timeframes.
• Volatility Len and Vol Spike (volatility) : The script checks both standard deviation and true range against their own averages. If either expands beyond your multiplier the market confirms the move with range.
• Dip % and Lookback Bars : The engine finds the highest high over the lookback window, then computes the percentage drawdown from that high to the current close. Only dips larger than your threshold qualify.
Trend Filter
• Enable Trend Filter : When on, Dip Hunter will only trigger if the market is in an uptrend.
• Trend EMA Period : The longer EMA that defines the session’s backbone trend.
• Minimum Trend Strength : A small positive slope requirement. In practice this means the trend EMA should be rising, and price should be above it. You can raise the value to be more selective.
Entries
• Show Entry Lines : Draws a horizontal guide from the signal bar for a fixed number of bars. Great for limit orders, scaling, or re-tests.
• Line Length (bars) : How far the entry guide extends.
• Min Gap (bars) : Suppresses new entry lines if another dip fired recently. Prevents clutter during choppy sequences.
• Entry Price : Choose the line level. “Low” anchors at the signal candle’s low. “Close” anchors at the signal close. “Dip % Level” anchors at the theoretical level defined by recent_high × (1 − dip%). This lets you work resting orders at a consistent discount.
Heat / Meter
• Color Bars by Score : Colors each candle using a red→white→green gradient. Red is overheated, green is prime dip territory, white is neutral.
• Show Meter Table : Adds a compact gradient strip with a pointer that tracks the current score.
• Meter Cells and Meter Position : Resolution and placement of the meter.
UI Settings
• Show Dip Signals : Plots green triangles under qualifying bars and tints the background very lightly.
• Show EMAs : Plots fast, slow, and the trend EMA (if the trend filter is enabled).
• Bullish, Bearish, Neutral colors : Theme controls for shapes, fills, and bar painting.
Core calculations explained simply
Recent high and dip percent
The script finds the highest high over Lookback Bars , calls it “recent high,” then calculates:
dip% = (recent_high − close) ÷ recent_high × 100.
If dip% is larger than Dip % , condition one passes.
Volume confirmation
It computes a simple moving average of volume over Vol Lookback . If current volume ÷ average volume > Vol Spike , we have a participation spike. It also checks 5-bar ROC of volume. If ROC > 50 the spike is forceful. This gets an extra score point.
Volatility confirmation
Two independent checks:
• Standard deviation of closes vs its own average.
• True range vs ATR.
If either expands beyond Vol Spike (volatility) the move has range. This prevents false triggers from quiet drifts.
Short-term structure
Price should close below the Fast EMA and the fast EMA should be below the Slow EMA at the moment of the dip. That is the anatomy of a pullback rather than a full breakdown.
Macro trend context (optional)
When Enable Trend Filter is on, the Trend EMA must be rising and price must be above it. The logic prefers “micro weakness inside macro strength” which is the highest probability pattern for buying dips.
Signal formation
A valid dip requires:
• dip% > threshold
• volume spike true
• volatility spike true
• close below fast EMA
• fast EMA below slow EMA
If the trend filter is enabled, a rising trend EMA with price above it is also required. When all true, the triangle prints, the background tints, and optional entry lines are drawn.
Scoring and visuals
Binary checks into a continuous score
Each component contributes to a score between 0 and 1. The script then rescales to a centered range (−50 to +50).
• Low or negative scores imply “overheated” conditions and are shaded toward red.
• High positive scores imply “ripe for a dip buy” conditions and are shaded toward green.
• The gradient meter repeats the same logic, with a pointer so you can read the state quickly.
Bar coloring
If you enable “Color Bars by Score,” each candle inherits the gradient. This makes sequences obvious. Red clusters warn you not to buy. White means neutral. Increasing green suggests the pullback is maturing.
EMAs and the trend EMA
• Fast EMA turns down relative to the slow EMA inside the pullback.
• Trend EMA stays rising and above price once the dip exhausts, which is your cue to focus on long setups rather than bottom fishing in downtrends.
Entry lines
When a fresh signal fires and no other signal happened within Min Gap (bars) , the indicator draws a horizontal level for Line Length bars. Use these lines for limit entries at the low, at the close, or at the defined dip-percent level. This keeps your plan consistent across instruments.
Alerts and what they mean
• Market Overheated : Score is deeply negative. Do not chase. Wait for green.
• Close To A Dip : Score has reached a healthy level but the full signal did not trigger yet. Prepare orders.
• Dip Confirmed : First bar of a fresh validated dip. This is the most direct entry alert.
• Dip Active : The dip condition remains valid. You can scale in on re-tests.
• Dip Fading : Score crosses below 0.5 from above. Momentum of the setup is fading. Tighten stops or take partials.
• Trend Blocked Signal : All dip conditions passed but the trend filter is offside. Either reduce risk or skip, depending on your plan.
How to trade with Dip Hunter
Classic pullback in uptrend
Turn on the trend filter.
Watch for a Dip Confirmed alert with green triangle.
Use the entry line at “Dip % Level” to stage a limit order. This keeps your entries consistent across assets and timeframes.
Initial stop under the signal bar’s low or under the next lower EMA band.
First target at prior swing high, second target at a multiple of risk.
If you use partials, trail the remainder under the fast EMA once price reclaims it.
Aggressive intraday scalps
Lower Dip % and Lookback Bars so you catch shallow flags.
Keep Vol Spike meaningful so you only trade when participation appears.
Take quick partials when price reclaims the fast EMA, then exit on Dip Fading if momentum stalls.
Counter-trend probes
Disable the trend filter if you intentionally hunt reflex bounces in downtrends.
Require strong volume and volatility confirmation.
Use smaller size and faster targets. The meter should move quickly from red toward white and then green. If it does not, step aside.
Risk management templates
Stops
• Conservative: below the entry line minus a small buffer or below the signal bar’s low.
• Structural: below the slow EMA if you aim for swing continuation.
• Time stop: if price does not reclaim the fast EMA within N bars, exit.
Position sizing
Use the distance between the entry line and your structural stop to size consistently. The script’s entry lines make this distance obvious.
Scaling
• Scale at the entry line first touch.
• Add only if the meter stays green and price reclaims the fast EMA.
• Stop adding on a Dip Fading alert.
Tuning guide by market and timeframe
Equities daily
• Dip %: 1.5 to 3.0
• Lookback Bars: 5 to 10
• Vol Spike: 1.5 to 2.5
• Volatility Len: 14 to 20
• Trend EMA: 100 or 200
• Keep trend filter on for a cleaner list.
Futures and FX intraday
• Dip %: 0.4 to 1.2
• Lookback Bars: 3 to 7
• Vol Spike: 1.8 to 3.0
• Volatility Len: 10 to 14
• Use Min Gap to avoid clusters during news.
Crypto
• Dip %: 3.0 to 6.0 for majors on higher timeframes, lower on 15m to 1h
• Lookback Bars: 5 to 12
• Vol Spike: 1.8 to 3.0
• ATR and stdev checks help in erratic sessions.
Reading the chart at a glance
• Green triangle below the bar: a validated dip.
• Light green background: the current bar meets the full condition.
• Bar gradient: red is overheated, white is neutral, green is dip-friendly.
• EMAs: fast below slow during the pullback, then reclaim fast EMA on the bounce for quality continuation.
• Trend EMA: a rising spine when the filter is on.
• Entry line: a fixed level to anchor orders and risk.
• Meter pointer: right side toward “Dip” means conditions are maturing.
Why this combination reduces false positives
Any single criterion will trigger too often. Dip Hunter demands a dip off a recent high plus a volume surge plus a volatility expansion plus corrective EMA structure. Optional trend alignment pushes odds further in your favor. The score and meter visualize how many of these boxes you are actually ticking, which is more reliable than a binary dot.
Limitations and practical tips
• Thin or illiquid symbols can spoof volume spikes. Use larger Vol Lookback or raise Vol Spike .
• Sideways markets will show frequent small dips. Increase Dip % or keep the trend filter on.
• News candles can blow through entry lines. Widen stops or skip around known events.
• If you see many back-to-back triangles, raise Min Gap to keep only the best setups.
Quick setup recipes
• Clean swing trader: Trend filter on, Dip % 2.0 to 3.0, Vol Spike 2.0, Volatility Len 14, Fast 20 EMA, Slow 50 EMA, Trend 100 EMA.
• Fast intraday scalper: Trend filter off, Dip % 0.7 to 1.0, Vol Spike 2.5, Volatility Len 10, Fast 9 EMA, Slow 21 EMA, Min Gap 10 bars.
• Crypto swing: Trend filter on, Dip % 4.0, Vol Spike 2.0, Volatility Len 14, Fast 20 EMA, Slow 50 EMA, Trend 200 EMA.
Summary
Dip Hunter is a focused pullback engine. It quantifies a real dip off a recent high, validates it with volume and volatility expansion, enforces corrective structure with EMAs, and optionally restricts signals to an uptrend. The score, bar gradient, and meter make reading conditions instant. Entry lines and alerts turn that read into an executable plan. Tune the thresholds to your market and timeframe, then let the tool keep you patient in red, selective in white, and decisive in green.
Entropy (Fiedor/Kontoyiannis) - Part 2 of Fiedor's TheoryThis indicator estimates the Shannon entropy of a price series using a Markov chain model of binary returns, following the approach of Fiedor (2014) and Kontoyiannis (1997).
% of Max shows current entropy as a percentage of its theoretical maximum (1 bit for binary up/down moves).
Percentile ranks the current entropy against historical values in the chosen lookback window.
High entropy suggests price movement is less predictable by frequentist models; low entropy implies more structure and predictability.
Use this as an informational oscillator, not a trading signal.
This is a visualization of Part 1 of Fiedor's Theory. The same entropy logic is already embedded in Part 1 however the second pane is a nice reminder of why it works.
Information Theory Market AnalysisINFORMATION THEORY MARKET ANALYSIS
OVERVIEW
This indicator applies mathematical concepts from information theory to analyze market behavior, measuring the randomness and predictability of price and volume movements through entropy calculations. Unlike traditional technical indicators, it provides insight into market structure and regime changes.
KEY COMPONENTS
Four Main Signals:
• Price Entropy (Deep Blue): Measures randomness in price movements
• Volume Entropy (Bright Blue): Analyzes volume pattern predictability
• Entropy MACD (Purple): Shows relationship between price and volume entropy
• SEMM (Royal Blue): Stochastic Entropy Market Monitor - overall market randomness gauge
Market State Detection:
The indicator identifies seven distinct market states:
• Strong Trending (SEMM < 0.1)
• Weak Trending (0.1-0.2)
• Neutral (0.2-0.3)
• Moderate Random (0.3-0.5)
• High Randomness (0.5-0.8)
• Very Random (0.8-1.0)
• Chaotic (>1.0)
KEY FEATURES
Advanced Analytics:
• Signal Strength Confluence: 0-5 scale measuring alignment of multiple factors
• Entropy Crossovers: Detects shifts between accumulation and distribution phases
• Extreme Readings: Identifies statistical outliers for potential reversals
• Trend Bias Analysis: Directional momentum assessment
Information Dashboard:
• Real-time entropy values and market state
• Signal strength indicator with visual highlighting
• Trend bias with directional arrows
• Color-coded alerts for extreme conditions
Customizable Display:
• Adjustable SEMM scaling (5x to 100x) for optimal visibility
• Multiple line styles: Smooth, Stepped, Dotted
• 9 table positions with 3 size options
• Professional blue color scheme with transparency controls
Comprehensive Alert System - 15 Alert Types Including:
• Extreme entropy readings (price/volume)
• Crossover signals (dominance shifts)
• Market state changes (trending ↔ random)
• High confluence signals (3+ factors aligned)
HOW TO USE
Reading the Signals:
• Entropy Values > ±25: Strong structural signals
• Entropy Values > ±40: Extreme readings, potential reversals
• SEMM < 0.2: Trending market favors directional strategies
• SEMM > 0.5: Random market favors range/scalping strategies
Signal Confluence:
Look for multiple factors aligning:
• Signal Strength ≥ 3.0 for higher probability setups
• Background highlighting indicates confluence
• Table shows real-time strength assessment
Timeframe Optimization:
• Short-term (1m-15m): Entropy Length 14-22, Sensitivity 3-5
• Swing Trading (1H-4H): Default settings optimal
• Position Trading (Daily+): Entropy Length 34-55, Sensitivity 8-12
EDUCATIONAL APPLICATIONS
Market Structure Analysis:
• Understand when markets are trending vs. ranging
• Identify accumulation and distribution phases
• Recognize extreme market conditions
• Measure information content in price movements
Information Theory Concepts:
• Binary entropy calculations applied to financial data
• Probability distribution analysis of returns
• Statistical ranking and percentile analysis
• Momentum-adjusted randomness measurement
TECHNICAL DETAILS
Calculations:
• Uses binary entropy formula: -
• Percentile ranking across multiple timeframes
• Volume-weighted probability distributions
• RSI-adjusted momentum entropy (SEMM)
Customization Options:
• Entropy Length: 5-100 bars (default: 22)
• Average Length: 10-200 bars (default: 88)
• Sensitivity: 1.0-20.0 (default: 5.0, lower = more sensitive)
• SEMM Scaling: 5.0-100.0x (default: 30.0)
IMPORTANT NOTES
Risk Considerations:
• Indicator measures probabilities, not certainties
• High SEMM values (>0.5) suggest increased market randomness
• Extreme readings may persist longer than expected
• Always combine with proper risk management
Educational Purpose:
This indicator is designed for:
• Market structure analysis and education
• Understanding information theory applications in finance
• Developing probabilistic thinking about markets
• Research and analytical purposes
Performance Tips:
• Allow 200+ bars for proper initialization
• Adjust scaling and transparency for optimal visibility
• Use confluence signals for higher probability analysis
• Consider multiple timeframes for comprehensive analysis
DISCLAIMER
This indicator is for educational and analytical purposes. It does not constitute financial advice. Past performance does not guarantee future results. Always conduct your own research and consider your risk tolerance before making trading decisions.
Version: 5.0
Category: Oscillators, Volume, Market Structure
Best For: All timeframes, trending and ranging markets
Complexity: Intermediate to Advanced
TTM Squeeze Value OscillatorThis indicator is specifically designed for use with TradingView's Stock Screener, not for chart analysis. It provides numerical values and binary signals that allow traders to efficiently scan stocks for specific TTM Squeeze conditions, momentum patterns, and EMA alignments.
What It Does
The TTM Squeeze Value Oscillator converts the popular TTM Squeeze indicator into a screenable format by outputting specific numerical values and binary signals (1 or 0) that can be filtered in TradingView's screener tool.
Key Features
1. TTM Squeeze Compression Levels
Value 0: Low Compression (Black) - Bollinger Bands inside outer Keltner Channels
Value 1: Mid Compression (Red) - Bollinger Bands inside middle Keltner Channels
Value 2: High Compression (Orange) - Bollinger Bands inside inner Keltner Channels
Value 3: Squeeze Fired (Green) - Bollinger Bands outside Keltner Channels
2. Momentum Analysis
Four distinct momentum conditions based on TTM Squeeze methodology:
Buy Momentum Increasing - Positive momentum growing stronger
Buy Momentum Decreasing - Positive momentum weakening
Sell Momentum Increasing - Negative momentum growing stronger
Sell Momentum Decreasing - Negative momentum weakening
3. EMA Stacking Analysis
Three EMA alignment patterns using 8, 21, and 48 period EMAs:
EMA Stacked Bullish - 8 EMA > 21 EMA > 48 EMA (uptrend alignment)
EMA Stacked Bearish - 8 EMA < 21 EMA < 48 EMA (downtrend alignment)
EMA Mixed - EMAs not in clear bullish or bearish alignment
4. Consecutive Day Counters
Tracks how many consecutive days each squeeze condition has persisted:
Low Compression Days
Mid Compression Days
High Compression Days
Squeeze Fired Days
5. Combined Signal Analysis
Pre-calculated combinations of squeeze conditions with momentum:
All squeeze levels combined with all four momentum conditions
16 total combined signals for advanced screening
[Kpt-Ahab] Poor Mans Orderflow SimulatorScript Description – Poor Mans Orderflow Simulator
Purpose of the Script
This script simulates a simplified order flow approach ("Poor Man's Orderflow") without access to actual Bid/Ask data. The goal is to detect, quantify, and visualize patterns such as absorption, impulsive moves, and structured re-entry behaviors.
Calculation Logic
Absorption Candles
A candle is classified as "absorption" if:
The ratio of body size to full candle range is below a defined threshold,
Volume is significantly higher than the average of the last N periods,
The candle direction is negative (for long absorption) or positive (for short absorption).
These conditions define a candle with high activity but minimal price movement in the respective direction.
Impulse Candles
A candle is classified as "impulse" if:
The body-to-range ratio is high (indicating a strong directional move),
Volume exceeds the average significantly,
The price closes in the direction of the candle body (bullish or bearish).
Additionally, the average range of previous candles serves as a minimum benchmark for the impulse.
Cluster Detection
A cluster is detected when:
A minimum number of absorption candles is counted within a defined lookback period,
Either the long or short version of the absorption logic is used,
The result is a binary condition: cluster active or inactive.
Entry Signals (Re-entry)
An entry signal is generated when:
One or more absorption candles occurred in the last two bars,
A pullback against the direction of absorption occurs,
The current candle shows a directional move confirmed by a close in the expected direction.
These re-entry signals are evaluated separately for long and short scenarios.
Cluster-Confirmed Signals
A separate signal is generated when a valid re-entry setup occurs while a cluster is active. This represents a combined logic condition.
Alert Logic
The script provides a multi-layer alert framework:
Signal selection (Alertmode):
The user defines which signal type should trigger an alert (e.g. re-entry only, cluster only, combination, or impulse).
Optional filter (Filtermode):
A secondary filter limits alerts to cases where an additional condition (e.g. absorption cluster) is active.
Signal output:
As a simple binary value (+1 / –1) for classic alerts,
Or via an encoded Multibit signal, compatible with other modules in the djmad ecosystem.
These alerts are intended for integration with external systems or for use within platform-native visual or automation features.
TUF_LOGICTUF_LOGIC: Three-Value Logic for Pine Script v6
The TUF_LOGIC library implements a robust three-valued logic system (trilean logic) for Pine Script v6, providing a formal framework for reasoning about uncertain or incomplete information in financial markets. By extending beyond binary True/False states to include an explicit "Uncertain" state, this library enables more nuanced algorithmic decision-making, particularly valuable in environments characterized by imperfect information.
Core Architecture
TUF_LOGIC offers two complementary interfaces for working with trilean values:
Enum-Based API (Recommended): Leverages Pine Script v6's enum capabilities with Trilean.True , Trilean.Uncertain , and Trilean.False for improved type safety and performance.
Integer-Based API (Legacy Support): Maintains compatibility with existing code using integer values 1 (True), 0 (Uncertain), and -1 (False).
Fundamental Operations
The library provides type conversion methods for seamless interaction between integer representation and enum types ( to_trilean() , to_int() ), along with validation functions to maintain trilean invariants.
Logical Operators
TUF_LOGIC extends traditional boolean operators to the trilean domain with NOT , AND , OR , XOR , and EQUALITY functions that properly handle the Uncertain state according to the principles of three-valued logic.
The library implements three different implication operators providing flexibility for different logical requirements: IMP_K (Kleene's approach), IMP_L (Łukasiewicz's approach), and IMP_RM3 (Relevant implication under RM3 logic).
Inspired by Tarski-Łukasiewicz's modal logic formulations, TUF_LOGIC includes modal operators: MA (Modal Assertion) evaluates whether a state is possibly true; LA (Logical Assertion) determines if a state is necessarily true; and IA (Indeterminacy Assertion) identifies explicitly uncertain states.
The UNANIMOUS operator evaluates trilean values for complete agreement, returning the consensus value if one exists or Uncertain otherwise. This function is available for both pairs of values and arrays of trilean values.
Practical Applications
TUF_LOGIC excels in financial market scenarios where decision-making must account for uncertainty. It enables technical indicator consensus by combining signals with different confidence levels, supports multi-timeframe analysis by reconciling potentially contradictory signals, enhances risk management by explicitly modeling uncertainty, and handles partial information systems where some data sources may be unreliable.
By providing a mathematically sound framework for reasoning about uncertainty, TUF_LOGIC elevates trading system design beyond simplistic binary logic, allowing for more sophisticated decision-making that better reflects real-world market complexity.
Library "TUF_LOGIC"
Three-Value Logic (TUF: True, Uncertain, False) implementation for Pine Script.
This library provides a comprehensive set of logical operations supporting trilean logic systems,
including Kleene, Łukasiewicz, and RM3 implications. Compatible with Pine v6 enums.
method validate(self)
Ensures a valid trilean integer value by clamping to the appropriate range .
Namespace types: series int, simple int, input int, const int
Parameters:
self (int) : The integer value to validate.
Returns: An integer value guaranteed to be within the valid trilean range.
method to_trilean(self)
Converts an integer value to a Trilean enum value.
Namespace types: series int, simple int, input int, const int
Parameters:
self (int) : The integer to convert (typically -1, 0, or 1).
Returns: A Trilean enum value: True (1), Uncertain (0), or False (-1).
method to_int(self)
Converts a Trilean enum value to its corresponding integer representation.
Namespace types: series Trilean
Parameters:
self (series Trilean) : The Trilean enum value to convert.
Returns: Integer value: 1 (True), 0 (Uncertain), or -1 (False).
method NOT(self)
Negates a trilean integer value (NOT operation).
Namespace types: series int, simple int, input int, const int
Parameters:
self (int) : The integer value to negate.
Returns: Negated integer value: 1 -> -1, 0 -> 0, -1 -> 1.
method NOT(self)
Negates a Trilean enum value (NOT operation).
Namespace types: series Trilean
Parameters:
self (series Trilean) : The Trilean enum value to negate.
Returns: Negated Trilean: True -> False, Uncertain -> Uncertain, False -> True.
method AND(self, comparator)
Logical AND operation for trilean integer values.
Namespace types: series int, simple int, input int, const int
Parameters:
self (int) : The first integer value.
comparator (int) : The second integer value to compare with.
Returns: Integer result of the AND operation (minimum value).
method AND(self, comparator)
Logical AND operation for Trilean enum values following three-valued logic.
Namespace types: series Trilean
Parameters:
self (series Trilean) : The first Trilean enum value.
comparator (series Trilean) : The second Trilean enum value to compare with.
Returns: Trilean result of the AND operation.
method OR(self, comparator)
Logical OR operation for trilean integer values.
Namespace types: series int, simple int, input int, const int
Parameters:
self (int) : The first integer value.
comparator (int) : The second integer value to compare with.
Returns: Integer result of the OR operation (maximum value).
method OR(self, comparator)
Logical OR operation for Trilean enum values following three-valued logic.
Namespace types: series Trilean
Parameters:
self (series Trilean) : The first Trilean enum value.
comparator (series Trilean) : The second Trilean enum value to compare with.
Returns: Trilean result of the OR operation.
method EQUALITY(self, comparator)
Logical EQUALITY operation for trilean integer values.
Namespace types: series int, simple int, input int, const int
Parameters:
self (int) : The first integer value.
comparator (int) : The second integer value to compare with.
Returns: Integer representation (1/-1) indicating if values are equal.
method EQUALITY(self, comparator)
Logical EQUALITY operation for Trilean enum values.
Namespace types: series Trilean
Parameters:
self (series Trilean) : The first Trilean enum value.
comparator (series Trilean) : The second Trilean enum value to compare with.
Returns: Trilean.True if both values are equal, Trilean.False otherwise.
method XOR(self, comparator)
Logical XOR (Exclusive OR) operation for trilean integer values.
Namespace types: series int, simple int, input int, const int
Parameters:
self (int) : The first integer value.
comparator (int) : The second integer value to compare with.
Returns: Integer result of the XOR operation.
method XOR(self, comparator)
Logical XOR (Exclusive OR) operation for Trilean enum values.
Namespace types: series Trilean
Parameters:
self (series Trilean) : The first Trilean enum value.
comparator (series Trilean) : The second Trilean enum value to compare with.
Returns: Trilean result of the XOR operation.
method IMP_K(self, comparator)
Material implication using Kleene's logic for trilean integer values.
Namespace types: series int, simple int, input int, const int
Parameters:
self (int) : The antecedent integer value.
comparator (int) : The consequent integer value.
Returns: Integer result of Kleene's implication operation.
method IMP_K(self, comparator)
Material implication using Kleene's logic for Trilean enum values.
Namespace types: series Trilean
Parameters:
self (series Trilean) : The antecedent Trilean enum value.
comparator (series Trilean) : The consequent Trilean enum value.
Returns: Trilean result of Kleene's implication operation.
method IMP_L(self, comparator)
Logical implication using Łukasiewicz's logic for trilean integer values.
Namespace types: series int, simple int, input int, const int
Parameters:
self (int) : The antecedent integer value.
comparator (int) : The consequent integer value.
Returns: Integer result of Łukasiewicz's implication operation.
method IMP_L(self, comparator)
Logical implication using Łukasiewicz's logic for Trilean enum values.
Namespace types: series Trilean
Parameters:
self (series Trilean) : The antecedent Trilean enum value.
comparator (series Trilean) : The consequent Trilean enum value.
Returns: Trilean result of Łukasiewicz's implication operation.
method IMP_RM3(self, comparator)
Logical implication using RM3 logic for trilean integer values.
Namespace types: series int, simple int, input int, const int
Parameters:
self (int) : The antecedent integer value.
comparator (int) : The consequent integer value.
Returns: Integer result of the RM3 implication operation.
method IMP_RM3(self, comparator)
Logical implication using RM3 logic for Trilean enum values.
Namespace types: series Trilean
Parameters:
self (series Trilean) : The antecedent Trilean enum value.
comparator (series Trilean) : The consequent Trilean enum value.
Returns: Trilean result of the RM3 implication operation.
method MA(self)
Modal Assertion (MA) operation for trilean integer values.
Namespace types: series int, simple int, input int, const int
Parameters:
self (int) : The integer value to evaluate.
Returns: 1 if the value is 1 or 0, -1 if the value is -1.
method MA(self)
Modal Assertion (MA) operation for Trilean enum values.
Namespace types: series Trilean
Parameters:
self (series Trilean) : The Trilean enum value to evaluate.
Returns: Trilean.True if value is True or Uncertain, Trilean.False if value is False.
method LA(self)
Logical Assertion (LA) operation for trilean integer values.
Namespace types: series int, simple int, input int, const int
Parameters:
self (int) : The integer value to evaluate.
Returns: 1 if the value is 1, -1 otherwise.
method LA(self)
Logical Assertion (LA) operation for Trilean enum values.
Namespace types: series Trilean
Parameters:
self (series Trilean) : The Trilean enum value to evaluate.
Returns: Trilean.True if value is True, Trilean.False otherwise.
method IA(self)
Indeterminacy Assertion (IA) operation for trilean integer values.
Namespace types: series int, simple int, input int, const int
Parameters:
self (int) : The integer value to evaluate.
Returns: 1 if the value is 0, -1 otherwise.
method IA(self)
Indeterminacy Assertion (IA) operation for Trilean enum values.
Namespace types: series Trilean
Parameters:
self (series Trilean) : The Trilean enum value to evaluate.
Returns: Trilean.True if value is Uncertain, Trilean.False otherwise.
method UNANIMOUS(self, comparator)
Evaluates the unanimity between two trilean integer values.
Namespace types: series int, simple int, input int, const int
Parameters:
self (int) : The first integer value.
comparator (int) : The second integer value.
Returns: Integer value of self if both values are equal, 0 (Uncertain) otherwise.
method UNANIMOUS(self, comparator)
Evaluates the unanimity between two Trilean enum values.
Namespace types: series Trilean
Parameters:
self (series Trilean) : The first Trilean enum value.
comparator (series Trilean) : The second Trilean enum value.
Returns: Value of self if both values are equal, Trilean.Uncertain otherwise.
method UNANIMOUS(self)
Evaluates the unanimity among an array of trilean integer values.
Namespace types: array
Parameters:
self (array) : The array of integer values.
Returns: First value if all values are identical, 0 (Uncertain) otherwise.
method UNANIMOUS(self)
Evaluates the unanimity among an array of Trilean enum values.
Namespace types: array
Parameters:
self (array) : The array of Trilean enum values.
Returns: First value if all values are identical, Trilean.Uncertain otherwise.
Fuzzy SMA Trend Analyzer (experimental)[FibonacciFlux]Fuzzy SMA Trend Analyzer (Normalized): Advanced Market Trend Detection Using Fuzzy Logic Theory
Elevate your technical analysis with institutional-grade fuzzy logic implementation
Research Genesis & Conceptual Framework
This indicator represents the culmination of extensive research into applying fuzzy logic theory to financial markets. While traditional technical indicators often produce binary outcomes, market conditions exist on a continuous spectrum. The Fuzzy SMA Trend Analyzer addresses this limitation by implementing a sophisticated fuzzy logic system that captures the nuanced, multi-dimensional nature of market trends.
Core Fuzzy Logic Principles
At the heart of this indicator lies fuzzy logic theory - a mathematical framework designed to handle imprecision and uncertainty:
// Improved fuzzy_triangle function with guard clauses for NA and invalid parameters.
fuzzy_triangle(val, left, center, right) =>
if na(val) or na(left) or na(center) or na(right) or left > center or center > right // Guard checks
0.0
else if left == center and center == right // Crisp set (single point)
val == center ? 1.0 : 0.0
else if left == center // Left-shoulder shape (ramp down from 1 at center to 0 at right)
val >= right ? 0.0 : val <= center ? 1.0 : (right - val) / (right - center)
else if center == right // Right-shoulder shape (ramp up from 0 at left to 1 at center)
val <= left ? 0.0 : val >= center ? 1.0 : (val - left) / (center - left)
else // Standard triangle
math.max(0.0, math.min((val - left) / (center - left), (right - val) / (right - center)))
This implementation of triangular membership functions enables the indicator to transform crisp numerical values into degrees of membership in linguistic variables like "Large Positive" or "Small Negative," creating a more nuanced representation of market conditions.
Dynamic Percentile Normalization
A critical innovation in this indicator is the implementation of percentile-based normalization for SMA deviation:
// ----- Deviation Scale Estimation using Percentile -----
// Calculate the percentile rank of the *absolute* deviation over the lookback period.
// This gives an estimate of the 'typical maximum' deviation magnitude recently.
diff_abs_percentile = ta.percentile_linear_interpolation(math.abs(raw_diff), normLookback, percRank) + 1e-10
// ----- Normalize the Raw Deviation -----
// Divide the raw deviation by the estimated 'typical max' magnitude.
normalized_diff = raw_diff / diff_abs_percentile
// ----- Clamp the Normalized Deviation -----
normalized_diff_clamped = math.max(-3.0, math.min(3.0, normalized_diff))
This percentile normalization approach creates a self-adapting system that automatically calibrates to different assets and market regimes. Rather than using fixed thresholds, the indicator dynamically adjusts based on recent volatility patterns, significantly enhancing signal quality across diverse market environments.
Multi-Factor Fuzzy Rule System
The indicator implements a comprehensive fuzzy rule system that evaluates multiple technical factors:
SMA Deviation (Normalized): Measures price displacement from the Simple Moving Average
Rate of Change (ROC): Captures price momentum over a specified period
Relative Strength Index (RSI): Assesses overbought/oversold conditions
These factors are processed through a sophisticated fuzzy inference system with linguistic variables:
// ----- 3.1 Fuzzy Sets for Normalized Deviation -----
diffN_LP := fuzzy_triangle(normalized_diff_clamped, 0.7, 1.5, 3.0) // Large Positive (around/above percentile)
diffN_SP := fuzzy_triangle(normalized_diff_clamped, 0.1, 0.5, 0.9) // Small Positive
diffN_NZ := fuzzy_triangle(normalized_diff_clamped, -0.2, 0.0, 0.2) // Near Zero
diffN_SN := fuzzy_triangle(normalized_diff_clamped, -0.9, -0.5, -0.1) // Small Negative
diffN_LN := fuzzy_triangle(normalized_diff_clamped, -3.0, -1.5, -0.7) // Large Negative (around/below percentile)
// ----- 3.2 Fuzzy Sets for ROC -----
roc_HN := fuzzy_triangle(roc_val, -8.0, -5.0, -2.0)
roc_WN := fuzzy_triangle(roc_val, -3.0, -1.0, -0.1)
roc_NZ := fuzzy_triangle(roc_val, -0.3, 0.0, 0.3)
roc_WP := fuzzy_triangle(roc_val, 0.1, 1.0, 3.0)
roc_HP := fuzzy_triangle(roc_val, 2.0, 5.0, 8.0)
// ----- 3.3 Fuzzy Sets for RSI -----
rsi_L := fuzzy_triangle(rsi_val, 0.0, 25.0, 40.0)
rsi_M := fuzzy_triangle(rsi_val, 35.0, 50.0, 65.0)
rsi_H := fuzzy_triangle(rsi_val, 60.0, 75.0, 100.0)
Advanced Fuzzy Inference Rules
The indicator employs a comprehensive set of fuzzy rules that encode expert knowledge about market behavior:
// --- Fuzzy Rules using Normalized Deviation (diffN_*) ---
cond1 = math.min(diffN_LP, roc_HP, math.max(rsi_M, rsi_H)) // Strong Bullish: Large pos dev, strong pos roc, rsi ok
strength_SB := math.max(strength_SB, cond1)
cond2 = math.min(diffN_SP, roc_WP, rsi_M) // Weak Bullish: Small pos dev, weak pos roc, rsi mid
strength_WB := math.max(strength_WB, cond2)
cond3 = math.min(diffN_SP, roc_NZ, rsi_H) // Weakening Bullish: Small pos dev, flat roc, rsi high
strength_N := math.max(strength_N, cond3 * 0.6) // More neutral
strength_WB := math.max(strength_WB, cond3 * 0.2) // Less weak bullish
This rule system evaluates multiple conditions simultaneously, weighting them by their degree of membership to produce a comprehensive trend assessment. The rules are designed to identify various market conditions including strong trends, weakening trends, potential reversals, and neutral consolidations.
Defuzzification Process
The final step transforms the fuzzy result back into a crisp numerical value representing the overall trend strength:
// --- Step 6: Defuzzification ---
denominator = strength_SB + strength_WB + strength_N + strength_WBe + strength_SBe
if denominator > 1e-10 // Use small epsilon instead of != 0.0 for float comparison
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 (strong bearish) to +1 (strong bullish), providing a smooth, continuous evaluation of market conditions that avoids the abrupt signal changes common in traditional indicators.
Advanced Visualization with Rainbow Gradient
The indicator incorporates sophisticated visualization using a rainbow gradient coloring system:
// Normalize score to for gradient function
normalizedScore = na(fuzzyTrendScore) ? 0.5 : math.max(0.0, math.min(1.0, (fuzzyTrendScore + 1) / 2))
// Get the color based on gradient setting and normalized score
final_color = get_gradient(normalizedScore, gradient_type)
This color-coding system provides intuitive visual feedback, with color intensity reflecting trend strength and direction. The gradient can be customized between Red-to-Green or Red-to-Blue configurations based on user preference.
Practical Applications
The Fuzzy SMA Trend Analyzer excels in several key applications:
Trend Identification: Precisely identifies market trend direction and strength with nuanced gradation
Market Regime Detection: Distinguishes between trending markets and consolidation phases
Divergence Analysis: Highlights potential reversals when price action and fuzzy trend score diverge
Filter for Trading Systems: Provides high-quality trend filtering for other trading strategies
Risk Management: Offers early warning of potential trend weakening or reversal
Parameter Customization
The indicator offers extensive customization options:
SMA Length: Adjusts the baseline moving average period
ROC Length: Controls momentum sensitivity
RSI Length: Configures overbought/oversold sensitivity
Normalization Lookback: Determines the adaptive calculation window for percentile normalization
Percentile Rank: Sets the statistical threshold for deviation normalization
Gradient Type: Selects the preferred color scheme for visualization
These parameters enable fine-tuning to specific market conditions, trading styles, and timeframes.
Acknowledgments
The rainbow gradient visualization component draws inspiration from LuxAlgo's "Rainbow Adaptive RSI" (used under CC BY-NC-SA 4.0 license). This implementation of fuzzy logic in technical analysis builds upon Fermi estimation principles to overcome the inherent limitations of crisp binary indicators.
This indicator is shared under Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) license.
Remember that past performance does not guarantee future results. Always conduct thorough testing before implementing any technical indicator in live trading.
Neural Pulse System [Alpha Extract]Neural Pulse System (NPS)
The Neural Pulse System (NPS) is a custom technical indicator that analyzes price action through a probabilistic lens, offering a dynamic view of bullish and bearish tendencies.
Unlike traditional binary classification models, NPS employs Ordinary Least Squares (OLS) regression with dynamically computed coefficients to produce a smooth probability output ranging from -1 to 1.
Paired with ATR-based bands, this indicator provides an intuitive and volatility-aware approach to trend analysis.
🔶 CALCULATION
The Neural Pulse System utilizes OLS regression to compute probabilities of bullish or bearish price action while incorporating ATR-based bands for volatility context:
Dynamic Coefficients: Coefficients are recalculated in real-time and scaled up to ensure the regression adapts to evolving market conditions.
Ordinary Least Squares (OLS): Uses OLS regression instead of gradient descent for more precise and efficient coefficient estimation.
ATR Bands: Smoothed Average True Range (ATR) bands serve as dynamic boundaries, framing the regression within market volatility.
Probability Output: Instead of a binary result, the output is a continuous probability curve (-1 to 1), helping traders gauge the strength of bullish or bearish momentum.
Formula:
OLS Regression = Line of best fit minimizing squared errors
Probability Signal = Transformed regression output scaled to -1 (bearish) to 1 (bullish)
ATR Bands = Smoothed Average True Range (ATR) to frame price movements within market volatility
🔶 DETAILS
📊 Visual Features:
Probability Curve: Smooth probability signal ranging from -1 (bearish) to 1 (bullish)
ATR Bands: Price action is constrained within volatility bands, preventing extreme deviations
Color-Coded Signals:
Blue to Green: Increasing probability of bullish momentum
Orange to Red: Increasing probability of bearish momentum
Interpretation:
Bullish Bias: Probability output consistently above 0 suggests a bullish trend.
Bearish Bias: Probability output consistently below 0 indicates bearish pressure.
Reversals: Extreme values near -1 or 1, followed by a move toward 0, may signal potential trend reversals.
🔶 EXAMPLES
📌 Trend Identification: Use the probability output to gauge trend direction.
📌Example: On a 1-hour chart, NPS moves from -0.5 to 0.8 as price breaks resistance, signaling a bullish trend.
Reversal Signals: Watch for probability extremes near -1 or 1 followed by a reversal toward 0.
Example: NPS hits 0.9, price touches the upper ATR band, then both retreat—indicating a potential pullback.
📌 Example snapshots:
Volatility Context: ATR bands help assess whether price action aligns with typical market conditions.
Example: During low volatility, the probability signal hovers near 0, and ATR bands tighten, suggesting a potential breakout.
🔶 SETTINGS
Customization Options:
ATR Period – Defines lookback length for ATR calculation (shorter = more responsive, longer = smoother).
ATR Multiplier – Adjusts band width for better volatility capture.
Regression Length – Controls how many bars feed into the coefficient calculation (longer = smoother, shorter = more reactive).
Scaling Factor – Adjusts the strength of regression coefficients.
Output Smoothing – Option to apply a moving average for a cleaner probability curve
MTF Signal XpertMTF Signal Xpert – Detailed Description
Overview:
MTF Signal Xpert is a proprietary, open‑source trading signal indicator that fuses multiple technical analysis methods into one cohesive strategy. Developed after rigorous backtesting and extensive research, this advanced tool is designed to deliver clear BUY and SELL signals by analyzing trend, momentum, and volatility across various timeframes. Its integrated approach not only enhances signal reliability but also incorporates dynamic risk management, helping traders protect their capital while navigating complex market conditions.
Detailed Explanation of How It Works:
Trend Detection via Moving Averages
Dual Moving Averages:
MTF Signal Xpert computes two moving averages—a fast MA and a slow MA—with the flexibility to choose from Simple (SMA), Exponential (EMA), or Hull (HMA) methods. This dual-MA system helps identify the prevailing market trend by contrasting short-term momentum with longer-term trends.
Crossover Logic:
A BUY signal is initiated when the fast MA crosses above the slow MA, coupled with the condition that the current price is above the lower Bollinger Band. This suggests that the market may be emerging from a lower price region. Conversely, a SELL signal is generated when the fast MA crosses below the slow MA and the price is below the upper Bollinger Band, indicating potential bearish pressure.
Recent Crossover Confirmation:
To ensure that signals reflect current market dynamics, the script tracks the number of bars since the moving average crossover event. Only crossovers that occur within a user-defined “candle confirmation” period are considered, which helps filter out outdated signals and improves overall signal accuracy.
Volatility and Price Extremes with Bollinger Bands
Calculation of Bands:
Bollinger Bands are calculated using a 20‑period simple moving average as the central basis, with the upper and lower bands derived from a standard deviation multiplier. This creates dynamic boundaries that adjust according to recent market volatility.
Signal Reinforcement:
For BUY signals, the condition that the price is above the lower Bollinger Band suggests an undervalued market condition, while for SELL signals, the price falling below the upper Bollinger Band reinforces the bearish bias. This volatility context adds depth to the moving average crossover signals.
Momentum Confirmation Using Multiple Oscillators
RSI (Relative Strength Index):
The RSI is computed over 14 periods to determine if the market is in an overbought or oversold state. Only readings within an optimal range (defined by user inputs) validate the signal, ensuring that entries are made during balanced conditions.
MACD (Moving Average Convergence Divergence):
The MACD line is compared with its signal line to assess momentum. A bullish scenario is confirmed when the MACD line is above the signal line, while a bearish scenario is indicated when it is below, thus adding another layer of confirmation.
Awesome Oscillator (AO):
The AO measures the difference between short-term and long-term simple moving averages of the median price. Positive AO values support BUY signals, while negative values back SELL signals, offering additional momentum insight.
ADX (Average Directional Index):
The ADX quantifies trend strength. MTF Signal Xpert only considers signals when the ADX value exceeds a specified threshold, ensuring that trades are taken in strongly trending markets.
Optional Stochastic Oscillator:
An optional stochastic oscillator filter can be enabled to further refine signals. It checks for overbought conditions (supporting SELL signals) or oversold conditions (supporting BUY signals), thus reducing ambiguity.
Multi-Timeframe Verification
Higher Timeframe Filter:
To align short-term signals with broader market trends, the script calculates an EMA on a higher timeframe as specified by the user. This multi-timeframe approach helps ensure that signals on the primary chart are consistent with the overall trend, thereby reducing false signals.
Dynamic Risk Management with ATR
ATR-Based Calculations:
The Average True Range (ATR) is used to measure current market volatility. This value is multiplied by a user-defined factor to dynamically determine stop loss (SL) and take profit (TP) levels, adapting to changing market conditions.
Visual SL/TP Markers:
The calculated SL and TP levels are plotted on the chart as distinct colored dots, enabling traders to quickly identify recommended exit points.
Optional Trailing Stop:
An optional trailing stop feature is available, which adjusts the stop loss as the trade moves favorably, helping to lock in profits while protecting against sudden reversals.
Risk/Reward Ratio Calculation:
MTF Signal Xpert computes a risk/reward ratio based on the dynamic SL and TP levels. This quantitative measure allows traders to assess whether the potential reward justifies the risk associated with a trade.
Condition Weighting and Signal Scoring
Binary Condition Checks:
Each technical condition—ranging from moving average crossovers, Bollinger Band positioning, and RSI range to MACD, AO, ADX, and volume filters—is assigned a binary score (1 if met, 0 if not).
Cumulative Scoring:
These individual scores are summed to generate cumulative bullish and bearish scores, quantifying the overall strength of the signal and providing traders with an objective measure of its viability.
Detailed Signal Explanation:
A comprehensive explanation string is generated, outlining which conditions contributed to the current BUY or SELL signal. This explanation is displayed on an on‑chart dashboard, offering transparency and clarity into the signal generation process.
On-Chart Visualizations and Debug Information
Chart Elements:
The indicator plots all key components—moving averages, Bollinger Bands, SL and TP markers—directly on the chart, providing a clear visual framework for understanding market conditions.
Combined Dashboard:
A dedicated dashboard displays key metrics such as RSI, ADX, and the bullish/bearish scores, alongside a detailed explanation of the current signal. This consolidated view allows traders to quickly grasp the underlying logic.
Debug Table (Optional):
For advanced users, an optional debug table is available. This table breaks down each individual condition, indicating which criteria were met or not met, thus aiding in further analysis and strategy refinement.
Mashup Justification and Originality
MTF Signal Xpert is more than just an aggregation of existing indicators—it is an original synthesis designed to address real-world trading complexities. Here’s how its components work together:
Integrated Trend, Volatility, and Momentum Analysis:
By combining moving averages, Bollinger Bands, and multiple oscillators (RSI, MACD, AO, ADX, and an optional stochastic), the indicator captures diverse market dynamics. Each component reinforces the others, reducing noise and filtering out false signals.
Multi-Timeframe Analysis:
The inclusion of a higher timeframe filter aligns short-term signals with longer-term trends, enhancing overall reliability and reducing the potential for contradictory signals.
Adaptive Risk Management:
Dynamic stop loss and take profit levels, determined using ATR, ensure that the risk management strategy adapts to current market conditions. The optional trailing stop further refines this approach, protecting profits as the market evolves.
Quantitative Signal Scoring:
The condition weighting system provides an objective measure of signal strength, giving traders clear insight into how each technical component contributes to the final decision.
How to Use MTF Signal Xpert:
Input Customization:
Adjust the moving average type and period settings, ATR multipliers, and oscillator thresholds to align with your trading style and the specific market conditions.
Enable or disable the optional stochastic oscillator and trailing stop based on your preference.
Interpreting the Signals:
When a BUY or SELL signal appears, refer to the on‑chart dashboard, which displays key metrics (e.g., RSI, ADX, bullish/bearish scores) along with a detailed breakdown of the conditions that triggered the signal.
Review the SL and TP markers on the chart to understand the associated risk/reward setup.
Risk Management:
Use the dynamically calculated stop loss and take profit levels as guidelines for setting your exit points.
Evaluate the provided risk/reward ratio to ensure that the potential reward justifies the risk before entering a trade.
Debugging and Verification:
Advanced users can enable the debug table to see a condition-by-condition breakdown of the signal generation process, helping refine the strategy and deepen understanding of market dynamics.
Disclaimer:
MTF Signal Xpert is intended for educational and analytical purposes only. Although it is based on robust technical analysis methods and has undergone extensive backtesting, past performance is not indicative of future results. Traders should employ proper risk management and adjust the settings to suit their financial circumstances and risk tolerance.
MTF Signal Xpert represents a comprehensive, original approach to trading signal generation. By blending trend detection, volatility assessment, momentum analysis, multi-timeframe alignment, and adaptive risk management into one integrated system, it provides traders with actionable signals and the transparency needed to understand the logic behind them.
PhiSmoother Moving Average Ribbon [ChartPrime]DSP FILTRATION PRIMER:
DSP (Digital Signal Processing) filtration plays a critical role with financial indication analysis, involving the application of digital filters to extract actionable insights from data. Its primary trading purpose is to distinguish and isolate relevant signals separate from market noise, allowing traders to enhance focus on underlying trends and patterns. By smoothing out price data, DSP filters aid with trend detection, facilitating the formulation of more effective trading techniques.
Additionally, DSP filtration can play an impactful role with detecting support and resistance levels within financial movements. By filtering out noise and emphasizing significant price movements, identifying key levels for entry and exit points become more apparent. Furthermore, DSP methods are instrumental in measuring market volatility, enabling traders to assess volatility levels with improved accuracy.
In summary, DSP filtration techniques are versatile tools for traders and analysts, enhancing decision-making processes in financial markets. By mitigating noise and highlighting relevant signals, DSP filtration improves the overall quality of trading analysis, ultimately leading to better conclusions for market participants.
APPLYING FIR FILTERS:
FIR (Finite Impulse Response) filters are indispensable tools in the realm of financial analysis, particularly for trend identification and characterization within market data. These filters effectively smooth out price fluctuations and noise, enabling traders to discern underlying trends with greater fidelity. By applying FIR filters to price data, robust trading strategies can be developed with grounded trend-following principles, enhancing their ability to capitalize on market movements.
Moreover, FIR filter applications extend into wide-ranging utility within various fields, one being vital for informed decision-making in analysis. These filters help identify critical price levels where assets may tend to stall or reverse direction, providing traders with valuable insights to aid with identification of optimal entry and exit points within their indicator arsenal. FIRs are undoubtedly a cornerstone to modern trading innovation.
Additionally, FIR filters aid in volatility measurement and analysis, allowing traders to gauge market volatility accurately and adjust their risk management approaches accordingly. By incorporating FIR filters into their analytical arsenal, traders can improve the quality of their decision-making processes and achieve better trading outcomes when contending with highly dynamic market conditions.
INTRODUCTORY DEBUT:
ChartPrime's " PhiSmoother Moving Average Ribbon " indicator aims to mark a significant advancement in technical analysis methodology by removing unwanted fluctuations and disturbances while minimizing phase disturbance and lag. This indicator introduces PhiSmoother, a powerful FIR filter in it's own right comparable to Ehlers' SuperSmoother.
PhiSmoother leverages a custom tailored FIR filter to smooth out price fluctuations by mitigating aliasing noise problematic to identification of underlying trends with accuracy. With adjustable parameters such as phase control, traders can fine-tune the indicator to suit their specific analytical needs, providing a flexible and customizable solution.
Mathemagically, PhiSmoother incorporates various color coding preferences, enabling traders to visualize trends more effectively on a volatile landscape. Whether utilizing progression, chameleon, or binary color schemes, you can more fluidly interpret market dynamics and make informed visual decisions regarding entry and exit points based on color-coded plotting.
The indicator's alert system further enhances its utility by providing notifications of specifically chosen filter crossings. Traders can customize alert modes and messages while ensuring they stay informed about potential opportunities aligned with their trading style.
Overall, the "PhiSmoother Moving Average Ribbon" visually stands out as a revolutionary mechanism for technical analysis, offering traders a comprehensive solution for trend identification, visualization, and alerting within financial markets to achieve advantageous outcomes.
NOTEWORTHY SETTINGS FEATURES:
Price Source Selection - The indicator offers flexibility in choosing the price source for analysis. Traders can select from multiple options.
Phase Control Parameter - One of the notable standout features of this indicator is the phase control parameter. Traders can fine-tune the phase or lag of the indicator to adapt it to different market conditions or timeframes. This feature enables optimization of the indicator's responsiveness to price movements and align it with their specific trading tactics.
Coloring Preferences - Another magical setting is the coloring features, one being "Chameleon Color Magic". Traders can customize the color scheme of the indicator based on their visual preferences or to improve interpretation. The indicator offers options such as progression, chameleon, or binary color schemes, all having versatility to dynamically visualize market trends and patterns. Two colors may be specifically chosen to reduce overlay indicator interference while also contrasting for your visual acuity.
Alert Controls - The indicator provides diverse alert controls to manage alerts for specific market events, depending on their trading preferences.
Alertable Crossings: Receive an alert based on selectable predefined crossovers between moving average neighbors
Customizable Alert Messages: Traders can personalize alert messages with preferred information details
Alert Frequency Control: The frequency of alerts is adjustable for maximum control of timely notifications
Pattern Probability with EMA FilterThe provided code is a custom indicator that identifies specific price patterns on a chart and uses a 14-period Exponential Moving Average (EMA) as a filter to display only certain patterns based on the EMA trend direction. These code identifies patterns display them as upward and downward arrows indicates potential price corrections and short term trend reversals in the direction of the arrow. Use with indicators such as RSI that inform overbought and oversold condition to add reliability and confluence.
Code Explanation:
The code first calculates three values 'a', 'b', and 'c' based on the difference between the current high, low, and close prices, respectively, and their respective previous moving average values.
Binary values are then assigned to 'a', 'b', and 'c', where each value is set to 1 if it's greater than 0, and 0 otherwise.
The 'pattern_type' is determined based on the binary values of 'a', 'b', and 'c', combining them into a single number (ranging from 0 to 7) to represent different price patterns.
The code calculates a 14-period Exponential Moving Average (EMA) of the closing price.
It determines the EMA trend direction by comparing the current EMA value with the previous EMA value, setting 'ema_going_up' to true if the EMA is going up and 'ema_going_down' to true if the EMA is going down.
The indicator then plots arrows on the chart for specific pattern_type values while considering the EMA trend direction as a filter. It displays different colored arrows for each pattern_type.
The 14-period EMA is also plotted on the chart, with the color changing to green when the EMA is going up and red when the EMA is going down.
Concept:
pattern_type = 0: H- L- C- (Downward trend continuation) - Indicates a continuation of the downward trend, suggesting further losses ahead.
pattern_type = 1: H- L- C+ (Likely trend change: Downwards to upwards) - Implies the upward trend or price movement change.
pattern_type = 2: H- L+ C- (Likely trend change: Upwards to downwards) - Suggests a potential reversal from an uptrend to a downtrend, but further confirmation is needed.
pattern_type = 3: H- L+ C+ (Trend uncertainty: Potential reversal) - Indicates uncertainty in the trend, potential for a reversal, but further price action confirmation is required.
pattern_type = 4: H+ L- C- (Downward trend continuation with lower volatility) - Suggests the downward trend may continue, but with reduced price swings or lower volatility.
pattern_type = 5: H+ L- C+ (Likely trend change: Downwards to upwards) - Implies a potential reversal from a downtrend to an uptrend, with buying interest increasing.
(pattern_type = 6: H+ L+ C- (Likely trend change: Upwards to downwards) - Suggests a potential reversal from an uptrend to a downtrend, with selling pressure increasing.
pattern_type = 7: H+ L+ C+ (Upward trend continuation) - Indicates a continuation of the upward trend, suggesting further gains ahead.
In the US market, when analyzing a 15-minute chart, we observe the following proportions of the different pattern_type occurrences: The code will plot the low frequency patterns (P1 - P6)
P0 (H- L- C-): 37.60%
P1 (H- L- C+): 3.60%
P2 (H- L+ C-): 3.10%
P3 (H- L+ C+): 3.40%
P4 (H+ L- C-): 2.90%
P5 (H+ L- C+): 2.70%
P6 (H+ L+ C-): 3.50%
P7 (H+ L+ C+): 43.50%
When analyzing higher time frames, such as daily or weekly charts, the occurrence of these patterns is expected to be even lower, but they may carry more significant implications due to their rarity and potential impact on longer-term trends.
TMA Legacy - "The Arty"This is a script based on the original "The Arty" indicator by PhoenixBinary.
The Phoenix Binary community and the TMA community built this version to be public code for the community for further use and revision after the reported passing of Phoenix Binary (The community extends our condolences to Phoenix's family).
The intended uses are the same as the original but some calculations are different and may not act or signal the same as the original.
Description of the indicator from original posting.
This indicator was inspired by Arty and Christy .
TMA-LegacyThis is a script based on the original TMA- RSI Divergence indicator by PhoenixBinary.
The Phoenix Binary community and the TMA community built this version to be public code for the community for further use and revision after the reported passing of Phoenix Binary (The community extends our condolences to Phoenix's family.
The intended uses are the same as the original but some calculations are different and may not act or signal the same as the original.
Description of the indicator from original posting.
This indicator was inspired by Arty and Christy .
█ COMPONENTS
Here is a brief overview of the indicator from the original posting:
1 — RSI Divergence
Arty uses the RSI divergence as a tool to find entry points and possible reversals. He doesn't use the traditional overbought/oversold. He uses a 50 line. This indicator includes a 50 line and a floating 50 line.
The floating 50 line is a multi-timeframe smoothed moving average . Price is not linear, therefore, your 50 line shouldn't be either.
The RSI line is using a dynamic color algo that shows current control of the market as well as possible turning points in the market.
2 — Smoothed RSI Divergence
The Smoothed RSI Divergence is a slower RSI with different calculations to smooth out the RSI line. This gives a different perspective of price action and more of a long term perspective of the trend. When crosses of the floating 50 line up with the traditional RSI crossing floating 50.
3 — Momentum Divergence
This one will take a little bit of time to master. But, once you master this, and combined with the other two, damn these entries get downright lethal!
Machine Learning: Perceptron-based strategyPerceptron-based strategy
Description:
The Learning Perceptron is the simplest possible artificial neural network (ANN), consisting of just a single neuron and capable of learning a certain class of binary classification problems. The idea behind ANNs is that by selecting good values for the weight parameters (and the bias), the ANN can model the relationships between the inputs and some target.
Generally, ANN neurons receive a number of inputs, weight each of those inputs, sum the weights, and then transform that sum using a special function called an activation function. The output of that activation function is then either used as the prediction (in a single neuron model) or is combined with the outputs of other neurons for further use in more complex models.
The purpose of the activation function is to take the input signal (that’s the weighted sum of the inputs and the bias) and turn it into an output signal. Think of this activation function as firing (activating) the neuron when it returns 1, and doing nothing when it returns 0. This sort of computation is accomplished with a function called step function: f(z) = {1 if z > 0 else 0}. This function then transforms any weighted sum of the inputs and converts it into a binary output (either 1 or 0). The trick to making this useful is finding (learning) a set of weights that lead to good predictions using this activation function.
Training our perceptron is simply a matter of initializing the weights to zero (or random value) and then implementing the perceptron learning rule, which just updates the weights based on the error of each observation with the current weights. This has the effect of moving the classifier’s decision boundary in the direction that would have helped it classify the last observation correctly. This is achieved via a for loop which iterates over each observation, making a prediction of each observation, calculating the error of that prediction and then updating the weights accordingly. In this way, weights are gradually updated until they converge. Each sweep through the training data is called an epoch.
In this script the perceptron is retrained on each new bar trying to classify this bar by drawing the moving average curve above or below the bar.
This script was tested with BTCUSD, USDJPY, and EURUSD.
Note: TradingViews's playback feature helps to see this strategy in action.
Warning: Signals ARE repainting.
Style tags: Trend Following, Trend Analysis
Asset class: Equities, Futures, ETFs, Currencies and Commodities
Dataset: FX Minutes/Hours+/Days
Relative Falling three Methods IndicatorAbstract
This script measure the related speed between rising and falling.
This script can replace binary Falling Three Methods detector and, report continuous value and estimate potential trend direction.
My suggestion of using this script is combining it with trading emotion.
Introduction
Falling Three Methods (F3M) is a candlestick pattern.
Many trading courses say traders can regard it as predicting falling will continue.
However, it is not easy to see perfect Falling Three Methods pattern from charts.
Therefore, we need an alternative method to measure it.
We can use the observation that falling is faster than rising during those time.
When falling is faster than rising, some long ( buy , call , higher , upper ) position owners may worry the price will fall very much suddenly.
When rising is faster than falling, some traders may worry they may miss buy opportunities.
Computing Related Falling Three Methods Indicator
(1) The value of rising and falling
In this script, open price is replaced with previous close price.
If the previous price is equal to the close price, than both rising and falling are equal to high-low.
If the previous price is lower than the close price, than the falling value becomes smaller, high-close+previous-low.
If the previous price is higher than the close price, than the rising value becomes smaller, high-previous+close-low.
(2) Area of value (aov)
Area of value is equal to highest-lowest. The previous close price is included.
(3) Compute weight and filter noise
We need a threshold for the noise filter. The default setting is aov/length, where length means how many days are counted.
When a rising or falling value <= threshold, it is not counted.
When a rising or falling value > threshold, the counted value = original value - threshold
and its weight = min ( counted value , threshold )
(4) compute speed
Rising speed = sum ( counted rising value ) / sum ( rising weight )
Falling speed = sum ( counted falling value ) / sum ( falling weight )
(5) Final result
Final result = Rising speed / ( Rising speed + Falling speed ) * 100 - 50
I move the middle level to 0 because 0 axis is always visible unless you cannot see negative values or you cannot see positive values.
Parameters
Length : how many days are counted. The default value is 16 just because 16=4*4, using binary characteristic.
Multi : the multiplier of noise threshold. Threshold applied = default threshold * multi
src : current not used
Conclusion
Related Falling Three Methods Indicator can measure the related speed between rising and falling.
I hope this indicator can help us to evaluate the possibility of trend continue or reversal and potential breakout direction.
After all, we care how trading emotion control the price movement and therefore we can take advantage to it.
Reference
How to trade with Falling Three Methods pattern
How to trade with Related Strength Indicator
4 in 1 Stoch Indicators as used by HG (Stoch, SRSIx2, DMIStoch)By using this indicator you can better view the Stoch indicators used by this strategy which are:
- Stochastic (14,3,3)
- Stochastic RSI (14,14,3,3)
- Stochastic RSI (6,6,3,3)
- DMI Stochastic
This is best used alongside:
- Evan Cabral binary strategy 2
- Binary with Temito
The analisis is:
- When all lines in the indicator are above or below the overbough/oversold lines
- When the bollinger bands are broken
- A support or resistance is reached
That means a change of Trend.
Edge-Preserving FilterIntroduction
Edge-preserving smoothing is often used in image processing in order to preserve edge information while filtering the remaining signal. I introduce two concepts in this indicator, edge preservation and an adaptive cumulative average allowing for fast edge-signal transition with period increase over time. This filter have nothing to do with classic filters for image processing, those filters use kernels convolution and are most of the time in a spatial domain.
Edge Detection Method
We want to minimize smoothing when an edge is detected, so our first goal is to detect an edge. An edge will be considered as being a peak or a valley, if you recall there is one of my indicator who aim to detect peaks and valley (reference at the bottom of the post) , since this estimation return binary outputs we will use it to tell our filter when to stop filtering.
Filtering Increase By Using Multi Steps Cumulative Average
The edge detection is a binary output, using a exponential smoothing could be possible and certainly more efficient but i wanted instead to try using a cumulative average approach because it smooth more and is a bit more original to use an adaptive architecture using something else than exponential averaging. A cumulative average is defined as the sum of the price and the previous value of the cumulative average and then this result is divided by n with n = number of data points. You could say that a cumulative average is a moving average with a linear increasing period.
So lets call CMA our cumulative average and n our divisor. When an edge is detected CMA = close price and n = 1 , else n is equal to previous n+1 and the CMA act as a normal cumulative average by summing its previous values with the price and dividing the sum by n until a new edge is detected, so there is a "no filtering state" and a "filtering state" with linear period increase transition, this is why its multi-steps.
The Filter
The filter have two parameters, a length parameter and a smooth parameter, length refer to the edge detection sensitivity, small values will detect short terms edges while higher values will detect more long terms edges. Smooth is directly related to the edge detection method, high values of smooth can avoid the detection of some edges.
smooth = 200
smooth = 50
smooth = 3
Conclusion
Preserving the price edges can be useful when it come to allow for reactivity during important price points, such filter can help with moving average crossover methods or can be used as a source for other indicators making those directly dependent of the edge detection.
Rsi with a period of 200 and our filter as source, will cross triggers line when an edge is detected
Feel free to share suggestions ! Thanks for reading !
References
Peak/Valley estimator used for the detection of edges in price.
Momentum Strategy, rev.2This is a revised version of the Momentum strategy listed in the built-ins.
For more information check out this resource:
www.forexstrategiesresources.com
EMA Strong Trend MarketUse this indicator with my binary blast v2 indicator for getting good binary signals if combine. Don't call or put option when this signal comes in a bar while using previous indicator.
Heiken Ashi zero lag EMA v1.1 by JustUncleLI originally wrote this script earlier this year for my own use. This released version is an updated version of my original idea based on more recent script ideas. As always with my Alert scripts please do not trade the CALL/PUT indicators blindly, always analyse each position carefully. Always test indicator in DEMO mode first to see if it profitable for your trading style.
DESCRIPTION:
This Alert indicator utilizes the Heiken Ashi with non lag EMA was a scalping and intraday trading system
that has been adapted also for trading with binary options high/low. There is also included
filtering on MACD direction and trend direction as indicated by two MA: smoothed MA(11) and EMA(89).
The the Heiken Ashi candles are great as price action trending indicator, they shows smooth strong
and clear price fluctuations.
Financial Markets: any.
Optimsed settings for 1 min, 5 min and 15 min Time Frame;
Expiry time for Binary options High/Low 3-6 candles.
Indicators used in calculations:
- Exponential moving average, period 89
- Smoothed moving average, period 11
- Non lag EMA, period 20
- MACD 2 colour (13,26,9)
Generate Alerts use the following Trading Rules
Heiken Ashi with non lag dot
Trade only in direction of the trend.
UP trend moving average 11 period is above Exponential moving average 89 period,
Doun trend moving average 11 period is below Exponential moving average 89 period,
CALL Arrow appears when:
Trend UP SMA11>EMA89 (optionally disabled),
Non lag MA blue dot and blue background.
Heike ashi green color.
MACD 2 Colour histogram green bars (optional disabled).
PUT Arrow appears when:
Trend UP SMA11
Bollinger Bands NEW
var tradingview_embed_options = {};
tradingview_embed_options.width = 640;
tradingview_embed_options.height = 400;
tradingview_embed_options.chart = 's48QJlfi';
new TradingView.chart(tradingview_embed_options);
Vdub Binary Options SniperVX v1 by vdubus on TradingView.com
MLActivationFunctionsLibrary "MLActivationFunctions"
Activation functions for Neural networks.
binary_step(value) Basic threshold output classifier to activate/deactivate neuron.
Parameters:
value : float, value to process.
Returns: float
linear(value) Input is the same as output.
Parameters:
value : float, value to process.
Returns: float
sigmoid(value) Sigmoid or logistic function.
Parameters:
value : float, value to process.
Returns: float
sigmoid_derivative(value) Derivative of sigmoid function.
Parameters:
value : float, value to process.
Returns: float
tanh(value) Hyperbolic tangent function.
Parameters:
value : float, value to process.
Returns: float
tanh_derivative(value) Hyperbolic tangent function derivative.
Parameters:
value : float, value to process.
Returns: float
relu(value) Rectified linear unit (RELU) function.
Parameters:
value : float, value to process.
Returns: float
relu_derivative(value) RELU function derivative.
Parameters:
value : float, value to process.
Returns: float
leaky_relu(value) Leaky RELU function.
Parameters:
value : float, value to process.
Returns: float
leaky_relu_derivative(value) Leaky RELU function derivative.
Parameters:
value : float, value to process.
Returns: float
relu6(value) RELU-6 function.
Parameters:
value : float, value to process.
Returns: float
softmax(value) Softmax function.
Parameters:
value : float array, values to process.
Returns: float
softplus(value) Softplus function.
Parameters:
value : float, value to process.
Returns: float
softsign(value) Softsign function.
Parameters:
value : float, value to process.
Returns: float
elu(value, alpha) Exponential Linear Unit (ELU) function.
Parameters:
value : float, value to process.
alpha : float, default=1.0, predefined constant, controls the value to which an ELU saturates for negative net inputs. .
Returns: float
selu(value, alpha, scale) Scaled Exponential Linear Unit (SELU) function.
Parameters:
value : float, value to process.
alpha : float, default=1.67326324, predefined constant, controls the value to which an SELU saturates for negative net inputs. .
scale : float, default=1.05070098, predefined constant.
Returns: float
exponential(value) Pointer to math.exp() function.
Parameters:
value : float, value to process.
Returns: float
function(name, value, alpha, scale) Activation function.
Parameters:
name : string, name of activation function.
value : float, value to process.
alpha : float, default=na, if required.
scale : float, default=na, if required.
Returns: float
derivative(name, value, alpha, scale) Derivative Activation function.
Parameters:
name : string, name of activation function.
value : float, value to process.
alpha : float, default=na, if required.
scale : float, default=na, if required.
Returns: float