Abbiamo aggiunto una penalità per un numero ridotto di operazioni in un passaggio. Questo ci ha permesso di garantire la convergenza dei risultati nell'ottimizzazione genetica.
Se la penalità non viene applicata, in alcuni casi l'ottimizzazione genetica tenderà a selezionare parametri con un numero molto ridotto di operazioni, ma con un elevato Sharpe ratio.
Abbiamo aggiunto una penalità per un numero ridotto di operazioni in un passaggio. Questo ci ha permesso di garantire la convergenza dei risultati durante l'ottimizzazione genetica.
Se la penalità non viene applicata, in alcuni casi l'ottimizzazione genetica tenderà a selezionare parametri con un numero molto ridotto di operazioni, ma con un elevato Sharpe ratio.
Non è forse questo l'obiettivo del criterio di completezza?
Se io stesso calcolo qualcosa, mi aspetto di vedere numeri "puliti", senza penalizzazioni automatiche (tra l'altro, io stesso posso "penalizzare" il mio criterio con il numero di operazioni).
Riconsiderate questa domanda, per favore.
Di nuovo, cos'è un "numero ridotto"? Per quanto mi riguarda, 70-80 non sono sufficienti, ma non c'è una penalità per questi passaggi.
Il numero di scambi viene confrontato con altri passaggi?
È normalizzato in base alla lunghezza dell'intervallo di test?
Nuovo articolo Matematica nel trading: I rapporti di Sharpe e Sortino sono stati pubblicati:
Autore: MetaQuotes
Provate a controllare voi stessi.
Vedere anche un esempio in Internet. Ad esempio - https://www.educba.com/sortino-ratio/
- www.educba.com
L'uso di zero per il Risk Free non è il modo in cui dovrebbe essere usato.
Come minimo il Risk Free è il rendimento che si otterrebbe dal proprio capitale se lo si depositasse, si acquistassero titoli di stato, ecc.
A causa delle domande sul rapporto di acutezza dei segnali che hanno un certo successo ma hanno un rapporto di acutezza inferiore a 1, ne ho preso uno:
Expected Payoff: 54.58 USD,
Profit Factor: 3.27,
Monthly growth:28.80%,
Annual Forecast:349.40%)
=> ma con uno Sharp Ratio di: Rapporto di Sharpe: 0,27
Quindi ho preso lo script di questo articolo e l'ho modificato un po' in modo che legga la cronologia degli scambi di un segnale e calcoli due tipi di rapporti di Sharpe.
Ma invece di usare i periodi di tempo (anno, mese, giorno...) per calcolare i rendimenti per la media e la deviazione standard, uso i singoli scambi o le posizioni.
Calcolo due diversi rendimenti:
- uno è solo il profitto diviso per il volume di chiusura per ottenere un risultato per un lotto e
- l'altro calcola (chiusura-apertura)/apertura simile allo script che calcola con apertura e chiusura delle barre del giorno e dell'ora.
Le funzioni per la media e la deviazione standard non sono state modificate, solo la parte che legge il file della cronologia degli scambi (salvato nella cartella Common) e la funzione che riempie gli array con i risultati sono state modificate:
Per il segnale di cui sopra ottengo questo:
Avg of Profit/Vol: 23.9115
StdDev: 88.985
Sharpe_annual(Prof/vol): 8.48
Razione di Shart di (Close-Open)/Open:
Avg di Cl-Op/Op: 14.5605
StdDev: 79.645
Sharpe_annuale(Cl-Op/Op): 5.77
Sembra meglio delle cifre ufficiali.
In allegato lo script. Basta selezionare un segnale, salvare la sua storia di trading nella cartella comune e avviare lo script.
Quello che non ho fatto è che le matrici dei risultati devono essere ridotte del numero di voci che sono zero, poiché queste vengono utilizzate per calcolare la media e la deviazione standard!
Questo pensiero mi è venuto solo stamattina.
- 2022.10.13
- www.mql5.com
- 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 La matematica nel trading: rapporti di Sharpe e Sortino è stato pubblicato:
Il ritorno sugli investimenti è l'indicatore più ovvio che gli investitori e i trader principianti utilizzano per l'analisi dell'efficienza del trading. I trader professionisti utilizzano strumenti più affidabili per analizzare le strategie, come i rapporti di Sharpe e Sortino, tra gli altri.
Il diagramma mostra chiaramente che i valori del rapporto di Sharpe annuale cambiano ogni mese. Dipende da come EURUSD variava in questo mese. D'altra parte, il rapporto di Sharpe annuale per ogni mese su tutti i timeframe quasi non cambia.
Pertanto, il rapporto di Sharpe annuale può essere calcolato su qualsiasi timeframe, mentre il valore risultante dipende anche dal numero di barre su cui sono stati ottenuti i rendimenti. Significa che questo algoritmo di calcolo può essere utilizzato per test, ottimizzazione e monitoraggio in tempo reale. L'unico prerequisito è avere una matrice sufficientemente ampia di rendimenti.
Autore: MetaQuotes