Consigliere Ivan - il meglio di ilan - pagina 8

 

Ho deciso di fare un esperimento del genere: a partire dal 2012.01.01 su USDJPY M15 condurre l'ottimizzazione per mezzo anno e fare trading con il miglior risultato di ottimizzazione per mezzo anno. Poi ottimizzare e commerciare di nuovo

Parametro di ottimizzazione: "Balance + max Sharp Ratio". Modo di generazione di zecche: "OHLC".

Il prossimo sarà ...

 

versione "1.008".

Parametri di ingresso:



Usare la mediapermesso/inibizione alla mediazione (in pip)
Stop Loss (in pip) ma_periodoperiodo di mediazione (Moving Average, MA) - i valori di questo indicatore sono il livello di Stop Loss per una posizione/posizioni
% di rischio (da 1 a 90)Rischio per operazione in percentuale del margine
Barra zero o prima barrapermesso/negato di ricevere indicatori di dati (Commodity Channel Index, CCI) da una barra zero
Livello inverso CCI(100) (valori assoluti da 0 a 150)Livello CCI(100) al di sopra del quale si genera il segnale "Reverse" - chiudendo le posizioni correnti e permettendo di aprire posizioni opposte
Livello globale del segnale CCI(100) (valori assoluti da 0 a 150)livello CCI(100), sopra il quale viene generato un segnale di apertura di posizione
Distanza minima dal prezzo allo stop loss (in pip)Distanza minima tra Stop Loss (indicatore (Moving Average, MA) e il prezzo corrente
Passo di trascinamento (in pip)passo di trascinamento
Coefficiente di protezione Profittocalcolato come Equity/Balance - se questo coefficiente viene superato, chiudiamo tutte le posizioni, prendendo quindi profitto.
numero magiconumero magico

Inoltre abbiamo cambiato la logica per la scala in: per esempio per aprire una posizione di acquisto non cerchiamo la posizione più bassa, ma semplicemente controlliamo il prezzo di apertura della posizione PROPRIA nella stessa direzione. Se questa POSIZIONE CORRENTE ha un prezzo di apertura inferiore all'attuale prezzo Ask, in questo caso non vogliamo riempire la posizione BUY.

E, come sempre, raccomandazioni: ottimizzare in modalità di generazione di tick "OHLC", ed eseguire passaggi singoli in "Tutti i tick" o "Ogni tick basato su tick reali".

File:
Ivan.mq5  48 kb
 

Ecco un'idea: voglio eseguire la genetica su molti simboli e molti timeframe (in modo ottimale da M5 fino a H4 incluso). Poi pubblica qui i risultati della genetica (come salvare i risultati del test: dopo la genetica nella scheda "Ottimizzazione" clicca col tasto destro e "Esporta in XML").

Dati di origine:

Impostazioni

Server MetaQuotes-Demo.

Parametri da ottimizzare:

Parametri

Eseguire su tali simboli (set di caratteri "forex.all"):

Simbolo

Periodi

Utente

EURUSD

M5, M10

Vladimir Karputov

GBPUSD

USDCHF

USDJPY

USDCAD

AUDUSD

AUDNZD

AUDCAD

M5

Vladimir Karputov

AUDCHF

AUDJPY

CHFJPY

EURGBP

EURAUD

EURCHF

EURJPY

EURNZD

EURCAD

GBPCHF

GBPJPY

CADCHF


bisogno di aiuto - non posso fare così tanti test da solo. Il prerequisito è che il test genetico deve passare COMPLETAMENTE - finché non si ferma completamente.

 

Ivan 1,008 EURUSD M5:

Ivan 1.008 EURUSD M5 TesterOptgraphReport

Passaggio singolo con il miglior risultato (Ogni tick basato sulla modalità real ticks):

Ivan 1.008 EURUSD M5 TesterGraphReport

Come potete vedere, il profitto principale viene dalle aggiunte su buoni movimenti a senso unico.

 

Ivan 1,008 EURUSD M10:

Ivan 1.008 EURUSD M10 TesterOptgraphReport

Passaggio singolo con il miglior risultato (Ogni tick basato sulla modalità real ticks):

Ivan 1.008 EURUSD M10 TesterGraphReport

Mi sembra - parametri sfortunati - profitto solo a spese di UNA buona quota.

 

versione "1.009".

Quando una posizione non può essere aperta ( la condizione di Stop Loss minimo non è soddisfatta) il messaggio è ora più informativo - sono stati aggiunti i prezzi:

cci(100): "Global Sell Signal"
OpenSell, sl(110.597)-m_symbol.Ask()(110.420)<min_stops_level(0.250) -> error sl
File:
Ivan.mq5  49 kb
 
Vladimir Karputov: Io ho il contrario: ora non c'è nessuna connessione in borsa. È come nella canzone:
Tu sei un marinaio io sono un marinaio,
Tu sei un pescatore io sono un pescatore
Tu sulla terraferma io sul mare
Non ci incontreremo affatto.

Aggiunto: Il trading di azioni è netting e il mio EA è solo per l'hedging (come indicato dalla stampa dell'errore quando si cerca di connettersi a un conto di azioni:

2017.02.26 14:04:05.291 2016.04.22 00:00:00   Hedging only!

). Pertanto, lo scambio sta volando con un fischio di compensato su Parigi.

Ti sbagli sul compensato su Parigi. Ho guardato, il tuo codice è abbastanza accettabile per il trading di scambio, almeno su FORTS. L'ho eseguito nel tester di strategia sullo strumento @Si Splice M15 dal 2013 al 2017, e il risultato è riportato di seguito. Dal momento che non tieni posizioni opposte allo stesso tempo (l'EA commercia in modalità Stop And Reverse), ho il sospetto che l'EA funzionerà anche nel mercato azionario, ma non posso verificarlo ora.

Ivan @Si Splice M15 advisor backtest dal 2013-2017
 
Eugene Myzrov:
Ma ti sbagli - sul compensato sopra Parigi! Ho guardato, il tuo codice è abbastanza accettabile per il trading in borsa, almeno sul mercato FORTS. L'ho eseguito nel tester di strategia sullo strumento @Si Splice M15 dal 2013-2017, e il risultato è riportato di seguito. Dal momento che non stai tenendo posizioni opposte allo stesso tempo (l'EA sta facendo trading in modalità Stop And Reverse), ho il sospetto che l'EA funzionerà anche sul mercato azionario, ma non posso verificarlo ora.


Metti il parametro "Use averaging" == false e l'Expert Advisor "Ivan" non aggiungerà una posizione.


Anche se... Anche se aggiunge una posizione, si chiuderà comunque (quando il segnale si inverte) completamente. Si può provare.

 
Ed ecco Ivan @Si Splice M15 backtest grafico dal 2013-2017
Ivan @Si Splice M15 advisor backtest dal 2013-2017
 
Vladimir Karputov: Impostate "Use averaging" == false e l'Expert Advisor "Ivan" non aggiungerà una posizione. Anche se... Anche se aggiunge una posizione, (in caso di segnale invertito) la chiuderà completamente. Si può provare.

Quindi lasciategli aggiungere una posizione, a patto che l'EA chiuda la posizione in una direzione prima di aprirla nella direzione opposta.