Alexey Viktorov: A hora atual de 17:08 mostra 33. Portanto, o número do bar com horário de 01:00 será 32.
datetime t=StringToTime("01:00");
Esta não é a solução correta. Se você iniciar o teste às 00:00, esta variante dá 0 barras, e deve haver 46 M30 barras antes da 01:00 hora mais próxima.
O único problema é que eu nunca encho minha célula de memória com coisas desnecessárias como o que o valor obtido será igual, dada uma barra com um tempo especificado ou menos por 1. Eu apenas verifico todas as vezes.
Não tenho idéia de como encontrar o tempo especificado mais próximo para barras sem um ciclo. Se não há nada de complicado nisso, você pode me mostrar a função?
В статье описана и представлена библиотека функций, позволяющая проводить оптимизацию входных параметров советника, запуская оптимизацию непосредственно из советника.
Não tenho idéia de como encontrar o tempo especificado mais próximo para barras sem um ciclo. Se não há nada de complicado nisso, você pode me mostrar a função?
..... apenas sem palavras....
Como é difícil adivinhar que se o tempo é menor que o tempo que você está procurando, então você tem que subtrair o tempo que você está procurando em 24 horas.
string st = "1:00";// можно и так писать "01:00"datetime t = StringToTime(st);
if(TimeCurrent() < t)
{
MqlDateTime mqlDateTime;
TimeToStruct(t, mqlDateTime);
mqlDateTime.day -= 1;
t = StructToTime(mqlDateTime);
}
int b = Bars(_Symbol, PERIOD_M30, t, TimeCurrent());
Feito sem levar em conta as saídas e verificações de possíveis erros de execução. Outras execuções são possíveis, e é por isso que tento não escrever códigos de exemplo. Hoje decidi fazer isso, amanhã posso encontrar outra variante mais conveniente.
Como é difícil adivinhar que se o tempo é menor que o tempo que você está procurando, então você tem que subtrair o tempo que você está procurando em 24 horas.
É difícil de adivinhar por causa disso:
Alexey Viktorov:
Feito sem levar em conta fins de semana e verificações de possíveis erros de execução.
Quanto mais difícil deve ser o código para se obter um resultado desejável sem erros no final! Há fins de semana e feriados no código. Obrigado por dicas e exemplos, eu aprendi algo novo, vai dar jeito em algum lugar, mas até agora eu vejo que minha versão é a mais fácil e mais confiável.
Quanto mais complicado deve ser o código para se obter o resultado desejado sem erros no final! Há fins de semana e feriados quando o mercado abre em um horário diferente. Obrigado por dicas e exemplos, aprendi algo novo, com certeza será útil, mas até agora vejo que minha versão é a mais fácil e mais confiável.
Por que não? E essa opção tem direito à vida. E isso até me interessou. Com algumas correções, conseguimos a função que retorna o número de barras de um determinado tempo e período.
int findBar(string strTime, ENUM_TIMEFRAMES period = PERIOD_CURRENT)
{
MqlDateTime mqlTime, mqlFindTime;
TimeToStruct(StringToTime(strTime), mqlFindTime);
datetime arrTime[];
int copy = PeriodSeconds(PERIOD_D1)/PeriodSeconds(period);
CopyTime(_Symbol, period, 0, copy, arrTime);
ArraySetAsSeries(arrTime, true);
for(int i = 0; i < copy; i++)
{
TimeToStruct(arrTime[i], mqlTime);
if(mqlTime.hour == mqlFindTime.hour && mqlTime.min <= mqlFindTime.min)
return(i);
}
return(-1);
}/********************************************************************/
Por que não? E essa opção tem direito à vida. E isso até me interessou. Com algumas correções, a função retorna o número de barras do tempo e do período especificados.
.
Muito obrigado! Você mencionou "célula de memória", meu conhecimento sobre este assunto é até agora limitado. Tanto quanto sei, isso afeta a velocidade dos testes do Expert Advisor? É de alguma forma medido ou é apenas determinado pela velocidade dos testes?
Muito obrigado! Você mencionou "célula de memória", meu conhecimento é limitado no momento. Tanto quanto eu entendo, isso afeta a velocidade dos testes do Expert Advisor? É de alguma forma medido ou é apenas determinado pela velocidade dos testes?
Eu estava falando de meu próprio chip de memória. :)))
Sobre não se lembrar de tais bagatelas, que podem ser facilmente checadas, esclarecidas, feitas conforme necessário e esquecidas novamente ao escrever o código.
Para login e uso do site MQL5.com, você deve ativar o uso de cookies.
Ative esta opção no seu navegador, caso contrário você não poderá fazer login.
Você entrou na conta. A autenticação de dois fatores foi desativada. Configure-a novamente e escaneie um novo código QR ou continue com a autenticação de dois fatores desativada.
A hora atual de 17:08 mostra 33. Portanto, o número do bar com horário de 01:00 será 32.
Esta não é a solução correta. Se você iniciar o teste às 00:00, esta variante dá 0 barras, e deve haver 46 M30 barras antes da 01:00 hora mais próxima.
Decisão equivocada. Se você iniciar o teste às 00h00, esta variante produz 0 barras, e deve haver 46 M30 barras antes da 01h00 mais próxima.
Eu lhe dei uma maneira de pensar, e você deve saber como fazer o bar mais próximo à 01:00 às 00:59 na ata. Não há nada de difícil nisso.
Eu lhe dei uma linha de pensamento, e como fazer o bar mais próximo à 01:00 às 00:59 da ata é com você. Não há nada de difícil nisso.
Em qualquer caso, você terá que usar o laço e procurar pela hora mais próxima, não vejo outra maneira.
Não tenho idéia de como encontrar o tempo especificado mais próximo para barras sem um ciclo. Se não há nada de complicado nisso, você pode me mostrar a função?
Caros especialistas, você poderia aconselhar como puxar os resultados dos testes para um arquivo em mt-4?
para processamento posterior, conforme descrito aqui https://www.mql5.com/ru/articles/1467?
Não tenho idéia de como encontrar o tempo especificado mais próximo para barras sem um ciclo. Se não há nada de complicado nisso, você pode me mostrar a função?
..... apenas sem palavras....
Como é difícil adivinhar que se o tempo é menor que o tempo que você está procurando, então você tem que subtrair o tempo que você está procurando em 24 horas.
Feito sem levar em conta as saídas e verificações de possíveis erros de execução. Outras execuções são possíveis, e é por isso que tento não escrever códigos de exemplo. Hoje decidi fazer isso, amanhã posso encontrar outra variante mais conveniente.
Como é difícil adivinhar que se o tempo é menor que o tempo que você está procurando, então você tem que subtrair o tempo que você está procurando em 24 horas.
É difícil de adivinhar por causa disso:
Feito sem levar em conta fins de semana e verificações de possíveis erros de execução.
Quanto mais difícil deve ser o código para se obter um resultado desejável sem erros no final! Há fins de semana e feriados no código. Obrigado por dicas e exemplos, eu aprendi algo novo, vai dar jeito em algum lugar, mas até agora eu vejo que minha versão é a mais fácil e mais confiável.
É difícil de adivinhar só por causa disso:
Quanto mais complicado deve ser o código para se obter o resultado desejado sem erros no final! Há fins de semana e feriados quando o mercado abre em um horário diferente. Obrigado por dicas e exemplos, aprendi algo novo, com certeza será útil, mas até agora vejo que minha versão é a mais fácil e mais confiável.
Por que não? E essa opção tem direito à vida. E isso até me interessou. Com algumas correções, conseguimos a função que retorna o número de barras de um determinado tempo e período.
.
Por que não? E essa opção tem direito à vida. E isso até me interessou. Com algumas correções, a função retorna o número de barras do tempo e do período especificados.
.
Muito obrigado!
Você mencionou "célula de memória", meu conhecimento sobre este assunto é até agora limitado. Tanto quanto sei, isso afeta a velocidade dos testes do Expert Advisor? É de alguma forma medido ou é apenas determinado pela velocidade dos testes?
Muito obrigado!
Você mencionou "célula de memória", meu conhecimento é limitado no momento. Tanto quanto eu entendo, isso afeta a velocidade dos testes do Expert Advisor? É de alguma forma medido ou é apenas determinado pela velocidade dos testes?
Eu estava falando de meu próprio chip de memória. :)))
Sobre não se lembrar de tais bagatelas, que podem ser facilmente checadas, esclarecidas, feitas conforme necessário e esquecidas novamente ao escrever o código.