Startseite Systemhandel Beitrag

Zähle X Mal und übergebe dann – Expert Advisor für MetaTrader 5

Anhang
49213.zip (1.04 KB, Herunterladen 0 mal)

01. Zähle "X" Mal und übergebe dann.

  • Schritt 01 - Erstelle eine Variable, um das Zähl-Limit festzulegen. Diese kannst du auch als Input-Parameter in deinem Code verwenden und optimieren.
  • Schritt 02 - Erstelle eine weitere Variable, um das Zähl-Ergebnis zu speichern (wie oft gezählt wurde).
  • Schritt 03 - Sobald der Counter und dein Zähl-Limit gleich sind, ist es Zeit, den von dir festgelegten Codeblock zu übergeben.
  • Schritt 04 - Achte darauf, den Counter zurückzusetzen, nachdem der Codeblock übergeben wurde. Ansonsten zählt er unendlich (in diesem Fall).
Du kannst auch Filterbedingungen für den Counter-Block festlegen, wie z.B. >> "Wenn dies wahr ist, dann zähle einmal."
input int count = 50; // Setze das Zähl-Limit als Input

int Counter; // Zählervariable

// Expert Initialisierung --------------------
int OnInit()
{
 return(INIT_SUCCEEDED);
}

// Expert Deinitialisierung -------------------
void OnDeinit(const int reason)
{

}

// Expert OnTick --------------------------
void OnTick()
{
 Counter ++; // Erhöhe den Zähler bei jedem Tick.  
 Comment("Aktuelle Anzahl -:", Counter);
 
 if(Counter == count)  // Zähle "X" Mal und übergebe   | Dieser Block wird nur einmal pro Zählung ausgeführt.
 {
  
  // Dein Code kommt hier rein......
 Alert(count," Mal gezählt"); 
 Counter = 0; // Setze den Zähler am Ende deines Codeblocks zurück. Das ist wichtig.
 } 

} // OnTick Ende  <<----------------------


02. Übergebe "X" Mal und warte dann "X" Mal.

Diese Methode kann verwendet werden, um zwischen warten und übergeben, oder übergeben und warten zu wechseln.

  • Schritt 01 - Erstelle eine Variable für das Zähl-Limit und Warte-Limit. Du kannst sie auch als Input-Parameter in deinem Code verwenden und optimieren.
  • Schritt 02 - Erstelle eine weitere Variable, um die gezählten und wartenden Limits zu speichern (wie oft gezählt und gewartet wurde).
  • Schritt 03 - Sobald der Counter und dein Zähl-Limit gleich sind, ist es Zeit, den von dir festgelegten Codeblock zu übergeben.
  • Schritt 04 - Wenn das Warte-Limit erreicht ist, ist es Zeit, kurz zu warten.
  • Schritt 05 - Stelle sicher, dass du sowohl den Zähler als auch den Wartenden zurücksetzt, wenn das Warte-Limit erreicht ist. Andernfalls wird es aufhören zu funktionieren (in diesem Fall).
Du kannst auch Filterbedingungen für den Counter-Block und den Warte-Block festlegen, wie z.B. >> "Wenn dies wahr ist, warte ein wenig."


input int count = 50; // Setze das Zähl-Limit als Input
input int wait = 50; // Setze das Warte-Limit als Input

int Counter; // Zählervariable, Standardwert ist "0"
int Waiter; // Wartevariable, Standardwert ist "0"

// Expert Initialisierung --------------------
int OnInit()
  {
   return(INIT_SUCCEEDED);
  }

// Expert Deinitialisierung -------------------
void OnDeinit(const int reason)
  {
  }

// Expert OnTick --------------------------
void OnTick()
  {
   Comment("Gezählte Ticks -: ", Counter, "\n", "Gewartete Ticks -: ", Waiter);

   if(Counter < count) // Übergebe "X" Mal
     {
      Counter++; // Aktualisiere den Zähler

      // Dein Code kommt hier rein.

     }
   else
      if(Waiter < wait) // Warte für "X" Mal
        {
         Waiter++; // Aktualisiere den Warte-Zähler

         // Dein Code kommt hier rein.

        }

   if(Waiter == wait) // Warte-Limit erreicht
     {
      Counter = 0; // Zähler zurücksetzen
      Waiter = 0; // Warte-Zähler zurücksetzen
     }



  } // OnTick Ende  <<----------------------
//+------------------------------------------------------------------+

Besonderheit -:

Du kannst "X Mal übergeben und stoppen" programmieren, indem du den oben genannten Code anpasst und den Warte-Codeblock entfernst. Dann zählt es eine bestimmte Anzahl und stoppt, bis der Zähler zurückgesetzt wird. Du kannst ihn überall in deinem Code zurücksetzen, wenn du diese Variablen global definierst.


Verwandte Beiträge

Kommentar (0)