Composite Fractal Behavior and its aplications - page 18

 

This is an updated cfb adaptive dmx, added a choice of showing histogram or not, added adjustable levels, along with alerts on slope change and zero cross, and it's compatible with new mt4 builds.

Ps) Cfb adaptive Dmx 2 nrp nmc had a bug that might cause problems when using it in mtf mode so would recommend to use Cfb adaptive Dmx 3 nrp nmc, big thanks to Gfuchs to bringing it to my attention and Mladen for finding the bug and squashing it.


 

Composite Fractal Behavior (cfb) indicator from the first post of this thread made new metatrader 4 compatible : cfb_nmc.mq4

Files:
cfb.gif  62 kb
cfb_nmc.mq4  7 kb
 

Updated cfb stochastic : cfb_stochastic_nmc.mq4

It was originally posted here (along with in-detail explanation what it does and what should it be used for) : https://www.mql5.com/en/forum/179686

 

...

One (simple this time) implementation of cfb : cfb channel

This channel is a high/low channel with a twist. The channel and its "speed" are modified by a "stochastic-ised" cfb in order to be more responsive

_______________________________

Of parameters :
CfbResultSmooth-> when set to values > 1 smooths internal cfb results used by this indicator

Depth1-> the minimal "depth" of the high/low lookback

Depth2-> the maximal "depth" of the high/low lookback

CfbDepth, CfbPriceand CfbSmoothare the parameters passed to cfb, and for explanation of them, please look at the previous post.

_______________________________

PS: this indicator is made as a direct idea of Mark Jurik, and is interesting as a simplest implementation of cfb in another indicator. Later on will be posted some much more useful implementations (like cfb modified speed of RSX, for example) Also attached the stochastic of the cfb - it might be interesting to see exactly when and why is the channel modified, but also there is some interesting behavior of the stochastic version itself as a standalone indicator

PPS: updated version of cfb stochastic posted here https://www.mql5.com/en/forum/179686

 

Updated normalized cfb : cfb_norm_nmc.mq4

Original (with detailed description how to use it) was posted here : https://www.mql5.com/en/forum/179686 . Just as a reminder : cfb shows if there is a trend or not. It does not show the direction of trend. But since it should be looked for trends, it should be applied to time frames where trend seeking is logical. In my opinion applying this indicator to any time frame less than 1 hour is not going to give you results that you expect since lower time frames have too much nose to detect anything that resembles to trend

Files:
 

