Adicionamos uma penalidade para um pequeno número de negociações em uma passagem. Isso nos permitiu garantir a convergência dos resultados na otimização genética.
Se a penalidade não for aplicada, em alguns casos a otimização genética tenderá a selecionar parâmetros com um número muito pequeno de negociações, mas com um grande índice de Sharpe.
Adicionamos uma penalidade para um pequeno número de negociações em uma passagem. Isso nos permitiu garantir a convergência dos resultados durante a otimização genética.
Se a penalidade não for aplicada, em alguns casos a otimização genética tenderá a selecionar parâmetros com um número muito pequeno de negociações, mas com um grande índice de Sharpe.
Não é esse o objetivo do Critério Abrangente?
Se eu mesmo calcular algo, espero ver números "limpos", sem penalidades automáticas (a propósito, eu mesmo posso "penalizar" meu critério pelo número de negociações).
Reconsidere essa pergunta, por favor.
Novamente, o que é um "número pequeno"? Para mim, 70-80 não é suficiente, mas você não tem uma penalidade para esses passes.
O número de negociações é comparado a outras passagens?
Ele é normalizado pela duração do intervalo de teste?
Novo artigo Matemática na negociação: Os índices de Sharpe e Sortino foram publicados:
Autor: MetaQuotes
Tente verificar você mesmo.
Veja também exemplos na Internet. Por exemplo - https://www.educba.com/sortino-ratio/
- www.educba.com
Devido às perguntas sobre o índice de nitidez dos sinais que são bem-sucedidos, mas que têm um índice de nitidez inferior a 1, peguei um:
Expected Payoff: 54.58 USD,
Profit Factor: 3.27,
Monthly growth:28.80%,
Annual Forecast:349.40%)
=> mas com um índice de nitidez de: Sharpe Ratio: 0,27
Então, peguei o script desse artigo e o modifiquei um pouco para que ele lesse o histórico de negociações de um sinal e calculasse dois tipos de índices de nitidez.
Mas, em vez de usar períodos de tempo (ano, mês, dia...) para calcular os retornos para a média e o desvio padrão, usei as negociações ou posições individuais.
Calculei dois retornos diferentes:
- um é apenas o lucro dividido pelo volume de fechamento para obter um resultado por um lote e
- o outro calcula (close-open)/open semelhante ao script que calcula com abertura e fechamento das barras do dia e da hora.
As funções para média e desvio padrão não foram alteradas, apenas a parte que lê o arquivo do histórico de negociação (salvo na pasta Common) e a função que preenche as matrizes com os resultados foram alteradas:
Para o sinal mencionado acima, obtenho o seguinte:
Avg of Profit/Vol: 23.9115
StdDev: 88.985
Sharpe_annual(Prof/vol): 8.48
Shart Ratio of (Close-Open)/Open:
Avg of Cl-Op/Op: 14.5605
StdDev: 79.645
Sharpe_annual(Cl-Op/Op): 5.77
Isso parece melhor do que os números oficiais.
Em anexo está o script. Basta selecionar um sinal, salvar seu histórico de negociação na pasta comum e iniciar o script.
O que eu não fiz foi reduzir as matrizes dos resultados pelo número de entradas que são zero, pois elas são usadas para calcular a média e o desvio padrão!
Essa ideia me ocorreu somente esta manhã.
- 2022.10.13
- www.mql5.com
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso

Novo artigo Matemática na negociação: indices de Sharpe e de Sortino foi publicado:
A rentabilidade é a medida mais óbvia que investidores e operadores novatos utilizam para analisar o desempenho da negociação. Já os traders profissionais empregam ferramentas mais robustas para analisar estratégias, entre elas os índices de Sharpe e de Sortino.
Pode-se observar que os valores do índice anual para cada mês são muito próximos em todos os timeframes em que os cálculos foram realizados. Para uma melhor apresentação, vamos mostrar os resultados como uma superfície 3D usando um diagrama do Excel.
O gráfico mostra claramente que os valores do índice de Sharpe anual mudam a cada mês. O que depende de como o gráfico EURUSD mudou no mês em questão. Mas, além disso, o valor do índice de Sharpe anual para cada mês em todos os timeframes quase não muda.
Assim, podemos calculá-lo em qualquer timeframe, sendo que o valor resultante também não depende do número de barras em que os rendimentos foram obtidos. Isso significa que o algoritmo de cálculo acima pode ser usado em testes, otimização e durante o monitoramento em tempo real. O principal é que a matriz de rendimentos não deve ser muito pequena.
Autor: MetaQuotes