![MQL5 - Linguaggio delle strategie di trading integrato nel client terminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Indicatore di base
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
e..
Perdonatemi l'interruzione, quindi, fft non può prendere giri come nell'immagine? ridipingere?
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
Ok
Voglio scusarmi pubblicamente con simba per il mio comportamento in questo thread con lui, scusa se ti ho offeso ....
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è?
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
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
SSono 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);
}
!!!!!!!!!!