Mongalef Trend Filter
Forums › ProRealTime forum Français › Support ProBuilder › Mongalef Trend Filter
- This topic has 7 replies, 5 voices, and was last updated 10 months ago by maxlys.
-
-
03/04/2022 at 10:14 AM #189301
Bonjour,
Quelqu’un aurait-il le code du Mongalef Trend Filter d’Eric Lefort? à défaut pourriez-vous svp décrire de quoi est-il composé ou quels sont les principes généraux (j’ai compris qu’il était fait à base de Repulse)?
Merci
03/04/2022 at 10:15 AM #189302Je crois que tu peux le trouver dans ce sujet: Bandes de mogalef
1 user thanked author for this post.
03/04/2022 at 10:34 AM #189305Merci Nicolas. Je crois qu’il s’agit de deux choses différentes.
Les Bandes de Mongalef sont décrites ici https://www.whselfinvest.com/fr-fr/plateforme-de-trading/strategies-trading-gratuites/systeme/26-mogalef-bands
Le Mongalef Trend Filter est décrit ici https://www.mogalef-trading.com/mogalef-trend-filter
03/07/2022 at 5:54 PM #18955001/02/2024 at 7:19 PM #225918Bonjour,
Non il n’y a pas de formule magique commerciale :o)
La formule de base des bandes Mogalef est trouvable sur ce forum.
La formule du Stop Mogalef est simple. Vous pouvez aisément l’écrire en consultant cette vidéo :
https://www.youtube.com/watch?v=y6NHdN8vPMU01/06/2024 at 8:12 PM #226065express EL_MOGALEF_Bands_2023
vars
input $N(2,10,3),$ET(5,15,7),$coef(1,7,2),$Visualisation(“yes;No”,0);
input $UseWhenTrading(“Yes;No”,1);
series X,Y,MogRegLin,MogH,MogB,MogM,etyp,MogMA;
series mh,mb,mm;
series chgb, hh, bb,hhh,bbb;
numeric j,SumXY,SumX2,SumY,SumX,AvgX,AvgY,b,a,SSumXY;
series MogStopL,MogStopS,senti(50);calculation
// Le programme s’exécute à la clôture de chaque barre et non à chaque tick
if IsFirstBar() then
begin
CalculateAtEveryTick(false);end
// Calcul du cours pondéré Mogalef exprimé en ticks:
// Y étant un entier, on évite ainsi les risques d’erreurs dus aux arrondisY = round(((h+l+o+c+c)/5/TickSize()),0);
X = CurrentBarIndex(); // Indice de la barre// Calcul des paramètres a et b de la régression linéaire
// b = Somme[(X – AvgX)(Y – AvgY)]/Somme[(X – AvgX)^2] pour les N dernières barres
// On définit les variables numériques suivantes: SumX = somme[X], SumY = somme[Y], AvgX = moyenne[X], AvgY = moyenne[Y]
// SumX2 = Somme[(X – AvgX)^2], SumXY = Somme[(X – AvgX)(Y – AvgY)] calculés sur les N dernières barresif (X <= ($N-1)) then
begin
SumX = SumX + X;
SumY = SumY + Y;
MogRegLin = close;// Calcul de SumX2 à la N ième barre
if (X = ($N-1)) then
begin
SumX2 = $N*(Power($N,2)-1)/12; // Il s’avère que le résultat est une constante dépendant de N// Calcul de SumXY, a, b, MogRegLin à la N ième barre
for j = 0 to ($N-1)
begin
SSumXY = SSumXY + ($N*X[j] – SumX)*($N*Y[j] – SumY);
end
SumXY = SSumXY/power($N,2);
AvgX = SumX/$N;
AvgY = SumY/$N;
b = SumXY/SumX2;
a = AvgY – b*AvgX;
MogRegLin = (a + b*X)*TickSize(); //Le résultat est multilpié par la taille d’un tick
end
end
else// Calcul de SumXY, a, b, MogRegLin après la N ième barre
begin
// On exploite les relations qui existent entre variables d’une barre à la suivante
// pour éliminer les itérations et augmenter la vitesse de calculSumX = SumX + X – X[$N];
SumY = SumY + Y – Y[$N];
SSumXY = SSumXY + ($N*X – SumX)*($N*Y – SumY)-($N*X[$N] – SumX)*($N*Y[$N] – SumY) + $N*(X – X[$N])*(Y – Y[$N]);
SumXY = SSumXY/power($N,2);
AvgX = SumX/$N;
AvgY = SumY/$N;
b = SumXY/SumX2;
a = AvgY – b*AvgX;
MogRegLin = (a + b*X)*TickSize();
endif IsFinalBar() then
begin// On est à la dernière barre et la série MogRegLin est entièrement calculée
// On calcule la série etyp qui est l’écart type de MogRegLin
// Sans l’instruction IsFinalBar, on calculerait autant de fois l’écart type qu’il y a de barres
// ce qui ralentirait considérablement la plateformeStdDev(MogRegLin,etyp,$ET);
// Calcul des bandes de Mogalef MogMA, MogH et MogB
for j = CurrentBarIndex() downto 0
begin// Pas de décallage si la RegLine est à l’intérieur des anciennes bandes
If (MogRegLin[j] < MogH[j+1]) and (MogRegLin[j] > MogB[j+1]) then
begin
MogH[j] = MogH[j+1];
MogB[j] = MogB[j+1];
MogM[j] = MogM[j+1];
MogMA[j] = MogMA[j+1];
MogStopS[j] = MogStopS[j+1];
MogStopL[j] = MogStopL[j+1];
end
else// Si décallage tracé des nouvelles bandes
begin
MogH[j] = (MogRegLin[j] + (etyp[j]*$Coef));
MogB[j] = (MogRegLin[j] – (etyp[j]*$Coef));
MogM[j] = MogRegLin[j];
MogMA[j] = MogM[j+1];end
mh[j]=void;
mb[j]=void;
mm[j]=void;if $UseWhenTrading=0 then begin
//********************************************************
// INTERPRETATION // Must be modified, this is an exemple.
//if (h|j] >= MogH[j]) and (MogH[j] > MogH[j+1]) then senti[j] = 100;
if ((l[j] <= MogB[j]) and (MogH[j] = MogH[j+1])) then senti[j] = 100;//********************************************************
endif $Visualisation=0 then begin
mh[j]=MogH[j];
mb[j]=mogB[j];
mm[j]=MogM[j];
endend
endinterpretation
begin
sentiment=50;
sentiment=senti;
senti=100*senti;
endplotband (MH,”darkgreen”,2,MM,”blue”,1,”lightgreen”);
plotband (MM,”Blue”,1,MB,”darkred”,2,”lightred”);//@@@cs:1454737-4050339-1178231_cs@@@01/06/2024 at 8:52 PM #226067RETRACEMENT 90
1234haut = highest[90](high)bas = lowest[90](low)RET90 = (haut+bas)/2return ret9001/10/2024 at 2:29 PM #226192Bonjour,
Concernant le nouveau code des bandes de MOGALEF qu’a posté @larouedegann ci dessus, est-il possible d’avoir un mise à jour du code trouvé ici https://www.prorealcode.com/topic/mogalef-bands-et-mogalef-bands-stop-nano-trader/ , si ce code n’est plus d’actualité avec les modifications.
Merci
-
AuthorPosts
Find exclusive trading pro-tools on