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 928

 
TarasBY:
if (iBarShift (_Symbol, PERIOD_D1, OrderOpenTime()) == 0) continue;

Estou EMBALAGEM!!! Uma linha!!! Obrigado!!! Já comecei a dividir o tempo em horas, minutos, segundos para obter os segundos desde o início do dia e comparar...

Eu mesmo não teria pensado nisso.

 
abeiks:
Olá!
Como posso obter cada tick de outros pares de moedas no Expert Advisor (MQL4)?
Então você pode me dizer como obter a cada 10ms informações sobre carrapatos de outros pares de moedas?
 
OnTimer() o ajudará.
 
AlexeyVik:
OnTimer() é a sua ajuda.
Obrigado!
 
AlexeyVik:
OnTimer() o ajudará.
A periodicidade especificada do EventSetTimer( int segundos ) é usada lá. Isso significa que posso obter informações sobre carrapatos a cada 1 segundo? Preciso mais rápido - 10-20ms.
 

O indicador precisa obter o índice até o horário de abertura da barra diária, em um período menor.

Funciona corretamente apenas na barra zero. O que está errado?

#property indicator_separate_window
#property indicator_buffers 1
#property  indicator_color1 Magenta
//--- input parameters
//--- buffers
double I[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   IndicatorBuffers(1);
   SetIndexBuffer(0,I);
   IndicatorDigits(Digits+1);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
    int counted_bars=IndicatorCounted(),limit, i,index;
    datetime DAY;
    bool exact=true;
   if(counted_bars>0)
      counted_bars--;  
   limit=Bars-counted_bars-1;
   for(i=limit;i>=0;i--)
   {
      DAY=iTime(NULL,PERIOD_D1,i);
      index=iBarShift(NULL,PERIOD_CURRENT,DAY);
      I[i]=index;
   }
   return(0);
  }
//+------------------------------------------------------------------+
 
abeiks:
A periodicidade especificada do EventSetTimer( int segundos ) é usada lá. Isto significa que eu posso obter informações a cada 1 segundo? Preciso mais rápido - 10-20ms.
Não apenas EventSetTimer( int segundos ) mas também EventSetMillisecondTimer, por que você está tão desatento? Está escrito ao seu lado.
 
AlexeyVik:
Não apenas EventSetTimer( int segundos ) mas também EventSetMillisecondTimer, por que você está tão desatento? Está escrito ao seu lado.
Obrigado! Eu estava procurando no livro de referência OnTimer e ele menciona apenas EventSetTimer.
 
Você pode me dizer como escrever uma simples EA como esta? Ela abre uma ordem em uma determinada hora do dia, e então, se a ordem fechar em um stop loss, ela abre a mesma ordem na direção oposta. No dia seguinte, tudo se repete. Gostaria de testar este tipo de EA e ver se seu lucro será estável. Por favor, ajude-me a escrevê-lo.
 

Por favor, ajude-me, como escrever"se o preço veio de um determinado intervalo"?

Exemplo do quadro: para abrir um comércio, o preço deve vir de uma certa faixa 1.1100 e 1.1100 deve vir de uma certa faixa 1.1200.

A variante com iHighest e iLowest não é adequada porque esta condição não é dependente do tempo.

Razão: