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

 

En ce qui concerne la transformation de Fisher, l'évaluation est ici. C'est juste un compresseur/décompresseur de gamme qui n'apporte aucune valeur supplémentaire.

selon cet article. D'un autre côté, il y a des gens qui essaient de gagner leur vie en vendant des transformées de Fisher modifiées (....).

Ensign Software - Études : Transformée de Fisher inverse

Krzysztof

 

Dans le cas de Close smoothing, il n'y a pas non plus de différence. Vous pouvez argumenter que pour certaines séries temporelles, cela fonctionnera mieux que la SMA, mais je crois que cela doit d'abord être prouvé.

Donc, nouveau livre, nouvelles théories, nouveau site et, au moins pour moi, il semble un peu scamyyyyy.

Krzysztof

Dossiers :
3.jpg  332 kb
4.jpg  286 kb
 

Merci beaucoup pour ces réponses. Je suis en train de parcourir le dernier livre de M. Ehler. Dans un autre ordre d'idées, vers la fin du livre, il déclare que "la transformée inverse de fisher de l'indicateur stochastique adaptatif donne des indications claires et sans ambiguïté sur les points d'achat et de vente appropriés".

Le code est également donné (en format de code simple) comme suit :

Étape 1 le code de l'indicateur stochastique adaptatif est :

{

Stochastique adaptatif

(c) 2013 John F. Ehlers

}

Vars :

AvgLength(3),

M(0),

N(0),

X(0),

Y(0),

alpha1(0),

HP(0),

a1(0),

b1(0),

c1(0),

c2(0),

c3(0),

Filt(0),

Lag(0),

count(0),

Sx(0),

Sy(0),

Sxx(0),

Syy(0),

Sxy(0),

Période(0),

Sp(0),

Spx(0),

MaxPwr(0),

DominantCycle(0) ;

Tableaux :

Corr[48](0),

CosinusPart [48](0),

SinePart [48](0),

SqSum[48](0),

R[48, 2](0),

Pwr[48](0) ;

/Filtre passe-haut des composantes cycliques dont les périodes sont inférieures à 48 mesures

alpha1 = (Cosinus(.707*360 / 48) + Sinus (.707*360 / 48) - 1) / Cosinus(.707*360 / 48) ;

HP = (1 - alpha1 / 2)*(1 - alpha1 / 2)*(Close - 2*Close[1] + Close[2]) + 2*(1 - alpha1)*HP[1] - (1 - alpha1)*(1 - alpha1)*HP[2] ;

//Le lissage avec un filtre Super Smoother à partir de l'équation 3-3

a1 = expvalue(-1.414*3.14159 / 10) ;

b1 = 2*a1*Cosine(1.414*180 / 10) ;

c2 = b1 ;

c3 = -a1*a1 ;

c1 = 1 - c2 - c3 ;

Filt = c1*(HP + HP[1]) / 2 + c2*Filt[1] + c3*Filt[2] ;

//Corrélation de Pearson pour chaque valeur de lag

For Lag = 0 to 48 Begin

//Définir la longueur de calcul de la moyenne comme M

M = LongueurMoyenne ;

Si AvgLength = 0 Alors M = Lag ;

Sx = 0 ;

Sy = 0 ;

Sxx = 0 ;

Syy = 0 ;

Sxy = 0 ;

For count = 0 to M - 1 Begin

X = Filt[count] ;

Y = Filt[Lag + compte] ;

Sx = Sx + X ;

Sy = Sy + Y ;

Sxx = Sxx + X*X ;

Sxy = Sxy + X*Y ;

Syy = Syy + Y*Y ;

Fin ;

Si (M*Sxx - Sx*Sx)*(M*Syy - Sy*Sy) > 0 Alors Corr[Lag] = (M*Sxy - Sx*Sy)/SquareRoot((M*Sxx - Sx*Sx)*(M*Syy - Sy*Sy)) ;

Fin ;

