Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 1164
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
É necessário pensar antecipadamente como o código é executado ao nível da memória, inicialização e retorno do valor.
Não é preciso pensar bem, existem manuais para estas coisas, e nunca houve um manual para alocação de memória em MQL, apenas mensagens de programadores, e muitas vezes com um esclarecimento de que a implementação pode mudar
Ok, a discussão resume-se a quem lê que livro de programação, tenho-o lido desde o liceu e continuo a lê-lo nos últimos 30 anos.
Não é preciso pensar bem, existem manuais para estas coisas, e nunca houve um manual para alocação de memória em MQL, apenas mensagens de programadores, e muitas vezes com um esclarecimento de que a implementação pode mudar
Ok, a discussão resume-se a quem lê que livro de programação, tenho-o lido desde o liceu e continuo a lê-lo nos últimos 30 anos
Claro que não precisa de pensar bem, porque deveria... O compilador fará tudo por si só. ))
C# não é C
E vejam o vídeo em __inline.
Explica aí como funcionam as funções em memória daqueles que não fazem qualquer diferença.
Desenhar primeiro uma imagem e especificar qual é a 'barra zero' para um indicador com o parâmetro de deslocamento.
Desenhado. A barra de zero é realçada com uma linha vertical.
Desenhado. A barra de zero é realçada com uma linha vertical.
Exemplo de código:
Resultado:
Como se pode ver, é copiável sem qualquer remendo.
Exemplo de código:
Resultado:
Como se pode ver é facilmente copiado, sem qualquer pandeiro.
Exemplo de código. Com base num indicador. O indicador está ocupado a alocar memória tampão.
Quando start_pos = 0, o valor correspondente à 0ª barra do gráfico está na posição 5. 1.017041 Está na posição 0 no seu EA. Ok.
Mas eu preciso de obter este valor na posição zero.
Eu configuro start_pos = 5. Não obtive o resultado pretendido. O valor que estou à procura está novamente na posição 5.
Eu defino start_pos = -5. Não obtenho o resultado desejado. Mais uma vez, o valor que procuro está na posição 5.
Eu defino start_pos = -10. E só agora obtive o resultado desejado.
Exemplo de código. Com base no indicador. O indicador está ocupado a alocar memória tampão.
Quando start_pos = 0, o valor correspondente à 0ª barra do gráfico que vemos na posição 5. 1.017041 Na sua EA está na posição 0. Ok.
Mas eu preciso de obter este valor na posição zero.
Eu configuro start_pos = 5. Não obtenho o resultado desejado. O valor que estou à procura está novamente na posição 5.
Eu defino start_pos = -5. Não obtenho o resultado desejado. Mais uma vez, o valor que procuro está na posição 5.
Eu defino start_pos = -10. E só agora obtive o resultado desejado.
Precisamos de compreender a diferença entre o trabalho do Consultor Especialista e o do indicador. Para trabalhos a partir de indicadores, utilizar o exemplo da ajuda(iMA).
É preciso compreender a diferença entre operar a partir de um EA e a partir de um indicador. Para trabalhar a partir de um indicador, utilizar o exemplo da ajuda(iMA).
Assim, pegue num exemplo da ajuda do iMA, acrescente
e verificar se o valor é diferente do valor de saída da sua EA, exactamente por ma_shift de barras.
Eu, por outro lado, necessito de obter no indicador no iMABuffer[0] o valor como tem no seu Expert Advisor em array_ma[0].
Pelo menos no momento podemos ver que o comportamento do CopyBuffer para Consultores Especialistas e indicadores é diferente. Se compreender a diferença em CopyBuffer ao trabalhar com um EA e um indicador, por favor especifique a secção apropriada da documentação a estudar.
Vou tentar simplificar a questão. Como obter estes valores de MA (a partir da linha vertical vermelha e para a esquerda) para o tampão no indicador? Pode escrever um exemplo?
Vou tentar simplificar a questão. Como obter estes valores de MA (a partir da linha vertical vermelha e para a esquerda) para o tampão no indicador? Pode escrever um exemplo?
Na imagem do ecrã, a visualização do buffer é deslocada cinco barras para a direita. Então - para obter a quinta barra do tampão indicador (índice 4), e mais à esquerda na lista, de onde devemos obtê-los? De Buffer[4] e mais para a esquerda.
Em teoria. Na prática - não abri o código indicador nem trabalhei com ele durante muito tempo - quase um ano... Experimente.
Em teoria. Na prática - não abri o código indicador nem trabalhei com ele durante muito tempo - quase um ano... Experimente.
Não se pode perder uma habilidade.