Perguntas de um "boneco" - página 251

 
Silent:
Está tudo claro, já tenho cada passo impresso e tenho a função num guião separado... Ok, vou pensar nisso à minha vontade.

Não, não é claro para si. Depende do que é impresso. )) Já está a ser apontado a três vozes para os parâmetros que estão a ser transmitidos.

Fórum sobre comércio, sistemas de comércio automatizados e testes estratégicos

Perguntas da Chupeta

tol64, 2013.05.24 13:02

Verificar (imprimir para registar) a hora de início (t[0]+b) e a hora de fim (t[0]) do intervalo. Vai apanhar-lhe o jeito imediatamente.

 
stringo:

Não há necessidade de abandonar a função.

Quando consulta dados no intervalo"hora actual - hora actual mais um número de segundos", significa que está a pedir dados do futuro. Os dados ainda não existem no momento do pedido.

Se estava a solicitar dados no intervalo "hora actual - hora actual menos algum número de segundos", então está a solicitar dados potencialmente existentes.

De que futuro estamos a falar, onde viu isso?

Todas as consultas vão apenas para o passado.

No guião do teste, a barra é explicitamente definida a partir da qual calcular...

Geralmente, são especificados os extremos do ziguezague, o que não dá a hora exacta...

 
Silent:

De que futuro estamos a falar, onde viu isso?

OK. Hora actual 2013.05.24 15:43:29

Acrescentar 600 segundos à hora actual. Temos 2013.05.24 15:53:29.

Em seguida, fazemos uma consulta para o intervalo calculado. Mas só dispomos de dados até à hora actual, inclusive. Entre 2013.05.24 15:43:29 e 2013.05.24 15:53:29 ainda não há dados.

Mas se rodar o ciclo de dez minutos, os dados podem muito bem aparecer. Excepto que 2013.05.24 15:43:29 se torna a hora passada e 2013.05.24 15:53:29 se torna a hora actual.

Документация по MQL5: Дата и время / TimeCurrent
Документация по MQL5: Дата и время / TimeCurrent
  • www.mql5.com
Дата и время / TimeCurrent - Документация по MQL5
 
tol64:

Não, não é claro para si. Depende do que é impresso. )) Já está a ser apontado a três vozes para os parâmetros que estão a ser transmitidos.

https://www.mql5.com/ru/forum/3775/page252#comment_507621

Há como.

   Print(tm[0]);
 
stringo:

Ok. Hora actual 2013.05.24 15:43:29

Acrescentar 600 segundos à hora actual. Temos 2013.05.24 15:53:29

Em seguida, fazemos uma consulta para o intervalo calculado. Mas só dispomos de dados até à hora actual, inclusive. Entre 2013.05.24 15:43:29 e 2013.05.24 15:53:29 ainda não temos dados.

Mas se rodar o ciclo de dez minutos, os dados podem muito bem aparecer. Excepto que 2013.05.24 15:43:29 se torna a hora passada e 2013.05.24 15:53:29 se torna a hora actual.

//--- переменные для указания параметров функции
   int start = 5; // индекс бара
   int count = 1; // количество баров
   int b=72000;   
   int bm;        // надо получить
   datetime tm[]; // массив, в котором возвращается время баров
//--- копирование времени 
   CopyTime(_Symbol,PERIOD_CURRENT,start,count,tm);
//--- вывод результата
   Print(tm[0]);

   bm=Bars(_Symbol,PERIOD_M1,tm[0]+b,tm[0]);
   Print("bm = "+bm);
//--- возвращает bm = 1201
   bm=Bars(_Symbol,PERIOD_M1,tm[0]-b,tm[0]);
   Print("bm = "+bm);

Onde está

int start = 5; // индекс бара

bar cujo tempo estou a receber.

NÃO utilizo a hora actual. De modo algum.

 
Vou colocar um cheque separado para o futuro, depois veremos.
 
Silent:

Onde

é o bar cujo tempo eu recebo.

NÃO utilizo a hora actual. De modo algum.

Ou seja, em tm[0] tem o tempo da 5ª barra a partir do fim.

Nesse caso, no primeiro pedido de dados para além do prazo actual (está a solicitar minutos), poderia facilmente obter 0 barras, porque esses dados ainda não se encontram no terminal.

Só por isso, uma vez publicámos um guião sobre o carregamento garantido de dados históricos de qualquer período-símbolo existente.

 
stringo:

Uma vez publicámos um guião sobre este assunto, que garante o carregamento de dados históricos de qualquer período-símbolo existente.

Ler a secção de ajuda sobre organização do acesso aos dados

 
stringo:

Ou seja, em tm[0] tem o tempo da 5ª barra a partir do fim.

Neste caso, no primeiro pedido de dados para além do actual período de tempo (está a solicitar minutos), pode facilmente obter 0 barras, porque estes dados ainda não estão no terminal.

Uma vez publicámos um guião sobre o tema da garantia de carregamento de dados históricos de qualquer período-símbolo existente.

Pode obter periodicamente 0 mesmo no período de tempo actual, apenas em barras diferentes. Muito raramente, no entanto. Não o posso reproduzir hoje, enquanto ontem o obtinha em quase todos os novos (não chamados) bares.

Vou procurar o guião, obrigado.

 

Em geral, a maior confusão é a razão pela qual todas as funções de cópia funcionam, nas mesmas condições, - e eu apanho algo que sobrou no leopardo?

É fantástico...

Actualizar a resposta possível para obter 0 na primeira corrida

Мы не можем прямо обратиться к серверу, но любая Copy-функция
при нехватке истории в формате HCC в терминал автоматически инициирует посылку
такого запроса от терминала к торговому серверу.

e os bares não fazem isso.

Actualização 2 falta uma carta na ajuda, em destaque, em vermelho.