|
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 |
|
|||
Trendlinie Trendstrahl im EA MT4 definieren und als Signal verwenden
Hallo Jungs,
ich möchte in einem EA einen Trendstrahl definieren und als Signalgeber verwenden also wenn der Kurs den Strahl unterschreitet oder berührt wieder Long gehen bzw Short. Die Richtung eines Strahls kann man ja bekanntlich durch die Festlegung zweier Punkte definieren. Diese möchte ich vor dem Start des EAs eingeben - Hier im Beispiel für den DAX: oben im EA: input string ___TRENDSTRAHL___="___Definiere X(Zeit) und Y(Kurs) Werte ___"; input double X_Wert1=15.10.2017 15:01; input double Y_Wert1=12050; input double X_Wert2=15.10.2017 17:05; input double Y_Wert2=12085; und unten im EA: if(Kurs<=Trendstrahl)MAlong=true; -------------------------------------------------------------------------- FRAGE 1: Wie gebe ich die X Werte (Datum und Uhrzeit) so ein,dass der EA für die definition des Trendstrahls verwenden kann? Ist das so richtig? FRAGE 2: Wie definiere ich überhaupt den Trendstrahl, damit dieser erkannt wird? -------------------------------------------------------------------------- DANKE Liebe Grüße Julia |
|
|||
Frage
Oder kann ich einen Trendstrahl einzeichnen, und dann einfach nur die Trendlinien Nummer eingeben? Also einzeichnen, dann in ObjektEigenschaften den Namen festlegen z.B.: "Trendline 47225"
Und im EA gebe ich dann den Namen der Trendlinie ein? Aber wie kann man das machen dass das in die Formel if(Kurs<=Trendstrahl)MAlong=true; passt? |
|
|||
Hi Julia,
unter ForexFabrik.de kann ich dir die Antwort geben und auch gleich das fertige Tool liefern. Also wenn du nicht schon dort einen Account hast, dann melde dich dort an und stell deine Frage noch mal dort. ciao ping |
|
|||
Hallo Julia,
ich schreib Dir mal, wie ich es mache. Dazu musst Du zunächst im MT4 unter Extras -> Optionen -> Objekte ein Häkchen in das Kästchen "Objekt nach Hinzufügen auswählen" setzen. Mit dem untenstehenden Code kannst Du dann Deine Trendlinie bei laufendem EA in den Chart einzeichnen. Du kannst sie in Ruhe ausrichten und korrigieren. Erst wenn Du sie deselektiert kast (Doppelklick auf die Trendlinie), wird der Code sie erkennen und den aktuellen Wert berechnen, vorausgesetzt die Trendlinie hat die von Dir vordefinierte Farbe und den von Dir vordefinierten Linienstil. Die Trendlinie wird dann auch in "Trendlinie-BUY-Stop" bzw. "Trendlinie-SELL-Stop" umbennant. Wenn Du eine zweite BUY-Stop-Linie oder eine zweite SELL-Stop-Linie zeichnen solltest, wird eine automatisch gelöscht. Wenn Du eine bestehende BUY- bzw. SELL-Stop-Linie in Farbe oder Linienstil änderst, wird sie nicht mehr als solche erkannt. PHP-Code:
Das Ganze geht natürlich genauso für BUY-Limit und SELL-Limit. Ich benutze dafür einen anderen Linien-Stil. ...noch eine kleine Anmerkung: auf Dauer würde ich es nicht auf OnTick(), sondern auf OnTimer() (mindestens alle 60 Sekunden) und auf OnChartEvent() laufen lassen, sonst verbraucht es unnötig Ressoursen. Gutes Gelingen.... ;-) |
|
|||
Danke
Danke, ich werde es ausprobieren
|
|
|||
Trendlinien
Hallo,
ich habe den Code nun in meinen EA eingebaut und das läuft auch. ABER ich möchte dann die generierte Variable "BUY_Stop" aus dem Code von Adlerauge als Wert für einen Startbefehl nutzen und zwar: if(MA<BUY_Stop)MAlong=true; Der erkennt aber nicht die Variable BUY_Stop aus dem oben angezeigten Code von Adlerauge ..... wie kann ich die Variable "BUY_Stop" aktivieren ? Liebe Grüße Julia |
|
|||
Wenn er die Variable nicht kennt, dann ist sie bei Dir als lokale Variable irgendwo zwischen 2 Schweifklammern deklariert, nicht aber als globale Variable (oben im EA, noch vor OnInit und OnTick).
Lokale Variablen "leben" nur innerhalb 2 Schweifklammern, während globale Variablen (Global variables of Client Terminal) im gesamten EA bekannt sind. https://book.mql4.com/variables/globals |
|
|||
... Ups, kleiner Fehler, den Link bitte vergessen, ich meinte nicht die global Variables of a Terminal, sondern ganz normale globabe Variablen. Die werden, wie schon geschrieben nicht zwischen 2 Schwifklammern sondern einfach oben im EA deklariert, und sind somit im ganzen EA verfügbar. Global Varibles of a Terminal wären in allen EAs im Terminal verfügbar, die brauchst Du hier aber nicht...
|
Lesezeichen |
Stichworte |
ea, mql4, programmierung, programmierung metatrader, programmierung mql4, trendlinie, trendstrahl |
Themen-Optionen | Thema durchsuchen |
Ansicht | |
|
|