Gostaria de fazer uma pergunta sobre a faixa de dados utilizada para otimizar os EAs. Isto é, em quais prazos que variam a escolha. Por exemplo, para H1, é suficiente otimizar o Expert Advisor em dados mensais, trienais e anuais? Gostaria de ver estes valores para diferentes prazos e pelo menos uma breve comprovação da escolha.
Não há critérios claros; todos têm uma opinião. Vou tentar dar minha opinião.
A otimização ao longo de todo o período da história é pura auto-engano. É por isso que o intervalo de otimização deve ser pelo menos a metade do período de testes. Entretanto, quanto menor for a parte do período de testes utilizada para otimização, melhor. Após selecionar parâmetros no intervalo de otimização, execute o teste no intervalo completo que você selecionou como o período de teste. Você pode começar a "acreditar" nos resultados obtidos, se a amostra chegar a pelo menos 100 negócios. Mas mesmo isso não é suficiente para muitas pessoas. É claro que uma quantidade maior de acordos dá uma idéia mais precisa sobre o sistema. Por exemplo, eu posso "acreditar" em uma amostra de pelo menos 200 negócios. 1000 ofícios é ótimo, mas não há limite para a perfeição...
Esta questão é muito bem tratada por Jezev e Shumsky. Eis o que pode ser dito resumindo o que eles fizeram:
A tarefa da teoria da aprendizagem não é minimizar o erro de aprendizagem, mas minimizar o erro de generalização definido para todos os possíveis exemplos futuros. É assim que um TS otimizado terá o máximo poder de previsão. E a dificuldade aqui é que é e somente o erro de aprendizagem que é realmente observável. O erro de generalização só pode ser estimado, com base em algumas considerações. O errodas previsões do testador sobre os novos dados é determinado pelo comprimento total da descrição do modelo dos dados, juntamente com a descrição do próprio modelo .
Erro de aproximação
Como o número de decisões tomadas pelo TC, como regra, é muito menor do que o número de parâmetros ajustados nele, neste caso o erro médio de aproximação será expresso através do número total de parâmetros de ajuste w da seguinte forma Eapprox= d/w, onde d é o número de parâmetros de entrada que o TS analisa. Na grande maioria dos casos d=w é cumprido (todos os parâmetros de ajuste são concentrados na entrada TC).
O principal problema dos algoritmos de aprendizagem, é conhecido como o problema do excesso de aprendizagem ou adaptação à história.A essência deste problema é melhor explicada por um exemplo concreto. Suponha que os exemplos de treinamento sejam gerados por uma função que queremos reproduzir. Na teoria da aprendizagem, esta função é chamada de professor. Dado um número finito de exemplos de treinamento, é sempre possível construir o teste com zero erro de aprendizagem, ou seja, com o erro definido no conjunto de exemplos de treinamento. Para isso, é preciso tomar um TS com o número de parâmetros de ajuste maior do que o número de exemplos. De fato, para reproduzir cada exemplo temosequaçõesP para W incógnitas.E se o número de desconhecidos for menor do que o número de equações, tal sistema é subdeterminado e admite infinitas soluções. Este é o principal problema: não temos informações suficientes para escolher a única solução correta - a função de professor. Como resultado, a função escolhida aleatoriamente produz previsões ruins sobre novos exemplos que não estavam presentes na amostra de treinamento, embora o Testador tenha reproduzido este último na história sem erros. Em vez de generalizar os exemplos conhecidos, ele os memorizou. Este efeito é chamado de overlearning.
Erro relacionado com a complexidade do modelo.
A descrição de um modelo se resume basicamente a passar os valores de seus parâmetros sub-ajustados. Para uma dada precisão, tal descrição exigirá sobre os bitsW .Conseqüentemente, o erro específico por exemplo relacionado à complexidade do modelo pode ser estimado da seguinte forma: Ecomplex=W/P. Como vemos, ele diminui monotonicamente com um número crescente de exemplos (duração da história em treinamento).
De fato, a fim de determinar sem ambigüidade parâmetros de ajuste por P dados exemplos, é necessário que o sistema de P de equações deveser superdeterminado, ou seja, o número de parâmetros W deve ser maior do que o número de equações. Quanto maior o grau de superdeterminação, menos o resultado do aprendizado depende da escolha particular de um subconjunto de exemplos de treinamento. O componente de erro de generalização definido acima está precisamente relacionado às variações da solução devido à finitude do número de exemplos.
Assim, estimamos ambos os componentes do erro de generalização do testador de estratégia: E=Eapprox+ Ecomplex=d/W+W/P>SQRT(d/P).É importante ressaltar que estes componentes dependem diferentemente do número de parâmetros de ajuste W, o que implica que o tamanho ideal que minimiza o erro geral pode ser escolhido. O erro mínimo (sinal de igualdade) é alcançado no comprimento ideal dos dados históricos que participam da otimização da estratégia: P=k*W^2/d=k*W, onde k-constant é aproximadamente igual a 4.
Assim, o erro mínimo de previsão de um Expert Advisor no teste prospectivo otimizado no testador de estratégia sobre dados históricos será alcançado se o comprimento dos dados históricos for quatro vezes maior que o número de parâmetros de ajuste no testador de estratégia.
Se otimizarmos 5 parâmetros no testador (por exemplo, períodos Mach), então a duração ideal do histórico deve ser tal que o testador usaria 4*5=20 transações sobre ele. Pode levar de 1 a ...200 dias de história, tudo depende da estratégia adotada. A redução deste número levará à adequação do testador à história e ao aumento - à deterioração da qualidade de aproximação e, conseqüentemente, ao agravamento da precisão da previsão.
Há muitas maneiras de conhecer este Mundo.
Alguns o conhecem através do Amor. Alguns através da meditação, etc. Dei uma forma de estimar o valor do interesse através da lógica e da matemática. Portanto, seu segredo não é segredo algum, é apenas mais uma faceta...
P.S. O que eu falei acima é apenas um ato de otimização dos parâmetros. Para avaliar o desempenho de uma EA otimizada, um ponto não é suficiente, você precisa coletar estatísticas, enquanto o resultado estatisticamente significativo começa com uma centena de corridas sobre dados independentes com otimização excessiva em cada passagem ...
Portanto, a receita para uma otimização adequada no testador não será simples.
Muito obrigado a todos vocês, especialmente ao Neutron pela descrição detalhada. Recentemente encontrei uma idéia muito interessante no fórum e estou trabalhando para implementá-la em meu código. Ao mesmo tempo, testei-o em demonstração e obtive um resultado bastante bom, cerca de 150% após 3 dias, mas tenho algumas nuances... A fim de não criar um novo tópico, vou perguntar aqui:
Ao definir um ponto de entrada é necessário descobrir se uma ordem já está aberta na mesma direção a uma distância de n pips. O seguinte código não funciona, mas não consigo entender por quê:
bool buy=true;
for(int cnt=0;cnt<OrdersTotal();cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderType()==OP_BUY && OrderOpenPrice()<=Bid && Bid-OrderOpenPrice()<50*Point) buy=false;
}
se (comprar) OrderSend(Symbol(),OP_BUY,0.1,Ask,3,0,0,0, "MyAdvisor",0,0,Blue);
Como resultado, quando eu executo um EA com 10 possíveis lotes abertos, ele os abre todos de um ponto. Eu quero que ele abra um pedido e só abra o próximo se a diferença entre o preço atual e o preço do pedido aberto atual for superior a 50 pips
ao Neutron
esses dois tipos de erros se aplicam a qualquer TC ou apenas às redes neurais?
budimir Você escolhe para a definição dos parâmetros as áreas de tendência? Você escolhe as linhas de tendência e as linhas de tendência laterais?
Eu seleciono as seções de tendência mais animadas, e a seção de encaixe resulta em apenas 20-30 negócios, enquanto a amostra na seção de encaixe deve ser de pelo menos 100-1000 negócios para
confiabilidade materna - tudo isso é um absurdo, bem, digamos que você pegou uma trama adequada, diretamente adjacente ao futuro, identificou a fase do mercado - uma tendência ou é uma tendência lateral ou uma mudança de direção, e então... nada! O mercado NÃO é estacionário, e não sabemos para onde irá no futuro!
à ITeXPert > não seja ridículo cerca de 150% em 3 dias.
e no meu TS você pode conseguir mais de uma dúzia de lotes desses em 3 dias com 150% ! :о)
- 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
Olá a todos!
Gostaria de fazer uma pergunta sobre a faixa de dados utilizada para otimizar os EAs. Isto é, em quais prazos que variam a escolha. Por exemplo, para H1, basta otimizar uma EA em um mês, três meses ou um ano de dados? Gostaria de ver estes valores para diferentes prazos e pelo menos uma breve comprovação da escolha. Muito obrigado.