Stratégies de trading basées sur les filtres numériques - page 83

 

...

Maintenant que les hachettes sont enterrées (pour de bon j'espère), je tiens à féliciter tous ceux qui ont participé aux efforts communs de ces derniers jours.

N'est-ce pas mieux que de se quereller ?

Salutations à tous

mladen

 

leledc

" Si x est inférieur à -1 ou supérieur à 1, le MathArccos(x) renvoie NaN (valeur indéterminée). "Je n'ai pas eu cette erreur en testant mais pour être sûr, tout ce que vous devez changer est ceci (ligne 253) :

w=MathArccos(b/2.0);[/php]to this : [php] w=MathArccos(MathMax(MathMin(b/2.0,1),-1));

salutations

mladen

leledc:
J'ai fait une erreur : c'était une expérience basée sur Double stoch ... Maintenant, je vais corriger l'erreur.Merci

P.s. Je travaille sur une ea pour définir les meilleurs paramètres FFT en mode automatisé mais il y a un problème : quand je lance l'ea j'ai ceci

2010.01.18 16:47:30 Fourier_Extrapolation_of_Indicator Color 1.2 EURUSD,M5 : valeur invalide pour la fonction MathArccos.

Je ne sais pas comment corriger l'erreur (j'ai essayé mais sans succès)...Mladen si vous êtes ici s'il vous plaît pouvez vous me donner votre grande aide?????Merci.
 

simba, leledc et compagnie

comment pouvons-nous obtenir cela, ? pourriez-vous expliquer cela Simba ? je veux prendre les tours...

Dossiers :
gbpjpyh4.gif  79 kb
 

prendre les virages

learntrader:
comment pouvons-nous obtenir cela, ? pourriez-vous expliquer cela Simba ? je veux prendre les tours...

Learntrader,

Je vous ai proposé une façon de vous former à l'utilisation d'un outil de trading....Qu'en est-il des 2 jours de formation ?

Maintenant, vous êtes à nouveau la proie de la recherche de l'HG...

Il n'y a pas de HG, il n'y a que de bons et de mauvais outils et de bonnes et de mauvaises façons de les utiliser, c'est tout.

L'outil le plus important est le comportement du prix au niveau du support et de la résistance... alors avec ce type de Fouriers et une bonne stratégie, vous pouvez obtenir un avantage supplémentaire... MAIS, vous ne pourrez jamais attraper tous les virages.

Je pense que même mladen attrape au maximum 92% des tours, et MrTools peut probablement en attraper 89% au mieux.

Salutations

S

 
learntrader:
Comment pouvons-nous obtenir cela ? Pouvez-vous expliquer cela Simba ? Je veux prendre les tours...

Oui, qu'est-ce qui fait la flèche sur les graphiques ?

Je n'ai pas bien compris les gars, désolé pour ça.

J'ai oublié mes pilules d'intelligence aujourd'hui.

 
mrtools:
Bonjour Leledc, Je ne suis pas sûr mais cela peut être similaire à ce que vous recherchez.

Oh merci mais j'ai fait un double post (dans le fil de tradestation aussi) et mladen a encore suggéré la même solution que vous!merci

 
Big Joe:
Oui, qu'est-ce qui fait la flèche sur les graphiques ?

Je n'ai pas compris clairement les gars, désolé pour ça.

J'ai oublié mes pilules d'intelligence aujourd'hui.

Si je me souviens bien, Simba utilise des supersignaux pour ces flèches...

 
leledc:
Oh merci mais j'ai fait un double post (dans le fil de tradestation aussi) et mladen a encore suggéré la même solution que vous!merci

Woops n'a pas vu que Mladen vous avait répondu là-bas en postant l'autre version.

 
leledc:
Bonjour, j'ai une fonction de tradestation que j'aimerais convertir en mql (pour porter une tradestation indi dans mt4).Ci-dessous l'original et ma version de la fonction en mql.cela ne fonctionne pas bien donc j'aimerais avoir l'aide d'un expert ici.merci

