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
Cerca negli script per "binary"
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<EMA89 (optionally disabled),
Heike ashi red color.
Non lag MA red dot and red background.
MACD 2 colour histogram red bars (optionally disabled).
HINTS:
- Good positions occur when MACD crosses the Zero line.
- Switch between Heikin Ashi and Normal candles as part of your analysis of the price action.
- Large Heikin Ashi candles with small wicks in direction of trend are good strong trends.
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
Whole NumbersThis is a simple indicator for the whole numbers.
It breaks down every pair for 10 pips.
Its also simple and nice to use
Stochastic with Outlier Labels/MTFTL;DR This indicator is an update to a simple stochastic ('Stoch_MTF' by binarytrader666) that provides a novel outlier highlighting feature
Improvements on stochastic:
1. Novel outlier highlighting that points out crosses that are the Nth consecutive cross or greater.
2. Allowing for multiple timeframes to be shown on the same chart
3. Highlighting/Labelling crosses and providing labels for alerts
A cross of the stochastics in the high or low zones establishes a trend. Successive crosses in the same region seem to indicate a continuation of that trend. The outlier functionality here provides a signal for when X number of crosses have been in the same trend, signaling further strength of that signal.
I also provided the necessary code for converting this to a strategy if you so wish at the bottom.
Linear Regression Trend Channel with Entries & AlertsPlease Use this Indicator If you understand the risk posed by linear regression trend channel
Features
Provides trend channel (best value for period is 40 on 5 minute timeframe
Provides BUY/SELL entries based on current channel
Provides custom color for channel
Best used with MattyPips strategy indicators
Risks : Please note, this script is the likes of Bollinger bands and poses a risk of falling in a trend range.
Entries may keep running on the same direction while the market is moving.
Price Volume Trend BBHey guys,
Ive been thinking about Price Volume Trend for a while and tried adding different moving averages to it, but seems its not as binary.
Therefore adding the bollinger bands as a no-trade-zone made it alot better. Indicator is pretty basic at the moment since I just implemented the idea but im planning to do some add-ons later on to make it easier to read.
Will keep you updated!
VEMA Band_v2 - 'Centre of GravityConcept taken from the MT4 indicator 'Centre of Gravity'except this one doesn't repaint.
Modified / BinaryPro 3 / Permanent Marker
Ema configuration instead of sma & centralised.
Vdub_Tetris_Stoch_V1Vdub_Tetris_Stoch_V1
A combination lower based indicators based on the period channel indicator Vdub_Tetris_V2
Blue line is more reactive fast moving, Red line in more accurate to highs / Lows with divergence.- Still testing
Code title error
Change % = Over Bought / Over Sold
Vdub Tetris_V2
Vdubus BinaryPro 2 /Tops&Bottoms
StochDM
SynchroTrend Oscillator (STO) [PhenLabs]📊 SynchroTrend Oscillator
Version: PineScript™ v5
📌 Description
The SynchroTrend Oscillator (STO) is a multi-timeframe synchronization tool that combines trend information from three distinct timeframes into a single, easy-to-interpret oscillator ranging from -100 to +100.
This indicator solves the common problem of having to analyze multiple timeframe charts separately by consolidating trend direction and strength across different time horizons. The STO helps traders identify when markets are truly synchronized across timeframes, potentially indicating stronger trend conditions and higher probability trading opportunities.
Using either Moving Average crossovers or RSI analysis as the trend definition metric, the STO provides a comprehensive view of market structure that adapts to various trading strategies and market conditions.
🚀 Points of Innovation
Triple-timeframe synchronization in a single view eliminates chart switching
Dual trend detection methods (MA vs Price or RSI) for flexibility across different markets
Dynamic color intensity that automatically increases with signal strength
Scaled oscillator format (-100 to +100) for intuitive trend strength interpretation
Customizable signal thresholds to match your risk tolerance and trading style
Visual alerts when markets reach full synchronization states
🔧 Core Components
Trend Scoring System: Calculates a binary score (+1, -1, or 0) for each timeframe based on selected metrics, providing clear trend direction
Multi-Timeframe Synchronization: Combines and scales trend scores from all three timeframes into a single oscillator
Dynamic Visualization: Adjusts color transparency based on signal strength, creating an intuitive visual guide
Threshold System: Provides customizable levels for identifying potentially significant trading opportunities
🔥 Key Features
Triple Timeframe Analysis: Synchronizes three user-defined timeframes (default: 60min, 15min, 5min) into one view
Dual Trend Detection Methods: Choose between Moving Average vs Price or RSI-based trend determination
Adjustable Signal Smoothing: Apply EMA, SMA, or no smoothing to the oscillator output for your preferred signal responsiveness
Dynamic Color Intensity: Colors become more vibrant as signal strength increases, helping identify strongest setups
Customizable Thresholds: Set your own buy/sell threshold levels to match your trading strategy
Comprehensive Alerts: Six different alert conditions for crossing thresholds, zero line, and full synchronization states
🎨 Visualization
Oscillator Line: The main line showing the synchronized trend value from -100 to +100
Dynamic Fill: Area between oscillator and zero line changes transparency based on signal strength
Threshold Lines: Optional dotted lines indicating buy/sell thresholds for visual reference
Color Coding: Green for bullish synchronization, red for bearish synchronization
📖 Usage Guidelines
Timeframe Settings
Timeframe 1: Default: 60 (1 hour) - Primary higher timeframe for trend definition
Timeframe 2: Default: 15 (15 minutes) - Intermediate timeframe for trend definition
Timeframe 3: Default: 5 (5 minutes) - Lower timeframe for trend definition
Trend Calculation Settings
Trend Definition Metric: Default: “MA vs Price” - Method used to determine trend on each timeframe
MA Type: Default: EMA - Moving Average type when using MA vs Price method
MA Length: Default: 21 - Moving Average period when using MA vs Price method
RSI Length: Default: 14 - RSI period when using RSI method
RSI Source: Default: close - Price data source for RSI calculation
Oscillator Settings
Smoothing Type: Default: SMA - Applies smoothing to the final oscillator
Smoothing Length: Default: 5 - Period for the smoothing function
Visual & Threshold Settings
Up/Down Colors: Customize colors for bullish and bearish signals
Transparency Range: Control how transparency changes with signal strength
Line Width: Adjust oscillator line thickness
Buy/Sell Thresholds: Set levels for potential entry/exit signals
✅ Best Use Cases
Trend confirmation across multiple timeframes
Finding high-probability entry points when all timeframes align
Early detection of potential trend reversals
Filtering trade signals from other indicators
Market structure analysis
Identifying potential divergences between timeframes
⚠️ Limitations
Like all indicators, can produce false signals during choppy or ranging markets
Works best in trending market conditions
Should not be used in isolation for trading decisions
Past performance is not indicative of future results
May require different settings for different markets or instruments
💡 What Makes This Unique
Combines three timeframes in a single visualization without requiring multiple chart windows
Dynamic transparency feature that automatically emphasizes stronger signals
Flexible trend definition methods suitable for different market conditions
Visual system that makes multi-timeframe analysis intuitive and accessible
🔬 How It Works
1. Trend Evaluation:
For each timeframe, the indicator calculates a trend score (+1, -1, or 0) using either:
MA vs Price: Comparing close price to a moving average
RSI: Determining if RSI is above or below 50
2. Score Aggregation:
The three trend scores are combined and then scaled to a range of -100 to +100
A value of +100 indicates all timeframes show bullish conditions
A value of -100 indicates all timeframes show bearish conditions
Values in between indicate varying degrees of alignment
3. Signal Processing:
The raw oscillator value can be smoothed using EMA, SMA, or left unsmoothed
The final value determines line color, fill color, and transparency settings
Threshold levels are applied to identify potential trading opportunities
💡 Note:
The SynchroTrend Oscillator is most effective when used as part of a comprehensive trading strategy that includes proper risk management techniques. For best results, consider using the oscillator in conjunction with support/resistance levels, price action analysis, and other complementary indicators that align with your trading style.
Ultimate Moving Average Crossover Indicator by SAMQUANT📈 Ultimate Moving Average Crossover Indicator | All-in-One MA Strategy
Unlock the power of multiple moving averages in one versatile indicator designed to give you clear, actionable signals in any market condition.
📌 Key Features:
- Supports **all major moving averages**:
- **SMA, EMA, WMA, HMA, RMA, DEMA, TEMA**, and more.
- Each MA is **fully customizable** with different lengths and types for ultimate flexibility.
- **Binary Long/Short signals** based on crossover logic—perfect for alerts, strategies, or discretionary trading.
- **Dynamic background coloring**:
- **Green** for bullish trends
- **Red** for bearish trends
Quickly gauge market direction at a glance.
---
🚀 Why Use This Indicator?
✅ Combines the strength of all major MA types
✅ Customizable to fit any trading style—scalping, swing, or trend following
✅ Built-in alerts ready for your next trade
✅ Visually intuitive with built-in signal clarity
✅ Excellent tool for **confluence-based** strategies
---
Great trades start with great tools. Clarity, precision, and flexibility—this indicator brings it all to your charts. Trade smarter, not harder.
---
> ⚠️ **Disclaimer:**
This script is intended for **educational and informational purposes only**. It does not constitute financial advice. Past performance is not indicative of future results. Always practice sound risk management and test strategies thoroughly before using real capital.
Beep BoopThe Beep Boop indicator is designed to simplify visual trading decisions by combining the concepts of MACD (Moving Average Convergence Divergence) and a customizable EMA trend filter. It provides clear visual cues to help traders quickly assess market momentum and the current trend direction.
### What Makes Beep Boop Unique?
This indicator uniquely modifies the standard MACD histogram to create a simplified binary visualization—highlighting either bullish or bearish momentum clearly. Rather than displaying traditional MACD bars of varying sizes, it assigns fixed positive or negative values to simplify interpretation:
- A positive histogram (fixed at 0.1) indicates bullish momentum.
- A negative histogram (fixed at 0.09) indicates bearish momentum.
Additionally, Beep Boop integrates a configurable EMA (Exponential Moving Average) to filter signals, allowing traders to identify stronger directional moves by comparing the current price action with the EMA trend line:
- Bullish bars (green) appear only when price action is above the EMA.
- Bearish bars (red) appear only when price action is below the EMA.
- Neutral bars (white) appear when price action is uncertain or mixed in relation to the EMA.
### How to Use Beep Boop?
1. Fast and Slow Lengths: Adjust these to configure the MACD calculation for different timeframes or market volatility.
2. EMA Trend: Change this parameter to fine-tune the sensitivity of the EMA filter based on your preferred trading style (short-term, swing, or long-term).
3. Simple or Exponential MA: Toggle between SMA (Simple Moving Average) or EMA calculations to personalize the responsiveness of the MACD and signal lines.
### Recommended Applications
- Trend-following strategies: Clearly identifies market direction for entries and exits.
- Momentum Trading: Provides simple momentum confirmation for scalping and short-term trading.
- Market Screening: Quickly filters assets based on bullish or bearish momentum strength.
This indicator offers traders a clean, straightforward method to gauge market conditions at a glance, simplifying the complexity inherent in traditional momentum and trend indicators.
Happy Trading!
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
Schaff Trend Cycle (STC)The STC (Schaff Trend Cycle) indicator is a momentum oscillator that combines elements of MACD and stochastic indicators to identify market cycles and potential trend reversals.
Key features of the STC indicator:
Oscillates between 0 and 100, similar to a stochastic oscillator
Values above 75 generally indicate overbought conditions
Values below 25 generally indicate oversold conditions
Signal line crossovers (above 75 or below 25) can suggest potential entry/exit points
Faster and more responsive than traditional MACD
Designed to filter out market noise and identify cyclical trends
Traders typically use the STC indicator to:
Identify potential trend reversals
Confirm existing trends
Generate buy/sell signals when combined with other technical indicators
Filter out false signals in choppy market conditions
This STC implementation includes multiple smoothing options that act as filters:
None: Raw STC values without additional smoothing, which provides the most responsive but potentially noisier signals.
EMA Smoothing: Applies a 3-period Exponential Moving Average to reduce noise while maintaining reasonable responsiveness (default).
Sigmoid Smoothing: Transforms the STC values using a sigmoid (S-curve) function, creating more gradual transitions between signals and potentially reducing whipsaw trades.
Digital (Schmitt Trigger) Smoothing: Creates a binary output (0 or 100) with built-in hysteresis to prevent rapid switching.
The STC indicator uses dynamic color coding to visually represent momentum:
Green: When the STC value is above its 5-period EMA, indicating positive momentum
Red: When the STC value is below its 5-period EMA, indicating negative momentum
The neutral zone (25-75) is highlighted with a light gray fill to clearly distinguish between normal and extreme readings.
Alerts:
Bullish Signal Alert:
The STC has been falling
It bottoms below the 25 level
It begins to rise again
This pattern helps confirm potential uptrend starts with higher reliability.
Bearish Signal Alert:
The STC has been rising
It peaks above the 75 level
It begins to decline
This pattern helps identify potential downtrend starts.