Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 990
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: Porque é que um Handel definido para um período não passa valores paraCopyBuffer em outros períodos de tempo. E o que fazer?
Se o problema estivesse na deslocação do elemento de amortecedor de matriz em diferentes períodos de tempo, resolveria o problema. E por isso não é de todo claro.
Pergunta: Porque é que um Handel definido para um período não passa valores paraCopyBuffer em outros períodos de tempo. E o que fazer?
Se o problema estivesse na deslocação do elemento de amortecedor de matriz em diferentes períodos de tempo, resolveria o problema. E por isso não é de todo claro.
Se o cabo foi criado com sucesso, é criado com os parâmetros que lhe foram transmitidos durante a sua criação. E fornecerá os dados indicadores a qualquer momento. No entanto, fornecerá os dados do prazo que especificou durante a criação. E para os exibir correctamente no período de trabalho, é necessário converter os dados recebidos do manípulo do indicador para o período em que o seu indicador funciona.
Estava apenas a verificar isto. Mas o PROBLEMA é que ao fixar o handel a um período permanente, em
O valor do CopyBuffer noutros prazos NÃO é TRANSFERÍVEL. O valor estava no período de hendle estabelecido e 0,0 (zero) nos períodos de tempo mais pequenos. Movi-o à volta do tampão à procura dele. zero. Porque não é passado paraCopyBuffer?
Tenho-o copiado...
Outra questão é o que é copiado :) O mais provável é que esteja a pedir mais barras para copiar do que as que existem nessa TF, imprimir
Se a pega foi criada com sucesso, foi criada com os parâmetros que lhe foram passados quando a criou. E fornecerá os dados indicadores a qualquer momento. Mas fornecerá os dados do prazo que foi estabelecido durante a criação. E para os exibir correctamente no período de trabalho, é necessário converter os dados obtidos a partir do manípulo do indicador para o período em que o seu indicador funciona.
Será que fiz a experiência correctamente?
Dei-lhe uma direcção...
Estude-o:
Tenho-o copiado...
Outra questão é o que está a copiar :) O mais provável é que esteja a pedir mais barras para copiar do que as que existem nessa TF, imprimir
kopeyka2:
Верно ли я провел эксперемент.?
...
... Mesmo ao mudar para outro período de tempo, os valores devem ser do conjunto D1. É exactamente isso que eu não vejo. Ou algo está errado? Há mais alguma coisa que eu deva acrescentar ao colocar uma pega? Uma vez que não há transferência de tampão.
Em termos simples, experimente com o CopyByffer , o que deve ser colocado no mesmo. Mas não está lá.
Ainda não verificou a disponibilidade dos dados, mas está a tentar copiar. Veja o código acima - há um segundo temporizador a cada minuto e meio em que se acede ao período não nativo - para manter os dados actualizados. E a primeira coisa no código é verificar se os dados solicitados estão disponíveis. Se não estiverem prontos, então devolve zero para o próximo tick e o cálculo completo do indicador. E quando todos os dados tiverem sido recebidos e calculados, e exibidos, a quantidade de dados calculados é devolvida no final - de modo a não fazer o recálculo completo no tick seguinte.
Obrigado. Li tudo. Vou continuar a procurar.
O que é que procura? O código acima está a funcionar em pleno. Pode dissecá-lo como quiser. Apontei o seu erro - não se verifica a disponibilidade dos dados.
Mesmo nesta linha aqui:
int lm=IBarShift(NULL,PERIOD_D1, iTime(NULL, PERIOD_CURRENT, limit));
Onde está o cheque para o que o iTime() devolveu? Não há verificação. Mas enfia-se um resultado desconhecido directamente no iBarShift(). Tem a certeza de que está a dar à função aquilo que espera?
Se o cabo foi criado com sucesso, é criado com esses parâmetros, que lhe foram passados durante a sua criação. E passará os dados indicadores a qualquer momento. No entanto, fornecerá os dados do prazo que foi estabelecido durante a criação. E para os exibir correctamente no período de trabalho, é necessário converter os dados recebidos do manípulo do indicador para o período em que o seu indicador funciona.
Foi exactamente o que eu pensei. A questão do mal-entendido é a palavra "parâmetros". Então comecei a olhar para TODAS as variáveis que estão envolvidas no cabo --> CopyBuffer
1) A minha pergunta desde o início foi para mudar o período de tempo SCREEN para guardar os dados do cabo. Tal como acontece no MT4.
E, de facto, acontece que assim é:
SEMPRE e em TODOS os períodos de tempo dá o mesmo valor de 10
Não tendo nada aqui, segui em frente.
2) E passo a citar:"Obtém os dados do buffer especificado do indicador especificado no montante especificado na matriz do buffer".
Ou seja, ao estabelecera contagem à mão devemos ter um INTERVALO com os valores . E aí estão eles! MAS!!!!!! Apenas quando o período de manuseamento corresponde a
PERÍODO_H1no ecrã do monitor. Todos os valores são transmitidos claramente. Mas passando para outro período de tempo, NÃO há dados no ecrã.
NÃO são transmitidos de forma alguma!!!! E a minha pergunta era exactamente isso. E o número de barras não é tão importante aqui se NÃO estiverem lá!!!!
Olhei para o indicador propostoMTF_LRMA.mq5 mas ele tem a mesma coisa. Passa para outro intervalo de tempo no ecrã e os dados passam pelo intervalo de tempo do ecrã. Preciso dele num aparelho de mão.
Por exemplo: iClose(NULL, PERÍODO_H1, 5); em todos os períodos de tempo dará o mesmo valor: fechar em 5 barras em H1.
Até agora, todos os exemplos estavam na correcção dacontagem do CopyBuffer. Mas o conjunto está vazio.