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)
-   -   Suche EA zum Preis überwachen (http://www.expert-advisor.com/forum/showthread.php?t=1755)

DBaumholzer 09.12.11 13:35

Suche EA zum Preis überwachen
 
Hallo Forum-Gemeinde,
ich suche einen EA der mir auf einem Chart den Preis überwacht. Sobald der Preis für eine bestimmte Zeit eingefroren ist, soll er ein Email versenden. Ich denke für einen geübten Programmierer sollte das kein großer Aufwand sein.

Ich würde mich auch in Form einer kleinen Geldspende erkenntlich zeigen.

Hoffe auf eure Unterstützung!

Freundliche Grüße

JoeDormann 11.12.11 10:07

Na dann definiere mal wie das Teil laufen soll.
Definition : bestimmte Zeit
Definition : eingefroren

Gruß Joe

Programmierer 11.12.11 12:26

Sag mal Joe, mich würde mal interessieren, wie du das folgende Problem bei diesen Anforderungen löst - ich würde da gerne mal die Meinung eines anderen Programmierers hören (natürlich auch gerne andere als Joe :)):

Wenn der Preis im Chart eine gewisse Zeit stehen bleibt, wollen wir ja benachrichtigt werden. Das geht aber natürlich damit einher, dass die start()-Methode nicht mehr aufgerufen wird und der EA nach gängiger Programmierung nicht mehr ausgeführt wird, d.h. er diese Pause erst beim nächsten Tick mitbekommt.

M. E. kann man das Problem ja nur mit nem infinite loop in start() oder init() lösen. Dazu kann man noch überlegen, ob lieber ein EA oder ein Script, denn eigentlich sind EAs ja nicht gerade dafür gedacht, infinite loops drin zu haben :D.

Oder gibt es da noch einen anderen Weg? Wie würdest du das machen?

JoeDormann 11.12.11 15:20

Zitat:

Zitat von Programmierer (Beitrag 6893)
Sag mal Joe, mich würde mal interessieren, wie du das folgende Problem bei diesen Anforderungen löst - ich würde da gerne mal die Meinung eines anderen Programmierers hören (natürlich auch gerne andere als Joe :)):

Wenn der Preis im Chart eine gewisse Zeit stehen bleibt, wollen wir ja benachrichtigt werden. Das geht aber natürlich damit einher, dass die start()-Methode nicht mehr aufgerufen wird und der EA nach gängiger Programmierung nicht mehr ausgeführt wird, d.h. er diese Pause erst beim nächsten Tick mitbekommt.

M. E. kann man das Problem ja nur mit nem infinite loop in start() oder init() lösen. Dazu kann man noch überlegen, ob lieber ein EA oder ein Script, denn eigentlich sind EAs ja nicht gerade dafür gedacht, infinite loops drin zu haben :D.

Oder gibt es da noch einen anderen Weg? Wie würdest du das machen?

Die kleinste Zeiteinheit ist M1 und reagieren kann man nur auf Tickbasis, es sei denn, man startet eine DLL, die auch ohne Ticks weiterläuft bis zum nächsten Tick und sich dann wieder neu initialisiert.
Es gibt auch noch eine andere Methode ;)
Aber was nutze es einem, 10 Minuten keinen Tick zu bekommen, weil Broker B sparsamer mit den Kursen als Broker A ist. Macht also wenig Sinn, oder?

Ich hab das Proggi bereits fertig, allerdings nur auf Tickbasis.
Es ist natürlich ein Indikator!
Mal sehn was der Kollege genau als Anforderung haben möchte.
Vielleicht hat er ja eine ganz tolle Idee, die sich im Rahmen unseres EAs sinnvoll verwenden läßt.

Gruß Joe

Programmierer 11.12.11 18:55

Ich denke, dass es hier darum geht, Verbindungsprobleme aufzuspüren. Denn im ersten Post heißt es ja: "Sobald der Preis für eine bestimmte Zeit eingefroren ist, soll er ein Email versenden."

Mit einem Indikator auf Tickbasis könnte man die eMail erst versenden, wenn nach der Pause wieder ein Tick reinkommt. Das würde einem helfen, die Verbindungsprobleme im Nachhinein auswerten zu können, aber nicht um direkt auf sie zu reagieren. Da ist natürlich die Frage, was hier bezweckt ist.

Gehen wir mal davon aus, wir brauchen ein Programm, das einerseits die rückwirkende Analyse der Verbindungsprobleme und andererseits ein sofortiges Reagieren auf ein Verbindungsproblem erlaubt. Dann würde ich einen EA vorschlagen, der einen infinite loop in start() oder auch init() hat.

Der Vorteil dieses EAs wäre, dass man genau nach Zeit reagieren kann: Wenn der Benutzer z.B. 2 Minuten als Timeout eingestellt ist, dann kommt genau nach 2 min Tickpause eine eMail. Die eMail wird in jedem Fall nach 2 Minuten geschickt, auch wenn danach weitere 20 Minuten nichts kommt. Man kann also sofort den Broker anrufen o.ä.

Man könnte natürlich auch ein Script nehmen, doch das bleibt nach einem MT4-Neustart nicht am Chart, ist also für einen Dauereinsatz nicht geeignet.

Programmierer 11.12.11 18:58

Ich für meinen Teil kann aber sagen, dass MT4 äußerst stabil läuft, und zumindest beim MB-Trading nie solche Verbindungsprobleme auftreten, die man mit dieser Methode aufspüren könnte. Denn das würde ja einem Ausfall des Datenservers gleichkommen. Ich finde eine Broker, bei dem der Datenserver ausfällt, wäre eh nicht akzeptabel :)

DBaumholzer 11.12.11 20:12

Zitat:

Zitat von JoeDormann (Beitrag 6889)
Na dann definiere mal wie das Teil laufen soll.
Definition : bestimmte Zeit
Definition : eingefroren

Gruß Joe

Hallo Joe,
Danke für deine Antwort. Programmierer hat das schon gut erkannt, es soll einfach nach z.B. 30 Sekunden eine Email versendet werden wenn sich der Preis nicht mehr ändert, sprich eingefroren ist.

Wäre das viel Aufwand? Ein Indikator der erst beim nächsten Tick erkennt, dass etwas schief lief würde mir hier nicht helfen.

DBaumholzer 11.12.11 20:14

Zitat:

Zitat von Programmierer (Beitrag 6906)
Ich für meinen Teil kann aber sagen, dass MT4 äußerst stabil läuft, und zumindest beim MB-Trading nie solche Verbindungsprobleme auftreten, die man mit dieser Methode aufspüren könnte. Denn das würde ja einem Ausfall des Datenservers gleichkommen. Ich finde eine Broker, bei dem der Datenserver ausfällt, wäre eh nicht akzeptabel :)

Ich hab leider des öfteren Probleme, kann aber auch an meinem ISP liegen, durch die Emails hätte ich eine Art Dokumentation um an die Sache anders ranzugehn.

JoeDormann 11.12.11 22:01

Hallo,

meine Lösung ist eine Andere. Diese bezieht sich darauf hubarme Zeitzonen zu lokalisieren, um darauffolgend Ausbrüche sicherer erkennen zu können.
Das funktioniert sogar ganz gut ;)
Danke für die Inspiration.

Ich denke Programmierer hat Deinen Wunsch besser erfaßt.
Soll er mal machen ;)

Gruß Joe

Programmierer 28.12.11 21:19

Zitat:

Zitat von JoeDormann (Beitrag 6910)

meine Lösung ist eine Andere. Diese bezieht sich darauf hubarme Zeitzonen zu lokalisieren, um darauffolgend Ausbrüche sicherer erkennen zu können.
Das funktioniert sogar ganz gut ;)
Danke für die Inspiration.

Was meinst du damit, Joe? Das klingt ja eher nach einem Teil einer Handelsstrategie - es geht doch hier darum, Verbindungsprobleme zu erkennen. Oder hast du ausversehen in den falschen Thread gepostet?


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:03 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