Critério para a seleção automática dos resultados de otimização. - página 4

 
LeoV >>:

Согласен. Усложнение не даёт гарантии улучшения результата.

Eu só o afirmei como uma variante da tarefa, só isso.

E a idéia principal era dividir os critérios de otimização em classes típicas (otimização multicritério) sem utilizar filtros para peneirar os resultados, pois os filtros podem peneirar tipos promissores de TC. E ramos sem saída serão descartados no final da otimização, uma vez que apenas os mais relevantes para cada uma das classes serão selecionados.

 
joo писал(а) >>

Eu apenas o indiquei como uma variante da tarefa, só isso.

E a idéia principal era dividir os critérios de otimização em classes típicas (otimização multicritério) sem utilizar filtros para peneirar os resultados, pois os filtros podem peneirar tipos promissores de TC. E ramos sem saída serão descartados no final da otimização, pois apenas os mais relevantes para cada uma das classes serão selecionados.

Teoricamente pode ser, mas praticamente não está claro como pode ser implementado na prática, de modo que mesmo os cérebros não fervem durante a "otimização multicritério" ....)))) e depois disso, é preciso ter mais força para comercializar.....))))

 
StatBars писал(а) >>...

joo escreveu >>....

Por mais triste que seja, seus amigos estão absolutamente certos. Eu mesmo o entendo, embora tenha ouvido "otimização multicritério" pela primeira vez. Pesquisado no Google, é uma floresta escura interessante), a tarefa em si é comparável ao comércio bem sucedido.

O que estou tentando deduzir é apenas uma aproximação para o uso prático diário, embora longe de um ideal teórico, mas ainda melhor do que o que a grande maioria dos usuários de equipamentos de teste/optimizadores usa. O critério de agilidade que eu forneci acima, composto em poucos segundos, mostra-se melhor do que os critérios de otimização comumente usados. Colectivamente, podemos chegar a algo mais razoável. A idéia da equação linear é muito atraente, há um problema com os pesos, mas o critério acaba sendo muito flexível, versátil o suficiente para ser aplicável (usando pesos diferentes) para diferentes classes de TS, não tantos...

E este critério não será suficiente, se nada de bom sair, talvez depois de pensarmos um pouco, possamos elaborar uma técnica para usar o que temos. Isso também não é ruim.

Portanto, vamos pensar sobre o problema do ponto de vista da aplicação prática. Não precisamos de um Prêmio Nobel, mas de uma ferramenta de trabalho. A tarefa não é nada: para selecionar um bom resultado de otimização), não vou gritar sobre o melhor). Podemos ir na direção oposta, pensar sobre o critério de rejeição de resultados obviamente ruins, embora isso também acabe assim.

 
Figar0 >>:

Согласен, фактор не маловажный. Сможете показать как практически рассчитать, облечь в математическую форму это распределения имея полный результат теста?


Variante 1

estratégia resulta na soma cumulativa dos últimos N negócios, o ideal seria que houvesse uma linha reta, ou uma linha muito semelhante a ela . Vamos traçar uma linha reta, vamos fazer uma regressão linear pelo ângulo de inclinação e estimar a rentabilidade. além disso, o desvio padrão como medida de risco, o cálculo da dispersão imho é correto se tivermos uma curva de distribuição simétrica em forma de sino. No caso contrário, temos uma hipotética distribuição de negócios 10,10,10,10,10,10 etc. A soma é clara, calcule a variação nesta linha, dependerá do ângulo de inclinação, do comprimento da amostra e, em caso de quebra de linha, dependerá também do grau de dispersão. Apenas o que Sharpe sugere não é muito adequado, imho.

Eu meço a variação como uma dispersão de uma variável aleatória, neste caso os resultados da transação, a partir da média, mas a partir da linha de uma regressão linear. Então esta variação complicada em uma linha reta é igual a 0. Portanto, quanto mais reta a curva, menor a variação astuciosa.

Se dividirmos o ângulo de inclinação da regressão linear pela variação astuta, obtemos um número que caracteriza o TC.

O TS comparável deve ser calibrado pelo mesmo lote e número de últimas operações
Variante 2

https://www.mql5.com/ru/forum/122464

 
Critério = Soma dos comprimentos em que o TS estava em lucro dividida pela soma dos comprimentos em que o TS estava em drawdown. Os segmentos com lucro e com drawdown podem se sobrepor. Os segmentos podem ser medidos em minutos ou no número de transações.
 

Figar0, o que você está tentando estimar é a robustez e não é possível chegar a um parâmetro complexo para estimar. Para começar, você precisa encontrar a espinha dorsal mínima do sistema, por exemplo, entrada e saída do sinal e um filtro. Todos eles podem ter parâmetros, otimizar a espinha dorsal como um todo. Deve ser rentável com o máximo número de negócios e na ampla gama de parâmetros, de preferência em símbolos diferentes. Depois vem a adição de filtros para um par em particular e até mesmo para um pedaço de história em particular (talvez eles sejam super-optimizados). A variação dos resultados no diapasão de mudança de parâmetros para cada filtro é analisada separadamente. A decisão sobre a utilidade ou inutilidade do filtro é feita, de acordo com alguns critérios. Isto é para preservar a validade estatística. O sistema final é construído. O sistema é montado como uma boneca matryoshka, mas o núcleo do sistema deve ser realmente bastante simples e eficaz com o número máximo de operações para garantir que ele realmente utilize a propriedade real do mercado e não um fantasma.

