TSR - sistemas comerciais de ressuscitação

 

Continuando o tema: Onde está a linha entre o encaixe e os padrões reais?


TSR é a abreviação de Trading Systems Recovery


Estou postando sem uma descrição da teoria e sem screenshots. As capturas de tela estarão em Código Base


E eu advertirei aqueles que são especialmente dotados:

1. A versão anexa do Expert Advisor foi reduzida ao mínimo adequado para fins educacionais

2. Sobre as questões de aperfeiçoamento do Consultor Especialista, vá para o BFG.

Se você tiver alguma dúvida, por exemplo: "Por que recebo resultados diferentes?" Nenhuma resposta do autor.



Vamos fazer um experimento utilizando um sistema comercial que se baseia na previsão da direção futura do movimento de cotações ajustando os coeficientes de ponderação da rede neural elementar de uma camada - perceptron sobre dados históricos. O princípio deste sistema comercial foi descrito em detalhes em meu artigo "Como encontrar um sistema comercial". Vamos levar os dados históricos do par de moedas EURUSD dos 9 meses anteriores ou mais no gráfico de tempo H1. Vamos dividi-lo em três seções independentes de três meses cada uma. O primeiro será usado para o teste final, enquanto os outros dois serão usados para se adequar à história. Para evitar a operação do sistema comercial separadamente, combinei imediatamente dois perceptrons em um sistema comercial. E criei a função Supervisor() com a ajuda da qual o sistema comercial tem três modos de operação, dependendo do passe de parâmetro de entrada: 1 - ajuste e teste do primeiro perceptron, 2 - ajuste e teste do segundo perceptron, 3 - filtragem peneirando leituras inconsistentes de ambos os perceptrons em modo de teste sem otimização ou em modo de auto-comercialização em uma demonstração ou depósito real.

Ajustáveis aos dados históricos são pesos perceptron x11, x12 ... x42, assim como p e sl. A barra de parâmetros de entrada é uma constante para todas as seções. Os níveis de Stop Loss e Take Profit são definidos para todas as posições em aberto por este mesmo valor. Outro parâmetro de entrada p - o período de tempo de defasagem para a diferença de preço de abertura, também é uma constante. A entrada no mercado é feita no início de uma nova formação de barras, ou seja, de acordo com os preços de abertura de barras e leituras de perceptron, dependendo do valor do parâmetro de entrada do passe, e a saída somente no acionamento de um Stop Loss ou Take Profit. A otimização é realizada utilizando o algoritmo genético de identificação de extrema e o equilíbrio máximo é tomado como um extremo. O valor inicial, por exemplo $1000000, deve ser muito grande durante a otimização para evitar que o algoritmo fique preso nas chamadas de margem. Parâmetros de entrada: lotes - volume de posições a serem abertas em lotes e mn - número mágico único, para que o Expert Advisor não confunda a gestão de suas próprias ordens (que abriu) com ordens de outros (que não abriu).


Na primeira etapa, precisamos descobrir quais devem ser os valores das variáveis de entrada p e sl. Para fazer isso, selecionamos as duas últimas partes da história, ou seja, de 6 meses atrás até hoje. Ajustamos todos os parâmetros de pesos de perceptron para valores de Start = 0 a Stop = 200 em passos de 1. Defina o valor p do Início = 3 até Stop =100 nos passos de 1, defina o valor sl do Início = 100 até Stop =1000 nos passos de 10 (ou de 10 até 100 nos passos de 1 para aspas de quatro dígitos). Defina o valor do passe para 1. Marque os seguintes parâmetros a serem otimizados: x11, x21, x31, x41, p e sl. Todas as outras caixas de seleção devem ser desativadas. Ativar a otimização. Uma vez concluída a otimização, defina os parâmetros de entrada pelo melhor passe.


O segundo passo é ajustar os pesos do primeiro perceptron na segunda seção de dados históricos. Defina a data e o tempo de otimização de 6 meses atrás para 3 meses atrás. Desmarque os parâmetros otimizados somente a partir das variáveis de entrada p e sl. Executar a otimização. Após a conclusão da montagem, definir os parâmetros de entrada de acordo com a melhor passagem.


Terceira etapa: Ajuste dos pesos do segundo perceptron na terceira seção de dados históricos. Defina a data e a hora da otimização de 3 meses atrás até os dias de hoje. Desmarque os parâmetros otimizados: x11, x21, x31, x41 e configure-os para x12, x22, x32 e x42. As outras caixas de seleção devem ser desmarcadas. Ajuste o passe da variável de entrada para 2. Iniciar Otimização. Uma vez concluída a otimização, defina os parâmetros de entrada pelo melhor passe.


Isso é tudo, nosso sistema comercial foi ajustado aos dados históricos de 6 meses atrás até os dias de hoje. Vamos salvar os valores dos parâmetros de entrada no arquivo de configurações. Defina a variável de entrada de passe para 3. Desmarcar "Data de uso". Lançar o teste. Analisamos a tabela de testes. Podemos ver que o equilíbrio e a curva de equidade tendem para cima na parte direita do gráfico e tendem para baixo na parte esquerda. Agora devemos nos certificar de que o equilíbrio tende para cima na área fora da amostra de ajuste. Trazemos o cursor do mouse para a linha de equilíbrio, onde começa o aumento do lucro e observamos a data na ponta da ferramenta. Acontece que a curva de equilíbrio tendeu para cima há quase nove meses, contando a partir de hoje, excluindo 10 dias, ou seja, 8 meses e 20 dias. E o ajuste foi realizado em um trecho de 6 meses. Portanto, há um teste bem sucedido fora da amostra otimizada . Destacamos esta área fora da amostra para analisá-la com mais detalhes. No conjunto, os resultados são bastante satisfatórios, embora significativamente inferiores aos de J. Soros, mas superiores aos de W. Niederhoffer.


A fim de garantir que tenhamos lidado com o encaixe em algumas partes da história, é necessário e suficiente desmarcar a caixa de seleção "Data de uso". E faça o teste do Expert Advisor com os valores 1 e 2 ao longo de todo o histórico disponível. Em cada um desses modos, podemos ver que o crescimento ascendente da curva de equilíbrio é observado apenas dentro daqueles períodos, nos quais certos perceptrons foram ajustados. Para todos os outros períodos da história não há uma tendência positiva, exceto para as lombadas individuais que terminam em cochos.


Como vimos, apesar do fato de que ambos os perceptrons não passaram nos testes de avanço fora da amostra otimizada de dados históricos, ainda assim o filtro de seus sinais conjuntos, deu resultados positivos sobre dados históricos dos quais nada era conhecido no momento da adaptação. Você também pode experimentar outros sistemas comerciais, como aqueles baseados na quebra de médias móveis simples ou em redes neurais multicamadas mais avançadas. Se o sistema comercial for robusto, é mais provável que produza resultados positivos em sinais comerciais filtrados fora do período de otimização. Se não for robusto, ele não dará resultados positivos no período otimizado com o filtro habilitado. Entretanto, a robustez do TS é secundária em comparação com os custos gerais de spread, swap e comissão do corretor. Portanto, com despesas gerais significativas, os resultados positivos nos testes futuros são apenas um sonho, porque o pagamento esperado é necessariamente negativo.



Arquivos anexados:
tsr.mq4  4 kb
 

Eu discordei da Reshetov de muitas maneiras (não sobre este tópico). Ele e eu ocasionalmente atracávamos uma troca de pontos de vista, e geralmente ele me mandava embora, me chamando de idiota e idiota, seja explícita ou implicitamente. De minha parte, eu não o levei a peito.

Tenho um grande pedido a todos: não se envolvam em fluderastia nesta linha. Se você tem algo construtivo a dizer sobre o assunto, escreva, e se não tiver, não escreva.

 

Gg :) outro graal para os nerds da Reshetov :)

Construtivo? Quem está olhando para o OOS por trás? É do óbvio.

 
TheXpert:


Construtivo? Quem está olhando para o OOS por trás? Isso é do óbvio.


Coloque o OOS na frente - ninguém está impedindo você. A questão é que no TS a razão vem primeiro - um sinal comercial, e depois a conseqüência - uma ordem aberta que será fechada com lucro ou prejuízo. E, portanto, não importa se está na frente do OOS ou atrás, nas relações de causa e efeito, não afetará nada, porque os sinais não são colocados no OOS, mas apenas verificados ali para verificar a sua perspicácia. Os sinais comerciais ainda precederão as entradas no mercado, e não o contrário, ou seja, a ordem não mudará. Se o Expert Advisor estiver perdendo, ele perderá tanto para a frente como para trás. Se for lucrativo, não vai se importar exatamente onde está o OOS. O mais importante é que a área de OOS é adjacente às áreas de encaixe. E como os mercados estão em constante mudança e a trama lucrativa tem uma vida útil limitada, é compreensível que o OOS seja melhor verificado na parte de trás, já que o futuro no qual vamos negociar está à frente.

