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
Eu não entendo o que está errado. É uma linha de mínimos.
Só para o caso de copiar o código novamente, eu o mudei periodicamente lá, talvez você tenha uma versão antiga.
Sim sim, eu tenho que mudar a versão ao editar o código.
AUDUSD parece estar bem.
Vou ultrapassar EURUSD durante os anos de soldagem. Será longo.
Também acrescentei semana e mês como exemplo, para que meus olhos não se desviem.
Para não olhar para o gráfico dez vezes. (já conheço a história de cor).
Acho que posso administrar 8 pares em um mês.
Eu mesmo não entrarei em seu código (estudarei o processo calmamente com as aulas e assim por diante usando seu exemplo).
Quase esqueci (para fazer um alerta como advertência se não há história ou se a linha não mudou seus valores)
Nova versão. Aqui são sorteados três períodos: dia, semana e mês. Há um mas, vou escrever abaixo.
A nuança é que em um caso estamos comparando o dia anterior com a história e no outro estamos comparando a semana anterior. Acontece que ontem pode pertencer à semana atual, mas seu máximo pode ser maior do que o máximo da semana anterior.
E como estamos comparando dias a dias e semanas a semanas, pode acontecer que as linhas das máximas do dia sejam mais altas do que as máximas da semana. Como aqui:
Mas essa é a sua lógica, pense se você precisa ou não dela.
A propósito, há também um erro fora do comum:
O laço passa pela matriz de barras diárias, e selecionamos elementos da matriz de barras semanais.
Obrigado a Dmitry Fedoseev pela idéia de obter o número da semana do ano.
Encontrei-o neste artigo:https://www.mql5.com/ru/articles/599
Muito bem, Dima!A propósito, há também um erro fora do comum:
O laço passa pela matriz de barras diárias, enquanto nós selecionamos elementos da matriz de barras semanais.
Há um erro óbvio aqui, esta linha foi acrescentada no processo de discussão e o copy-paste desempenhou seu papel.
Foi assim desde o início e sair da matriz ainda é relevante.
Podemos parecer esquecer a matriz de erros fora do alcance em , porque você não se sentiu preguiçoso e forneceu códigos muito mais avançados (muito obrigado a você por isso).
Mas eu ainda quero entender qual é o problema (já que esta matriz é acessada de outros lugares na EA, e o que está acontecendo lá continua um mistério)
Eu notei (Onde o valor retornado do tipo int é salvo? Você passou todos os dados para a função, mas não conseguiu tirar a merda de dentro dela) eu acrescentei .
Foi assim:
ArrayCopyRates(Bar_data_D1,_Symbol,PERÍODO_D1); // Copia dados de barras do gráfico especificado em um array e retorna o número de barras copiadas
ArrayCopyRates(Bar_data_W1,_Symbol,PERÍODO_W1); // Copia dados de barras para um gráfico especificado em um array e retorna o número de barras copiadas
ArrayCopyRates(Bar_data_MN1,_Símbolo,PERÍODO_MN1); // Copia dados de barras em um gráfico especificado em um array e retorna o número de barras copiadas
Agora é o que parece:
ACR_D1 = ArrayCopyRates(Bar_data_D1,_Símbolo,PERÍODO_D1); // Copia dados de barras do gráfico especificado para uma matriz e retorna o número de barras copiadas
ACR_W1 = ArrayCopyRates(Bar_data_W1,_Símbolo,PERÍODO_W1); // Copia dados de barras para um gráfico especificado em uma matriz e retorna o número de barras copiadas
ACR_MN1 = ArrayCopyRates(Bar_data_MN1,_Símbolo,PERÍODO_MN1); // Copia dados de barras em um gráfico especificado em uma matriz e retorna o número de barras copiadas
Produzir o valor no som
2020.12.12 16:51:31.536 2020.02.10 00:05:00 _Test AUDUSD,H1: i = 1001 Bar_data_D1 [i][2] = 0,763379999999999999
2020.12.12 16:51:31.536 2020.02.10 00:05:00 _Test AUDUSD,H1: i = 1002 Bar_data_D1 [i][2] = 0,76147
2020.12.12 16:51:31.536 2020.02.10 00:05:00 _Test AUDUSD,H1: i = 1003 Bar_data_D1 [i][2] = 0,75097
2020.12.12 16:51:31.536 2020.02.10 00:05:00 _Test AUDUSD,H1: array out of range in '_Test.mq4' (150,59)
2020.12.12 16:51:31.537 2020.02.10 00:05:00 Parada do passe de teste devido a um erro crítico na EA
2020.12.12 16:51:31.537 AUDUSD,H1: 65147 tick events (73 bars, 9291875 bar states) processados em 0:00:02.407 (tempo total 0:00:05.672)
Por que tão pouco histórico é copiado para a matriz?
E de onde e como vêm esses valores em primeiro lugar?
A propósito, há também um erro fora do comum:
O laço passa pela matriz de barras diárias, e selecionamos elementos da matriz de barras semanais.
Devemos entender imediatamente o tamanho da matriz do TF diário e seu tempo e não ir além do tempo.
Eu provavelmente resolveria os bares semanais de maneira diferente. Eu obteria os níveis de preços com datas, se forem necessárias, e os preencheria em uma matriz separada e os compararia com esta matriz. Ou melhor, é assim que eu o faço. Para cada TF meu próprio conjunto de extrema.
Eu não estou fazendo comparações, estou falando de matrizes
E entenda imediatamente o tamanho da matriz TF diária e o horário e mantenha-se pontual.
Eu provavelmente resolveria as semanais de maneira diferente. Eu obteria níveis de preços com datas semanais, se fossem necessários, e os preencheria em uma matriz separada e os compararia com esta matriz. Ou melhor, é assim que eu o faço. Para cada TF eu tenho minha própria gama de extrema.
Não estou fazendo comparações, estou falando de matrizes.
(eu obteria níveis de preços com datas, se fossem necessárias, e os preencheria em uma matriz separada e os compararia com essa matriz)
Não sabemos quais precisamos e quais não sabemos, precisamos de toda a história possível de todos os bares.
ArrayCopyRates
Copia os dados das barras do gráfico especificado em uma matriz e retorna o número de barras copiadas.
intArrayCopyRates(
MqlRates&array_array[],// array MqlRates passado pela referência
stringsymbol=NULL,// a ferramenta
intprazo=0// prazo
);
onde não está claro?
Não consigo descobrir a conexão
Vê 323 meses que está em algum lugar perto de 27 anos, 1403 semanas, 7015 dias
História do AUDUSD desde 1993, 2020-1993= 27
(Obtenha níveis de preços com datas, se necessário, e coloque-os em uma matriz separada e compare-os com esta matriz).
Não sabemos quais precisamos e quais não sabemos, precisamos de toda a história possível de todos os bares.
ArrayCopyRates
Copia os dados das barras do gráfico especificado em uma matriz e retorna o número de barras copiadas.
intArrayCopyRates(
MqlRates&array_array[],// array MqlRates passado pela referência
stringsymbol=NULL,// a ferramenta
intprazo=0// prazo
);
onde não está claro?
Não consigo descobrir a conexão
Vê 323 meses que está em algum lugar perto de 27 anos, 1403 semanas, 7015 dias
História do AUDUSD desde 1993, 2020-1993= 27
Nenhuma idéia no que pode ser medido ou determinado. Primeiro medimos o alcance e sabemos.
Se anotarmos todos os extremos nos dados diários ao longo de 27 anos e identificarmos os iguais, eles serão demasiados. A tarefa é semelhante à identificação de cópias em um disco, só que mais simples.