ProRealTime
Zone de développement des applications API, des logiciels et utilitaires développés par les membres du forum

Aide pour développer l’équivalent de la Jurik Moving Average

par takapoto » 11 Déc 2017 16:23

La JMA ou Jurik Moving Average est une moyenne mobile avec très peu de retard, développée et commercialisée par Jurik Research : http://www.jurikres.com/catalog1/ms_ama.htm#top
Cet indicateur est vendu environ 200 $, ce qui n’est pas forcément rédhibitoire mais avec l’inconvénient majeur de ne pouvoir être installé que sur un poste à la fois. Et la procédure pour la basculer d’un PC à l’autre est très lourde. Je l’avais achetée il y a quelques années mais j’ai perdu les factures ainsi que la DLL et je ne peux donc plus l’utiliser.

J’ai trouvé deux codes approchants pour PRT :
1 - Résultat correct mais sans les sources (en noir sur le graphe ci-dessous) :
http://sohocool.over-blog.com/article-moyenne-adaptive-jurik-smooth-pour-prt-120413874.html
2 - Résultat moins bon mais avec les sources (en bleu sur le graphe ci-dessous)
http://sohocool.over-blog.com/article-moyenne-jurik-smooth-pour-prorealtime-119657525.html
En rouge : moyenne mobile simple

J’essaie donc de développer l’équivalent mais je manque de formation théorique sur le traitement et le lissage du signal et son auto-adaptivité au contexte.

Donc je fais appel aux membres du forum qui ont une solide formation mathématique et qui voudrons bien m'orienter sur les bonnes pistes.

Merci par avance :)

Spoiler:
PS 1 :
Il ne s’agit pas de la moyenne de Hull décrite ici :
https://alanhull.com/hull-moving-average

PS2 :
Evitons que cette file ne dérive vers une discussion sur la pertinence d’utiliser les moyennes mobiles, sur l’intérêt de la JMA par rapport aux autres moyenne, sur le mirage que constitue l’ambition de lisser un signal sans le déformer, etc. Ceux qui veulent en discuter peuvent le faire ici :
https://www.elitetrader.com/et/threads/why-are-quants-afraid-of-mark-jurik.209408

PS3 :
Il est bien entendu que si je développe quelque chose de satisfaisant grâce à votre aide, je le publierais (au format PRT et en C#)

Re: Aide pour développer l’équivalent de la Jurik Moving Ave

par takapoto » 11 Déc 2017 16:56

Merci -, je vais aller voir IMSL

Re: Aide pour développer l’équivalent de la Jurik Moving Ave

par falex » 11 Déc 2017 17:13

Ça ressemble à une fft (fast Fourier transforme).

Quel est son intérêt par rapport a une MM a période courte ?

Re: Aide pour développer l’équivalent de la Jurik Moving Ave

par Jim » 11 Déc 2017 20:52

Takapoto, peux-tu préciser ta demande :
1) disposes-tu de la formule de la JMA ? (apparemment elle serait confidentielle)
2) as-tu une difficulté mathématique à comprendre la formule ?
3) as-tu une difficulté pour le codage ?

Re: Aide pour développer l’équivalent de la Jurik Moving Ave

par gribouille » 11 Déc 2017 21:03

bonsoir,

de vagues souvenirs me feraient pencher vers un filtre PID (Proportionnel Intégral Dérivé) et ça se travaille avec la transformée de Laplace. Wiki donne quelques infos. Quant à le mettre en place, de l'eau est passée sous les ponts depuis mes études .... :?

jlr

Re: Aide pour développer l’équivalent de la Jurik Moving Ave

par Nomade » 11 Déc 2017 21:20

Sans connaitre les equations a l'origine de la JMA difficile d'aller tres loin.

Par contre si tu veux ajouter de l'adaptivite a la JuSmoothedV1 de sohocool, tu peux te baser sur (http://sohocool.over-blog.com/article-moyenne-double-exponentielle-dema-multi-alphas-adaptative-119910002.html).

il calcule un coef fonction d'une volatilite calculee avec l'ecart type et pondere la periode de la moyenne par ce coef:

dev=STD[period_de_reference](prix)
avgstd=average[periode_de_reference](dev)
coef_volatilite=avg/dev
period=periode_de_reference * coef_volatilite // multiplie ou divise si tu veux augmenter ou diminuer la periode avec la volat

et tu utilises la variable period dans les calculs de la moyenne (ce n'est plus un entier mais pas genant pour la formulation utilisee):

Code: Tout sélectionner
////MOVING AVERAGE "JURIK" SMOOTH
//BY SOHOCOOL AOUT 2013
///VARIABLE
///P= PERIODEREFERENCE //ENTIER
///PH = PHASE  //ENTIER  DEFAUT =1
////ALF = POWER // ENTIER  DEFAUT =1
///////////////CHOIX DE 1 A 5
//OPT = OPTION //ENTIER      0= FILT 0
//                           1= FILT 1
//               DEFAUT      2= FILT2
prix=customclose

dev=std[p](prix)
avg=average[p](dev)
coefvolatilite=avg/dev
period=p*coefvolatilite

bet=(0.45*(Period-1)/(0.45*(Period-1)+2))
phase=ph

if alph=1 then
alpha = bet
elsif alph =2 then
alpha = bet*bet
elsif alph=3 then
alpha= bet*bet*bet
elsif alph =4 then
alpha =bet*bet*bet*bet
elsif alph =5 then
alpha= bet*bet*bet*bet*bet
else
alpha =bet
endif
If barindex >Period then
Filt0 = (1-alpha)*prix + alpha*Filt0[1]
Det0  = (prix - Filt0)*(1 - bet) + bet*Det0[1]
Filt1 = Filt0 + Phase*Det0
Det1  = (Filt1 - Filt2[1]) * ((1 - alpha)*(1-alpha)) + alpha*alpha*Det1[1]
Filt2 = Filt2[1] + Det1
endif
if Opt = 0 then
JSmooth = Filt0
elsif Opt = 1 then
JSmooth = Filt1
elsif Opt = 2 then
JSmooth = Filt2
else
jsmooth = filt2
endif
return  jsmooth as " Jurik Smooth"

Re: Aide pour développer l’équivalent de la Jurik Moving Ave

par DarthTrader » 12 Déc 2017 00:55

apparemment elle est dispo sur metatrader http://www.best-metatrader-indicators.com/jurik-moving-average-jma/

y a pas moyen de la transformer en language prt ou autre ?

Re: Aide pour développer l’équivalent de la Jurik Moving Ave

par takapoto » 12 Déc 2017 05:55

@Jim : Non je n'ai pas la formule, je cherche à la reconstituer mais je ne sais pas quelles équations mathématiques utiliser.
@jlr : C'est justement ce genre d'équations que je recherche. Je vais voir ce que je peux en tirer.
@Nomade : Je vais implémenter l'adaptivite et je ferais un retour
@Darth : Je vais transformer le code mq4 en prt et je fais un retour

:merci: à tous !

Re: Aide pour développer l’équivalent de la Jurik Moving Ave

par takapoto » 12 Déc 2017 10:21

Bonjour .. Si tu peux le retrouver, ça m'intéresse (au cas où la JMA employée serait différente de celles déjà mentionnées). Merci !

Re: Aide pour développer l’équivalent de la Jurik Moving Ave

par HellionReign » 12 Déc 2017 10:29

Bonjour Takapoto,

Très Intéressant ton indicateur là...
Bon courage pour son développement :top:

takapoto a écrit:@Darth : Je vais transformer le code mq4 en prt et je fais un retour

:hein: What.... Est-ce vraiment possible Taka ?

On m'avait dit que c'était impossible... :|
Mais Si Oui ça m’intéresse au plus haut point pour 2, 3 indicateurs mt4... ;)

A Bientôt :mercichinois:

Articles en relation
Developper une interface de trading auto en Python pour IG
par Photon » 05 Oct 2018 07:33 (27 Réponses)
API pour ouverture de PRT
par jeanma » 24 Sep 2015 10:25 (0 Réponses)
L3 pour smartphone
par clodreb » 04 Oct 2016 09:00 (5 Réponses)
vos sons pour le trading
par Tartempion » 22 Oct 2015 00:33 (4 Réponses)
Adresse pour télécharger les APi
par DarthTrader » 27 Mar 2017 17:20 (2 Réponses)
Où trouver un développeur MQL pour MT4
par PhilippeVar » 22 Mai 2019 16:38 (8 Réponses)
MoneyM - les API d'IG pour une meilleure gestion du MM
Fichier(s) joint(s) par Ant-Man » 11 Déc 2015 14:23 (26 Réponses)
epic ig pour le dax 30 compte options ?
par ticktack » 26 Juin 2019 18:13 (3 Réponses)
help connexion lightstream pour (encore un) bot de trading
par Tartempion » 01 Avr 2016 16:13 (1 Réponses)
Programme pour récuperer les ticks chez PRT cfd à risque limité
Fichier(s) joint(s) par falex » 16 Déc 2016 10:52 (36 Réponses)

ProRealTime