Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 391

 
John Smith:

Rapazes, poderiam aconselhar como converter a data 29.01.2008 para um formato como 1201564800 ? Que função é usada para fazer isso?

Preciso comparar o TimeCurrent () com uma determinada data histórica...

Está bem assim?

datetime Начало = D'2015.01.01 00:00';  // Дата задана датой
string   Конец  = "2035.01.01 00:00";   // Дата задана строкой, потом переведем в дату

void start() 
{
  datetime End=StringToTime(Конец);

  if(TimeCurrent()>Начало)  Alert(" Начинаем");
  if(TimeCurrent()>End)     Alert(" Заканчиваем");
                      else  Alert(" Продолжаем");
}
 
John Smith:

Pessoal, vocês poderiam me dizer como converter a data 29.01.2008 para um formato como 1201564800 ? Que função é usada para fazer isso?

Preciso comparar o TimeCurrent () com uma determinada data histórica...


Se você converter a hora atual para um segundo formato via iTime: int iTime = TimeCurrent();

então como pode ser comparado a outras datas que estão escritas no formato 29.01.2008?


Ou de alguma forma compará-lo sem convertê-lo em segundos, se você puder fazer isso imediatamente...

como

se TimeCurrent() > 29.01.2008 então a = 123456

mas não funciona nesta forma... ((

data é um longo

Portanto, para representar uma data como um longo período, você precisa se converter explicitamente:

long time_current=(long)TimeCurrent();
 

Olá.

Pergunta sobre otestador de estratégia

Não posso reduzir o tamanho da fonte ou da coluna para caber nas entradas dentro da janela de 640 pixels

como faço isso?

Reduzi o tamanho da janela, mas as informações estão amassadas.

Arquivos anexados:
 
Sergey Musin:

Olá.

Pergunta sobre otestador de estratégia

Não posso reduzir o tamanho da fonte ou da coluna para caber nas entradas dentro da janela de 640 pixels

como faço isso?

Reduzi o tamanho da janela, mas as informações estão amassadas.

Tente reduzir a escala da fonte do sistema nas configurações do Windows
 

Boa tarde!

Por favor, me dê uma dica, há um pedaço de código:

void watch_breakout() {
  if(active != true) return;
    int ticket = get_ticket();
  if(Ask >= NormalizeDouble(channel_top, Digits)) {
    ticket   = OrderSend(Symbol(), OP_BUY, Lots, Ask, SLIPPAGE, NormalizeDouble(Ask-Stoploss*Point,Digits), 0, "LONG", MAGIC, clrNONE); 
       }
  if(Bid <= NormalizeDouble(channel_bottom, Digits)) {
    ticket   = OrderSend(Symbol(), OP_SELL, Lots, Bid, SLIPPAGE, NormalizeDouble(Bid+Stoploss*Point,Digits), 0, "SHORT", MAGIC, clrNONE);
       } 
    }

Estou procurando avarias no canal de preços, minha tarefa é verificar se a avaria não é por qualquer castiçal, mas por uma barra de pinos e abrir uma ordem depois que a barra de pinos for formada.

Por favor, me aconselhem como fazê-lo. Estou lutando com isto pelo terceiro dia, mas até agora não vi nenhuma solução.

 
Snower: Aqui está um pedaço de código:

Para verificar se o avanço ocorreu não por qualquer vela, mas por uma barra de pinos e para abrir uma ordem após a formação da barra de pinos. Por favor, me diga como implementar isso, tenho lutado por três dias e ainda não vejo uma solução

Atualmente estou depurando um consultor especializado que trabalha bem no teste de estratégia no prazo de um mês. E é bom na demonstração. Eu me distraí e olhei para aqui. Você tem o desenho?

 
STARIJ:

Agora estou depurando o Expert Advisor que estou testando há um mês. E é bom na demonstração. Eu me distraí e olhei para aqui. Você tem o desenho?


Como este, por exemplo. A linha amarela é o canal de preço que o preço deveria quebrar, e a ordem abriria com um sorriso, e todos os que estivessem lá antes seriam ignorados.

 
Snower:


Como este, por exemplo. A linha amarela é o canal de preço que o preço deveria quebrar, e que a ordem abriria com uma vela sorridente, e todos os anteriores seriam ignorados.

Isto não vai funcionar.
 
Artyom Trishkin:
Não vai funcionar.

Resposta

Artyom, você não leu com atenção: o TS precisa abrir apenas em uma quebra de barra de pino, respectivamente, se você prescrever uma barra de pino (corpo pequeno e sombras grandes), a condição pode ser atendida

 

Como é tratada a função iCustom no MT4? Por favor, responda àqueles que sabem disso!


Por exemplo, no testador de estratégia, um EA chama o indicador a cada tique.

Quando a função é chamada, o indicador é carregado na memória, recalcula todos os valores da barra zero a Barras e então retorna o valor no offset requerido.

Se eu solicitar o valor de 1 barra no primeiro tick e o valor da segunda barra no segundo tick, então meu consultor especializado calculará o indicador duas vezes em todo o histórico?


Se o Expert Advisor acessar o indicador1, e ele tiver iCustom para o indicador2. Quantas vezes o indicador2 será recalculado ao solicitar o valor do indicador1?


Talvez o Strategy Tester e o terminal MT4 armazenem os valores indicadores em cada barra, para que eles não os recalculem a pedido repetido?

Razão: