Pergunta sobre otimização genética - página 4

 

Então apenas esta linha iCustom é alterada? Então precisamos olhar este indicador em detalhes.

 

Você tem o tópico errado. Você está se concentrando na otimização, enquanto o problema é obviamente com a EA(transferência de parâmetros, etc.). Esqueça a otimização por um tempo, coloque comentários e impressoras no EA, execute com parâmetros diferentes no visual, controle os dados intermediários, encontre todos os erros e depois volte à otimização.

Os mesmos resultados indicam que os parâmetros otimizados não afetam a formação do sinal comercial, e este é o problema da EA, não do testador.

 
Angela >> :

Se eu definir os parâmetros assim: (iCustom(NULL, 0, "ART", MA_Period, KFK, 0, 1), Dígitos); - obtemos todos os zeros, como eu dei um exemplo acima.

Se eu definir iCustom(NULL, 0, "ART", 0, 1), Dígitos); - então aparecem os valores calculados,

mas são todos iguais, embora no testador, quando se corre com parâmetros diferentes, os resultados dos negócios sejam muito diferentes.

Angela, para que a otimização funcione, é preciso usar os valores alterados pelo otimizador no algoritmo de alguma forma, em particular, é preciso passá-los para o indicador. É necessário passar parâmetros para o indicador, se você quiser otimizá-lo. Quando você chama o indicador sem parâmetros (ou seja, o segundo caso iCustom(NULL, 0, "ART", 0, 1)), você realmente omite os parâmetros e ele funciona com os parâmetros padrão, que estão registrados dentro do ART (é claro que eles não estão otimizados). A chamada completa com parâmetros - a primeira opção - é o que você precisa para a otimização. Muito provavelmente, o problema é que você não passa os parâmetros corretamente. Por exemplo, se seu número no indicador for menor, e você passar um valor melhor, ou vice-versa, se você não lhes der todos os parâmetros. Se o indicador for um segredo, pelo menos forneça a lista de seus parâmetros.

 

Graças a todos, o motivo foi trivial. A ordem em que os parâmetros enviados do indicador para a EA não corresponderam:

no Expert Advisor foi

extern int MA_Period=151; // 101 10 201
extern double KFK=0,9; // 0,7 0,005 1.

no indicador, ao contrário

duplo exterior KFK=0,9; // 0,7 0,005 1.

externo int MA_Period=151; // 101 10 201

funcionava no modo de visualização, mas não no modo de otimização.

 

Parabéns. Também me lembro de lutar com parâmetros de passagem, até me acostumar a ser escrupuloso. Agora eu copio um pedaço de código indicador com todos os externs no Expert Advisor e escrevo iCustom, olhando a amostra. É um pouco obtuso, mas desde então não há erros.

E mais uma coisa. Procurei o estilo ilustrativo de escrita iCustom de Komposter. Tudo está bem na palma da minha mão.

/*
Входные параметры индикатора
extern int FastEMA=12;
extern int SlowEMA=26;
extern int SignalSMA=9;
*/
double signal=iCustom(Symbol(),Period(),"MACD",
                                       FastEMA,   //параметр 1
                                       SlowEMA,   //параметр 2
                                       SignalSMA, //параметр 3
                                       0,         //номер буфера индикатора    
                                       SignalBar);//бар, с которого получаем данные (внешняя переменная)
 

Estou depurando a segunda versão do meu TS, em comparação com a primeira o número de negócios aumentou e o número de parâmetros otimizáveis diminuiu significativamente, embora o drawdown tenha dobrado.

Entretanto tenho algumas dúvidas, o sistema não é muito estável de mês para mês. Ainda não o otimizei, mas o resultado com GA estará disponível em 48 horas. 800+ execuções não são encorajadoras e os resultados de otimização em junho são piores que os dos testes com os parâmetros iniciais para o mesmo período. Trago três estatísticas, para junho, julho e agosto, até agora só depurei a Buy. Posso retirar tal sistema devido à otimização com resultados estáveis ou devo começar a desenvolver um novo de imediato?

Relatório de teste de estratégia
ABC_exp
Alpari-Demo (Build 225)

Símbolo GBPUSD (Libra esterlina versus dólar americano)
Período 5 Minutos (M5) 2009.06.01 00:00 - 2009.06.30 23:59 (2009.06.01 - 2009.07.01)
Modelo Por preços abertos (somente para Consultores Especialistas com controle explícito de abertura de barra)
Parâmetros Lots=0,1; TrailingStop1=3110; StopLoss1=1500; TrailingStop2=3110; StopLoss2=1500; MAGIC_1=12345; MAGIC_2=23456; MA_Period=151; KFK=0,9;
Bares na história 7288 Carrapatos modelados 13573 Qualidade da simulação n/d
Erros de descasamento de cartas 0
Depósito inicial 1000.00
Lucro líquido 503.82 Lucro total 643.12 Perda total -139.30
Rentabilidade 4.62 Pagamento previsto 27.99
Desembolso absoluto 8.70 Máximo de drawdown 103.20 (7.77%) Drawdown relativo 7.77% (103.20)
Total de negócios 18 Posições curtas (% ganho) 0 (0.00%) Posições longas (% ganho) 18 (66.67%)
Ofícios rentáveis (% de todos) 12 (66.67%) Perdas comerciais (% do total) 6 (33.33%)
A maior comércio lucrativo 107.32 transação perdida -43.00
Média negócio lucrativo 53.59 perdendo comércio -23.22
Máximo ganhos contínuos (lucro) 5 (263.10) Perdas contínuas (perda) 3 (-74.00)
Máximo Lucro contínuo (número de vitórias) 263.10 (5) Perda contínua (número de perdas) -74.00 (3)
Média prêmios contínuos 2 Perda contínua 2

Hora Tipo Ordem Volume Preço S / L T / P Lucro Balanço
1 2009.06.01 16:10 compre 1 0.10 1.63896 1.62396 0.00000
2 2009.06.01 17:55 fechar 1 0.10 1.64462 1.62396 0.00000 56.60 1056.60
3 2009.06.02 12:55 compre 2 0.10 1.64588 1.63088 0.00000
4 2009.06.02 14:05 fechar 2 0.10 1.64768 1.63088 0.00000 18.00 1074.60
5 2009.06.09 08:15 compre 3 0.10 1.60495 1.58995 0.00000
6 2009.06.09 09:00 fechar 3 0.10 1.61273 1.58995 0.00000 77.80 1152.40
7 2009.06.09 13:25 compre 4 0.10 1.61447 1.59947 0.00000
8 2009.06.09 14:00 fechar 4 0.10 1.61788 1.59947 0.00000 34.10 1186.50
9 2009.06.10 13:05 compre 5 0.10 1.63679 1.62179 0.00000
10 2009.06.10 13:35 fechar 5 0.10 1.64445 1.62179 0.00000 76.60 1263.10
11 2009.06.11 01:30 compre 6 0.10 1.63664 1.62164 0.00000
12 2009.06.11 02:00 fechar 6 0.10 1.63577 1.62164 0.00000 -8.70 1254.40
13 2009.06.11 15:45 compre 7 0.10 1.64653 1.63153 0.00000
14 2009.06.11 16:50 fechar 7 0.10 1.65300 1.63153 0.00000 64.70 1319.10
15 2009.06.12 17:15 compre 8 0.10 1.65102 1.63602 0.00000
16 2009.06.12 18:10 fechar 8 0.10 1.65011 1.63602 0.00000 -9.10 1310.00
17 2009.06.16 08:50 compre 9 0.10 1.63621 1.62121 0.00000
18 2009.06.16 09:00 fechar 9 0.10 1.63396 1.62121 0.00000 -22.50 1287.50
19 2009.06.16 17:05 compre 10 0.10 1.64623 1.63123 0.00000
20 2009.06.16 18:40 fechar 10 0.10 1.64199 1.63123 0.00000 -42.40 1245.10
21 2009.06.18 08:50 compre 11 0.10 1.64200 1.62700 0.00000
22 2009.06.18 09:30 fechar 11 0.10 1.64352 1.62700 0.00000 15.20 1260.30
23 2009.06.19 07:45 compre 12 0.10 1.63728 1.62228 0.00000
24 2009.06.19 11:50 fechar 12 0.10 1.64252 1.62228 0.00000 52.40 1312.70
25 2009.06.19 17:30 compre 13 0.10 1.64542 1.63042 0.00000
26 2009.06.19 18:10 fechar 13 0.10 1.65045 1.63042 0.00000 50.30 1363.00
27 2009.06.23 17:40 compre 14 0.10 1.63475 1.61975 0.00000
28 2009.06.24 02:40 fechar 14 0.10 1.64549 1.61975 0.00000 107.32 1470.32
29 2009.06.24 15:15 compre 15 0.10 1.65717 1.64217 0.00000
30 2009.06.24 15:35 fechar 15 0.10 1.65287 1.64217 0.00000 -43.00 1427.32
31 2009.06.26 08:50 compre 16 0.10 1.64036 1.62536 0.00000
32 2009.06.26 12:00 fechar 16 0.10 1.64922 1.62536 0.00000 88.60 1515.92
33 2009.06.29 12:15 compre 17 0.10 1.65490 1.63990 0.00000
34 2009.06.29 12:35 fechar 17 0.10 1.65354 1.63990 0.00000 -13.60 1502.32
35 2009.06.29 20:25 compre 18 0.10 1.65678 1.64178 0.00000
36 2009.06.29 21:25 fechar 18 0.10 1.65693 1.64178 0.00000 1.50 1503.82
 
Relatório de teste de estratégia
ABC_exp
Alpari-Demo (Build 225)

Símbolo GBPUSD (Libra esterlina versus dólar americano)
Período 5 Minutos (M5) 2009.07.01 00:00 - 2009.07.31 22:59 (2009.07.01 - 2009.08.01)
Modelo Por preços abertos (somente para Consultores Especialistas com controle explícito de abertura de barra)
Parâmetros Lots=0,1; TrailingStop1=3110; StopLoss1=1500; TrailingStop2=3110; StopLoss2=1500; MAGIC_1=12345; MAGIC_2=23456; MA_Period=151; KFK=0,9;
Bares na história 7560 Carrapatos modelados 14120 Qualidade da simulação n/d
Erros de descasamento de cartas 0
Depósito inicial 1000.00
Lucro líquido 137.84 Lucro total 239.34 Perda total -101.50
Rentabilidade 2.36 Pagamento previsto 9.85
Desembolso absoluto 24.16 Máximo de drawdown 121.88 (11.10%) Drawdown relativo 11.10% (121.88)
Total de negócios 14 Posições curtas (% ganho) 0 (0.00%) Posições longas (% ganho) 14 (71.43%)
Ofícios rentáveis (% de todos) 10 (71.43%) Perdas comerciais (% do total) 4 (28.57%)
A maior comércio lucrativo 58.00 transação perdida -57.20
Média negócio lucrativo 23.93 Perda do negócio -25.38
Número máximo ganhos contínuos (lucro) 6 (82.92) Perdas contínuas (perda) 2 (-63.70)
Máximo Lucro contínuo (número de vitórias) 117.12 (3) Perda contínua (número de perdas) -63.70 (2)
Média prêmios contínuos 3 Perda contínua 1

Hora Tipo Ordem Volume Preço S / L T / P Lucro Balanço
1 2009.07.14 08:35 compre 1 0.10 1.62852 1.61352 0.00000
2 2009.07.14 08:40 fechar 1 0.10 1.62629 1.61352 0.00000 -22.30 977.70
3 2009.07.14 23:00 compre 2 0.10 1.63120 1.61620 0.00000
4 2009.07.15 02:30 fechar 2 0.10 1.63191 1.61620 0.00000 7.02 984.72
5 2009.07.15 13:35 compre 3 0.10 1.64028 1.62528 0.00000
6 2009.07.15 14:30 fechar 3 0.10 1.64286 1.62528 0.00000 25.80 1010.52
7 2009.07.16 12:45 compre 4 0.10 1.64466 1.62966 0.00000
8 2009.07.16 15:05 fechar 4 0.10 1.64481 1.62966 0.00000 1.50 1012.02
9 2009.07.20 03:35 compre 5 0.10 1.63951 1.62451 0.00000
10 2009.07.20 04:35 fechar 5 0.10 1.63994 1.62451 0.00000 4.30 1016.32
11 2009.07.20 18:45 compre 6 0.10 1.65356 1.63856 0.00000
12 2009.07.20 21:30 fechar 6 0.10 1.65368 1.63856 0.00000 1.20 1017.52
13 2009.07.22 16:55 compre 7 0.10 1.64327 1.62827 0.00000
14 2009.07.22 18:55 fechar 7 0.10 1.64758 1.62827 0.00000 43.10 1060.62
15 2009.07.23 08:30 compre 8 0.10 1.65223 1.63723 0.00000
16 2009.07.23 08:35 fechar 8 0.10 1.65068 1.63723 0.00000 -15.50 1045.12
17 2009.07.23 16:45 compre 9 0.10 1.65286 1.63786 0.00000
18 2009.07.23 17:35 fechar 9 0.10 1.65679 1.63786 0.00000 39.30 1084.42
19 2009.07.24 09:10 compre 10 0.10 1.65293 1.63793 0.00000
20 2009.07.24 10:35 fechar 10 0.10 1.64721 1.63793 0.00000 -57.20 1027.22
21 2009.07.27 08:35 compre 11 0.10 1.65044 1.63544 0.00000
22 2009.07.27 08:45 fechar 11 0.10 1.64979 1.63544 0.00000 -6.50 1020.72
23 2009.07.27 13:45 compre 12 0.10 1.65005 1.63505 0.00000
24 2009.07.28 09:45 fechar 12 0.10 1.65467 1.63505 0.00000 46.12 1066.84
25 2009.07.30 08:50 compre 13 0.10 1.64618 1.63118 0.00000
26 2009.07.30 09:30 fechar 13 0.10 1.64748 1.63118 0.00000 13.00 1079.84
27 2009.07.31 16:50 compre 14 0.10 1.65534 1.64034 0.00000
28 2009.07.31 17:15 fechar 14 0.10 1.66114 1.64034 0.00000 58.00 1137.84
Relatório de teste de estratégia
ABC_exp
Alpari-Demo (Build 225)

Símbolo GBPUSD (Libra esterlina versus dólar americano)
Período 5 Minutos (M5) 2009.08.03 00:00 - 2009.08.11 23:59 (2009.08.02 - 2009.08.12)
Modelo Por preços abertos (somente para Consultores Especialistas com controle explícito de abertura de barra)
Parâmetros Lots=0,1; TrailingStop1=3110; StopLoss1=1500; TrailingStop2=3110; StopLoss2=1500; MAGIC_1=12345; MAGIC_2=23456; MA_Period=151; KFK=0,9;
Bares na história 3005 Carrapatos simulados 5007 Qualidade da simulação n/d
Erros de descasamento de cartas 0
Depósito inicial 1000.00
Lucro líquido 90.68 Lucro total 146.52 Perda total -55.84
Rentabilidade 2.62 Pagamento previsto 22.67
Desembolso absoluto 4.30 Máximo de drawdown 63.18 (5.68%) Drawdown relativo 5.68% (63.18)
Total de negócios 4 Posições curtas (% ganho) 0 (0.00%) Posições longas (% ganho) 4 (50.00%)
Ofícios rentáveis (% de todos) 2 (50.00%) Perdas comerciais (% do total) 2 (50.00%)
A maior comércio lucrativo 92.80 perdendo negócio -39.84
Média negócio lucrativo 73.26 perdendo comércio -27.92
Número máximo ganhos contínuos (lucro) 1 (92.80) Perdas contínuas (perda) 1 (-39.84)
Máximo Lucro contínuo (número de vitórias) 92.80 (1) Perda contínua (número de perdas) -39.84 (1)
Média prêmios contínuos 1 Perda contínua 1

Hora Tipo Ordem Volume Preço S / L T / P Lucro Balanço
1 2009.08.03 09:45 compre 1 0.10 1.67460 1.65960 0.00000
2 2009.08.03 10:50 fechar 1 0.10 1.68388 1.65960 0.00000 92.80 1092.80
3 2009.08.04 11:25 compre 2 0.10 1.69389 1.67889 0.00000
4 2009.08.04 14:45 fechar 2 0.10 1.69229 1.67889 0.00000 -16.00 1076.80
5 2009.08.04 19:50 compre 3 0.10 1.69312 1.67812 0.00000
6 2009.08.05 12:40 fechar 3 0.10 1.69850 1.67812 0.00000 53.72 1130.52
7 2009.08.05 18:45 compre 4 0.10 1.70146 1.68646 0.00000
8 2009.08.06 04:45 fechar 4 0.10 1.69750 1.68646 0.00000 -39.84 1090.68
 
Se apenas o código mql estiver envolvido na EA, então algo deve ser codificado errado, porque com o modelo de preço de abertura 800 corridas não deve ser tão lento. Ou talvez eu tenha entendido mal alguma coisa. Normalmente os especialistas com ligação externa, tais como bibliotecas de redes neurais, etc., são tão lentos. Naturalmente, também podemos assumir que o mql tem muitos loops aninhados (ou chamadas de alguns indicadores "vorazes") - então ele pode ser completamente desacelerado. Portanto, só posso repetir a idéia da suposta necessidade de refatoração ;-) - Verifique novamente e re-transforme alguns fragmentos de código ou o código inteiro.
 
marketeer писал(а) >>
Se apenas o código mql estiver envolvido no Expert Advisor, algo deve ser codificado incorretamente porque 800 corridas não devem abrandar a preços de abertura. Ou estou entendendo mal alguma coisa. Normalmente os especialistas com ligação externa, tais como bibliotecas de redes neurais, etc., são tão lentos. Naturalmente, também podemos assumir que o mql tem muitos loops aninhados (ou chamadas de alguns indicadores "vorazes") - então ele pode ser completamente desacelerado. Portanto, só posso repetir a idéia da suposta necessidade de refatoração ;-) - Verifique novamente e re-transforme alguns fragmentos de código ou o código inteiro.

800 das mais de 8000 corridas haviam passado pelo tempo de escrita do correio, com 5 horas de otimização, e ainda faltavam 2 dias para o fim. Mas não esperei até o final, reduzi o intervalo de enumeração de alguns parâmetros, reiniciei e em 8 horas toda a otimização foi realizada.

O melhor resultado:

     Прибыль     Всего сделок     Прибыльность   Матожидание     Просадка$    Просадка%
673  597.40         23            4.80            25.97           67.90         4.81%    Threshold1=109 Threshold2=227 USL=0.0037 MA_Period=58
 

O número de negócios rentáveis excede o número de negócios perdedores, a média de negócios rentáveis mais do que a de negócios perdedores é um sinal muito bom. Na minha opinião, você não deve desistir deste sistema, deve estudar seu comportamento em um período mais longo. Você também pode colocá-lo em outra cruz.

Razão: