Strategie di trading basate su filtri digitali - pagina 83

 

...

Ora che l'ascia di guerra è sepolta (per sempre, spero), voglio congratularmi con tutti voi che avete partecipato agli sforzi comuni dei giorni scorsi.

Non è meglio che litigare?

saluti a tutti voi

mladen

 

leledc

"Se x è inferiore a -1 o supera 1, il MathArccos(x) restituisce NaN (valore indeterminato). "Non ho ottenuto questo errore nei test, ma per renderlo sicuro tutto quello che devi cambiare è questo (linea 253):

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

saluti

mladen

leledc:
Ho fatto un errore: quello era un esperimento basato su Double stoch ...Ora correggerò l'errore.Grazie

P.s. sto lavorando ad un ea per impostare le migliori impostazioni FFT in modalità automatica ma c'è un problema: quando lancio l'ea ho questo

2010.01.18 16:47:30 Fourier_Extrapolation_of_Indicator Color 1.2 EURUSD,M5: valore non valido per la funzione MathArccos.

Non so come correggere l'errore (ho provato ma senza successo)...Mladen se sei qui per favore puoi darmi il tuo grande aiuto????? Grazie
 

simba, leledc e compagnia

Come possiamo ottenerlo? Potresti spiegare questo simba? Voglio fare i turni...

File:
gbpjpyh4.gif  79 kb
 

prendere le curve

learntrader:
Come possiamo ottenere questo? Potresti spiegare questo simba? Voglio prendere le curve...

Learntrader,

Ti ho suggerito un modo per allenarti nell'uso di uno strumento per il trading....Che mi dici dei 2 giorni di formazione?

Ora, stai di nuovo cadendo preda della ricerca dell'HG...

Non ci sono HG, ci sono solo strumenti buoni e cattivi e modi buoni e cattivi di usarli, tutto qui.

Lo strumento più importante è il comportamento del prezzo al supporto e alla resistenza...poi con questo tipo di Fourier e una buona strategia si può ottenere un ulteriore vantaggio...MA, non si potranno mai prendere tutte le curve.

Penso che anche mladen catturi al massimo il 92% delle curve, e MrTools probabilmente può prenderne al massimo l'89%.

Saluti

S

 
learntrader:
Come possiamo ottenerlo? Potresti spiegare questo simba? Voglio fare i turni...

Sì, cosa fa la freccia sui grafici?

Non ho capito bene ragazzi, scusate.

Ho dimenticato le mie pillole di intelligenza oggi.

 
mrtools:
Ciao Leledc, Non sono sicuro ma questo potrebbe essere simile a quello che stai cercando.

Oh grazie ma ho fatto un doppio post (anche nel thread di tradestation) e mladen ha già suggerito la tua stessa soluzione!

 
Big Joe:
Sì, cosa fa la freccia sui grafici?

Non ho capito bene ragazzi, scusate.

Ho dimenticato le mie pillole di intelligenza oggi.

Se ricordo bene Simba usa i supersegnali per quelle frecce...

 
leledc:
Oh, grazie, ma ho fatto un doppio post (anche nel thread di tradestation) e Mladen mi ha già suggerito la tua stessa soluzione!

Woops non avevo visto che Mladen ti aveva risposto postando l'altra versione.

 
leledc:
Ciao ho una funzione di tradestation: mi piacerebbe convertirla in mql (per portare un indi di tradestation in mt4), di seguito l'originale e la mia versione della funzione in mql, non funziona bene, quindi vorrei un aiuto da qualche esperto qui.

Easylanguage

{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);

}

Ciao Leledc,

Non sono sicuro, ma questo potrebbe essere simile a quello che stai cercando.

EDIT: Postato versione sbagliata versione corretta su post#841

 
leledc:
Se ricordo bene Simba usa i supersegnali per quelle frecce...

Grazie!