For Period = 10 to 48 Begin

CosinusPart[Période] = 0 ;

SinePart[Period] = 0 ;

For N = 3 to 48 Begin

CosinePart[Période] = CosinePart[Période] + Corr[N]*Cosine(360*N / Période) ;

SinePart[Period] = SinePart[Period] + Corr[N]*Sine(360*N / Period) ;

Fin ;

SqSum[Période] = CosinePart[Période]*CosinePart[Période] + SinePart[Période]*SinePart[Période] ;

Fin ;

For Period = 10 to 48 Begin

R[Période, 2] = R[Période, 1] ;

R[Période, 1] = .2*SqSum[Période]*SqSum[Période] + .8*R[Période, 2] ;

Fin ;

//Trouve le niveau de puissance maximum pour la normalisation

MaxPwr = .995*MaxPwr ;

For Period = 10 to 48 Begin

Si R[Période, 1] > MaxPwr Alors MaxPwr = R[Période, 1] ;

Fin ;

For Period = 3 to 48 Begin

Pwr[Période] = R[Période, 1] / MaxPwr ;

End ;

//Calculer le cycle dominant en utilisant le CG du spectre

Spx = 0 ;

Sp = 0 ;

For Period = 10 to 48 Begin

Si Pwr[Period] >= .5 Alors Commencer

Spx = Spx + Période*Pwr[Période] ;

Sp = Sp + Pwr[Period] ;

End ;

Fin ;

Si Sp 0 Alors DominantCycle = Spx / Sp ;

Si DominantCycle < 10, alors DominantCycle = 10 ;

Si DominantCycle > 48 Alors DominantCycle = 48 ;

//Le calcul stochastique commence ici

Vars :

HighestC(0),

LowestC(0),

Stoc(0),

SmoothNum(0),

SmoothDenom(0),

AdaptiveStochastic(0) ;

HighestC = Filt ;

LowestC = Filt ;

For count = 0 to DominantCycle - 1 Begin

Si Filt[count] > HighestC alors HighestC = Filt[count] ;

Si Filt[nombre] < LowestC alors LowestC = Filt[nombre] ;

Fin ;

Stoc = (Filt - LowestC) / (HighestC - LowestC) ;

AdaptiveStochastic = c1*(Stoc + Stoc[1]) / 2 + c2*AdaptiveStochastic[1] + c3*AdaptiveStochastic[2] ;

Plot1(AdaptiveStochastic) ;

Plot2(.7) ;

Plot6(.3) ;

Etape 2 pour implémenter la transformée de fisher inverse sur l'indicateur stochastique adaptatif :

Vars :

IFish(0) ;

Valeur1 = 2*(AdaptiveStochastic - .5) ;

IFish = (ExpValue(2*3*Value1) - 1) / (ExpValue(2*3*Value1) + 1) ;

Plot1(IFish) ;

Plot4(.9*IFish[1]) ;

Étape 3 Ajout des signaux d' achat et de vente :

On ajoute une ligne de déclenchement qui est la transformée de Fisher retardée d'une barre et atténuée à 90 %.

Étape 4 Un développement ajouté par moi :

Si possible, une variante de l'indicateur ci-dessus (indicateur stochastique adaptatif Inverse Fisher) devrait être développée qui est MTF afin que les versions à plus haute échelle de temps puissent être affichées également.

Je pense que ces 2 indicateurs, l'indicateur stochastique adaptatif Inverse Fisher et l'indicateur stochastique adaptatif MTF Inverse Fisher, seraient potentiellement des indicateurs très intéressants à tester si quelqu'un est capable de les produire dans MT4 ?

Meilleures salutations

Nigel

 

Il n'est pas nécessaire de convertir à MT4, il suffit d'utiliser tradestation ou Multicharts et de faire une analyse Walk Forward pour vérifier si cela fonctionne, code que vous avez prêt. Vous pouvez faire un essai de Multicharts, il a un analyseur Walk Forward intégré. J'ai également vérifié le filtre de couverture récemment et il a un énorme dépassement après le changement de direction de la tendance, ce qui est disqualifiant.

