Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 602
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
Num indicador ou numa EA/script?
Yuri Evseenkov:
deme2you:
Outra questão: como salientar o criador do ambiente de execução de código MT4 e MQL, de modo a que ele (eles) se lembre e desenvolva uma linguagem para lidar com excepções, tais como no meu exemplo ou similar em significado?
Contacte a servesdesk, crie um tópico/inquérito no fórum.
Não foi há muito tempo que o MT4 foi enterrado. Não têm uma visão clara sobre o mercado, têm uma visão clara sobre a regulamentação do mercado.
Ver o correio de Renat hoje:
...
Odesenvolvimento do MT4 é interrompido e haverá apenas correcções e cosméticos.
Olá. Pode por favor aconselhar como resolver este problema. Preciso de encontrar os preços abertos dos bares a uma determinada hora, por exemplo à 01:00, analisando, por exemplo, os últimos 50 bares. Não tenho a certeza de como realizar esta tarefa em mql5.
Quer calculando a data actual + acrescentando-lhe o tempo necessário e depois acrescentando-lhe vinte e quatro horas, este método funcionou em mql4.
Tanto quanto sei, o mql5 tem estruturas especiais com saída de tempo, mas por alguma razão não as posso utilizar.
Obrigado antecipadamente pela resposta.
Ficaria muito grato se alguém me pudesse atirar um pouco de código para compreender o processo de pensamento.No indicador.
Aqui, para uma melhor compreensão, aconselho que se olhe primeiro para a numeração das barras. Primeiro precisamos de compreender exactamente como é numerada a barra mais à direita no indicador MQL5.
Para tal, colocar o seguinte comentário no indicador em OnCalculate:
Este código irá produzir este resultado:
Ou seja, por defeito, a barra mais à direita nas matrizes de indicadores MQL5 tem um índice igual a "rates_total-1".
Voltando à sua pergunta - precisa de pegar nas últimas 50 barras e passar por elas. E analisar o tempo aberto da barra (a matriz de tempo[]), se o tempo da barra for igual ao especificado, lembrar o índice da barra. Em seguida, recuperar o preço aberto do conjunto aberto[].
Parece semelhante a isto:
Aqui, para que possa compreender melhor mais tarde, aconselho-o a começar por analisar a numeração das barras. Ou seja, deve primeiro compreender exactamente como é numerada a barra mais à direita no indicador MQL5.
Para tal, colocar o seguinte comentário no indicador em OnCalculate:
Este código irá produzir este resultado:
Ou seja, por defeito, a barra mais à direita nas matrizes de indicadores MQL5 tem um índice igual a "rates_total-1".
Voltando à sua pergunta - precisa de pegar nas últimas 50 barras e passar por elas. E analisar o tempo aberto da barra (a matriz de tempo[]), se o tempo da barra for igual ao especificado, lembrar o índice da barra. Em seguida, recuperar o preço aberto do conjunto aberto[].
Tem aproximadamente este aspecto
Karputov Vladimir, muito obrigado. Fico-lhe realmente grato. Penso que o mql5 tem um acesso mais flexível às séries cronológicas, mas é um pouco complicado para os programadores "novatos". :))
É uma questão de hábito. Depois descobrirá que tudo é estruturado, fácil e correcto.
Outra questão. Os parâmetros
Penso que eles são responsáveis pelo par ao qual o indicador é aplicado. Por outras palavras, a solução mais universal é criar as mesmas matrizes de OCHL, apenas através da função Copiar...?Outra questão. Parâmetros
Compreendo que são responsáveis pelo par ao qual o indicador é aplicado. E arrancar com a sua ajuda a mesma informação sobre outro par de moedas é impossível? Então, a solução mais universal é criar as mesmas matrizes OCHL apenas através da função Copiar...?Ao aceder às personagens de outras pessoas, há nuances que precisa de compreender e estar atento:Organização do acesso aos dados. Por outras palavras, se solicitar os dados das séries cronológicas dos símbolos de outra pessoa - deve primeiro certificar-se de que esses dados foram preparados e existem. Só assim pode ter a certeza de que os dados que solicita ao carácter estrangeiro são correctos.
Já está. Obrigado.
Outra questão é se converte sempre os valores no tipo de string na função Print(). Qual é a finalidade de fazer isto? Sem tradução, os tipos int, double, etc. são exibidos na função Print() exactamente da mesma forma.
Já está. Obrigado.
Outra pergunta é sempre converter valores para o tipo de string na função Print(). Qual é a finalidade de fazer isto? Sem tradução, os tipos int, double, etc. são exibidos em Print() exactamente da mesma forma.
A forma como um número é armazenado na memória do computador e a forma como é produzido são duas grandes diferenças. Especialmente com números de ponto flutuante, é sempre melhor limitar o número de casas decimais.
É por isso que tento sempre formatar a saída correctamente - usarIntegerToString eDoubleToString.
A forma como um número é armazenado na memória do computador e a forma como é produzido são duas grandes diferenças. Especialmente com números de ponto flutuante, é sempre melhor limitar o número de casas decimais.
É por isso que tento sempre formatar correctamente a saída de números usandoIntegerToString eDoubleToString.
Obrigado pelas vossas respostas e paciência.
Vladimir, estou provavelmente cansado de ti :) Mas o progresso no básico está a ir muito devagar. Tentei fazer uma tarefa de teste com a função Copiar... O indicador não é desenhado, embora existam números na Printe. Não compreendo nada.