Sugestões para EA (Perder para Lucrar) - página 6

 
c0d3:
Você pode recomendar qualquer documentação para rodar um backtest com (1*std) -> (5*std) e (0,3 - > 1,5 tanto no SL quanto no TP)


Acrescentei algum código ao seu programa, marcado por djp. Vá soltar esta EA em um gráfico, na seção de propriedades preencha o passo inicial, pare com os valores nos comentários.

Marque a caixa de seleção de otimização e altere as Datas de Uso na guia de configurações. Desmarque o modo Visual, se você o tiver verificado. Pressione Start. Se você já sabe como fazer isso, não sei como você é familiar com o testador. Não estou dizendo que isto vai ajudar, mas você pode ser surpreendido por alguns destes resultados.

Em seu código, você tem 2 linhas [double fastSTD = ........ ] Você nunca usa fastSTD em nenhum outro lugar em seu código. Acho que você é capaz de usá-lo, mas usou o slowSTD por engano.

Talvez queira verificar isso antes de testar, leve em conta também outros comentários de cartazes antes de começar a testar. Se você nunca fez otimização antes, talvez queira fazer isso apenas mudando seu código, apenas para pegar o jeito. Acho que não vai funcionar mais de uma hora com as quatro variáveis.

 
danjp:


Eu adicionei algum código ao seu programa, marcado por djp. Vá soltar este EA em um gráfico, na seção de propriedades preencha o passo inicial, pare com os valores nos comentários.

Marque a caixa de seleção de otimização e altere as Datas de Uso na guia de configurações. Desmarque o modo Visual se você o tiver verificado. Pressione Start. Se você já sabe como fazer isto desculpe, não sei como você é familiar com o testador. Não estou dizendo que isto vai ajudar, mas você pode ser surpreendido por alguns destes resultados.

Em seu código, você tem 2 linhas [double fastSTD = ........ ] Você nunca usa fastSTD em nenhum outro lugar em seu código. Acho que você é capaz de usá-lo, mas usou o slowSTD por engano.

Talvez queira verificar isso antes de testar, leve em conta também outros comentários de cartazes antes de começar a testar. Se você nunca fez otimização antes, pode querer fazer isso apenas mudando seu código, apenas para pegar o jeito. Acho que não vai funcionar mais de uma hora com as quatro variáveis.


Obrigado, vou experimentar isto no meu testador de contas ao vivo, em vez do testador de contas demo.
 
c0d3:
é possível publicar aqui a EA modificada?

Claro. Estas são algumas das principais mudanças durante o teste acima:

1) Sua condição anterior:

if(Close[0]<fastMA[tradingTimeFrame-1])shortEntry();else if(Close[0]>fastMA[tradingTimeFrame-1])longEntry();

2) Como você vê acima: Todos os sinais de MA, entF foram "ordenados" e "vinculados" por

tradingTimeFrame-1

& pela equação, sobre o init:

if(tradingTimeFrame<3)tradingTimeFrame=3;
   entryTF=tradingTimeFrame-3;

e o resto das mudanças segue: esta forma facilita o desenvolvimento futuro para fins de otimização (basta passar por tradingTimeFrame por 1)

Desculpe, se não há comentários em meus códigos. Normalmente leio os códigos intactos e sem comentários, o que facilita a leitura, mais limpa para mim.

 
c0d3:

Obrigado, vou experimentar isto no meu testador de contas ao vivo, em vez do testador de contas demo.

Há um programa chamado WinMerge, http://winmerge.org/downloads/. Isto facilitará muito a sua vida. É gratuito e facilita a fusão de códigos. Pegue meu arquivo e funda as alterações nas alterações da Diostar e, em seguida, repita esse arquivo com um número de versão para que seja mais fácil acompanhar a versão mais recente. Talvez comece com MTFzMA_v1.0, então você incrementa o .0 por um toda vez que um de uso fizer uma alteração.
 
diostar:

Claro. Estas são algumas das principais mudanças durante o teste acima:

1) Sua condição anterior:

2) Como você vê acima: Todos os sinais de MA, entF foram "ordenados" e "vinculados" por

& pela equação, sobre o init:

e o resto das mudanças segue: esta forma facilita o desenvolvimento futuro para fins de otimização (basta passar por tradingTimeFrame por 1)

Desculpe, se não há comentários em meus códigos. Normalmente leio os códigos intactos e sem comentários, o que facilita a leitura, mais limpa para mim.


Código realmente limpo, com muitos loops :)


Obrigado
 
danjp:

Há um programa chamado WinMerge, http://winmerge.org/downloads/. Isto facilitará muito a sua vida. É gratuito e facilita a fusão de códigos. Pegue meu arquivo e funda as alterações nas alterações da Diostar e, em seguida, repita esse arquivo com um número de versão para que seja mais fácil acompanhar a versão mais recente. Talvez comece com MTFzMA_v1.0, então você incrementa o .0 por um toda vez que um de uso faz uma alteração.

fará
 

Aqui estão alguns dos resultados (teste de avanço), a partir de uma razão de 1:1 RR, e está perdendo até agora!

  • Pergunta: se eu invertesse os tipos de ordem (ou seja, comprar agora é vender), a relação ganho:perdido também seria espelhada?
  • Há 7 perdas, e 4 vitórias, se eu revertesse os tipos de ordem, os resultados seriam 7 vitórias, e 4 perdas?
  • Minha suposição é correta?

Se for esse o caso, então acho que seria uma boa idéia descobrir quando reverter as ordens e quando mantê-las como estão, apenas um pensamento...

O que vocês acham?

Declaração: 7064834 - 3
Interbank FX, LLC

Conta: 7064834 Nome: 3 Moeda: USD 2011 6 de outubro, 20:45
Transações Fechadas:
BilheteTempo abertoTipoTamanhoItem PreçoS / LT / PTempo de fechamento PreçoComissãoImpostosSwapLucro
1024655882011.10.04 16:12balançoDepósito1 000.00
1024691902011.10.04 16:50venda0.10eurusdm1.328561.343961.313162011.10.06 18:071.343960.000.00-0.27-15.40
90620112011.10.04 16:50:08[sl]
1024860502011.10.04 20:32vender0.10audusdm0.953180.968860.937502011.10.06 07:350.968860.000.00-0.62-15.68
90620112011.10.04 20:32:48[sl]
1024861442011.10.04 20:33vender0.10gbpusdm1.547191.559581.534802011.10.06 11:001.534800.000.00-0.2812.39
90620112011.10.04 20:33:37[tp]
1024862472011.10.04 20:34vender0.10gbpjpym118.828120.182117.4942011.10.06 11:00117.4940.000.00-0.4917.40
90620112011.10.04 20:34:36[tp]
1024876952011.10.04 21:15comprar0.10usdchfm0.916660.907080.926242011.10.06 07:000.926240.000.00-0.0710.34
90620112011.10.04 21:15:17[tp]
1024877232011.10.04 21:16comprar0.10usdcadm1.052841.044261.060782011.10.05 17:041.044260.000.000.00-8.22
90620112011.10.04 21:16:53[sl]
1025641342011.10.06 11:00venda0.10gbpusdm1.533371.540811.528612011.10.06 11:121.528610.000.000.004.76
90620112011.10.06 11:00:10[tp]
1025652822011.10.06 11:12venda0.10gbpusdm1.528141.535071.521312011.10.06 14:221.535070.000.000.00-6.93
90620112011.10.06 11:12:51[sl]
1025692942011.10.06 12:30comprar0.10usdjpym76.84776.69876.9942011.10.06 12:3076.8060.000.000.00-0.53
90620112011.10.06 12:30:01
1025692962011.10.06 12:30comprar0.10usdjpym76.84776.69976.9952011.10.06 12:3076.8050.000.000.00-0.55
90620112011.10.06 12:30:02
1025692982011.10.06 12:30comprar0.10usdjpym76.84776.69976.9952011.10.06 13:3376.6990.000.000.00-1.93
90620112011.10.06 12:30:02[sl]
0.00 0.00 -1.73 -4.35
Fechado P/L: -6.08
Comércio Aberto:
BilheteTempo abertoTipoTamanhoItem PreçoS / LT / P PreçoComissãoImpostosSwapLucro
1025791662011.10.06 15:21comprar0.10usdchfm0.923010.918380.927320.920920.000.000.00-2.27
90620112011.10.06 15:21:28
1025877442011.10.06 18:18venda0.10gbpusdm1.543221.550521.535801.544310.000.000.00-1.09
90620112011.10.06 18:18:43
0.00 0.00 0.00 -3.36
P/L flutuante: -3.36
Ordens de trabalho:
BilheteTempo abertoTipoTamanhoItem PreçoS / LT / PPreço de mercado
Nenhuma transação
Resumo:
Depósito/Retirada: 1 000.00 Facilidade de crédito: 0.00
Comércio Fechado P/L: -6.08 Flutuante P/L: -3.36 Margem: 50.86
Equilíbrio: 993.92 Equidade: 990.56 Margem livre: 939.70
Detalhes:

Lucro Bruto: 44.05 Lucro Bruto: 50.13 Lucro líquido total: -6.08
Fator de Lucro: 0.88 Resultado esperado: -0.55
Sorteio Absoluto: 14.25 Desembolso máximo: 25.61 (2.51%) Drawdown relativo: 2.51% (25.61)
Total de negócios: 11 Posições Curtas (ganharam %): 6 (50.00%) Posições Longas (% ganhadas): 5 (20.00%)
Lucro comercial (% do total): 4 (36.36%) Perdas comerciais (% do total): 7 (63.64%)
A maior comércio lucrativo: 16.91 comércio de perdas: -16.30
Média comércio lucrativo: 11.01 comércio de perdas: -7.16
Máximo vitórias consecutivas ($): 3 (33.78) perdas consecutivas ($): 5 (-25.61)
Maximal lucro consecutivo (contagem): 33.78 (3) perda consecutiva (contagem): -25.61 (5)
Média vitórias consecutivas: 2 perdas consecutivas: 2
 