Tous ces auteurs de livres veulent vendre leurs livres et non faire du commerce, c'est une raison pour laquelle ils ne font pas une évaluation correcte de leurs idées, le papier accepte tout...

Krzysztof

 
Nigel99:
Mladen,

Merci pour votre réponse.

Sauf erreur de ma part, à environ 27 minutes (de la vidéo ci-jointe), M. Ehler introduit la "stochastique précédée d'un filtre de couverture" en disant que "...je mets le filtre de couverture devant la stochastique...". Je crois comprendre que cela permet d'obtenir une moyenne nulle et d'éliminer la dilatation spectrale (c'est-à-dire ce qui fait qu'une stochastique normale se heurte au haut et au bas de la fenêtre de l'indicateur). J'ai vu le filtre de couverture précédent sur ce site, merci d'y avoir fait référence.

Il me semble donc que mettre un filtre de couverture devant la transformée de Fisher inverse et l'afficher sous forme d'histo se rapprocherait de l'indicateur propriétaire MESA momentum.

Est-ce qu'il y a une possibilité que vous ayez une idée de comment soit le :

1. Filtre de toiture devant une stochastique, ou

2. Le filtre de couverture devant une transformée de fisher inverse sous forme histo, pourrait être dérivé ?

Je pense qu'ils pourraient être précieux.

Meilleures salutations

Nigel

Bonjour Nigel,

mladen a codé "SuperSmoother" comme une fonction. Vous pouvez l'utiliser pour pré-lisser une série temporelle et à mon avis, cela fonctionne bien pour cela. J'ai joint un indicateur écrit par mladen où j'ai ajouté le pré-lissage comme exemple. Cela peut s'approcher de ce que vous recherchez. Sinon, vous pouvez certainement modifier la plupart des indicateurs de cette façon.

L'indicateur est "Phase Change Index" écrit à l'origine par M.H. Pee. Voici le GPBUSD quotidien réglé sur 16 périodes avec un pré-lissage de 5 périodes.

L'indicateur est sensible à la longueur de sa période. Il est préférable de l'utiliser si vous avez une idée de la longueur de la période.

Edit : J'ai supprimé l'indicateur car je ne me souviens pas s'il provenait de la section Elite. C'est possible. Si mladen est d'accord, je le posterai à nouveau.

Cordialement,

Alex

Dossiers :
gbpusddaily.png  35 kb
 

C'est l'oscillateur mama avec un signal t3 ligne pointillée l'indicateur est également compatible avec les nouvelles constructions mt4.

 
fajst_k:
dans le cas du Close smoothing, il n'y a pas non plus de différence. Vous pouvez argumenter que pour certaines séries temporelles, cela fonctionnera mieux que la SMA, mais je crois que cela doit être prouvé d'abord.

Donc, nouveau livre, nouvelles théories, nouveau site et, en tout cas pour moi, il a l'air un peu scamyyyyy.

Krzysztof

Krzysztof

Pourquoi comparez-vous des périodes de calcul courtes ?

Plus la période de calcul est courte, plus les résultats seront similaires (jusqu'à la période de calcul 1 où toutes les moyennes / lissages / filtres seront exactement les mêmes). Pourquoi ne pas comparer des périodes plus longues et des périodes identiques ?

Même les moyennes / lissages / filtres adaptatifs ne peuvent pas s'adapter correctement pour des périodes très courtes et même ceux-ci donneront des résultats très similaires à une moyenne mobile simple si la période de calcul est suffisamment courte.

 

Selon John E., le but du SS est de tuer le bruit à haute fréquence, c'est-à-dire les périodes =< 10 barres. Je compare avec SMA(5) parce que SMA(5) a le même retard que SS(10) et sa bande passante est 2*n . Vous pouvez alors vérifier lequel lisse le mieux et ils lissent de la même façon. Il suffit de tracer les deux et vous pouvez voir que le tracé est le même.

Cela signifie qu'au moins pour USDJPY 1 min le bruit de haute fréquence (s'il existe) est lissé au même niveau par SMA(l/2) et SS(l) . Pour les autres durées

il utilise le filtre HP. Voir aussi le chapitre 'Market Data Structure' dans son article 'Predictive Indicators' et l'image avec le bruit de aliasing et le bruit de dilatation spéculaire. Je suis juste très curieux de savoir comment il a obtenu cela et comment cela se présente, par exemple pour les données du FOREX.

Krzysztof

 
fajst_k:
Selon John E., le but du SS est d'éliminer le bruit à haute fréquence, c'est-à-dire les périodes =< 10 barres. Je compare avec SMA(5) parce que SMA(5) a le même retard que SS(10) et sa bande passante est 2*n . Vous pouvez alors vérifier lequel lisse le mieux et ils lissent de la même façon. Il suffit de tracer les deux et vous pouvez voir que le tracé est le même.

Cela signifie qu'au moins pour USDJPY 1 min le bruit de haute fréquence (s'il existe) est lissé au même niveau par SMA(l/2) et SS(l) . Pour les autres durées

il utilise le filtre HP. Voir aussi le chapitre 'Market Data Structure' dans son article 'Predictive Indicators' et l'image avec le bruit de aliasing et le bruit de dilatation spéculaire. Je suis juste très curieux de savoir comment il a obtenu cela et comment cela se présente, par exemple pour les données du FOREX.

Krzysztof

Krzysztof

Comparer des lisseurs / filtres / moyennes de longueurs différentes n'est pas (du moins à mon avis) une comparaison équitable. Mais bon, c'est mon opinion. Nous pourrions simplement décider d'utiliser un filtre et l'utiliser sur tout ce que nous faisons, encore et encore, mais comment décider quoi utiliser à cette fin et comment décider que quelque chose est le meilleur si nous n'expérimentons pas, n'enquêtons pas et n'essayons pas différentes approches ?

Je me suis moi-même souvent fait dire que John Ehlers avait tendance à raconter d'abord et à essayer ensuite de produire une preuve de ce qu'il a dit et non de ce que nous pouvons voir à l'œil nu. Mais au moins, il fait des expériences. Que ce soit bon ou non n'a pas beaucoup d'importance : il a simplement le courage d'affirmer et de faire quelque chose et de se faire critiquer pour cela (s'il mérite de se faire critiquer), donc nous devrions lui donner le crédit d'essayer de repousser les limites.

Je n'ai jamais compris les tentatives d'utiliser des filtres de 2-3 barres pour essayer de trouver une tendance (quoi que nous considérions comme une "tendance"). Mais encore une fois, ce n'est que mon opinion

 
hughesfleming:

Salut Nigel,

mladen a codé "SuperSmoother" comme une fonction. Vous pouvez l'utiliser pour pré-lisser une série temporelle et à mon avis, cela fonctionne bien pour cela. J'ai joint un indicateur écrit par mladen où j'ai ajouté le pré-lissage comme exemple. Cela peut s'approcher de ce que vous recherchez. Sinon, vous pouvez certainement modifier la plupart des indicateurs de cette façon.

L'indicateur est "Phase Change Index" écrit à l'origine par M.H. Pee. Voici le GPBUSD quotidien réglé sur 16 périodes avec un pré-lissage de 5 périodes.

L'indicateur est sensible à la longueur de sa période. Il est préférable de l'utiliser si vous avez une idée de la longueur de la période.

Edit : J'ai supprimé l'indicateur car je ne me souviens pas s'il provenait de la section Elite. C'est possible. Si mladen est d'accord, je le posterai à nouveau.

Cordialement,

Alex

Alex,

Merci beaucoup pour votre aide.

Salutations

Nigel

Raison: