![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Pergunta: Qual é a probabilidade de aparecer no mercado uma combinação que corresponda aos 64 dígitos exigidos? Resposta: (1/2^64)*BarsCount. Ou seja, com uma probabilidade próxima de 100%, tal combinação não será encontrada. É óbvio que apenas um número int ou longo não pode descrever completamente o padrão, então precisamos de um parâmetro adicional especificando o comprimento do padrão.
Isto se olharmos para todos os 64 bits. Mas é obviamente desnecessário.
Quando realizei tais investigações, descobri que não é razoável tomar o comprimento de um padrão de castiçal mais longo que 5. Além disso, se distinguirmos as barras não apenas pelas "barras de boi", mas também por seus tamanhos, mesmo este comprimento é muito longo.
Se nosso padrão for longo - é muito mais razoável especificar "características" e simplesmente limitar o comprimento por valores mínimos e máximos.
Ainda não exatamente formado, mas a idéia geral é: dois parâmetros - comprimento e parâmetro int de 0 a 3. Dentro do Expert Advisor já está interpretando este número (representação Pseudobit):
Resta decidir como codificar estes parâmetros. Uma solução simples: uma estrutura na qual cada parâmetro int (a primeira coluna da tabela) corresponde a uma representação Pseudobit (a terceira coluna). Se a máscara é limitada a apenas cinco caracteres (xxxxxx), a estrutura não é muito grande.
E o mais importante - o otimizador permite que você reorganize a estrutura!
Você também pode fazer três parâmetros separados para as três velas na janela de propriedades. Dois pássaros são mortos ao mesmo tempo - é ao mesmo tempo claro e otimizado.
O mesmo pode ser feito para 10 castiçais.
Você também pode fazer três parâmetros separados para as três velas na janela de propriedades. Dois pássaros são mortos ao mesmo tempo - é ao mesmo tempo claro e otimizado.
O mesmo pode ser feito para 10 castiçais.
Eu apoio
Ainda não exatamente formado, mas a idéia geral é: dois parâmetros - comprimento e parâmetro int de 0 a 3. Dentro do Expert Advisor já existe uma interpretação deste número (representação Pseudobit):
Resta decidir como codificar estes parâmetros. Uma solução simples: uma estrutura na qual cada parâmetro int (a primeira coluna da tabela) corresponde a uma representação Pseudobit (a terceira coluna). Se a máscara é limitada a apenas cinco caracteres (xxxxxx), a estrutura não é muito grande.
E o mais importante - o otimizador permite que você reorganize a estrutura!
Esta é a enumeração para máscara de x a xxxx:
Versão em código morse "1.005".
Aqui está a solução: a máscara é definida como uma enumeração
no OnInit(), a máscara é traduzida em uma variável de string"sExtMorseCode" (a variável"sExtMorseCode" é declarada globalmente) na função ConvertNumberToString:
Dois problemas foram resolvidos:
1). o usuário vê o padrão como "0101" nos parâmetros de entrada:
2). O parâmetro de entrada é perfeitamente otimizado no testador.
Versão em código morse "1.005".
Dois problemas foram resolvidos:
1). o usuário vê o padrão como "0101" nos parâmetros de entrada:
2). O parâmetro de entrada é perfeitamente otimizado no testador.
O usuário pode especificar uma combinação de castiçais sem cálculos matemáticos de acordo com a idéia inicial?
O usuário pode especificar uma combinação de castiçais sem cálculos matemáticos, como originalmente concebido?
Sim, ele pode, sem nenhum cálculo matemático. E agora você não precisa inserir a combinação manualmente - basta selecionar a combinação apropriada de velas na lista suspensa"máscara padrão".