Tous les indicateurs de John Ehlers... - page 54

 
sabbir50:
Quelqu'un peut poster l'indicateur MTF Fisher ou Solar Wind No repaint avec des alertes : ....

Vous pouvez utiliser celui de ce post : https://www.mql5.com/en/forum/173574/page360

C'est une version multi-temporelle avec des alertes déjà intégrées.

 

Indicateur FDI

Récemment, j'ai joué avec HE dans MATLAB car j'essaie d'aller plus loin dans la structure des données FX et malheureusement j'ai eu de mauvaises nouvelles concernant l'indicateur FDI de John.

dans ce post, je suis arrivé à la conclusion que l'utilisation de HE pour le trading est en quelque sorte inutile car il est instable - HE a été calculé par la fonction wfbmesti de MATLAB en utilisant 3 méthodes différentes

https://www.mql5.com/en/forum/178285/page6

Puis j'ai comparé cette sortie avec celle de John qui semblait beaucoup plus stable et lisse et j'ai commencé à me méfier - John lisse le prix deux fois avant et après le calcul. Peut-être que c'est correct de le faire après, mais avant, je pense que cela peut détruire la structure de distribution.

J'ai donc fait l'expérience. J'ai généré un mouvement brownien fractionnel avec une valeur HE connue et j'ai calculé HE à partir de cela comme référence.

J'ai ensuite lissé les séries générées et calculé HE pour voir si le lissage avait un impact sur HE :

% Set parameter H to 0.6 and sample length

H = 0.6; lg = 10000;

% Generate 100 wavelet-based fBm realizations for H = 0.6

% and compute the three estimates for each of them

n = 100; Hest = zeros(n,3);

for i = 1:n

fBm06 = wfbm(H,lg);

Hest(i,:) = wfbmesti(fBm06);

end

mean (Hest)

ans =

0.5927 0.5927 0.5648[/CODE]

Values of HE of generated series are around 0.6 as expected. John uses this formula for smoothing

Smooth = (Price + 2 * Price[1] + 2 * Price[2] + Price[3] ) / 6 ;

so

[CODE]n = 100; Hest2 = zeros(n,3);H = 0.6; lg = 10000;

for i = 1:n

fBm06 = wfbm(H,lg);

for ii = 4:lg

fBm06(ii) = (fBm06(1,ii) + 2 * fBm06(1,ii-1) + 2 * fBm06(1,ii-2) + fBm06(1,ii-3) ) / 6 ;

end

Hest2(i,:) = wfbmesti(fBm06(:,4:end));

end

mean (Hest2)

ans =

0.7013 0.5977 0.8760

donc pas autour de 0.6 comme il devrait l'être ! !!! La distribution et la structure sont affectées ! !! Il semble que seule la méthode 2

Il semble que seule la méthode 2 ait survécu à cela (dérivée discrète de second ordre, basée sur les ondelettes). Je me demande si la méthode Johns a survécu à cela ?

En plus de cela, d'après les posts avec le lien ci-dessus, lorsque j'ai supprimé le lissage du code IDE et tracé 2-FDI (donc HE), cette valeur est complètement différente de la valeur HE générée par MATLAB.

Donc en résumé je ne ferais pas confiance à cet indicateur et à tout autre qui clone son code ! !!

Krzysztof

 
mladen:
Krzysztof

Parlent-ils de cette MA : https://www.mql5.com/en/forum/182120

Si c'est le cas, je ne pense pas qu'ils soient sur la bonne voie (franchement, c'est trop compliqué à utiliser et les résultats ne sont pas ceux que l'on pourrait attendre d'une bonne moyenne/filtre).

La question n'est pas de savoir si quelque chose est supérieur à la ma d'Ehlers (Ehlers n'est pas bon dans le domaine des MA - certaines de ses tentatives comme celle qu'il a nommée "zero lag ma" sont franchement tout sauf sérieuses) mais une comparaison avec des filtres bien meilleurs vient immédiatement à l'esprit et alors cette ma ne sera pas si brillante.

Cher mladen,

Vérifiez, s'il vous plaît...

Merci d'avance

 
Tsar:
Cher mladen,

Regardez, s'il vous plaît...

Merci d'avance

Tsar

Même s'ils ne sont pas les mêmes (le code est différent et il est évident qu'il est écrit par des personnes différentes), les valeurs calculées sont exactement les mêmes lorsque les paramètres sont les mêmes (pour le résultat final ainsi que pour le résultat "primaire"). Il s'agit donc de deux versions du même indicateur.

 
mladen:
Tsar Même s'ils ne sont pas les mêmes (le code est différent et il est évident qu'il a été écrit par des personnes différentes), les valeurs calculées sont exactement les mêmes lorsque les paramètres sont les mêmes (pour le résultat final ainsi que pour le résultat "primaire"). Il s'agit donc de deux versions du même indicateur.

Merci beaucoup pour la clarification

 

Juste comme une curiosité - voici ce que John Ehlers a appelé un "zero lag EMA" (code tradestation)

inputs:

Length( 20 ),

GainLimit( 50 ),

Thresh( 1 ), { see article for threshold explanation }

UseThreshold( true ), { if true, then the threshold is used for the

ShowMe dots and crossing alert - see notes below }

DrawMALines( true ), { if true, the Moving Average lines are plotted }

DrawShowMeDots( false ), { if true, ShowMe dots are plotted when a cross

of EC and EMA are detected }

DotOffsetTicks( 10 ), { offset for the ShowMe dots }

DrawPaintBars( false ) ; { draw PaintBars, color depending on EC > EMA }

variables:

ATick( 0 ),

alpha( 0 ),

Gain( 0 ),

BestGain( 0 ),

EC( 0 ),

Error( 0 ),

LeastError( 0 ),

EMA( 0 ),

CrossOver( false ),

CrossUnder( false ) ;

if CurrentBar = 1 then

ATick = MinMove / PriceScale ; { calculate value of a tick }

alpha = 2 / ( Length + 1 ) ;

EMA = alpha * Close + ( 1 - alpha ) * EMA[1] ;

LeastError = 1000000 ;

for Value1 = -GainLimit to GainLimit

begin

Gain = Value1 / 10 ;

EC = alpha *( EMA + Gain * ( Close - EC[1] ) ) + ( 1 - alpha ) * EC[1] ;

Error = Close - EC ;

If AbsValue( Error ) < LeastError then

begin

LeastError = AbsValue( Error ) ;

BestGain = Gain ;

end ;

end ;

EC = alpha * ( EMA + BestGain * ( Close - EC[1] ) ) + ( 1 - alpha ) * EC[1] ;

if DrawMALines then

begin

Plot1( EC, "EC" ) ;

Plot2( EMA, "EMA" ) ;

end ;

Il ne faut pas le prendre au sérieux car c'est l'un des cas où John Ehlers sautait d'abord et ne pensait qu'ensuite à ce qu'il fallait faire (c'est la raison pour laquelle il n'est pas non plus converti en metatrader).

 

Peut-on néanmoins le convertir en metatrader ?

 
nbtrading:
Peut-on néanmoins le convertir en metatrader ?

Croyez-moi, il vaut mieux ne pas le faire. C'est une façon artificielle d'adapter une valeur (EMA) à une autre valeur (prix). Je crois que s'il le pouvait, John Ehlers révoquerait ce code maintenant, car il est tout sauf un code sérieux et moyen.

 
mladen:
Croyez-moi, il vaut mieux ne pas le faire. C'est une façon artificielle d'adapter une valeur (EMA) à une autre valeur (prix). Je crois que s'il le pouvait, John Ehlers révoquerait ce code maintenant, car il est tout sauf un code sérieux et moyen.

C'est si mauvais que ça ?

 
nbtrading:
C'est si mauvais que ça ?

Personne ne peut être fier de cela, et encore moins John Ehlers. Il aurait dû réfléchir davantage avant de publier une telle chose et de l'appeler une "EMA à décalage zéro".