![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
21 dicembre 2006 12:51 Est
Ecco lo stato delle cose al 21 dicembre. Questo è incredibile. Fa sembrare che io sappia cosa sto facendo; non è così. Almeno non completamente. Ho trovato la linea per limitare la dimensione dei lotti e ne parlerò più tardi.
Vorrei ridurre il capitale in commercio, cioè ritirare alcuni profitti, qualcuno sa come farlo su una demo? Voglio solo ridurre intenzionalmente il capitale utilizzato nel trading.
Pipsqueak2
22 dicembre TRATTAMENTO DEI RISULTATI
Sembra che questo thread sia molto tranquillo. Comunque ecco i miei risultati e commenti.
1) Terminator non è dotato di stop, è necessario aggiungere stop regolari e trailing stop.
2) I lotti massimi sono impostati a 100 nel programma, per me è troppo alto. Devi cambiare la linea nel codice "if(maxLots>=100){maxLots=100;}". Cambia il 100 con un numero più basso, per esempio 5.
3) Case0: sembra il vincitore nel mio test in avanti questa settimana e la scorsa. Case0: è la pendenza del MACD. Introdurrò un filtro per ignorare le pendenze troppo superficiali (movimenti laterali) e userò la pendenza dell'EMA invece del MACD sembra che l'EMA dia segnali più precoci.
4) La prossima settimana, mi concentrerò sul più favorevole Case0:: che credo sarà MACD quando farò l'analisi.
Happy pipping.
Pipsqueak2
Risultati allegati.
Sembra che questo thread sia molto tranquillo. Comunque ecco i miei risultati e commenti.
1) Terminator non viene fornito con stop, è necessario aggiungere stop regolari e trailing stop.
2) I lotti massimi sono impostati a 100 nel programma, per me è troppo alto. Devi cambiare la linea nel codice "if(maxLots>=100){maxLots=100;}". Cambia il 100 con un numero più basso, per esempio 5.
3) Case0: sembra il vincitore nel mio test in avanti questa settimana e la scorsa. Case0: è la pendenza del MACD. Introdurrò un filtro per ignorare le pendenze troppo superficiali (movimenti laterali) e userò la pendenza dell'EMA invece del MACD sembra che l'EMA dia segnali più precoci.
4) La prossima settimana, mi concentrerò sul più favorevole Case0:: che credo sarà MACD quando farò l'analisi.
Happy pipping.
Pipsqueak2
Risultati allegati.Sto ancora facendo ricerca, sviluppo e test su una migliore gestione per fare un Terminator EA più sicuro. Da qui la mia mancanza di presenza fino a quando non avrò qualcosa di fruttuoso da consegnare.
Per quanto riguarda la linea di codice di cui sopra, la maggior parte, se non tutti i broker che utilizzano Metatrader hanno un limite di 100 lotti. Quindi se le impostazioni Lots= e MaxTrades= sono tali che la dimensione del lotto supererebbe i 100 lotti, l'EA imposterà il massimo consentito a 100 lotti. Questo è lo scopo di quella sezione di codice.
tom
Test di Terminator
Ciao tmaneval, bel lavoro che hai fatto. Il mio conto demo è passato da circa 8k a 35k in poco meno di un mese. Tuttavia non sono ancora a mio agio con Terminator mentre è impostato con stoploss=0, e trailing stoploss=0.
Ho inserito manualmente gli stop quando posso. Nelle impostazioni extrenali, non dovrei usare gli stop?
Pensavo che l'EA trovasse automaticamente i punti di entrata dai 5 casi dell'ultima pagina. Dopo aver esaminato il tuo codice, non riesco a vedere dove viene calcolato "OpenOrdersBasedOn", invece lo vedo come una variabile. La mia copia di Treminator aveva "5" come variabile e tutte le posizioni aperte usavano Case5: per l'algoritmo. Da allora l'ho cambiato in 0, e 1... ecc.
Ho anche intenzione di cambiare la variabile Pips a qualcosa come 200, perché non voglio aprire più di una posizione nella stessa direzione. Cosa ne pensate dei miei risultati e delle mie impostazioni?
Pipsqueak2
Analisi
Ecco i risultati dei miei test dei vari casi.
Caso 0: GBP/USD Guadagno/perdita netto $13.217 GAIN
Caso 1: USD/JPY guadagno/perdita netto $827 GAIN
Caso 2: EUR/CHF guadagno/perdita netta $147 PERDITA questo era il mio algoritmo nfg!
Caso 3: non testato
Caso 4: USD/CHF guadagno/perdita netta $2.271 GAIN
Caso 5: EUR/USD guadagno/perdita netta $8,132 GAIN.
Conclusione: Il mio algoritmo è nfg. Il caso 0 è il vincitore di gran lunga, ma potrebbe essere ulteriormente modificato per ridurre i trade negativi.
Questa settimana testerò il Caso 0 ma invece di usare la pendenza del MACD MAIN, userò la pendenza di un Linear weighted MA(5) con filtraggio per ignorare le pendenze superficiali. La LWMA(5) abbraccia da vicino il profilo del prezzo e se posso escludere il trading nella regione delle pendenze superficiali, i cattivi trade potrebbero essere evitati.
Pipsqueak2
Questo è reale?
Ho provato il backtesting con un nuovo algoritmo di entrata e ha appiattito i miei 10k in un anno. Poi sono passato dal criterio di acquisto alla vendita e dalla vendita all'acquisto. Questo non ha senso per me ma il backtest su GBP/USD è stupefacente. Ho permesso lotti fino a 100.
Vedi i risultati del backtest qui sotto; è sorprendente, ora se potessi duplicare lo stesso su un test demo in avanti e poi su un test live!
Finora ho ottenuto questi risultati sulla coppia GBP/USD ma anche EURO/USD è abbastanza buono. Ecco il mio algoritmo:
========================================================
int OpenOrdersBasedOnMACD()
{
int myOrderType=3;//Caso 0
double a1=iMA(NULL,0,5,0,MODE_LWMA,PRICE_OPEN,0);
double a2=iMA(NULL,0,5,0,MODE_LWMA,PRICE_OPEN,1);
if(a1>a2){myOrderType=1;}
double a3=iMA(NULL,0,5,0,MODE_LWMA,PRICE_CLOSE,0);
double a4=iMA(NULL,0,5,0,MODE_LWMA,PRICE_CLOSE,1);
if(a3<a4){myOrderType=2;}
if(myOrderType!=3){EntryStrategy="Case 0";}
return(myOrderType);
}
========================================================
Qualcuno può capire cosa c'è di sbagliato? Mi piacerebbe saperlo perché sembra totalmente illogico, ma funziona nel backtest.
Pipsqueak2
Risultati comparativi
Alcuni di voi potrebbero essere interessati ai miei risultati comparativi. Tutte le coppie sono state testate in condizioni identiche, ma i risultati dei backtest sono molto diversi. Questo dà più credito alla mia affermazione che gli EA dovrebbero essere specifici per ogni coppia. Credo che sia una perdita di tempo cercare di produrre un EA unico per tutti.
Se esiste una cosa del genere, allora così sia, altrimenti penso che sia meglio sviluppare EA per coppie e TF specifici, ecc. Tutti i miei test sono stati effettuati sul TF H1. I risultati qui sotto non sono assoluti, ma relativi. Un ritorno eccezionalmente buono su una coppia è privo di significato per qualsiasi altra coppia.
====================================================
TEST DI COPPIE vs TERM2.02 EA
H1; st=35; tp=35; tr=25; maxlots100;;openpos=5; mm=1;Account=normale; etc,Capitale iniziale=$10,000;Jan01/06-Dec 15/06
1) GBP/USD $5.940.718
2) EUR/USD 62.995
3) USD/CAD 39.689
4) EUR/AUD 36.639
5) USD/CHF 36.370
6) EUR/JPY 25,889
7) USD/JPY 24,465
8) GBP/JPY 16,716
9) GBP/CHF 16,548
A) EUR/CHF 9,516
B) EUR/GBP 8,844
C) AUD/USD 7,726
Pipsqueak2
Ho provato il backtest con un nuovo algoritmo di entrata e ha appiattito i miei 10k in un anno. Poi sono passato dal criterio di acquisto alla vendita e dalla vendita all'acquisto. Questo non ha senso per me ma il backtest su GBP/USD è stupefacente. Ho permesso lotti fino a 100.
Vedi i risultati del backtest qui sotto; è sorprendente, ora se potessi duplicare lo stesso su un test demo in avanti e poi su un test live!
Finora ho ottenuto questi risultati sulla coppia GBP/USD ma anche EURO/USD è abbastanza buono. Ecco il mio algoritmo:
========================================================
int OpenOrdersBasedOnMACD()
{
int myOrderType=3;//Caso 0
double a1=iMA(NULL,0,5,0,MODE_LWMA,PRICE_OPEN,0);
double a2=iMA(NULL,0,5,0,MODE_LWMA,PRICE_OPEN,1);
if(a1>a2){myOrderType=1;}
double a3=iMA(NULL,0,5,0,MODE_LWMA,PRICE_CLOSE,0);
double a4=iMA(NULL,0,5,0,MODE_LWMA,PRICE_CLOSE,1);
if(a3<a4){myOrderType=2;}
if(myOrderType!=3){EntryStrategy="Case 0";}
return(myOrderType);
}
========================================================
Qualcuno può capire cosa c'è di sbagliato? Mi piacerebbe saperlo perché sembra totalmente illogico, ma funziona nel backtest.
Pipsqueak2Forse hai solo invertito i tuoi tipi di ordine? Provate questo:
int OpenOrdersBasedOnMACD()
{
int myOrderType=3;//Caso 0
double a1=iMA(NULL,0,5,0,MODE_LWMA,PRICE_OPEN,0);
double a2=iMA(NULL,0,5,0,MODE_LWMA,PRICE_OPEN,1);
if(a1>a2){myOrderType=2;}//buy
double a3=iMA(NULL,0,5,0,MODE_LWMA,PRICE_CLOSE,0);
double a4=iMA(NULL,0,5,0,MODE_LWMA,PRICE_CLOSE,1);
if(a3<a4){myOrderType=1;}//vendita
if(myOrderType!=3){EntryStrategy="Case 0";}
return(myOrderType);
}
O è il codice di cui sopra che ha fatto crashare il conto nel backtest?
tom
fibolotsize
ciao tom, vorrei sapere se è possibile includere nello script di terminator
v2 , una progressione della dimensione del lotto di fibonacci..... grazie
ciao tom, vorrei sapere se è possibile includere nello script di terminator v2 un fibonacci lot size progression..... grazie
Fatto. Vedi post#1 per T2.03. Aggiunto anche un altro trigger di acquisto/vendita (OpenOrdersBasedOn=6)
Cambiato alcune impostazioni nella speranza di rendere questo un EA più sicuro - maggiore pipspread.
Non è molto finora.... ma ogni piccola cosa aiuta.
tom