Assim, para ter mais confiança, podemos testar o OOS tanto na frente como atrás. Se o TS está perdendo aqui ou ali, então certamente não é robusto.

 
Yuri, em algumas frases, qual é a essência e a conclusão de suas descobertas?
 
Avals:
Yuri, em algumas frases, qual é a essência e a conclusão de suas descobertas?
O início está exposto aqui: https://www.mql5.com/ru/forum/131724
 
Avals:
Yuri, você pode explicar brevemente, em algumas frases, qual é a essência e a conclusão de suas descobertas?

1. Mesmo a partir do encaixe, os sinais falsos podem ser identificados e eliminados em maior ou menor grau. Mas para fazer isso, precisaremos de pelo menos duas parcelas diferentes nas quais a otimização foi realizada. A partir deles, comparando por (des)coincidência de leituras, cortamos sinais falsos de sinais potencialmente lucrativos. É claro que é impossível cortar todos os sinais falsos sem exceções, ou seja, uma parte deles será de qualquer forma perdida. Mas é suficiente para alguns TS obter uma vantagem sob a forma de uma expectativa matemática positiva.

2. Muitos TS foram rejeitados anteriormente, apenas porque se encaixam bem, mas nos testes de avanço deram resultados insatisfatórios. Agora, depois de analisar estes TS usando o método descrito acima, verifica-se que alguns deles se revelaram ser cavalos de trabalho bastante bons. Assim, alguma parte dos sistemas comerciais pode ser reanimada desta forma.

3. Se você quiser entender a essência da metodologia, verá que ela é mais confiável do que um simples OOS otimizado e testado.

 
Reshetov:
... é compreensível que seja melhor verificar nas costas do OOS, já que o futuro que vamos negociar está à nossa frente.
Eu mesmo verifiquei há alguns anos se o OOS "por trás" dá algo "na frente". E chegou à conclusão de que a correlação não é de modo algum óbvia. Não há garantias particulares. A probabilidade de sucesso do TS pode aumentar ligeiramente, mas o Expert Advisor pode falhar em dar lucro e perdê-lo. Precisamos de outros métodos aqui.
 
voltair:
Quanto a mim, há alguns anos atrás, verifiquei se OOS "atrás" dá algo "na frente". E chegou à conclusão de que a correlação não é de modo algum óbvia. Não há garantias particulares. A probabilidade de sucesso do TS pode aumentar ligeiramente, mas o Expert Advisor pode falhar em dar lucro e perdê-lo. Precisamos de outros métodos aqui.

Mais uma vez, usando o método acima, ninguém proíbe a verificação do OOS tanto na frente como atrás. Se o lucro não for obtido em nenhum dos atacantes, o TS não é robusto e é melhor se livrar dele do que tentar ressuscitar o nado-morto. Sobre a diferença de resultados em diferentes OOS, ninguém previu uma correspondência de 100%.


Quanto às garantias, eu não as prometi a ninguém. Todos têm que testar minhas sugestões de TS em OOS e contas demo ou centavos e decidir por si mesmo se estão satisfeitos com o resultado ou não.


Eu não ficaria surpreso se você passasse toda sua vida em uma busca vã por um método com resultados garantidos e morresse sem encontrá-lo.

 
Reshetov:

Continuando o tema: Onde está a linha entre o encaixe e os padrões reais?

TSR é a abreviação de Trading Systems Recovery ..................

......................

Como vimos, embora ambos os perceptrons não tenham passado nos testes de avanço fora da amostra otimizada de dados históricos, ainda assim o filtro de seus sinais conjuntos, deu resultados positivos na história.

Yuri, estou encantado. Mesmo um ligeiro ciúme (afastou-se um passo desta idéia há alguns anos atrás) não diminui o prazer. Isso me fez feliz. Vou fazer mais experiências.

 
Reshetov:
... ninguém proíbe a verificação do OOS tanto na frente como na retaguarda. ... Se ... o TC não é robusto e é melhor se livrar dele ... haverá uma diferença nos resultados dos diferentes OOS, portanto não há promessa de uma partida 100% compatível.
Yuri, é óbvio. Bem, quem pode proibir a verificação / se livrar dela? Não é essa a questão, a questão é (minha opinião) que todos esses cheques são semelhantes a... pré-optimização! Ou seja, obtendo um resultado positivo no OOS obtemos TC figurativamente (e na verdade) otimizado em outro site (que agora inclui também o OOS). Qual é a probabilidade de que ela seja mais robusta no futuro ou no passado? Quais são os critérios objetivos para avaliar a robustez futura, além de "eu acho que sim"?