Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools

Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools (http://www.expert-advisor.com/forum/index.php)
-   Programmierung MQL4 (http://www.expert-advisor.com/forum/forumdisplay.php?f=220)
-   -   Wie den Preis vor x Sekunden ermitteln? (http://www.expert-advisor.com/forum/showthread.php?t=3184)

feelfree 28.08.13 09:46

Wie den Preis vor x Sekunden ermitteln?
 
Servus zusammen,

heute mal wieder ein kniffliges Problem bei dem ich eure Hilfe brauche.

Wie kann ich den Preis von vor beispielsweise 10, 20 oder 30 Sekunden ermitteln?

Dieser Wert/Buffer sollte im besten Falle laufend aktualisiert werden.

Vorab schonmal besten Dank.

Grüße
Dan

traderdoc 28.08.13 10:37

Retrospektive gar nicht, da die kleinste Zeiteinheit 1 Minute ist und immer nur die Peise der vergangenen Kerzen abgefragt werden können.
Das geht also nur indem ein Timer mitläuft, der alle 10, 20 oder 30 Sekunden der Preis in die jeweilige Variable speichert, die dann ggf. Ausgelesen werden kann.

traderdoc

feelfree 28.08.13 10:44

Moin Doc,

sowas hab ich mir schon fast gedacht.

Der Timer müsste also mit einem "Countdown" auf Basis der CurrentTime arbeiten...

Hast du vielleicht ein passendes CodeSnippet für so ein Experiment?

Grüße
Dan

traderdoc 28.08.13 12:05

Habe ich natürlich nicht, aber ich kann ja mal eins aus der Hüfte schießen.
Code:

int timetakt, timenew, timeold, pricetime;
double price;
.
.
.
.
timetakt = 10; //für 10 Sekunden
timenew = TimeCurrent();
if (timenew >= timeold + timetakt) {
  price = Bid;
  pricetime = timenew;
  timeold = Timecurrent();
  Alert("Bid: ", price, " Uhrzeit :", TimeToStr(pricetime));
 }

Das Problem ist nur, dass nur bei jedem neuen Tick das Programm läuft und der kommt halt wie er will, manchmal auch erst nach 1 oder 3 Minuten! D.h. die eingestellten Taktzeiten werden nicht immer genau eingehalten werden können.

traderdoc

feelfree 28.08.13 12:57

Tausend Dank.

Damit kann ich auf jeden Fall schon mal arbeiten.

Dan

feelfree 02.09.13 11:49

Zitat:

Zitat von traderdoc (Beitrag 23379)
Das Problem ist nur, dass nur bei jedem neuen Tick das Programm läuft und der kommt halt wie er will, manchmal auch erst nach 1 oder 3 Minuten! D.h. die eingestellten Taktzeiten werden nicht immer genau eingehalten werden können.

traderdoc

Hi doc,

dein Code funktioniert absolut einwandfrei und ich konnte damit einen recht nützlichen Indikator zusammenbasteln.

Wenn ich diesen Indikator bzw. dessen Buffer mit iCustom auslesen will wird dieser vom EA bei jedem Tick neu initialisiert und der Count beginnt bei 0. Wie lässt sich das verhindern?

Wie kann ich den Code direkt in einen EA einfügen der im EachTickMode läuft?
Hier hab ich ebenfalls das Problem das er mit jedem Tick bei 0 anfängt.

Ich hoffe du kannst mir nochmal weiterhelfen.

Besten Dank und Grüße
Dan

traderdoc 02.09.13 15:47

Na ja, Du mußt natürlich die Deklaration der Variablen in den Teil oberhalb der init()-Funktion legen und nicht!!! in die start()-Funktion.

traderdoc

feelfree 02.09.13 16:57

Danke für deine Hilfe.
Die Deklaration war das eine Problem, der iCustom Aufruf das andere...

Zitat:

Zitat von feelfree (Beitrag 23463)
Wenn ich diesen Indikator bzw. dessen Buffer mit iCustom auslesen will wird dieser vom EA bei jedem Tick neu initialisiert und der Count beginnt bei 0. Wie lässt sich das verhindern?

Ursache der dauernden Initialisierung des Indikators waren die variablen Parameter.

Buffer1 = iCustom(NULL, 0, "CustomIndi", Para1, Para2, 0, 0); -> funktioniert nicht

Die Parameter 1 und 2 waren ganz oben bei den externen Eingaben angesiedelt.

Buffer1 = iCustom(NULL, 0, "CustomIndi", 0, 0); -> funktioniert

Nun sind die Parameter eben fest im Indikator eingetragen.

Sicher nicht die schönste Lösung aber sie tut's erstmal. :)

Grüße
Dan


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:14 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