Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 6. - página 686

 

Boa tarde. Como exibir o tempo de barra na janela de dados do terminal no formato "yyyyy.mm.dd" e "hh:mi" usando um indicador.

O buffer indicador pode exibir ou o tempo em segundos a partir de 00:00 de 1 de janeiro de 1970, ou após a conversão(TimeToStr)

ou data ou hora truncada. Preciso de alguns conselhos, obrigado antecipadamente!

 

#propriedade estrita deve ser adicionada, depois disso a saída da data será no formato "yyyyy.mm.dd hh:mm:ss", mesmo sem conversão.

ou TimeToString(TimeCurrent(),TIME_DATE|TIME_SECONDS)

 

tu evillive

Parece que não é tão simples assim, ou há algo que eu não entendo?

Como versão, o cão é enterrado no tampão indicador, pois é um tipo duplo.

//+------------------------------------------------------------------+
//|                                                   WinData_v1.mq4 |
//|                        Copyright 2014, MetaQuotes Software Corp. |
//|                                              https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2014, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
#property indicator_chart_window
#property indicator_buffers 2

string g_DataTimeValue;

double WinDataBuffer[];
double WinNumberBarBuffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   IndicatorDigits(0);//(8)

   SetIndexBuffer(0,WinDataBuffer);
   SetIndexStyle(0,DRAW_NONE);

   SetIndexBuffer(1,WinNumberBarBuffer);
   SetIndexStyle(1,DRAW_NONE);

   SetIndexLabel(0,"WinDataTime");
   SetIndexLabel(1,"№ Bara");

//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
//---
   for(int i=0; i<100; i++)
     {

      g_DataTimeValue=TimeToString(time[i],TIME_DATE|TIME_SECONDS);

      WinDataBuffer[i]=TimeToString(time[i],TIME_DATE|TIME_SECONDS);
      WinNumberBarBuffer[i]=i;
      // WinDataBuffer[i]=StrToDouble(g_DataTimeValue);

      Print(" WinDataBuffer[i] = ",WinDataBuffer[i],"  WinNumberBarBuffer[i] = ",WinNumberBarBuffer[i],
            "  g_DataTimeValue = ",g_DataTimeValue);

     }
//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+
Принт:


2014.08.11 15:39:54.016 WinData_v1 EURUSD,M1:  WinDataBuffer[i] = 2014.08  WinNumberBarBuffer[i] = 99.0  g_DataTimeValue = 2014.08.06 11:41:00



 

Boa tarde, camaradas!

Esta é a primeira vez no fórum, então não me chute se esta for uma pergunta antiquada...

Como abrir negócios em ciclo após um certo intervalo (a cada minuto, por exemplo) ?

Com antecedência, obrigado
 
vld:

tu evillive

Parece que não é tão simples assim, ou há algo que eu não entendo?

Como versão, o cão é enterrado no tampão indicador, pois é um tipo duplo.


Por que você coloca a corda no buffer indicador?
 
Sanyo:

Boa tarde, camaradas!

Esta é a primeira vez no fórum, então não me chute se esta for uma pergunta antiquada...

Como abrir negócios em um ciclo a um determinado intervalo (a cada minuto, por exemplo) ?

Agradecemos antecipadamente.

Verificando a abertura de um novo bar do TF apropriado!
 
Sanyo:

Boa tarde, camaradas!

Esta é a primeira vez no fórum, então não me chute se esta for uma pergunta antiquada...

Como abrir negócios em um ciclo a um determinado intervalo (a cada minuto, por exemplo) ?

Agradecemos antecipadamente.
Leia sobre OnTimer()
 

Olá, eu tenho esta pergunta:

O MT4 tem grandes possibilidades de otimização especializada, mas existe alguma ferramenta para otimizar os indicadores? Se eu quiser otimizar os parâmetros de um indicador para que suas leituras sejam maximamente "corretas", é verdade que a única maneira de fazê-lo é escrever um ekspert com base no mesmo e fazer o histórico?

E também gostaria de saber se o MT-4 tem um critério personalizado de otimização de Expert Advisors como no MT5?

 

Caras, eu esqueci...

Como obter um conjunto de ordens atuais e fazer um loop através dele. E faça um loop para obter as informações do pedido. MT4, obrigado...

 
Vinin:

E por que você coloca a corda no buffer indicador?

Entendo o absurdo desta ação, mas não entendo como usar o indicador

exibir o tempo da barra na janela de dados do terminal no formato "yyyyy.mm.dd" e "hh:mi" (como primeira e segunda linhas na janela de dados do terminal)

O buffer de indicadores sairá o tempo em segundos a partir de 00:00 de 1 de janeiro de 1970, atribuindo-lhe tempo[i],

ou após a conversão(TimeToString) data ou hora truncada.

E se houver a possibilidade de exibi-la usando ferramentas MQL personalizadas, por favor, informe como fazê-lo. Obrigado antecipadamente!