Strategie di trading basate su filtri digitali - pagina 81

 

Indicatore di base

Pava:
come cambiare l'indicatore di base nell'estrapolatore?

Pava,

Posta qui l'indicatore base che vuoi usare e io farò il mod per te, se è un "indicatore segreto" che non vuoi postare, basta cambiare la linea di codice come suggerito nei post precedenti.

Se, per esempio, vuoi fare la Fourier Extr di RSI dovresti aggiungere ai parametri di input quanto segue...

extern int RSIPeriod = 14;

E, poi cambiare questa linea di codice:

in=0.5+iWPR(NULL,0,50,i+lb)/100.0; //cambia indicatore qui

Per questo

in=0.5+iRSI(NULL, 0, RSIPeriod,0,i+lb)/100.0; //cambia indicatore qui

Saluti

S

 

scusa

Voglio scusarmi pubblicamente con simba per il mio comportamento in questo thread, mi dispiace se ti ho offeso ....

 

problema

infatti per fare la trasformata di Fourier rsi mi mostra che: 'in' - espressione sull'ambito globale non consentita C: \Program Files \ WHC Trader 4 \ esperti \ indicatori \ RSI.mq4 (16, 1)

qualcuno sa perché?

 

FFTProblema

Ora, prima che tutti credano che questo sia l'HG, voglio sottolineare che non lo è

Vedi la foto allegata...Grande problema qui, se aveste creduto ciecamente al segnale della FFT del WPR sareste andati in corto molto prima del necessario.

Quindi, questo significa che l'FFT dell'indicatore non è utile?...No...Può essere molto utile se si sa come fare trading, fondamentalmente ci sono 2 modi...Il primo è cercare la conferma del breakout della trendline, dopo il cambiamento di colore dell'FFT, ed evitare di entrare in un trade fino a quando il prezzo (preferibilmente vicino) attraversa la trendline...Il secondo metodo lo spiegherò nel prossimo post.

Saluti

S

File:
fftproblem.gif  70 kb
 

e..

Perdonatemi l'interruzione, quindi, fft non può prendere giri come nell'immagine? ridipingere?

File:
gbpjpyh4.jpg  266 kb
 

FFTSolution

Ci sono altri modi per usare questi indicatori, ma la trendline e quella che vi spiegherò ora sono la base per fare trading con questo tipo di strumenti, potete poi combinarli entrambi o aggiungere la conferma MTF... ma la base sono questi 2 metodi.

Secondo metodo:

1-TrendFilter: Vedi foto FTTSolution1...USATE una FFT con un indicatore di base con un periodo compreso tra 200 e 300 barre, in questo caso ho usato un RSI a 250 periodi...e Harmonics=1...Questo sarà il vostro filtro di tendenza, e l'effetto di ridisegno è trascurabile...quindi, una volta diventato ROSSO, potete fare solo operazioni brevi.

2-Trigger Entry: Vedi figura FFTSolution2...aggiungi al grafico un secondo indicatore FFT con periodo normale (in questo caso RSI=14) e armoniche tra 5 e 25 (io ho usato 25 per l'esempio)...Se il trendfilter segnala un trend ribassista, entri quando anche il Trigger segnala un trend ribassista...vedi le aree blu che ho segnato sul grafico...Puoi uscire per TP o, obbligatoriamente, per cambio di colore.... Nel caso segnalato ci sono state 5 entrate, 3 di esse marginalmente profittevoli, 2 di esse molto buone....

Anche questo non è l'HG, MA è un'ottima strategia per fare trading sicuro e redditizio.

SUGGERIMENTI:

1-Non essere avido, usa o la trendline, o questo metodo, o entrambi...NON anticipare il cambio di trend...Usa sempre un trendfilter basato su, almeno H1 con >200 periodi.

2-Il mio solito commento sui timeframe inferiori...Usalo a/sopra H1...Se proprio devi usarlo a m1, m5, m15, fallo, solo se i TRENDFILTERS m15 e h1 (>200 periodi) segnalano entrambi nella stessa direzione.

3-Le migliori entrate si fanno se sei estremamente paziente e aspetti il giusto setup...Vedi l'ultima entrata (area blu) al secondo grafico...Il trend era giù, c'è stato un ritracciamento tipo ABCD che ha ritracciato più del 50% del downmove precedente (circa 80%) e poi una entrata Trigger.

4-Le armoniche alte (25) sono più veloci ma possono ridipingere, di solito in controtendenza, puoi usarle per il Trigger se fai trading nella direzione del trend, ma, preferibilmente, usa solo 5 armoniche...avrai meno trade ma prenderai quelli profittevoli.

5-Pratica i tuoi setup e trigger con il Visual Tester, prendi la mano, per diversi timeframes e diverse coppie.

Saluti

S

File:
 

Ok

learntrader:
Voglio scusarmi pubblicamente con simba per il mio comportamento in questo thread con lui, scusa se ti ho offeso ....
learntrader:
infatti per fare la trasformata di Fourier rsi mostratemi che?: 'in' - espressione su ambito globale non consentita C: \Program Files \ WHC Trader 4 \ esperti \ indicatori \ RSI.mq4 (16, 1) qualcuno sa perchè?
learntrader:
Scusate l'interruzione, allora, fft non può prendere giri come nell'immagine? ridipingere?

Dario,

1-Accetto le tue scuse.

2-Vedi allegata a questo post la FFT di RSI, ho modificato gli indicatori Leledc, visto che ha tutte le campane e i fischietti.

3-FFT può prendere quei giri, la questione più importante è l'indicatore di base che si utilizza ... FFT può ridipingere come un matto, o può essere molto stabile, se lo si utilizza come ho spiegato nel mio post precedente, si combina un filtro direzionale stabile con un veloce (incline a ridisegni o ridipinture) "turncatcher" ... la chiave è che combinandoli si riduce al minimo i pericoli del ridipinting e profitto da ingressi direzionali veloci.

Leledc

Grazie per la modifica del tuo indicatore.

Saluti

S

 
SIMBA:
Dario,

1-Accetto le tue scuse.

2-Vedi allegato a questo post il FFT di RSI, ho modificato gli indicatori Leledc, dato che ha tutte le campane e fischietti.

3-FFT può prendere quei giri, la questione più importante è l'indicatore di base che si utilizza ... FFT può ridipingere come un matto, o può essere molto stabile, se lo si utilizza come ho spiegato nel mio post precedente, si combina un filtro direzionale stabile con un veloce (incline a ridisegni o ridipinture) "turncatcher" ... la chiave è che combinandoli si riducono al minimo i pericoli del ridipinting e profitto da entrate direzionali veloci.

Leledc

Grazie per la modifica del tuo indicatore.

Saluti

S

Sono molto contento di sentire questo da te!!!!

 

Filtro gaussiano

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

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

}

 

!!!!!!!!!!