Aprendizado de máquina no trading: teoria, prática, negociação e não só - página 2845

 
Li sua batalha sobre a otimização de parâmetros e vi que há pessoas que sabem como fazê-lo.
Explique, como posso otimizar os parâmetros para a expectativa zero de variância?
Por exemplo, é possível usar o otimizador mt5 e otimizar o algoritmo de negociação por lucro, ajustando assim os parâmetros à variância.
Mas isso requer a prescrição da execução de negociações, para que o otimizador mt5 comece a funcionar.
E como posso otimizar não por lucro? Mas pelo critério de dispersão.
Aponte-me a direção certa.
 
Roman #:
Li sua batalha sobre otimização de parâmetros e vi que há pessoas que sabem como fazer isso.
Explique, como posso otimizar parâmetros para expectativa zero de variância?
Por exemplo, é possível usar o otimizador mt5 e otimizar o algoritmo de negociação por lucro, ajustando assim os parâmetros à variância.
Mas isso requer a prescrição da execução de negociações, para que o otimizador mt5 comece a funcionar.
E como posso otimizar não por lucro? Mas pelo critério de variância.
Aponte a direção certa.

Use a função OnTester(), crie qualquer critério de otimização de seu interesse e execute a otimização por critério personalizado no testador. Bem, ou eu não entendi sua pergunta.

 
Aleksey Nikolayev #:

Use a função OnTester(), crie qualquer critério de otimização de seu interesse e execute a otimização por critério personalizado no testador. Bem, ou eu não entendi sua pergunta.

Sim, acho que você entendeu corretamente.
Só não entendi que a documentação diz que
OnTester() é chamada nos Expert Advisors quando ocorre o eventoTester para executar as ações necessárias no final do teste.
Então, durante todo o tempo de teste, recebemos apenas uma variante de otimização? E apenas um valor?
Pelo que entendi da documentação, OnTester() retorna apenas um valor do tipo double.
E se houver mais parâmetros otimizados, por exemplo, dois. Então OnTester() não é adequado para resolver esse problema?

Документация по MQL5: Программы MQL5 / События клиентского терминала
Документация по MQL5: Программы MQL5 / События клиентского терминала
  • www.mql5.com
События клиентского терминала - Программы MQL5 - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Roman #:

E se houver mais parâmetros a serem otimizados, por exemplo, dois. Então OnTester() não é adequado para resolver essa tarefa?

Leia sobre frames.

 
Roman #:

Sim, você provavelmente entendeu corretamente.
Eu simplesmente não entendo, a documentação diz que
OnTester() é chamado nos Expert Advisors quando o eventoTester ocorre para executar as ações necessárias após o término do teste.
Então, durante todo o tempo de teste, recebemos apenas uma variante de otimização? E apenas um valor?
Pelo que entendi da documentação, OnTester() retorna apenas um valor do tipo double.
E se houver mais parâmetros otimizados, por exemplo, dois. Então OnTester() não é adequado para resolver esse problema?

Há um artigo sobre como criar um testador de estratégia personalizado com base em OnTester(), mas primeiro você precisa decidir como será a otimização de dois critérios. Você pode misturar dois critérios em um com pesos determinados ou pode tentar criar uma superfície de Pareto.

Пользовательский тестер стратегий на основе быстрых математических вычислений
Пользовательский тестер стратегий на основе быстрых математических вычислений
  • www.mql5.com
Статья описывает создание пользовательского тестера стратегий и своего собственного анализатора прогонов оптимизации. Прочитав ее, вы поймете, как работает режим математических вычислений и механизм так называемых фреймов, как можно подготовить и загрузить свои собственные данные для расчетов и использовать эффективные алгоритмы их сжатия. Также эта статья будет интересна всем, кто интересуется способами хранения пользовательской информации внутри эксперта.
 
Aleksey Vyazmikin #:

Leia sobre molduras.

Aleksey Nikolayev #:

Há um artigo sobre como criar um testador de estratégia personalizado com base em OnTester(), mas primeiro você precisa decidir como será a otimização de dois critérios. Você pode misturar dois critérios em um com pesos determinados ou pode tentar criar uma superfície de Pareto.

Estou apenas lendo este artigo.
Entendo um pouco em que direção devo ir. Obrigado.
 
СанСаныч Фоменко #:

Por falar em pássaros.

Não há fórmulas com o sinal de igualdade nos mercados financeiros, ou seja

não há fórmulas

y = x

Ou seja, se x = 2, então y = 2.

Esse é um pensamento determinista.

Existem fórmulas:

y ~ x

segundo as quais, se x = 2, então y = 2 no canal de algum intervalo de confiança. Mas, para mercados não estacionários, não há sequer um intervalo de confiança, porque a dispersão é uma variável, e nem mesmo uma variável, mas outra coisa.

Esse é o pensamento estocástico.

Esse tipo de TS não funcionará. Somente o pensamento estocástico das condições de negociação A=B funciona.

O pensamento estocástico em geral é como sonhos bêbados de eternidade, em que quanto maior a probabilidade de eventos, mais raras são as possibilidades. Mas elas também nunca são 100% garantidas. Como resultado, a melhor opção é não negociar.
 
Evgeni Gavrilovi #:

Maxim Vladimirovich, o que você acha do agrupamento quântico?

https://github.com/enniogit/Quantum_K-means

Não vi a diferença e as vantagens à primeira vista.

E não sei como usar os resultados depois. Tentei adicionar clusters à marcação de rótulos, mas isso não fez diferença.

Ao classificar, dividimos em classes já levando em conta as previsões, mas sempre agrupamos no momento atual. É por isso que precisamos verificar a previsibilidade desses clusters, também por meio da busca de recursos. Em geral, é uma dor de cabeça.

 

não está claro na ajuda como o critério complexo é calculado:

O "Máximo do critério complexo" também está disponível. Esse é um indicador integral e abrangente da qualidade da aprovação em um teste. Ele leva em conta vários parâmetros ao mesmo tempo:

  • Número de negociações
  • Rebaixamento
  • Fator de recuperação
  • Expectativa mat. de ganhos
  • Índice de Sharpe

Esse critério nos permite entender que o valor máximo de um parâmetro (por exemplo, lucro) nem sempre é a melhor opção do ponto de vista de uma análise complexa. Ele permite que você selecione as melhores passagens passo a passo: primeiro pelo número de negociações, depois, a partir dessa amostra, pela expectativa de lucratividade da esteira, depois pelo fator de recuperação e assim por diante. Assim, como resultado da otimização, você obtém as melhores passagens por todos os parâmetros e, em seguida, pode escolher passagens específicas, por exemplo, aquelas com o maior lucro.

Embora seja um critério integral, na minha opinião ele é muito bem-sucedido. Em muitos casos, ele é útil. Seria bom se os desenvolvedores explicassem esse critério (como exatamente ele é calculado) e, de preferência, exibissem as explicações na ajuda.

 
Andrey Dik #:

não está claro na ajuda como o critério complexo é calculado

está claro que existe alguma fórmula, talvez até secreta, mas se fosse possível definir pesos para os componentes do critério complexo.... mmm, um conto de fadas.