c0d3:

Aqui estão alguns dos resultados (teste para frente), a partir de uma razão de 1:1 RR, e está perdendo até agora!

  • Pergunta: se eu invertesse os tipos de ordem (ou seja, comprar agora é vender), a relação ganho:perdido também seria espelhada?

Meu Deus, o senhor o mencionou.

Porque isto foi o que descobri no outro dia. Melhorou, embora não a um nível glorioso, mas essa melhoria, no sentido técnico/técnico, foi uma taxa de mudança altamente significativa. Demasiado significativo para ser deixado por descobrir, "não descoberto".

Assim, coloquei aqui um novo tópico: O que você acha desta abordagem do "Maligno Graal" aos EAs? procurando por metodologias de outros para suas próprias abordagens de EA.

A metodologia que estamos fazendo aqui é semelhante à engenharia reversa, fyi. No entanto, a forma é mais:

Encontrar a melhor solução no menor espaço de tempo possível. Enquanto no mesmo tempo (muito curto), 5-10 minutos no máximo, teste por unidade de lógica, então a lógica pode ser determinada, digamos. 99% boa ou 99% ruim, é praticamente confirmada.

Experimente. você pode ter uma surpresa como eu tive. é uma maneira bastante "pouco ortodoxa" de fazer - um Graal Maligno "esperando" transformar o Santo Graal, ele soa de arrependimento de algum tipo, como virar uma nova folha. No entanto, é uma possibilidade.

 
diostar:

Meu Deus, o senhor mencionou isso.

Porque foi isso que eu descobri também no outro dia. Melhorou, embora não a um nível glorioso, mas essa melhoria, no sentido técnico/de engenharia, foi uma taxa de mudança altamente significativa. Demasiado significativo para ser deixado por descobrir, "não descoberto".

Assim, coloquei aqui um novo tópico: O que você acha desta abordagem do "Maligno Graal" aos EAs? procurando por metodologias de outros para suas próprias abordagens de EA.

A metodologia que estamos fazendo aqui é semelhante à engenharia reversa, fyi. No entanto, a forma é mais:

Encontrar a melhor solução no mais mínimo de tempo. Enquanto no mesmo tempo (muito curto), 5-10 minutos no máximo, teste por unidade de lógica, então a lógica pode ser determinada, digamos. 99% boa ou 99% ruim, é praticamente confirmada.

Experimente. você pode ter uma surpresa como eu tive. é uma maneira bastante "pouco ortodoxa" de fazer - um Graal Maligno "esperando" transformar o Santo Graal, ele soa de arrependimento de algum tipo, como virar uma nova folha. No entanto, é uma possibilidade.

Já tentei este método antes, e toda vez que invertia os tipos de ordem, o sistema continuava falhando, LOL?? Tenho uma forte sensação de que, se eu mudar este sistema e fizer um teste, vou obter exatamente os mesmos resultados.

Não obstante, vou tentar!

 
c0d3:

Já tentei este método antes, e cada vez que invertia os tipos de ordem, o sistema continuava a falhar, LOL?? Tenho uma forte sensação de que, se eu mudar este sistema e fizer um teste, vou obter exatamente os mesmos resultados.

No entanto, vou tentar!

Não. Não é bem isso, nesta fase. Pode ser uma perda de tempo, testando da compra para a venda, vice versa, embora tenha dado mudanças. Quando eu digo, é isto que eu quis dizer:

Encontrar a melhor solução no mais mínimo de tempo. Enquanto no mesmo tempo (muito curto), 5-10 minutos no máximo, testar a lógica por unidade, então a lógica PODE ser uma lógica determinada, digamos. 99% boa ou 99% ruim, é praticamente confirmada.

1) Você apenas toma 1 lógica mestre, digamos por exemplo:

if(Close[0]<fastMA[tradingTimeFrame-1])shortEntry()

e retire todo o resto, e você faz isso:

if(Close[0]<fastMA[tradingTimeFrame-1]){shortEntry();longEntry();}

isto é, por unidade de lógica - testando AMBOS comprar e vender, na hora do SAME. Portanto, se você deseja ir otimizando com esta 1 lógica mestre, você simplesmente otimizará em seus parâmetros básicos - sl,tp, lotes, etc. somente. Em seguida, analise as instâncias de suas compras e vendas, julgue se esta 1 lógica pode fazer o corte, em ambos os cenários - se ela faz uma entrada incorreta ou correta. Em ambos os cenários. Em seguida, passar para a lógica seguinte.

À medida que você se dá bem, talvez queira tentar combinações...1 lógica apenas compra, lógica 2, apenas vende, ou ambas, etc. Acho que esta maneira é mais estruturada e você pode realmente ver qual lógica precisa está realmente causando o drawdown.