|
Startseite | Registrieren | Hilfe | Benutzerliste | Kalender | Suchen | Heutige Beiträge | Alle Foren als gelesen markieren |
Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4. |
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|||
MT4 Indicator/Alert erweitern
Hi zusammen,
ich habe mir einen Indicator/Alert gebastelt, der bei einer gewissen Situation (mehrere Fälle müssen zutreffen) einen Alert in MT4 sowie einen Pfeil im Chart macht. Was mir jetzt noch fehlt: Ich will den Alert nur dann, wenn der Preis über bzw. unter (je nach Signalrichtung) des Close Preises der vorangehenden Kerze geht. Sprich der Alert ist scharf sobald alle benötigten Fälle erfüllt sind - soll aber mit dem Alarmieren warten, bis der Preis entsprechend hoch bzw. niedrig ist. Sollte der Close Preis der letzten Kerze nicht überschritten werden soll kein Alert kommen. Hat da jemand eine Idee? Danke schonmal |
|
|||
...naja, das ist ja nur ein weiteres Kriterium, das erfüllt sein muss, damit der Alert ausgeführt wird.
if (iClose(NULL,0,0) > iClose(NULL,0,1) Alert(..........); Du musst es ja nur zu Deinen anderen Kriterien hinzufügen. |
|
|||
Das kann aber ein ganz schön nerviges Gebimmel werden.
traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
|
|||
erstmal danke für die Antworten. Den oben genannten Vorschlag mit der weiteren Bedingung ist aber nicht das was ich brauche - es soll ja keine weitere Bedingung an sich sein:
wie gesagt der Alarm soll scharf geschalten werden, sobald meine Bedingungen erfüllt sind - soll aber erst alarmieren wenn der Preis gleich bzw. höher/tiefer ist als der close preis der vorhergehenden Kerze. Es soll also gewartet werden nachdem die Bedingungen erfüllt sind bis der Preis passt - das kann auch erst nach einer gewissen Zeit sein. Hat da noch jemand eine Idee? |
|
|||
Zitat:
Wenn es in beide Richtungen funktionieren soll und auch bei gleichem Preis, dann eben: if (iClose(NULL,0,0) >= iClose(NULL,0,1) || iClose(NULL,0,0) <= iClose(NULL,0,1)) Alert(....); Das würde allerdings immer bimmeln...)) Wenn es nur einmal pro Kerze bimmeln soll, sind weitere Zeilen nötig. |
|
|||
Kannst du nicht zuerst deine Bedingung abfragen und wenn diese erfüllt ist eine Variable auf TRUE setzen:
Wenn Bedingung erfüllt dann Variable = true; Wenn die Bedingung nicht mehr erfüllt ist logischerweise FALSE. Wann das der Fall ist musst du natürlich definieren. Und dann muss wirklich nur in die Abfrage mit rein ob die Varibale == true ist. |
|
|||
Zitat:
Und wie geb ich der neuen Bedingung (also dass der Preis gleich dem Close Preis der vorhergehenden Kerze ist) mit, dass nicht alle Bedingungen gleichzeitig erfüllt sein müssen, sondern nur meine 4 eigenen Bedingungen gleichzeitig und die letzte dann irgendwann während die Kerze noch offen ist? |
|
|||
Code:
static datetime Bereits_verwendete_Kerze = 0; void OnTick() { if (.........deine Bedingungen == true...........) { if (Bereits_verwendete_Kerze != iTime(NULL,0,0)) { if (iClose(NULL,0,1) <= iClose(NULL,0,0)) { Alert(.......); Bereits_verwendete_Kerze = iTime(NULL,0,0); } } } } Falls Du gemeint haben solltest, dass die aktuelle Kerze die vorhergehende Über- bzw. Unterschreiten soll, damit der Alert kommt, musst Du für die vorhergehende iHigh(NULL,0,1) bzw. iLow(NULL,0,1) verwenden. Die Bedingung "if (iClose(NULL,0,1) <= iClose(NULL,0,0) || (iClose(NULL,0,1) >= iClose(NULL,0,0))" wäre IMMER erfüllt, und macht von da her keinen Sinn. |
Lesezeichen |
Stichworte |
alarm, alarm programmieren, indikator alarm, indikator alert, mql4, programmierung, programmierung metatrader, programmierung mql4 |
Themen-Optionen | Thema durchsuchen |
Ansicht | |
|
|