Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 1474

 
MakarFX:

void()

Und in meinem Code, den ich hier gepostet habe, wo sollte dieses void() eingefügt werden ?
Dankeschön

 
ANDREY:

Und in meinem Code, den ich hier gepostet habe, wo sollte dieses void() eingefügt werden ?
Danke

nicht einfügen - erstellen

löschen aus OnTick()

und dann

//--- 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:

nicht einfügen - erstellen

aus OnTick() entfernen

und dann...

Ich bin fasziniert von diesem..... Und was genau tut dieses void() in Bezug auf meinen Code und in Bezug auf meinen Zweck?

Ich habe verstanden, dass Berechnungen aus OnTick() an andere Funktionen weitergegeben werden. Und wo immer void() vorkommt , welche Funktion erfüllt es?
Dankeschön

 
ANDREY:

Ich bin fasziniert von diesem..... Und was genau tut dieses void() in Bezug auf meinen Code und in Bezug auf mein Ziel?
Danke

Funktioniert mit einer Zeitschaltuhr.

 
MakarFX:

Arbeiten mit einer Zeitschaltuhr

Sagt der Timer dem Programm, wie oft es den Code überprüfen soll, bei jedem Tick oder bei jeder Minute oder stündlichen oder täglichen Kerze?
Wenn ja, sollte ich den Timer so einstellen, dass er jede Minute eine Kerze prüft und die Ausführung des Codes während des Tests viel weniger Zeit in Anspruch nimmt?

 
ANDREY:

Sagt der Timer dem Programm, wie oft es den Code überprüfen soll, bei jedem Ticken oder bei jeder Minute, Stunde oder Tageskerze?

Ich habe es unterschrieben.

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

Ich habe es unterschrieben.

Warum nicht in Minuten?

Oder ist es tatsächlich in Minuten? Oder wird der Code in jeder Sekunde und nicht bei jedem Tick ausgeführt. Es gibt mehr Ticks als Sekunden und manchmal viel mehr...
 
ANDREY:

Warum nicht in Minuten?

Andrei, entscheiden Sie, was Sie wollen. entweder jeden Tick oder in Sekunden. setzen Sie es auf 86400 Sekunden ... und es wird einmal pro Tag sein

 
MakarFX:

nicht einfügen - erstellen

aus OnTick() entfernen

und dann

Hier ist Ihr Code

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];
     }
  }

Aber aus irgendeinem Grund wurde keine Bestellung geöffnet.

 
MakarFX:

Andrei, entscheiden Sie, was Sie wollen, entweder jeden Tick oder in Sekunden. 86400 Sekunden... und das einmal am Tag

Jetzt habe ich es. Das ist es, was ich hören wollte, dass man ein beliebiges Intervall einstellen kann.
Ich danke Ihnen.