Discussão do artigo "Controlando o declive da curva de equilíbrio durante o trabalho de um Expert Advisor" - página 4
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
solandr:
Realizei o seguinte experimento. Configurei o contador para acionar um lote reduzido para cada par de moedas. E testei todas as combinações de testes no M1 OHLC. Aqui está o resultado.
35 0 0 - testando apenas o primeiro par
0 36 0 - testando apenas o segundo par
0 0 0 168 - testando apenas o terceiro par.
36 35 0 0 - testando o primeiro e o segundo pares
0 35 162 - teste no segundo e terceiro pares
35 35 166 - teste em todos os três pares
Embora deva ser 35 36 168 quando estiver testando em todos os três pares.
Amanhã tentarei executar o EA em todos os ticks para comparação.
Se entendi corretamente, o número de negociações é diferente? Então, como o tamanho do lote pode afetar isso?
Se entendi corretamente, - o número de transações é diferente? Então, como o tamanho do lote pode afetar isso?
Não, o número total de negociações em 3 pares de moedas ao mesmo tempo corresponde à soma das negociações em execuções separadas.
Os resultados mostram o número de ordens abertas com um lote reduzido.
Ainda estou executando o Expert Advisor. Estou tentando entender o que altera os resultados da execução total. Escreverei uma mensagem mais tarde.
Não, o número total de negociações em 3 pares de moedas ao mesmo tempo corresponde à soma das negociações em execuções separadas.
Os resultados mostram o número de ordens abertas com um lote reduzido.
Ainda estou executando o Expert Advisor. Estou tentando entender o que altera os resultados na execução total. Escreverei uma mensagem mais tarde.
Provavelmente, devido a algumas condições variáveis, o lucro/prejuízo das negociações muda ligeiramente de execução para execução - como resultado, em alguns pontos da curva de equilíbrio, a troca de lote pode (ou não) ocorrer.
A situação é mais ou menos assim.
Talvez devido a algumas condições variáveis, o lucro/perda das negociações muda ligeiramente de uma execução para outra - como resultado, a troca de lotes pode (ou não) ocorrer em alguns pontos da curva de equilíbrio.
Algo parecido com isso.
Em princípio, a ideia é boa. No MT4, eu até uso um programa especial, o Spread Changer, que permite que você defina o spread para testes arbitrariamente, e os resultados não flutuam.
Ainda não encontrei um programa desse tipo para o MT5 (talvez eu não tenha procurado bem). Seria ótimo se, em versões futuras do terminal, os desenvolvedores incluíssem essa função no testador para aqueles que a desejarem.
Em princípio, a ideia é boa. No MT4, eu até uso um programa especial, o Spread Changer, que permite que você defina o spread para testes arbitrariamente, e os resultados não flutuam.
Ainda não encontrei um programa desse tipo para o MT5 (talvez eu não tenha procurado bem). Seria ótimo se, em versões futuras do terminal, os desenvolvedores incluíssem essa função no testador para aqueles que a desejarem.
Executei o EA em todos os ticks. Obtive os seguintes resultados:
Com o gerenciamento de saldo desativado, lucro nas execuções:
0 0 0 0 0 0 6702,44 primeiro par
0 0 0 0 0 5735,78 segundo par
0 0 0 0 0 3461,48 terceiro par
0 0 0 0 0 15901,66 todos os três pares - Deveria ter sido 15899,7. A diferença é de 1,96.
Com o gerenciamento de lotes habilitado, o lucro nas execuções:
35 0 0 = 6550,94
0 36 0 = 6956,95
0 0 184 = 3386.44
35 36 179 = 15991,56 - Deveria ter sido 16894,33. A diferença é de 902,77
Como você pode ver, com o balanço automático desativado, também há uma diferença, mas geralmente ela é microscópica. Quando o controle de lote está ativado, a diferença é bastante perceptível: 5,3% (devido ao número diferente de acionadores do lote reduzido). Como otimizar os parâmetros aqui? Que saída pode ser inventada?
Cada execução de todos os ticks leva cerca de 20 a 30 minutos.
Vou montar um experimento desse tipo. Pegue um Expert Advisor simples, adicione um sistema de controle de lote a ele e veja a diferença nas execuções.
A propósito, ao compilar o arquivo mqh do artigo, recebo estas mensagens:
possible loss of data due to type conversion BalanceSlopeControl.mqh 117 25
possible loss of data due to type conversion BalanceSlopeControl.mqh 118 21
declaração de 'current_slope' oculta a declaração de membro na linha 682 BalanceSlopeControl.mqh 909 9
0 erro(s), 3 aviso(s) 1 4
Eu os corrigi logo no início. As duas primeiras - especifiquei o tipo de conversão. E corrigi a terceira mensagem corrigindo o nome de ccurrent_slope na linha 909 e a correção correspondente mais adiante em double TBalanceSlopeControl::CalcTradeLots( double _min_lots, double _max_lots ).
Talvez seja aqui que o cachorro esteja enterrado? De qualquer forma, seria possível publicar o arquivo corrigido pelo próprio autor, pois minhas alterações podem estar ideologicamente erradas.
Executei o EA em todos os ticks. Obtive os seguintes resultados:
...
Como você pode ver, quando o balanço automático está desativado, também há uma diferença, mas geralmente ela é microscópica.
Obtenha resultados idênticos em todos os modos ao testar em qualquer símbolo.
Para isso, trabalhe com ticks de todos os símbolos ou com um cronômetro e controle a aparência de uma nova barra em todos os instrumentos.
O saldo não deve divergir em um centavo.
A propósito, ao compilar o arquivo mqh do artigo, recebo estas mensagens:
possible loss of data due to type conversion BalanceSlopeControl.mqh 117 25
possible loss of data due to type conversion BalanceSlopeControl.mqh 118 21
declaração de 'current_slope' oculta a declaração de membro na linha 682 BalanceSlopeControl.mqh 909 9
0 erro(s), 3 aviso(s) 1 4
Eu os corrigi logo no início. As duas primeiras - especifiquei o tipo de conversão. E corrigi a terceira mensagem corrigindo o nome de ccurrent_slope na linha 909 e a correção correspondente mais adiante em double TBalanceSlopeControl::CalcTradeLots( double _min_lots, double _max_lots ).
Talvez seja aqui que o cachorro esteja enterrado? De qualquer forma, seria possível publicar o arquivo corrigido pelo próprio autor, pois minhas alterações podem estar ideologicamente erradas.
Não é provável aqui. Eu me lembro de alguma regra, mas não me lembro do quê))) Aqui está meu arquivo atual.
Acho que não é o caso aqui. Eu me lembro de alguma regra, mas não me lembro o quê))) Aqui está meu arquivo atual.
Obrigado pela nova versão do arquivo!
A comparação do conteúdo do arquivo com o arquivo do artigo mostra algumas diferenças no novo arquivo nas linhas 37, 115, 116, 907, 966.
Vamos ver o quanto essas alterações podem afetar o Expert Advisor