Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools
Zurück   Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools > Metatrader 4 > Programmierung MQL4

Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4.

Login
Benutzername:
Kennwort:


Statistik
Themen: 4973
Beiträge: 43252
Benutzer: 7.220
Aktive Benutzer: 81
Links: 84
Wir begrüßen unseren neuesten Benutzer: JosephTK
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor 9 Stunden
- JosephTK
vor 2 Tagen
- Hopfen&Mal...
vor 3 Tagen
- frankmicha...
vor einer Woche
- DFeck
vor einer Woche
- bb1107

Onlineuser
'Wer ist online' anzeigen Benutzer: 1
Gäste: 454
Gesamt: 455
Team: 0
Team:  
Benutzer:  murkel
Freunde anzeigen

Empfehlungen

Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 20.04.17
Neues Mitglied
 
Registriert seit: Mar 2017
Beiträge: 5
Basti89 befindet sich auf einem aufstrebenden Ast
Standard 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
  #2 (permalink)  
Alt 21.04.17
Mitglied
 
Registriert seit: Nov 2015
Beiträge: 136
Adlerauge befindet sich auf einem aufstrebenden Ast
Standard

...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.
  #3 (permalink)  
Alt 21.04.17
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.733
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Adlerauge Beitrag anzeigen
if (iClose(NULL,0,0) > iClose(NULL,0,1))
Alert(..........);
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.
  #4 (permalink)  
Alt 23.04.17
Neues Mitglied
 
Registriert seit: Mar 2017
Beiträge: 5
Basti89 befindet sich auf einem aufstrebenden Ast
Standard

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?
  #5 (permalink)  
Alt 24.04.17
Mitglied
 
Registriert seit: Nov 2015
Beiträge: 136
Adlerauge befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Basti89 Beitrag anzeigen
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.
Hat da noch jemand eine Idee?
...das ist aber eine weitere Bedingung, um genau das macht der obige Vorschlag für den Fall, dass der Preis höher ist.
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.
  #6 (permalink)  
Alt 25.04.17
Neues Mitglied
 
Registriert seit: Oct 2016
Ort: Weimar
Beiträge: 17
bigborre befindet sich auf einem aufstrebenden Ast
Standard

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.
  #7 (permalink)  
Alt 25.04.17
Neues Mitglied
 
Registriert seit: Mar 2017
Beiträge: 5
Basti89 befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Adlerauge Beitrag anzeigen
...das ist aber eine weitere Bedingung, um genau das macht der obige Vorschlag für den Fall, dass der Preis höher ist.
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.
hm leuchtet ein - was wäre denn der code für nur einmal pro Kerze bimmeln?

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?
  #8 (permalink)  
Alt 27.04.17
Mitglied
 
Registriert seit: Nov 2015
Beiträge: 136
Adlerauge befindet sich auf einem aufstrebenden Ast
Standard

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);
         }
      }
   }
}
"iClose(NULL,0,0)" ist übrigens das Gleiche wie "Bid".
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.
Thema geschlossen

Lesezeichen

Stichworte
alarm, alarm programmieren, indikator alarm, indikator alert, mql4, programmierung, programmierung metatrader, programmierung mql4

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus




Alle Zeitangaben in WEZ +1. Es ist jetzt 07:19 Uhr.





Suchmaschine - Reisen - Wavesnode - Facebook Forum - Spam Firewall
-----------------------------------------------------------------------------------------------------------------------------
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
SEO by vBSEO 3.6.1
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum
MetaTrader bzw. MetaTrader 4 und MetaTrader 5 sind eingetragene Marken der MetaQuotes Software Corp.
-----------------------------------------------------------------------------------------------------------------------------