These posts from mrtools (https://www.mql5.com/en/forum/general) and simba (https://www.mql5.com/en/forum/general) reminded me of the work I still want to do on this thread and indicators

__________________________

For a moment I am not going to post any new cfb based indicator but am going to talk about something else : some misconceptions coming from the original developer of cfb (Mark Jurik) himself and some problems needed to be solved before the practical ways of its usage turn to more or less "solid ways".

Of some misconceptions :
Mark Jurik, when using cfb as an modifier of some other indicator uses what he calls a "infinite length stochastic" to determine the length modifier (ratio) which then becomes an "cfb depending adaptive" indicator. A nice, catchy name (the "infinite length stochastic"), but what exactly does it mean?
The "infinite" means that the high an the low are determined using the whole history available. And there is the problem

For the sake of argument, just imagine that there are, let say, 10 values of cfb : 10,1,1,1,1,1,1,1,1 (the left most (10) being the oldest) Obviously that the one that has 10 bars of history will have 10 for maximum and 1 for minimum.

1st consequence: it is causing a "values deforming" since the extremes that occur are determining current range too, and it artificially "speeds up" indicator behavior in calm period (actually in any period calmer than the moments when those extremes happened - cfb is bounded from the lower side to 0, hence the "speeding up" - lower bound can not vary too much)

2nd consequence : if someone does not have same amount of historical data he/she may end up in having completely different indicator readings

3rd consequence: it will repaint. In any case when the number of historical bars is limited (and that case is with almost all trading platforms and systems). And if you want to avoid repainting you are going to be forced to keep the complete history in your charts in order to make it not repaint. And then you are ending up with ranges valid some 20 years ago (a sort of a "vicious circle" - which bad should we choose (which bad is less bad )?)

Cfb channel from the 1st post is coded the "infinite length stochastic" way. I will be added what I consider a normal way, as soon as I solve some problems (thoughts) with normalization.

__________________________

Now about normalization : the usual and considered by a lot of people as the acceptable and good is the stochastic. The cfb stochastic indicator is made for that purpose in mind originally. Even though Mark Jurik uses the "infinite way" even in his version of cfb stochastic, I decided to leave it out (for the reasons I stated) original stochastic is a good way, but frankly, I am looking for something better.

So far the best I have found (well, at least the one I like the best) is this one (posting the indicator itself too) It is using a basic (but really the "basic" basic way of normalization), but with rather good results (see the picture attached : upper is the normalized cfb and lower is the original one)

The problem consists in a fact that it largely depends on the normalization constant. As soon as that problem is solved, we shall have some new indicators in this section

__________________________

The moral (could not resist, sorry ) : do not believe even to Mark Jurik. Everybody can make mistakes

__________________________

Updated version posted here : https://www.mql5.com/en/forum/179686

Files:
 

Updated zero mean normalized composite fractal behavior (cfb) : cfb_norm_-_zero_mean_nmc.mq4

Original (with detailed description) was posted here : https://www.mql5.com/en/forum/179686

 

...

mrtools:
Thanks Mladen for your indicator and detailed explanation! Between you and Simba, a continuous learning experience.

As usual, both of you ask some questions that can not be taken lightly let alone answered easily

Anyway, will post here some other ways of normalizations since there is an everlasting need for "normalizers" and, due the some specific demands cfb puts before us, it seems a good spot to give some solutions (even if not ideal, yet) These posts are probably going to be much more useful to coders visiting this thread than to traders, but I ask for patience from "pure traders" for the goal is to get some better (faster) responding indicators

___________________________________

The specific demand is that cfb shows by its slope, if there is a trend or there is no trend. If the slope is positive, there is a trend. If the slope is negative, there is no trend. So the good thing from a normalized cfb value would be to preserve the slope itself too (hence the problem with the stochastic version - observe the flat periods around minimums and maximums).

___________________________________

So the next way : zero mean normalization. formula is simple : subtract a mean from a value and divide the result with deviation of the same value. It is not the normalization we are looking after because it, in theory, does not have a defined maximum and minimum, but it, statistically has more than 90% values in the range of -3 +3, so it can be considered her (and is used after in another way of normalization which I will post later).

If you observe the compared values of the original you will observe that the "deformity" in the mean of slope changing is significant (in some periods it completely changes the slope) so the conclusion is that, when used for cfb, it is not good

___________________________________

Updated version posted here : https://www.mql5.com/en/forum/179686

 

Updated Sigmoidal (Softmax) normalized composite fractal behavior (cfb) : cfb_norm_-_sigmoidal_nmc.mq4

Original (with detailed description) was posted here : https://www.mql5.com/en/forum/179686

 

Sigmoidal (Softmax) normalized cfb

Sigmoidal (Softmax) normalization is frequently used in NN in order to prepare normalized values as the input for the artificial neuro net.

__________________________

It is an offspring of zero mean normalization and, as you will see, it inherits it bad sides almost in full, so no wonder that some NNs are performing they way they are (if they use this way of normalization)

Basic formula is NV = 1/(1+(e raised to -zeroMean)). it produces results in the range of 0 to +1.

A hyperbolic version of sigmoidal normalization uses a slightly different formula : (1-(e raised to -zeroMean))/(1+(e raised to -zeroMean)). Hyperbolic calculation produces results in the range of 1- to +1

__________________________

The results : as you can see they inherit almost in full the bad side of "zero mean" normalization : slope change is almost the same as zero mean for both calculations

__________________________

Updated version posted here : https://www.mql5.com/en/forum/179686

Reason: