StepMA_Stoch_v1 EA. Semplice ma soddisfacente - pagina 3

 

Scusa, ieri sera ho fatto tardi e ho postato l'esperto sbagliato. DOH

Eccolo di nuovo

File:
 

Spepstochcross

Solo un veloce backtest

File:
 
jorgka:
Solo un veloce backtest

Ciao Jorgka,

Tnx per lo sforzo e questo EA.

Ma non vedo nessuna impostazione che permetta di ottimizzare i parametri. Standard usa 1.0 ma nella maggior parte delle situazioni si può vedere che questo non è il parametro ideale. Sui grafici a 30 minuti l'esperienza insegna che un +/- 1,4-1,6 fa un lavoro migliore. Quindi è possibile aggiungere il parametro dello stepmatoc in modo che possano essere ottimizzati?

TNX un lott è anticipo...iGoR

 

Ciao Jorgka,

Non credo che l'EA funzioni correttamente. Dà solo 15 trade quando si prova a fare il backtest delle tue impostazioni di default su un cavo di 30 minuti senza alcuno stop. Ci dovrebbero essere centinaia di trade. Se si guarda l'indicatore sul periodo di 2 anni, ci sono 100's di incroci

saluti iGoR

 

impostazioni

Ciao a tutti,

Scusate se non ho aggiunto molto a questo thread da quando l'ho iniziato, ma vorrei suggerire a Jorgka di rivedere i parametri che ho spiegato all'inizio di questo thread. Se si usa 1.0 l'EA non sarà redditizio, ma se si usa 1.9, l'EA sarà molto redditizio. Ci saranno delle perdite, ma i guadagni sono enormi. Tutto ciò che l'EA deve fare è comprare o vendere una volta che un cross è confermato sul grafico a 30 minuti di Cable, USD/CHF, USD/JPY e EUR/JPY. Se riesci a programmare l'EA per vendere o comprare il doppio delle azioni che sono attualmente nella posizione, questo permetterà di chiudere una posizione mentre si apre la posizione successiva per lo stesso importo ma nella direzione opposta.

La bellezza dell'EA è che non hai bisogno di uno stoploss perché ci sarà sempre un altro cross che terminerà la posizione corrente. Credimi, con questo EA non hai bisogno di uno stop loss. Ora fai attenzione nel programmare la posizione di chiusura/apertura come spiegato sopra perché è possibile che la posizione precedente non si chiuda quando si vende o si compra il doppio dell'importo della posizione aperta. Ho visto accadere che si apre una posizione completamente nuova per il doppio dell'importo della posizione precedente senza chiudere la posizione precedente. Per esempio, diciamo che hai una posizione lunga per 1 lotto standard. Il prossimo cross arriva e quindi l'EA vende 2 lotti standard. Questo dovrebbe vendere tutto il primo lotto standard, chiudendo quella posizione. Rimarrà 1 lotto corto che è la nuova posizione nella direzione opposta. Questo è l'ideale. Ho visto accadere che invece di finire con 1 solo short perso si potrebbe avere ancora 1 lotto lungo aperto e 2 lotti corti. Questo è ciò che vogliamo evitare.

Un altro problema che deve essere affrontato è quello di assicurarsi che l'EA esegua solo quando le linee si sono completamente incrociate e non quando si stanno incrociando perché si avranno molte aperture e chiusure di posizioni mentre si incrociano. L'EA non ha davvero bisogno di essere più complicato di quello che ho messo qui. L'unica caratteristica aggiunta di cui c'è bisogno è una che possa aumentare il numero di lotti man mano che il conto cresce, ma una volta che questo è stato inserito e l'EA è programmato correttamente, non ha davvero più bisogno di essere complicato. Funzionerà se programmato bene. Come ho detto prima, ho backtestato manualmente questa strategia e i risultati sono stati fantastici. Penso che la chiave sia assicurarsi che l'EA faccia esattamente quello che vogliamo.

Grazie per il tuo aiuto,

Huhenyo

 

Dettagli dell'EA

Cercherò di rispondere ad alcune domande e di fare un po' di chiarezza.

double diCustom0=iCustom(NULL, 30, "StepMA_Stoch_v1", 10, 1.8, 0, 0, 0); double diCustom1=iCustom(NULL, 30, "StepMA_Stoch_v1", 10, 1.8, 0, 1, 0);

double diCustom2=iCustom(NULL, 30, "StepMA_Stoch_v1", 10, 1.8, 0, 0, 1);

double diCustom3=iCustom(NULL, 30, "StepMA_Stoch_v1", 10, 1.8, 0, 1, 1);

OK Come potete vedere ci sono 4 doppi comandi dicustom.

dicustom1, dicustom2, dicustom3 & dicustom4.

Ve lo spiego nel modo più semplice possibile.

Dove NULL, 30, questo è il valore dell'intervallo di tempo. EG 30 = 30 minuti o se lo cambiate con NULL, 15, questo chiamerebbe un timeframe di 15.

"StepMA_Stoch_v1" è l'indicatore che l'Esperto chiama dal Set di indicatori MT.

Valori, 10, 1.8, 10 sono i parametri di input di StepMA_Stoch_v1, DEVONO ESSERE IN ORDINE. Quindi Igor può cambiare questi da "StepMA_Stoch_v1", 10, 1.4, 0 se vuole.

Gli ultimi due rimanenti tutti i valori nell'esperto si riferiscono a Valori. Dove il valore 0 è la linea gialla e il valore 1 è la linea blu. Perché chiedete che il valore 0 (giallo) non sia il valore 1 e il blu (valore 1) non sia il valore 2, beh, questo è perché nell'indicatore StepStoch definisce il valore 0 come giallo e il valore 1 come blu, e l'ultimo campo è il valore 0 per la barra corrente e il valore 1 è 1 barra indietro.

OK Quindi questo è l'indicatore impostato.

Ora i parametri Buy Sell

lFlagBuyOpen = (diCustom3>=diCustom2) && (diCustom0>diCustom1);

lFlagSellOpen = (diCustom2>=diCustom3) && (diCustom1>diCustom0);

lFlagBuyClose = (diCustom2>=diCustom3) && (diCustom1>diCustom0);

lFlagSellClose = (diCustom3>=diCustom2) && (diCustom0>diCustom1);

per comprare (andare lungo) Dicustom3 deve essere minore o uguale a dicustom2

Misurando una barra indietro la linea gialla deve essere minore o uguale alla linea blu

&

Dicustom0 deve essere maggiore di Dicustom1

Misurando la linea gialla deve essere più non uguale ma più della linea blu sulla barra corrente, se tutta questa linea è in alto nella stringa IFlagBuyOpen allora abbiamo un trade per andare long.

Noterete che Iflagsellclose & Iflagbuyopen sono la stessa cosa, perché quando andiamo short su una valuta (vendere) vorremmo uscire da un trade come se stessimo per comprare. quindi Iflagsellopen & iflagbuyclose hanno anche gli stessi parametri.

So che questo suona confuso per alcuni e per altri non sarà un problema, ma questo è il modo in cui si identifica un incrocio, per comprare e vendere operazioni basate sull'incrocio degli indicatori.

Igor,

Non fare mai affidamento sui back test di MT4.

Inoltre se hai bisogno di cambiare i parametri apri l'EA & Dicustom1 a 4, il valore 1.8 e cambialo anche 1.4 o 1.6, come ti conviene.

Huhenyo

Come ti ho detto, l'EA aprirà e chiuderà sul Cross buy & selling. utilizzando i parametri dati nel primo post.

Aggiungerò il Money manager in base alla % del conto, farò il 2% di default.

Pubblicherò un aggiornamento quando sarete soddisfatti.

Saluti

Jorgka

 
jorgka:
Cercherò di rispondere ad alcune domande qui e di fare un po' di chiarezza.

Dove NULL, 30, questo è il valore del timeframe. EG 30 = 30 minuti o se lo cambiate con NULL, 15, questo richiamerà un timeframe di 15 minuti.

"StepMA_Stoch_v1" è l'indicatore che l'esperto chiama dal set di indicatori MT.

Valori, 10, 1.8, 10 sono i parametri di input di StepMA_Stoch_v1, DEVONO ESSERE IN ORDINE. Quindi Igor può cambiare questi da "StepMA_Stoch_v1", 10, 1.4, 0 se vuole.

Ciao Jorgka,

Questo l'avevo già capito. Ho fatto il test su un grafico di 30 minuti e ho fatto diversi backtest ogni volta cambiando il valore da 1.1 fino a 1.8. Ma come ho detto su un periodo di 2 anni ha dato non più di 15 trade per test ... quindi effettivamente il backtesting non è assolutamente affidabile come ho scoperto con altre strategie semplici.

saluti..iGoR

 

Backtesting

iGoR,

Ho scoperto che se usi l'opzione ogni tick nel back tester otterrai molti più scambi. In un backtest di un mese ci sono stati circa 15 scambi su $/Yen e $/CHF.

Jorgka,

Ehi, per la maggior parte l'EA fa i trade accuratamente. La seconda impostazione dell'indicatore deve essere 1.9 invece di 1.8. Fa una grande differenza. Sono tornato indietro e ho controllato i trade che l'ea ha fatto e la maggior parte di essi erano corretti, ma c'era un trade che era fasullo e l'indicatore non era nemmeno vicino all'incrocio. Sapete cosa può essere successo? Vi allego uno screenshot così potete vedere. Dico anche che c'era un incrocio che non è stato scambiato. Hai inserito il codice per non fare trading su un incrocio dopo un movimento di 30 pip? Se è così, non credo proprio che sia necessario avere quel codice lì dentro.

Grazie per il tuo lavoro finora. Penso davvero che l'ea abbia del potenziale.

File:
badtrade.jpg  192 kb
 

risultati e falsi scambi

Ok, ho cambiato un po' le impostazioni in modo che PeriodWATR sia 20 e Kwatr sia 1.9. Ho eseguito il tester usando l'impostazione che valuta ogni tick, il grafico è GBP/USD. Poi sono tornato indietro e ho rivalutato ogni trade. L'EA ha fatto tutto correttamente fino al trade #24 - #28 (vedi immagine). Non so perché fa i falsi trade così. Ho anche allegato i risultati di poco più di un mese su GBP/USD; sono molto promettenti se riusciamo a capire come evitare i falsi trade. Senza quei 2 falsi trade l'EA avrebbe generato circa il 60% di ritorno in un mese di trading di un lotto. Non male, eh?

Grazie a tutti per il vostro interesse e aiuto.

Huhenyo.

File:
false_trades.jpg  235 kb
results.jpg  185 kb
 

Sembra che il segnale della barra corrente si muova abbastanza da innescare alcuni falsi segnali, grazie per averlo fatto notare.

Farò alcune modifiche da fare sulla chiusura della barra corrente. questo risolverà i falsi trade.

Sto testando l'ea qui e posterò i risultati la prossima settimana.

Avrò un aggiornamento a breve

Jorgka

Motivazione: