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

 
MakarFX:

nulo()

E em meu código, que coloquei aqui, onde este vazio() deveria ser inserido ?
Obrigado

 
ANDREY:

E em meu código que afixei aqui, onde este vazio() deveria ser inserido ?
Obrigado

não inserir - criar

excluir da OnTick()

e então

//--- input parameters
input int      Points=30;
double LoU;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- create timer
   EventSetTimer(60); // таймер в секундах
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//--- destroy timer
   EventKillTimer();
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
  }
//+------------------------------------------------------------------+
//| Timer function                                                   |
//+------------------------------------------------------------------+
void OnTimer()
  {
//---
   LoU=Bid;
   if(Low[0]<LoU) {LoU=Low[0];}
   SendOrder(); 
  }
//+------------------------------------------------------------------+
void SendOrder()
  {
   if ((Bid-Points*Point)>=LoU)
     {
      if(OrderSend(Symbol(),OP_SELL,0.1,Bid, 3,0,0,"300",0)) LoU=Low[0];
     }
  }
 
MakarFX:

não inserir - criar

remover da OnTick()

e depois...

Estou intrigado com esta..... E o que exatamente esse vazio() faz em relação ao meu código e ao meu propósito ?

Entendi que os cálculos da OnTick() são passados para outras funções. E onde quer que ocorra nulo(), que função desempenha?
Obrigado

 
ANDREY:

Estou intrigado com esta..... E o que exatamente esse vazio() faz em relação ao meu código e em relação ao meu alvo?
Obrigado

Funciona em um temporizador.

 
MakarFX:

Trabalhando em um temporizador

O temporizador diz ao programa com que freqüência verificar o código, a cada tique, ou a cada minuto ou hora ou vela de dia?
Em caso afirmativo, devo ajustar o timer para verificar cada vela de minuto e levará muito menos tempo para executar o código durante os testes?

 
ANDREY:

O temporizador diz ao programa com que freqüência verificar o código, a cada tique, ou a cada minuto ou hora ou vela de dia?

Eu o assinei.

EventSetTimer(60); // таймер в секундах
 
MakarFX:

Eu o assinei.

Por que não em minutos?

Ou é realmente em minutos? Ou o código será executado a cada segundo, não a cada tiquetaque. Há mais carrapatos do que segundos e às vezes muito mais...
 
ANDREY:

Por que não em minutos?

Andrei, decida o que você quer. ou a cada tique ou em segundos. ajuste-o para 86400 segundos... e será uma vez por dia

 
MakarFX:

não inserir - criar

remover da OnTick()

e então

Aqui está seu código

input int      Points=30;
double LoU,Pr;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- create timer
   EventSetTimer(60); // таймер в секундах
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//--- destroy timer
   EventKillTimer();
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
  }
//+------------------------------------------------------------------+
//| Timer function                                                   |
//+------------------------------------------------------------------+
void OnTimer()
  {
//---
   LoU=Bid;
   if(Low[0]<LoU) {LoU=Low[0];}
   SendOrder(); 
  }
//+------------------------------------------------------------------+
void SendOrder()
  {
   if ((Bid-Points*Point)>=LoU)
     {
      if(OrderSend(Symbol(),OP_SELL,0.1,Bid, 3,0,0,"300",0)) LoU=Low[0];
     }
  }

Mas não abriu nenhuma ordem por algum motivo.

 
MakarFX:

Andrei, decida o que você quer, a cada tique, ou em segundos. Ajuste para 86400 segundos...e é uma vez por dia

Entendi agora. Era isso que eu queria ouvir, que você pode definir a qualquer intervalo.
Obrigado.

Razão: