Bevor Du viel Zeit verlierst, in dem Du alle Fehler ausprobierst hier etwas zu Lesen:
https://www.mql5.com/de/articles/648 Das MQL5-Kochbuch: Mehrwährungsfähiger Expert Advisor – eine einfache, saubere und schnelle Herangehensweise
https://www.mql5.com/de/articles/650 Das MQL5-Kochbuch: Entwicklung eines mehrwährungsfähigen Expert Advisors mit unbegrenzter Anzahl von Parametern
https://www.mql5.com/de/articles/651 Das MQL5-Kochbuch: Schreiben der Historie von Abschlüssen in eine Datei und Erstellen von Bilanzdiagrammen für jedes Symbol in Excel
https://www.mql5.com/de/articles/496 // Quickstart for newbies
Lies mal den Artikel:
https://www.mql5.com/de/articles/211: Orders, Positions und Abschlüsse in MetaTrader 5
Außerdem Du hast bereits einen EA der nach dem MACD handelt, schu mal hier: ...\Experts\Examples\MACD
Denk dran,, es gibt fast nichts, was nicht schon für MT4/5 programmiert wurde, also erst mal suchen (oben rechts de Lupe).
![Das MQL5-Kochbuch: Mehrwährungsfähiger Expert Advisor – eine einfache, saubere und schnelle Herangehensweise Das MQL5-Kochbuch: Mehrwährungsfähiger Expert Advisor – eine einfache, saubere und schnelle Herangehensweise](https://c.mql5.com/36/46/das-mql5-kochbuch-mehrw-hrungsf__1.jpg)
- www.mql5.com
Bevor Du viel Zeit verlierst, in dem Du alle Fehler ausprobierst hier etwas zu Lesen:
https://www.mql5.com/de/articles/648 Das MQL5-Kochbuch: Mehrwährungsfähiger Expert Advisor – eine einfache, saubere und schnelle Herangehensweise
https://www.mql5.com/de/articles/650 Das MQL5-Kochbuch: Entwicklung eines mehrwährungsfähigen Expert Advisors mit unbegrenzter Anzahl von Parametern
https://www.mql5.com/de/articles/651 Das MQL5-Kochbuch: Schreiben der Historie von Abschlüssen in eine Datei und Erstellen von Bilanzdiagrammen für jedes Symbol in Excel
https://www.mql5.com/de/articles/496 // Quickstart for newbies
Lies mal den Artikel:
https://www.mql5.com/de/articles/211: Orders, Positions und Abschlüsse in MetaTrader 5
Außerdem Du hast bereits einen EA der nach dem MACD handelt, schu mal hier: ...\Experts\Examples\MACD
Denk dran,, es gibt fast nichts, was nicht schon für MT4/5 programmiert wurde, also erst mal suchen (oben rechts de Lupe).
Guten Tag,
seit kurzem probiere ich mich im Programmieren von einfachsten EA's. Ich habe lediglich rudimentäre Java-Kenntnisse von früher und bin im Moment ziemlich hilflos. Ich durchstöbere seit Tagen das Internet finde jedoch keine Lösung.
Ich hoffe mir kann hier jemand helfen und bedanke mich im Voraus für die Hilfe :)
Zu meinem Problem:
Ich möchte einen simplen EA Programmieren, der bspw. Long geht, wenn die MACD-Linie die Signal-Linie von unten nach oben durchstößt. Das ganze aber nur unter der Grundvoraussetzung, dass sich die Linien unter der 0- Linie kreuzen und der Chart unter einem 200er EMA verläuft. Ich habe auch schon etwas verschriftlicht, komme jedoch nicht an den Wert der Signal-Linie....
double MACDBuffer[]; double SignalBuffer[]; //--- Eine Variable um Handle des Indikators iMACD zu speichern int handle; //--- Variable für Speicherung string name=symbol; //--- Name des Indikators auf dem Chart string short_name; //--- die Anzahl der Werte im Indikator Moving Averages Convergence/Divergence gespeichert wird int bars_calculated=0; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- Bindung von Arrays zu den Indikator-Puffern SetIndexBuffer(0,MACDBuffer,INDICATOR_DATA); SetIndexBuffer(1,SignalBuffer,INDICATOR_DATA);
Das ist ein Ausschnitt aus der OnInit() des iMACD und hier stehen die Buffernummern. Du machst Dir einen Signal Array und greifst wie gewohnt die Zahlen mit dem Copybuffer und MACD handle ab, nur eben mit der anderen Buffernummer. Was macht denn bei Dir die "12" da?!?
Du darfst auch nicht das Handle des Indi in die OnTick geben, und wenn du ArraySetAsSeries nicht verwendest dann gehts auch nicht.
Schau dir doch mal ein Beispiel in der Codebase an bzw. den fertigen EA der mit MQL5 mitgeliefert wird
Guten Tag,
seit kurzem probiere ich mich im Programmieren von einfachsten EA's. Ich habe lediglich rudimentäre Java-Kenntnisse von früher und bin im Moment ziemlich hilflos. Ich durchstöbere seit Tagen das Internet finde jedoch keine Lösung.
Ich hoffe mir kann hier jemand helfen und bedanke mich im Voraus für die Hilfe :)
Zu meinem Problem:
Ich möchte einen simplen EA Programmieren, der bspw. Long geht, wenn die MACD-Linie die Signal-Linie von unten nach oben durchstößt. Das ganze aber nur unter der Grundvoraussetzung, dass sich die Linien unter der 0- Linie kreuzen und der Chart unter einem 200er EMA verläuft. Ich habe auch schon etwas verschriftlicht, komme jedoch nicht an den Wert der Signal-Linie....
Hmm - probier doch mal sowas hier:
if( iMACD(NULL,TIME,EMA_KURZ,EMA_LANG,SIGNAL_PERIODEN,PRICE_CLOSE,MODE_MAIN,2) < iMACD(NULL,TIME,EMA_KURZ,EMA_LANG,SIGNAL_PERIODEN,PRICE_CLOSE,MODE_SiGNAL,2) && iMACD(NULL,TIME,EMA_KURZ,EMA_LANG,SIGNAL_PERIODEN,PRICE_CLOSE,MODE_MAIN,1) > iMACD(NULL,TIME,EMA_KURZ,EMA_LANG,SIGNAL_PERIODEN,PRICE_CLOSE,MODE_SIGNAL,1) && iMACD(NULL,PERIODE,EMA_KURZ,EMA_LANG,SIGNAL_PERIODEN,PRICE_CLOSE,MODE_MAIN,1) < 0 && iMACD(NULL,PERIODE,EMA_KURZ,EMA_LANG,SIGNAL_PERIODEN,PRICE_CLOSE,MODE_SIGNAL, 1) < 0 && Ask < iMA(NULL,TIME,SMA_PERIODEN,0,MODE_EMA,PRICE_CLOSE,1) ) { Handelsaktion; } ###Erläuterungen### NULL bewirkt, dass das aktuelle Symbol eingesetzt wird, //im iMACD TIME ist der TIMEFRAME, z.B. für M5 musst Du PERIOD_M5 einsetzen EMA_KURZ / EMA_LANG sind die Periodenzahlen der entsprechenden EMAs des MACD SIGNAL_PERIODEN ist die Periodenanzahl des MACD-SIGNALS PRICE_CLOSE bedeutet, dass es auf den Schlusskurs berechnet wird MODE_MAIN bewirkt, dass der Histogrammbalken ausgelesen wird, MODE_SIGNAL entsprechend der Signalwert (die Linie) Die 1 bzw. 2 bewirkt, dass die vorletzte oder vorvorletzte Kerze ausgelesen wird. Die werden von hinten abgezählt, 0 ist die aktuelle Kerze. //im iMA TIME s.o. Die erste 0 nicht verändern, die Verschiebung stellst Du auch hier mit der letzten Zahl ein. SMA_PERIODEN wären hier deine 200 MODE_EMA stellt das auf EMA ein, gibt auch z.B. MODE_SMA PRICE_CLOSE s.o. Die ersten beiden Bedingungen prüfen, ob der Schnitt eintritt, Bedingung 3 und 4 prüfen, ob alles unter der 0-Linier liegt, Zeile 5 schaut, ob der aktuelle Ask-Kurs unter dem EMA200 liegt. Handelsaktion musst Du dann noch selber entwickeln, aber da muss dann Deine Long-Order geschrieben werden.
Viel Spaß beim Implementieren.
Grüße
McGirg
![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Guten Tag,
seit kurzem probiere ich mich im Programmieren von einfachsten EA's. Ich habe lediglich rudimentäre Java-Kenntnisse von früher und bin im Moment ziemlich hilflos. Ich durchstöbere seit Tagen das Internet finde jedoch keine Lösung.
Ich hoffe mir kann hier jemand helfen und bedanke mich im Voraus für die Hilfe :)
Zu meinem Problem:
Ich möchte einen simplen EA Programmieren, der bspw. Long geht, wenn die MACD-Linie die Signal-Linie von unten nach oben durchstößt. Das ganze aber nur unter der Grundvoraussetzung, dass sich die Linien unter der 0- Linie kreuzen und der Chart unter einem 200er EMA verläuft. Ich habe auch schon etwas verschriftlicht, komme jedoch nicht an den Wert der Signal-Linie....