Isto é, acho que a base está na síntese correta do TS e na avaliação por etapas (cada etapa tem suas próprias prioridades e parâmetros de avaliação), e não na escolha de um parâmetro complexo global para avaliar o TS na montagem final. Simplesmente não há informações suficientes para avaliar a robustez. imho

 

Uso um critério pré-fabricado para avaliar os resultados de um especialista na primeira aproximação - para selecionar entre outras opções. Lembro-me de ler sobre algo assim em uma entrevista após algum campeonato. Eu a chamo de "qualidade da equidade" (estimativa de "suavidade", em outras palavras) - é a relação do lucro obtido (por lote, é claro) com o máximo drawdown. A sutileza não é muito óbvia - é razoável comparar apenas os passes com quase o mesmo número de ofícios, de modo que não pode ser usado automaticamente.

Também estou lendo um interessante livro do mehanizator (sua versão eletrônica está disponível em Zhj) sobre a criação da MTS. Parece que as coisas são óbvias, mas coloca tudo no lugar. No entanto, metade do livro são as especificidades do mercado de ações. Este fim de semana vou "arquivar" um sistema, de minha última série de Expert Advisor Experimental (eu os apago de vez em quando e começo um novo :) ) - Principalmente com o propósito de aprender. Portanto, pensei em oferecê-lo às pessoas para uma discussão mais construtiva. O sistema é destinado ao EURUSD em D1.

De fato, sugiro tópicos para discussão:

1. é estável (tente rodá-lo - os parâmetros flutuam lentamente, mas continuam a trabalhar ano após ano!); 2. é possível fazê-lo trabalhar em cruzamentos e outros pares que não são fortemente corrigidos com EURUSD. (Novamente - é sustentável, se não?)

Arquivos anexados:
ea19.mq4  3 kb
 
Figar0 >>:

Как это не грустно, но Вы друзья совершенно правы. Простых решений тут нет и быть не может, грустно именно это, а не то что вы оба правы) Я и сам это понимаю, хотя "многокритериальная оптимизация" услышал впервые. Погуглил, да уж интересный темным лес), задача сама по себе сопоставимая с успешным трейдингом.

То что я пытаюсь вывести, это лишь некое приближение для практического повседневного использования, пусть и далекое от теоретического идеала, но все же лучше, чем пользуется подавляющее большинство пользователей тестера/оптимизатора. Корявенький критерий, приведенный мной выше, сочиненный на лету за пару секунд, показывается себя лучше общеиспользуемых критериев оптимизации. Помозговав коллективно можно вывести что-то более разумное. Идея линейного уравнения подкупает, засада с весами, зато критерий получается весьма гибкий, достаточно универсальный, чтобы подходить (при использовании разных весов) разным классам ТС, не так и их много..

Да и не сошелся свет клином на этом критерии, неполучится ничего путного - может, подумав, выработаем технику использования того что есть. Тоже неплохо.

Так что давайте подумаем над задачей с точки зрения практического применения. Нам же не Нобелевка нужна, а инструмент для работы. Задача-то всего ничего: отобрать хороший результат оптимизации), про лучший уже не заикаюсь, понял - не поднять). Можно пойти от противного, подумать над критерием отбраковки заведомо плохих результатов, хотя тож на то и выдет.

Se você quiser algo mais simples, mas melhor do que o que você tem, use uma equação linear com pesos para critérios de avaliação.

Esqueci de sugerir mais um critério - a simetria do sistema, para evitar ajustes para tendências você pode introduzir vários desses critérios, é claro que é melhor ter um. Simplesmente, a diferença entre as ordens de compra e venda deve ser dividida pelo montante total de ordens - o critério deve ser minimizado (na verdade, a divisão não é necessária). Este critério pode não ser adequado para todos os sistemas, já que só vi sistemas que vendem, mas funcionam com sucesso.

A propósito, eu olho, as pessoas não entendem bem que a principal dificuldade é não pensar em parâmetros de avaliação (eles são apenas muitos), e pensar em uma maneira de juntá-los, ou seja, existem 1000 passes, temos para cada passagem de vários indicadores, como escolher a melhor estratégia sobre esses vários indicadores? ou 5 melhores estratégias?

 

Azzx,

Quantos pedidos serão realmente fechados com lucro real?

      if(OrderProfit() > 0)
close_order(OrderTicket());
 
StatBars >>:

т.е. имеется 1000 проходов, мы имеем на каждый проход несколько показателей, как по этим нескольким показателям выбрать лучшую стратегию? или 5 лучших стратегий?

É possível normalizar esses poucos indicadores e alimentá-los com a contribuição do NS ou de um comitê do NS. A saída é o lucro sobre o OOS.