Wanneer je werkt met een System Trading, wordt de standaard OnTick() functie aangeroepen door MetaTrader zodra er een nieuwe quote ("tick") binnenkomt. Maar wat als je wilt weten wanneer een nieuwe kaars begint? Daar is geen standaard event voor.
Om dit te detecteren, moet je de openingstijd van de meest recente kaars in de gaten houden. Zodra deze verandert, weet je dat er een nieuwe kaars is begonnen. Hier is een voorbeeldcode die laat zien hoe je dit kunt doen, compatibel met zowel MQL4 als MQL5:
// Standaard tick event handler void OnTick() { // Controleer op een nieuwe kaars (compatibel met MQL4 en MQL5). static datetime dtHuidigeKaars = WRONG_VALUE; datetime dtVorigeKaars = dtHuidigeKaars; dtHuidigeKaars = iTime( _Symbol, _Period, 0 ); bool bNieuweKaars = ( dtHuidigeKaars != dtVorigeKaars ); // Reageer op het event van een nieuwe kaars. if( bNieuweKaars ) { // Detecteer of dit de eerste tick is die ontvangen is. if( dtVorigeKaars == WRONG_VALUE ) { // Doe iets op de eerste tick ... } else { // Doe iets wanneer een normale kaars verschijnt ... }; // Voer andere acties uit ... } else { // Doe iets anders ... }; // Voer andere dingen uit ... };
In de bovenstaande code houdt de statische variabele de openingstijd van de kaars bij, zelfs als je terugkomt van de OnTick() functie. Dit zorgt ervoor dat je veranderingen in de openingstijd van de huidige kaars kunt detecteren.
Let op: wanneer de System Trading voor de eerste keer op een grafiek wordt geplaatst, reageert de vorige code alsof de kaars net is geopend. Deze situatie vereist speciale aandacht als je het anders wilt behandelen.
En nog een laatste ding: de broncode van al mijn CodeBase publicaties is nu ook beschikbaar via MetaEditor's "Public Projects" onder de naam "FMIC".
Gerelateerde berichten
- MQL5 Wizard: Creëer Handelsstrategieën met Bullish en Bearish Engulfing Candlestick Patronen en Stochastic
- MQL5 Wizard: Handelsignalen Geïnspireerd Door Morning/Evening Stars + MFI voor MetaTrader 5
- MQL5 Wizard: Handelsignalen Geïnspireerd door Morning/Evening Stars en RSI voor MetaTrader 5
- Efficiënt Trendvolgend Handelsysteem met Exp_X2MA_JFatl voor MetaTrader 5
- Close Cross MA: Efficiënt Orders Sluiten met MetaTrader 4