Counters in MetaTrader 5: Hoe je 'X' keer telt en doorgaat

Mike 2024.04.14 19:15 18 0 0
Bijlage

01. Tel 'X' keer en ga dan verder.

  • Stap 01 - Maak een variabele aan voor de teltlimiet. Je kunt dit ook gebruiken als een invoervariabele voor optimalisatie in je code.
  • Stap 02 - Maak een andere variabele aan om de getelde limiet op te slaan (hoe vaak er is geteld).
  • Stap 03 - Zodra de Teller gelijk is aan je teltlimiet, is het tijd om de door jou opgegeven codeblock uit te voeren.
  • Stap 04 - Zorg ervoor dat je de teller reset nadat de code is uitgevoerd. Anders blijft hij oneindig tellen.
Je kunt ook filtervoorwaarden instellen voor het Teller-blok, zoals: >> "ALS dit waar is, tel dan één keer."
input int count = 50; // Stel de teltlimiet in als invoer

int Teller; // teller variabele

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

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

}

// Expert OnTick --------------------------
void OnTick()
{
 Teller ++; // voeg 1 toe aan de teller bij elke tick.
 Comment("Huidige Telling -:", Teller);
 
 if(Teller == count) // Tel 'X' keer en ga verder
 {
  
  // Jouw code gaat hier......
 Alert(count," Keer geteld"); 
 Teller = 0; // Reset de teller aan het eind van je codeblock. Dit is noodzakelijk.
 } 

} // OnTick Einde  <<----------------------


02. Ga 'X' keer door en wacht 'X' keer voordat je doorgaat.

Deze methode kan worden gebruikt als een wacht- en doorgaan mechanisme.

  • Stap 01 - Maak een variabele aan voor de teltlimiet en wachtlimiet. Je kunt deze ook gebruiken als invoervariabelen voor optimalisatie in je code.
  • Stap 02 - Maak een andere variabele aan om de getelde limiet en wachtlimieten op te slaan (hoeveel keer er is geteld en gewacht).
  • Stap 03 - Zodra de Teller gelijk is aan je teltlimiet, is het tijd om de door jou opgegeven codeblock uit te voeren.
  • Stap 04 - Zodra de wachtvariabele gelijk is aan je wachtlimiet, is het tijd om even te wachten.
  • Stap 05 - Wanneer de wachtlimiet is bereikt, zorg ervoor dat je zowel de teller als de wachtvariabele reset. Anders stopt het met werken.
Je kunt ook filtervoorwaarden instellen voor de Teller- en Wacht-blokken. Bijvoorbeeld: >> "ALS dit waar is, wacht dan even."


input int count = 50; // Stel de teltlimiet in als invoer
input int wait = 50; // Stel de wachtlimiet in als invoer

int Teller; // teller variabele standaardwaarde is "0"
int Wacht; // wacht variabele standaardwaarde is "0"

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

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

  }

// Expert OnTick --------------------------
void OnTick()
  {
   Comment("Getelde Ticks -: ", Teller, "\n", "Gewacht Ticks -: ", Wacht);

   if(Teller < count) // Ga 'X' keer door
     {
      Teller++; // werk de teller bij

      // Jouw code gaat hier.

     }
   else
      if(Wacht < wait) // Wacht 'X' keer
        {
         Wacht++; // werk de wachtvariabele bij

         // Jouw code gaat hier.

        }

   if(Wacht == wait) // Wachtlimiet is bereikt
     {
      Teller = 0; // reset teller
      Wacht = 0; // reset wacht
     }




  } // OnTick Einde  <<----------------------
//+------------------------------------------------------------------+

Special -:

Je kunt de "Ga X keer en stop" functionaliteit coderen door de bovenstaande code aan te passen en het wachtcode block te verwijderen. Dan telt het voor een specifiek aantal keren en stopt totdat de teller is gereset. Je kunt het overal in je code resetten als je deze variabelen globaal maakt.


Lijst
Reactie 0