INVITE-ONLY SCRIPT

[GYTS-Pro] Flux Composer

Updated
🧬 Flux Composer (Professional Edition)
🌸 Confluence indicator in GoemonYae Trading System (GYTS) 🌸

The Flux Composer is a powerful tool in the GYTS suite that is designed to aggregate signals from multiple Signal Providers, apply advanced decaying functions, and offer customisable and advanced confluence mechanisms. This allows making informed decisions by considering the strength and agreement ("when all stars align") of various input signals.


🌸 --------- TABLE OF CONTENTS --------- 🌸

1️⃣ Main Highlights

2️⃣ Flux Composer’s Features
  1. Multi Signal Provider support
  2. Advanced decaying functions
  3. Customisable Flux confluence mechanisms
  4. Actionable trading experience
  5. Filtering options
  6. User-friendly experience
  7. Upgrades compared to Community Edition

3️⃣ User Guide
  1. Selecting Signal Providers
  2. Connecting Signal Providers to the Flux Composer
  3. Understanding the Flux
  4. Tuning the decaying functions
  5. Choosing Flux confluence mechanism
  6. Choosing sensitivity
  7. Utilising the filtering options
  8. Interpreting the Flux for trading signals

4️⃣ Limitations


🌸 ------1️⃣--- MAIN HIGHLIGHTS ---1️⃣------ 🌸

- Signal aggregation: Combines signals from multiple different 📡 Signal Providers, each of which can be tuned and adjusted independently.
- Decaying function: Utilises advanced decaying functions to model the diminishing effect of signals over time, ensuring that recent signals have more weight. In addition to the decaying effect, the "quality" of the original signals (e.g. a "strong" GDM from WaveTrend 4D) are accounted for as well.
- Flux confluence mechanism: The aggregation of all decaying functions form the "Flux", which is the core signal measurement of the Flux Composer. Multiple mechanisms are available for creating the Flux and effectively using it for actionable trading signals.
- Visualisation: Provides detailed visualisation options to help users understand and tune the contributions of individual Signal Providers and their decaying functions.
- Backtesting: The 🧬 Flux Composer is a core component of the TradingView suite of the 🌸 GoemonYae Trading System (GYTS) 🌸. It connects multiple 📡 Signal Providers, such as the WaveTrend 4D, and processes their signals to produce a unified "Flux". This Flux can then be used by the GYTS "🎼 Order Orchestrator" for backtesting and trade automation.


🌸 ------2️⃣--- FLUX COMPOSER'S FEATURES ---2️⃣------ 🌸

Let's delve into more details...

💮 1. Multi Signal Provider support
Using the name of the GYTS "🎼 Order Orchestrator" as an analogy: Imagine a symphony where each instrument plays its own unique part, contributing to the overall harmony. The Flux Composer operates similarly, integrating multiple Signal Providers to create a comprehensive and robust trading signal -- the "Flux". Currently, it supports up to four streams from the WaveTrend 4D's’s Gradient Divergence Measure (GDM) and another four streams from the Quantile Median Cross (QMC). These can be either four "Professional Edition" Signal Providers or eight "Community Editions".

Note that the GDM includes 2 different continuous signals and the QMC 3 different continuous signals (from different frequencies). This means that the Community Edition can handle 2*2 + 2*3 = 10 different continuous signals and the Professional Edition as much as 20.

As GYTS evolves, more Signal Providers will be added; at the moment of releasing the Flux Composer, only WaveTrend 4D is publicly available.

💮 2. Advanced decaying functions
A trading signal can be relevant today, less relevant tomorrow, and irrelevant in a week's time. In other words, its relevance diminishes, or decays, over time. The Flux Composer utilises decaying functions that ensure that recent signals carry more weight, while older signals fade away. This is crucial for accurate signal processing. The intensity and decay settings allow for precise control, allowing emphasising certain signals based on their strength and relevance over time. On top of that, unlike binary signals ("buy now"), the Flux Composer utilises the actual values from the Signal Providers, differentiating between the exact quality of signals, and thus offering a detailed representation of the trading landscape. We will illustrate this in a further section.

💮 3. Customisable Flux confluence mechanisms

Another core component of the Flux Composer is the ability of intelligently combining the decaying functions. It offers four sophisticated confluence mechanisms: Amplitude Compression, Accentuated Amplitude Compression, Trigonometric, and GYTSynthesis. Each mechanism has its unique way of processing the Flux, tailored to different trading needs. For instance, the Amplitude Compression method scales the Flux based on recent values, much like the Stochastic Oscillator, while the Trigonometric method uses smooth functions to reduce outliers’ impact. The GYTSynthesis is a proprietary method, striking a balance between signal strength and discriminative power.

We'll discuss this in more detail in the User Guide section.

💮 4. Actionable trading experience
While the mathematical abilities might seem overwhelming, the goal of the Flux Composer is to transform complex signal data into actionable trading signals. When the Flux reaches certain thresholds, it generates clear bullish or bearish signals, making it easy for traders to interpret. The inclusion of upper and lower thresholds (UT and LT) helps in identifying strong signals visually and should be a familiar behaviour similar to how many other indicators operate. Furthermore, the Flux Composer can plot trading signals directly on the oscillator, showing triangle shapes for buy or sell signals. This visual aid is complemented by the possibility to setup TradingView alerts.

💮 5. Filtering options
The Professional Edition also offers filtering options to possibly further improve the quality of Flux signals. Signal streams can be divided into “Signal Flux” and “Filter Flux.” The Filter Flux acts as a gatekeeper, ensuring that only signals meeting the Filter's criteria (which consist of similar UT/LT thresholds) are considered for trading. This dual-layer approach enhances the reliability of trading signals, reducing the chances of false positives.

💮 6. User-friendly experience
GYTS is all about sophisticated, robust methods but also "elegance". One of the interpretations of the latter, is that the users' experience is very important. Despite the Flux Composer's mathematical underpinnings, it offers intuitive settings that with omprehensive tooltips to help with a smooth setup process. For those looking to fine-tune their signals, the Flux Composer allows the visualisation of individual decaying functions. This feature helps users understand the impact of each setting and make informed adjustments. Additionally, the background of the chart can be coloured to indicate the trading direction suggested by the Filter Flux, providing an at-a-glance overview of market conditions.

💮 7. Upgrades compared to Community Edition
  1. Number of signal streams -- At the moment of writing, the Professional Edition works with 4x GDM and 4x QMC signal streams from WaveTrend 4D Signal Provider, while Community Edition (CE) Flux Composer (FC) only works with 2x GDM and 2x QMC signal streams.
  2. Flux confluence mechanism -- CE includes the Amplitude Compression and Trigonometric confluence mechanisms, while the Pro Edition also includes the Accentuated Amplitude Compression and the GYTSynthesis mechanisms.
  3. Signal streams as filters -- The Pro Edition can use Signal Providers as filters.



🌸 ------3️⃣--- USER GUIDE ---3️⃣------ 🌸

💮 1. Selecting Signal Providers
The Flux Composer’s foundation lies in its Signal Providers. When starting with the Flux Composer, using a single Signal Provider can already provide significant value due to the nature of decaying functions. For instance, the WaveTrend 4D signal provider includes up to 5 signal types (GDM and QMC in different frequencies) in a single direction (long/short). Moreover, the various confluence mechanisms that enhance the resulting Flux result in improved discrimination between weak and strong signals. This approach is akin to ensemble learning in machine learning, where multiple models are combined to improve predictive performance.

While using a single Signal Provider is beneficial, the true power of the Flux Composer is realised with multiple Signal Providers. Here are two general approaches to selecting Signal Providers:

Diverse Behaviours
Use Signal Providers with different behaviours, such as WaveTrend 4D on various assets/timeframes or entirely different Signal Providers. This approach leverages diversification to achieve robustness, rooted in the principle that varied sources enhance the overall signal quality. To explain this with an analogy, this strategy aligns with the theory of diversification in portfolio management, where combining uncorrelated assets reduces overall risk. Similarly, combining uncorrelated signals can mitigate the risk of signal failure. A practical example can be integrating a mean-reversion signal with a trend-following signal -- these can balance each other out, providing more stable outputs over different market conditions.

Enhancing a Single Provider
If you consider a particular Signal Provider highly effective, you could improve its robustness by using multiple instances with slight variations. These variations could include different sources (e.g., close, HL2, HLC3), data providers (same asset across different brokers/exchanges), or parameter adjustments. This method mirrors Monte Carlo simulations, often used in risk management and derivative pricing, which involve running many simulations with varied inputs to estimate the probability of different outcomes. By applying similar principles, the strategy becomes less susceptible to overfitting, ensuring the signals are not overly dependent on specific data conditions.

