Hallo,
gern möchte ich hiermit ein Thema aufgreifen, welches mir im Detail noch nicht wirklich klar ist.
Ein simples Beispiel ->
aktuelles Chart mit EURUSD-M1: attached EA bzw. Indicator benötigt von GBPUSD-M5 die
Highest + Lowest-Quotes innerhalb eines angegebenen Zeitraumes - inkl. der entsprechenden Bars.
(Parallel läuft auf gleicher MT4-Instanz ein EA, der für kontinuierlichen Kursupdate aller
Marketwatch-CurrencyPairs samt aller Timeframes sorgt).
Nun die Frage:
ist ein entsprechender iBarShift/iTime/iHigest/iLowest... ausreichend, um die korrekten
Daten abzurufen, oder sollte grundsätzlich mit CopyRates gearbeitet werden, was etwas mehr
Aufwand bedeutet. Führen o.g. Commands evtl. intern einen CopyRates eigenständig durch ?
Wer möchte mich mit seinem fundierten Wissen erleuchten ?
Vielen Dank !!
Mark
Wenn Du mit 1-2 Werten auskommst dann reicht jedenfalls iBarShift
wenns mehr werte werden, dann würde ich schon zu CopyRates gehen, das macht den Code auch übersichtlicher.
Wobei die Zeit um die Array zu befüllen auch berücksichtigt werden muss
Wenn Du mit 1-2 Werten auskommst dann reicht jedenfalls iBarShift
wenns mehr werte werden, dann würde ich schon zu CopyRates gehen, das macht den Code auch übersichtlicher.
Wobei die Zeit um die Array zu befüllen auch berücksichtigt werden muss
Vermutlich ist die Verwendung von Copyrates jene Variante, die die korrektesten Ergebnisse erzielt.
Aber wozu dann iBarShift & Co ?
Worin genau unterscheidet sich die Datenbasis beider Optionen ? In der Aktualität ? und wenn ja, warum?
Die datenbasis ist nehm ich an die gleiche
wenn du abfragen machst mit iHigh, iLow,..... dann wird der Code relativ schnell unübersichtlich, du musst ja immer alle parameter angeben
bei copyrates schreibst du dann ja nur rates.high[]
Das ist eine gewisse vereinfachung in der code abfrage
https://www.mql5.com/en/docs/series/copyrates
die abfrage des zeitframe machst du ja beim kopieren in den array
du könntst z.b
MqlRates rates;
MqlRates ratesH1;
deine array füllen und dann nur nich mit
ratesH1.high[] abfragen
![Documentation on MQL5: Timeseries and Indicators Access / CopyRates Documentation on MQL5: Timeseries and Indicators Access / CopyRates](https://c.mql5.com/36/32/documentation-on-mql5-timeseries.png)
- www.mql5.com
Die datenbasis ist nehm ich an die gleiche
wenn du abfragen machst mit iHigh, iLow,..... dann wird der Code relativ schnell unübersichtlich, du musst ja immer alle parameter angeben
bei copyrates schreibst du dann ja nur rates.high[]
Das ist eine gewisse vereinfachung in der code abfrage
https://www.mql5.com/en/docs/series/copyrates
die abfrage des zeitframe machst du ja beim kopieren in den array
du könntst z.b
MqlRates rates;
MqlRates ratesH1;
deine array füllen und dann nur nich mit
ratesH1.high[] abfragen
amando, wenn Datenbasis inkl. Aktualität identisch sind, macht CopyRates keinen Sinn, da die Verwendung einiges mehr an Aufwand bedeutet -
Commands wie iBarShift, iTimes, iHighest ... müssten hierfür grundsätzlich programmiert werden.
Meine Fragestellung bezieht sich nicht auf die Programmiertechnik bei Copyrates, sondern um das Grundlegende -warum- !
- iBarShift() gibt es nur für MQL4, nicht mehr in MQL5.
- Die anderen Funktionen gibt es für MQL5, und die wurden auch für MQL4 verfügbar gemacht.
- iBarShift() gibt es nur für MQL4, nicht mehr in MQL5.
- Die anderen Funktionen gibt es für MQL5, und die wurden auch für MQL4 verfügbar gemacht.
![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
gern möchte ich hiermit ein Thema aufgreifen, welches mir im Detail noch nicht wirklich klar ist.
Ein simples Beispiel ->
aktuelles Chart mit EURUSD-M1: attached EA bzw. Indicator benötigt von GBPUSD-M5 die
Highest + Lowest-Quotes innerhalb eines angegebenen Zeitraumes - inkl. der entsprechenden Bars.
(Parallel läuft auf gleicher MT4-Instanz ein EA, der für kontinuierlichen Kursupdate aller
Marketwatch-CurrencyPairs samt aller Timeframes sorgt).
Nun die Frage:
ist ein entsprechender iBarShift/iTime/iHighest/iLowest... ausreichend, um die korrekten
Daten abzurufen, oder sollte grundsätzlich mit CopyRates gearbeitet werden, was etwas mehr
Aufwand bedeutet. Führen o.g. Commands evtl. intern einen CopyRates eigenständig durch ?
Wer möchte mich mit seinem fundierten Wissen erleuchten ?
Vielen Dank !!
Mark