Geschiedenis Downloader - handige tool voor MetaTrader 4

Mike 2018.02.14 20:51 84 0 0
Bijlage

Met deze EA kun je eenvoudig de koersgeschiedenis van het huidige grafieksymbool en de periode downloaden door op de 'Home' toets te drukken. Deze methode is geïnspireerd op het idee dat is geïmplementeerd in de s-Downloader van Talex script (CodeBase link).

Het belangrijkste verschil met s-Downloader is dat enkel de bars van de huidige tijdseenheid worden gedownload tot de opgegeven tijd. Persoonlijk vind ik dit handiger, omdat ik meestal tests uitvoer op één enkele tijdseenheid (de tijdseenheid waarop ik doorgaans werk).

In deze uitvoering wordt de EA uitgevoerd in een enkele start() iteratie. Dit zorgde voor enkele uitdagingen bij het verkrijgen van het aantal bars in het grafiekvenster en de tijd van de eerste bar. Daarom haalt de EA deze gegevens uit de globale variabelen die worden bijgewerkt met behulp van de HistoryDownloaderI indicator (in de bijlage). Eigenlijk doet de indicator verder niets dan het bijwerken van de globale variabelen :)

In de bijlage vind je de EA (HistoryDownloader.mq4), de indicator (HistoryDownloaderI.mq4) en het archief met beide broncodes + gecompileerde bestanden (HistoryDownloader.zip)

Hoe je dit allemaal gebruikt:

  • Druk op Ctrl+O en controleer het maximale aantal bars in de geschiedenis en op de grafiek;
  • Open het grafiekvenster van het benodigde symbool en selecteer de tijdseenheid waarvoor de geschiedenis moet worden gedownload;
  • Schakel de automatische scroll uit en stel de schaal in op minimum (zoom uit zoveel als mogelijk);
  • Start de HistoryDownloaderI indicator op de grafiek;
  • Start daarna de EA.

EA parameters:

datetime ToDate - datum tot welke de koersgeschiedenis wordt gedownload.

int Timeout - wachttijd voor het bijwerken van de grafiek, in milliseconden. Standaard is 1 seconde (1000)

int MaxFailsInARow - maximaal aantal opeenvolgende mislukte pogingen om de grafiek "te verschuiven". Standaard is 10

Ik heb mijn best gedaan om de code uitgebreid van commentaar te voorzien. Dit is tenslotte mijn eerste publicatie op CodeBase.

Lijst
Reactie 0