Discussione sull’articolo "Approccio brute force per la ricerca di pattern (Parte VI): Ottimizzazione ciclica"
формулы 2
Cerchiamo di capire cosa c'è dentro questa formula:
- N - il numero di posizioni di trading completamente aperte e chiuse nell'intero backtest o sezione di trading.
- B(i) - il valore della linea di equilibrio dopo la corrispondente posizione chiusa "i".
- L(i) - la linea tracciata da zero al punto di equilibrio più recente (saldo finale).
Sembra essere quasi Sharpe:
//--- calcolare i logaritmi degli incrementi dall'array di azioni for(int i = 1; i < m_bars_counter; i++) { //--- aggiungere solo se il patrimonio netto è cambiato if(m_equities[i] != prev_equity) { log_return = MathLog(m_equities[i] / prev_equity); // logaritmo dell'incremento aver += log_return; // logaritmo medio degli incrementi AddReturn(log_return); // riempire l'array di logaritmi dagli incrementi counter++; // contatore dei rendimenti } prev_equity = m_equities[i]; } //--- se non ci sono abbastanza valori per calcolare lo Sharpe ratio, restituire 0 if(counter <= 1) return(0); //--- valore medio del logaritmo dell'incremento aver /= counter; //--- calcolare la deviazione standard for(int i = 0; i < counter; i++) std += (m_returns[i] - aver) * (m_returns[i] - aver); std /= counter; std = MathSqrt(std); //--- Rapporto di Sharpe sul timeframe corrente double sharpe = aver / std;

- www.mql5.com
C'è qualcosa di simile, ma solo a prima vista. A tutti sfugge il modello di crescita del bilancio. Se la pendenza della crescita del bilancio è in costante diminuzione (la derivata seconda della curva di bilancio è negativa), allora tale modello non è preferibile, perché presto potrebbe diventare negativo. Il punto è selezionare le curve che graficamente sembrano più promettenti.
Le somiglianze ci sono, ma solo a prima vista. A tutti sfugge il modello di crescita del saldo. Se la pendenza della crescita dell'equilibrio è in costante diminuzione (la derivata seconda della curva di equilibrio è negativa), allora tale modello non è preferibile, in quanto potrebbe presto passare in territorio negativo. Il punto è selezionare le curve che graficamente sembrano più promettenti.
L'algoritmo di Sharpe per le curve discendenti darà un valore negativo. L'ho indicato solo per analogia, non ha senso discutere di Sharpe....
Esempi tratti dalla mia esperienza.
- criterio "curva bella" - non passa OOS.
- criterio "curva brutta" - passa OOS, mentre la curva stessa si è rivelata bella.
- Commissione zero - non passa OOS.
- La commissione è impostata - passa OOS.
In altre parole, si scopre che quando l'ottimizzazione è per la bellezza, la componente di adattamento è elevata. Quando si trova qualcosa di valido, sembra bello.
Ecco perché io stesso non cerco la bellezza. Mi affido piuttosto al numero di accordi e all'algoritmo del nucleo TS. L'obiettivo è ottenere la bellezza senza criteri di bellezza. Di norma, questa variante passa OOS.
ZY La variante con commissione è più interessante (ma, di norma, viceversa: meno commissione - più probabilità di trovare un modello). In realtà riduce il numero di transazioni (significatività statistica), ma aumenta la probabilità di successo della ricerca.
L'algoritmo di Sharpe per le curve discendenti produrrà un valore negativo. L'ho indicato solo per analogia, non ha senso discutere di Sharpe.....
Esempi tratti dalla mia esperienza.
- Il criterio "curva bella" - non passa OOS.
- Il criterio "curva brutta" - passa OOS, ma la curva stessa si è rivelata bella.
- Commissione zero - non passa OOS.
- Commissione impostata - passa OOS.
In altre parole, si scopre che quando l'ottimizzazione è per la bellezza, la componente di adattamento è elevata. Quando si trova qualcosa di valido, sembra bello.
Ecco perché io stesso non cerco la bellezza. Mi affido piuttosto al numero di accordi e all'algoritmo del nucleo TS. L'obiettivo è ottenere la bellezza senza criteri di bellezza. Di norma, questa variante passa OOS.
ZY La variante con commissione è più interessante (ma, di norma, viceversa: meno commissione - più probabilità di trovare un modello). In realtà riduce il numero di transazioni (significatività statistica), ma aumenta la probabilità di successo della ricerca.
È chiaro che ci sono ancora dei limiti. Ad esempio, io agisco in questo modo:
- Imposto l'aspettativa minima richiesta in pips (tenendo conto solo dello spread, aggiungo anche la commissione e lo swap, approssimativamente).
- Imposto il numero minimo richiesto di operazioni, che mi serve tenendo conto della lunghezza della sezione considerata.
- Regolo il fattore di corrispondenza della curva
È chiaro che ci sono ancora dei limiti. Questo è il mio modo di operare:
- Stabilisco l'aspettativa di maturazione minima richiesta in punti (tenendo conto solo dello spread, aggiungo anche la commissione e lo swap, approssimativamente).
Io non lo faccio. Le regolarità del mercato non dipendono dalle condizioni di trading del broker. Sono propenso a questo.
Forum sul trading, sui sistemi di trading automatizzati e sulla verifica delle strategie di trading
Apprendimento automatico nel trading: teoria, modelli, pratica e algo-trading
fxsaber, 2023.08.19 11:10 AM
Broker per i dati storici per scegliere il più alto profitto potenziale. Ad esempio, il potenziale di EURUSD_Broker1 è superiore a quello di EURUSD_Broker2. Allora scegliete EURUSD_Broker1.
Sia le major che i cross possono essere scalati. Ma non tutti. Basta allenarsi su ciascuno di essi e vedere i risultati. Questo è ciò che faccio io, a grandi linee.
Cioè è logico cercare dove la concentrazione di "oro nella roccia" è più alta.
- Stabilisco il numero minimo di scambi di cui ho bisogno in base alla lunghezza dell'area in questione.
- Regolazione del fattore di adattamento della curva.
Non capisco la connessione del TS con lo spread.
- Например, можно обучить ТС, чтобы выдавал PF>2.5. При должном количестве сделок это почти автоматом выдаст красивую кривую
Sono d'accordo con il resto.
.
- Non capisco il nesso tra il TS e lo spread .
Sarebbe interessante vedere molte curve selezionate in questo modo (criterio di MaxBalance "non per bellezza").
Questo è il sesto risultato nel file opt corrispondente. I primi cinque sembrano peggiori.
Eseguo un numero ridotto di passaggi GA in modo che i set di parametri di ingresso non siano vicini tra loro.
Ho l'impressione che ci siano alcuni approcci alla costruzione di un TS, quando il criterio del MaxBalance con un limite sul numero di trade dal basso dà sempre una bella curva sul Campione. In questo caso un TS di questo tipo può essere considerato razionale, anche se c'è una perdita totale in OOS. Ma sembra dubbio cercare la bellezza in base a Sharpe, R^2 o ai criteri di questo articolo. Forse mi sbaglio.

- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Accetti la politica del sito e le condizioni d’uso
Il nuovo articolo Approccio brute force per la ricerca di pattern (Parte VI): Ottimizzazione ciclica è stato pubblicato:
L'elemento più importante dell'intera idea è il sistema di interazione tra il terminale e il mio programma. Si tratta infatti di un ottimizzatore ciclico con criteri di ottimizzazione avanzati. Le più importanti sono state trattate nella sezione precedente. Affinché l'intero sistema funzioni, occorre innanzitutto una sorgente per le quotazioni, ovvero uno dei terminali MetaTrader 5. Come ho già mostrato nell'articolo precedente, le quotazioni vengono scritte in un file in un formato comodo per me. Per farlo si utilizza un EA, che a prima vista funziona in modo piuttosto strano:
Ho trovato abbastanza interessante e utile l'esperienza di utilizzare il mio schema unico per il funzionamento dell’EA. Questa è solo una dimostrazione dei problemi che ho dovuto risolvere, ma tutto questo può essere utilizzato anche per gli EA di trading:
Autore: Evgeniy Ilin