Langue facile

{Gaussian Filter}

Inputs: Price(NumericSeries), iptPeriod(NumericSimple), iptPoles(NumericSimple);

variables: aa(0), b(0), w(0), x(0), y(0), y1(0), y2(0), y3(0), y4(0),

a_1(0), a_12(0), a_13(0), a_14(0), a2(0), a3(0), a4(0), Pi(3.141592654),

sqrtOf2(1.414213562), Period(2), poles(0);

if (iptPeriod < 2) then

Period = 2

else

Period = iptPeriod;

// Number of filter poles must be between 1 and 4, inclusive

if iptPoles < 1 then

poles = 1

else if iptPoles > 4 then

poles = 4

else

poles = iptPoles;

// initialization - performed only for first bar

if CurrentBar = 1 then

begin

w = 2 * Pi / Period; // omega

w = 180 * w / Pi; // in degrees

b = (1 - cosine(w)) / (power(sqrtOf2, 2.0/poles) - 1.0);

aa = -b + squareroot(b*b + 2*b);

a_1 = 1.0 - aa;

a_12 = a_1 * a_1;

a_13 = a_1 * a_1 * a_1;

a_14 = a_12 * a_12;

a2 = aa * aa;

a3 = aa * aa * aa;

a4 = a2 * a2;

y1 = Price;

y2 = y1;

y3 = y2;

y4 = y3;

end;

{ Calculate your indicator value here }

x = Price;

if (poles = 1) then

y = aa * x + a_1 * y1

else if (poles = 2) then

y = a2 * x + 2 * a_1 * y1 - a_12 * y2

else if (poles = 3) then

y = a3 * x + 3 * a_1 * y1 - 3 * a_12 * y2 + a_13 * y3

else if (poles = 4) then

y = a4 * x + 4 * a_1 * y1 - 6 * a_12 * y2 + 4 * a_13 * y3 - a_14 * y4;

y4 = y3; // delayed by four bars

y3 = y2; // delayed by three bars

y2 = y1; // delayed by two bars

y1 = y; // delayed by one bar

Gauss = y;

[/php]Mql

[php]

double Gauss(double Price, double iptPeriod,double iptPoles){

double aa, b, w, x, y, y1, y2, y3, y4,a_1, a_12, a_13, a_14, a2, a3, a4;

double Pi=3.141592654;

double period=21, poles;

if (iptPeriod < 2)

period = 2;

else

period = iptPeriod;

if (iptPoles < 1){

poles = 1;

}

else if (iptPoles > 4){

poles = 4;

}

else{

poles = iptPoles;

}

// initialization - performed only for first bar

for(int i = Price; i >= 0; i--){

w = 2 * Pi / period; // omega

w = 180 * w / Pi; // in degrees

b = (1 - MathCos(w)) / (MathPow(MathSqrt(2.0),2.0/poles) - 1.0);

aa = -b + MathSqrt(b*b + 2*b);

a_1 = 1.0 - aa;

a_12 = a_1 * a_1;

a_13 = a_1 * a_1 * a_1;

a_14 = a_12 * a_12;

a2 = aa * aa;

a3 = aa * aa * aa;

a4 = a2 * a2;

y1 = Price;

y2 = y1;

y3 = y2;

y4 = y3;

}

for(i = Price; i >= 0; i--){

x = Price;

y = a4 * x + 4 * a_1 * y1 - 6 * a_12 * y2 + 4 * a_13 * y3 - a_14 * y4;//we don't need y1 y2 y3 y4

}

return (y);

}

Bonjour Leledc,

Je ne suis pas sûr mais cela peut être similaire à ce que vous recherchez.

EDIT : J'ai posté la mauvaise version, la bonne version sur le post#841.

 
leledc:
Si je me souviens bien, Simba utilise des supersignaux pour ces flèches...

Merci !