💮 2. Connecting Signal Providers to the Flux Composer
Moving on to practicalities: how do you connect Signal Providers with the Flux Composer? You may have noticed that when you open the drawdown of a data source in a TradingView indicator (with "open", "high", "low", etc.), you also see names from other indicators on your chart. We call these "streams", and the Signal Providers are designed such that they output this stream in a way that the Flux Composer can interpret it. Thus, to connect a Signal Provider with the Flux Composer, you should first have that Signal Provider on your chart. Obviously you should set it up an a way that it seems to provide good signals. After that, in the Data Stream dropdown in the Flux Composer, you can select the stream that is outputted by your Signal Provider. This will always be with a prefix of "🔗 STREAM" (after the Signal Provider's indicator name). See the chart below.

snapshot

There is one important nuance: when you have multiple (similar) Signal Providers on your chart, it may be hard to select the correct data stream in the Flux Composer as the names of the streams keep repeating when you use identical indicators. So be sure to be attentive as you might end up using the same signals multiple times.

Also, the Signal Providers have an "Indicator name" parameter (and another parameter to repeat this name) that is handy to use when you have multiple Signal Providers on your screen. It is handy to give names that describe the unique settings of that Signal Provider so you can better differentiate what you are looking at on your screen.

💮 3. Understanding the Flux

Let's understand how the Signal Provider's signals are processed. In the chart below, you see we have one Signal Provider (WaveTrend 4D) connected to the Flux Composer and that it gives a bearish QMC signal. The Flux Composer converts this into a decaying function. You can show these functions per Signal Provider when the option "Show decaying function of Signal Provider" is enabled (as it is in the chart).
snapshot

In our opinion, of crucial importance is the ability to process the quality of signals, rather than just any signal. In mathematical terms, we are interested in continuous signals as these provide a spectrum of values. These signals can reflect varying degrees of market sentiment or trend strength, offering richer information than binary signals, which offer only two states (e.g., buy/sell). Especially in the context of the Flux Composer, where you aggregate multiple signals, it makes a big difference whether you combine 10 weak signals or 10 strong signals. To illustrate this principle, look at the chart below where there are 4 signals of different strengths. As you can see, each of the signals affects the Flux with different intensities.
snapshot

💮 4. Tuning the decaying functions

As previously mentioned, the decaying functions are a way to give more importance to recent signals while allowing older ones to fade away gradually. This mimics the natural way we assess information, giving more weight to recent events. The decaying functions in the Flux Composer are highly customisable while remaining easy to use. You can adjust the initial intensity, which sets the starting strength of a signal, and the decay rate, which determines how quickly this signal diminishes over time. Let's look at specific examples.

If we add 3 Flux Composers on the chart, connect the same Signal Provider, keep all settings the same with one exception, we get the chart below. Here we have changed the "intensity" parameter of the specific signal. As you can see, the decaying functions are different. The intensity determines the initial strength of the decayed function. Adjusting the intensity allows you to emphasise certain signal types based on their perceived reliability or importance.
snapshot

Let's now keep the intensity the same ("normal"), but change the "decay" parameter. As you can see in the image below, the decay controls how quickly the signal’s strength diminishes over time. By adjusting the decay, you can model the longevity of the signal’s impact. A faster decay means the signal loses its influence quickly, while a slower decay means it remains relevant for a longer period.
snapshot

So how do multiple signals interact? You can see this as a simple "stacking of decaying functions" (although there is more to it, see next section). In the chart below we different strenghts of signals and different decay rates to illustrate how the Flux is constructed.
snapshot

Hopefully this helps with developing some intuition how signals are converted to decaying functions, how you can control them, and how the Flux is constructed. When tuning these parameters, use the visualisation options to see how individual decaying functions contribute to the overall Flux. This helps in understanding and refining the parameters to achieve the desired trading signal behaviour.

💮 5. Choosing Flux confluence mechanism

While we mentioned that the Flux is a "stacking of individual decaying functions", in the back-end, that is not exactly that simple. Like previously mentioned, for GYTS, "elegance" is very important. One of the interpretations is "user friendliness" and the Flux confluence mechanism is one of the essential developments for this characteristic. The Flux confluence mechanism is critical in synthesising the aggregated signals into the Flux. The choice of mechanism affects how the signals are combined and the resulting trading signals. The Professional Edition offers four distinct mechanisms, each with its strengths.

The Amplitude Compression mechanism is intuitive, scaling the Flux based on recent values, intuitively not unlike the method of the well-known Stochastic Oscillator. The Accentuated Amplitude Compression method takes this a step further, giving more weight to strong Flux values. The Trigonometric mechanism smooths the Flux and reduces the impact of outliers, providing a balanced approach. Finally, the GYTSynthesis mechanism, a proprietary approach, balances signal strength and discriminative power, making it easier to tune and generalise.

It's difficult to convey the workings of the Flux confluence mechanism in a chart, but let's take the opportunity to show how the Flux would look like when connecting both one WaveTrend 4D Signal Provider signals to four Flux Composers with default settings, except the Flux confluence mechanism:

snapshot

You may notice subtle differences between the four methods. They react differently to different values and their overall shape is slightly be different. The Amplitude Compression is more "pointy" and GYTSynthesis doesn't react to low values. There are many nuances, especially in combination with tuning the sensitivity and upper/lower threshold (UT/LT) parameters.

💮 6. Choosing sensitivity

Speaking of the sensitivity, this parameters fine-tunes how responsive the Flux is to the input signals. Higher sensitivity results in more pronounced responses, leading to more frequent trading signals. Lower sensitivity makes the Flux less responsive, resulting in fewer but potentially more reliable signals.

You might think that changing the upper/lower threshold (UT/LT) parameters would be equivalent, but that's not the case. The sensitivity In case of the Amplitude Compression mechanisms, changing the sensitivity would change the relative Flux shape over time, and with the Trigonometric and GYTSynthesis mechanisms, the Flux shape itself (independent of time) would change. In other words, these are all good parameters for tuning.

snapshot

💮 7. Utilising the filtering options

When choosing the signal stream of a Signal Provider, you can also change the default "Signal" category of that Signal Provider to a "Filter". In the example below, two Signal Providers are connected; the second is set as a filter. You can see that a second row of a Flux is shown in the Flux Composer (this visualisation can be disabled), corresponding with the signals of the second Signal Provider.
snapshot

Logically, only when the Filter Flux gives a signal in a certain direction, signals from the regular Signal Flux are registered. Generally speaking, for this use case it is handy to set the thresholds for the Filter Flux low and possibly to decrease the decay rate so that the filtering is active for a long enough time.

💮 8. Interpreting the Flux for trading signals

Lastly, the Signal Flux gives buy and sell signals when it crosses the upper/lower thresholds (UT/LT), when the filter allows it (if enabled). This can be visualised with the triangles as you may have seen in the charts in the previous sections. For people using TradingView's alerts -- these would work too out of the box. And finally, for backtesting and possibly trade automation, we will have the GYTS "🎼 Order Orchestrator" that connects with the Flux Composer.


🌸 ------4️⃣--- LIMITATIONS ---4️⃣------ 🌸

  • Only 🌸 GYTS 📡 Signal Providers are supported, as there is a specific method to pass continuous (non-binary) data in the data stream
  • At the moment of release, only the WaveTrend 4D Signal Provider is available. Other Signal Providers will be gradually released.
Release Notes
  • Added '🔗 STREAM-int 🧬 Flux (Signal)' output to be used as binary signals. The signals are computed the same as the triangles and alerts, i.e. when the Flux breaches the thresholds. Mapping: long --> '1', short --> '-1'. '0' (zero) otherwise.
aggregationconfluencedecayingfunctionFLUXgoemonyaegoemonyaetradingsystemgytsmultisignalmultitimeframemultitimeframeanalysisOscillatorsTrend Analysis

Invite-only script

Access to this script is restricted to users authorized by the author and usually requires payment. You can add it to your favorites, but you will only be able to use it after requesting permission and obtaining it from its author. Contact GoemonYae for more information, or follow the author's instructions below.

TradingView does not suggest paying for a script and using it unless you 100% trust its author and understand how the script works. In many cases, you can find a good open-source alternative for free in our Community Scripts.

Author's instructions

See signature for more info

Want to use this script on a chart?

Warning: please read before requesting access.

🌸 ----- GoemonYae Trading System (GYTS) ----- 🌸
💬 GYTS Discord server (including YaeBot): discord.gg/ef6Tu4kha3
👔 personal LinkedIn: linkedin.com/in/arthur-nazarian
Also on:

Disclaimer