Frage zu MT5 - "Custom indicator iteration function "
Hallo!
Ich bin von MQL4 zu MQL5 umgestiegen - die Zeichen der Zeit.... Nein, ein Broker meiner Wahl bietet den MT5 für Aktien an und daher nutze ich nun den MT5 - und versuche mich mit dem Erwerb der entsprechenden Progger-Kenntnisse... Mehr schlecht als Recht. Nun ssah ich in einem Programm den Schnipsel-Abschnitt: //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { ... und dann geht die Programmiererei los - wie nach "ONTick" in MT4) Was bedeutet der o.a. Abschnitt bitte denn im Einzelnen? |
Zitat:
rates_total ist die Gesamtheit der Bars, über die Du Infos abfragen kannst und prev_calculated sind die Bars, die beim letzten Durchgang schon bearbeitet wurden; heißt, wenn prev_calculated==0, dann ist das hier grad das erste Mal, daß ne Kalkulation stattfindet (und er macht erst mal einen Rundumschlag über alles - na ja, was Du so an limit eingibst). Danach ist prev_calculated>0 (er hat ja schon mal kalkuliert). Kommt jetzt eine Bar neu hinzu, dann muß er nur noch Berechnungen mit der neuen Bar machen. Reicht das als Erklärung? AVT |
Hm... also im Prinzip etwas, was ich NICHT weglassen kann...? Ist alles sehr neu und verwirrend... :confused::(
In MT4 schrieb ich "OnTick()" und gut war... Ehrlich gesagt: Ich hab´s nicht geschnallt. Wieso soll ich "an einen Wert kommen"? Bisher ist es für mioch nur ne "Formel", die ich hinklatsche, damit wenn ich auf "kompilieren" drücke, alles funktioniert....:(:confused: |
Zitat:
Wenn Du einen Indikator schreibst, mußt Du anstatt der vielgesehenen start Funktion jetzt OnCalculate nehmen. Und bei einem Indikator kannst Du dann über open[i] z.B. den Eröffnungswert einer Bar in einer i-Schleife bekommen, oder über time[i] die dazugehörige Zeit. Im Editor unter Hilfe - MQL5 Referenz - TAB Index "OnCalculate" eingeben und nachlesen. :) AVT |
Alle Zeitangaben in WEZ +2. Es ist jetzt 21:24 Uhr. |
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.1
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum