Erros, bugs, perguntas - página 2930
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
Tradução de um indicador de mt4 para mt5
O problema está no tamanhoDRAW_HISTOGRAM
Quando eu defino "1" ou "2" o tamanho muda, mas "3" ou "4" = o tamanho ainda é "2".
Porque é que tudo funciona no MT4, mas há um problema tão grande com o MT5?
Resultado em mt4
Resultado em mt5, mostra apenas "2" de espessura, embora eu tenha "3" em definições
Além disso, a colocação do imóvel no OnInit() não ajuda
PlotIndexSetInteger(0,PLOT_LINE_WIDTH, 3);
Erro crítico durante a depuração:
Resultado:
Última versão beta no momentoAlguém descobriu uma maneira de obter o manípulo indicador para exibir a propriedade na janela principal ou na subjanela? Estou a falar de indicadores personalizados que são criados usando o IndicatorCreate e depois podem ser adicionados ao gráfico usando o ChartIndicatorAdd.
Provavelmente poderia enfiar o indicador no OBJ_CHART e ver onde se encontra.
Alguém descobriu uma forma de obter uma propriedade exposta a partir de um manípulo indicador na janela principal ou subjanela? Estou a falar de indicadores personalizados que são criados usando o IndicatorCreate e depois podem ser adicionados ao gráfico por ChartIndicatorAdd a pedido do utilizador.
fez algo semelhante.
O código procura em todos os gráficos abertos por um indicador pelo seu cabo. Símbolo de retorno, período de tempo, id do gráfico, subjanela e nome do indicador.Aqui está um que encontrei. Não consigo lembrar se funciona ou não. Por favor, verifique.
Acho que se poderia colocar o indicador em OBJ_CHART e ver onde se encontra.
Vou tentar, por agora tive de fazer a opção de o especificar pelo utilizador.
fez algo semelhante.
A julgar pelo código, procura em todos os gráficos abertos um indicador pelo seu cabo. Símbolo de retorno, período de tempo, id do gráfico, subjanela e nome do indicador.Aqui está um que encontrei. Não consigo lembrar se funciona ou não. Por favor, verifique.
Não se encaixa na sua pergunta: os indicadores criados por IndicatorCreate não são colocados em nenhuma janela - eles "sentam-se" dentro dela, e a tarefa é colocar tal indicador pela sua pega na janela. Agora, MQL5 permite-lhe adicionar um manípulo arbitrário à janela principal ou sub janela usando a função ChartIndicatorAdd, independentemente das "propriedades" do indicador (sem erros!), e o resultado parece muito estranho quando a adição não é executada como pretendido.
Há um problema maior com os indicadores.
Alguns deles implementam o manipulador OnCalculate de acordo com a versão simplificada com uma matriz de entradas, e é possível seleccionar o tipo de preço para o seu cálculo. Como é que sabe pelo programa MQL5 de terceiros que o indicador espera este tipo de preço, que deve ser passado depois de todos os parâmetros durante a criação do indicador? Parece que não há maneira de o fazer. E se não o fizer, o indicador é desenhado por # indicador de propriedade_aplicado_preço que não pode ser acedido a partir do exterior. Aqui está um simples Expert Advisor que adiciona o indicador/AMA ao gráfico de forma programática:
Se depois disso mudarmos o prazo do gráfico, teremos 2 indicadores AMA: um a preço fechado (criado programmaticamente) e um a preço aberto (gerado devido à mudança de prazo e # indicador de propriedade_aplicado_preço PREÇO_OPEN; não é claro porque é que esta propriedade não é apanhada pelo iCustom também).
Para continuar o tema dos indicadores, estou a anexar o Expert Advisor que costumava descobrir e evitar o problema com os parâmetros MqlParam.
A tarefa do Consultor Especialista é adicionar o indicador "Exemplos/Canal_Preço" ao gráfico, se este ainda não estiver lá, com os mesmos parâmetros.
Para tal, criamos uma instância usando iCustom/IndicatorCreate, obtemos uma matriz dos seus parâmetros através de IndicatorParameters, e depois chamamos no loop IndicatorParameters para os indicadores que já existem no gráfico: se não houver correspondência dos parâmetros da matriz, o indicador é adicionado ao gráfico, se houver uma correspondência, a nova pega é simplesmente destruída.
O problema é que a igualdade dos parâmetros nem sempre funciona como esperado. Em particular, existe um caso de teste à prova de falhas. Colocamos o Expert Advisor em qualquer gráfico vazio e clicamos - ele cria a primeira instância do indicador. Depois mudamos para qualquer outro quadro temporal (o antigo indicador permanece) e clicamos novamente. Estranhamente, a segunda instância do indicador é criada.
A partir da análise da execução e do registo é claro que isto se deve à equalização errada das cordas do nome do indicador nos parâmetros. As cordas têm 260 caracteres de comprimento, mas o terminal 0 está localizado muito antes. Depois disso, há alguma informação de serviço ou lixo. Assim, a comparação de cordas "==" ou StringCompare leva este "lixo" em conta e obtemos desigualdade de cordas.
Se convertermos as cordas numa matriz de caracteres, as matrizes recebem uma correspondência completa. Se se converter a um curto conjunto, recebe lixo. Em suma, alguns comportamentos não consistentes não descritos na documentação.
Não tenho a certeza do que é exactamente o insecto, se está no princípio do processamento de cordas em MQL ou outra coisa qualquer.
Se alguém souber as nuances, por favor dêem-me uma pista.
Se alguém estiver ciente das nuances, por favor, dêem-me uma dica.
Este é o tipo de característica que, mesmo que o soubesse, teria de trazer de novo à tona toda a camada da sua cabeça.
Aqui fez-se a definição de auto-disponibilidade. Parecia funcionar quando se mudava de TF.