Hier steht wie man einen EA schreibt.
Quickstart for newbies: https://www.mql5.com/de/articles/496
und: https://www.mql5.com/de/articles/100
(Schrittweiser Leitfaden für Anfänger zum Schreiben eines Expert Advisors in MQL5)
Diese Beispiele verwenden Standardindikatoren, wenn man einen eigenen Indikator aufrufen will benötigt man iCustom und CopyBuiffer. (Im Editor den Cursor jeweils auf eines der Funktionsnamen stellen und F1 drücken, um zu lesen wie die funktionieren mit Beispiel, insb. CopyBuffer)
Daneben gibt es die Suche z. B. nach den Kochbüchern: https://www.mql5.com/de/search#!keyword=kochbuch
Oder er hat eine ganze Reihe geschrieben wie mit welchen Indikatoren ein Handelssystem gebaut werden kann: https://www.mql5.com/de/users/m.aboud/publications
Oder man sucht gleich nach Chandelier: https://www.mql5.com/en/search#!keyword=chandelier
und filtert dann nach CodeBase oder Artikel ...
Und es gibt auch Leute, die das für einen programmieren: https://www.mql5.com/de/job
Aber vorher lesen:
Indi : https://www.mql5.com/de/articles/4304
How to Order a Trading Robot in MQL5 and MQL4 : https://www.mql5.com/de/articles/117
aber auch (was wenn...): https://www.mql5.com/de/job/rules
und prüfe bei den Angeboten die persönliche Statistik der Angebote!
- www.mql5.com
Hallo!
Danke für Deine Info!
Ich hatte vergessen zu erwähnen, dass ich schon ein wenig mit ea programmiere und ich habe auch hierfür iCustom und CopyBuffer benutzt. Nur ist es leider so, dass ich keine verwertbaren Parameter aus diesem Indikator rausbekomme. Ich möchte gerne, wenn der Indikator einen Pfeil zeichnet (BuySignal oder SellSignal), dieses Signal verwerten kann. Das funktioniert leider nicht, da der Wert den ich bekomme mit iCustom und CopyBuffer immer der gleiche ist. Egal ob Buy oder Sell. Vielleicht ist dieser Indikator auch nicht dafür geeignet!?
Gruß
Rene
Hallo!
Danke für Deine Info!
Ich hatte vergessen zu erwähnen, dass ich schon ein wenig mit ea programmiere und ich habe auch hierfür iCustom und CopyBuffer benutzt. Nur ist es leider so, dass ich keine verwertbaren Parameter aus diesem Indikator rausbekomme. Ich möchte gerne, wenn der Indikator einen Pfeil zeichnet (BuySignal oder SellSignal), dieses Signal verwerten kann. Das funktioniert leider nicht, da der Wert den ich bekomme mit iCustom und CopyBuffer immer der gleiche ist. Egal ob Buy oder Sell. Vielleicht ist dieser Indikator auch nicht dafür geeignet!?
Gruß
Rene
Nein, Du machst einen Fehler! In Oninit das Handle holen und in OnTick() mit CopyBuffer die Werte (so wie dort im Beispiel!), die dann vom Array ausgelesen werden können.
Der Gang über die grafischen Elemente ist der denkbar schlechteste Weg!!!
Hallo!
Das mache ich ja so!
Mein Code:
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---
handle_ce=iCustom(_Symbol,Period(),"ChandelierExitArrows",inp_atr_period,inp_atr_multiplier,inp_use_close);
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
datetime time_0=iTime(m_symbol.Name(),Period(),0);
ArraySetAsSeries(BuySignal,true);
ArraySetAsSeries(SellSignal,true);
CopyBuffer(handle_ce,0,0,5,BuySignal);
CopyBuffer(handle_ce,1,0,5,SellSignal);
...
Die beiden Buffer bringen bei einem Print immer das gleiche aus!
BuySignal: 1.7976931348623157e+308 - SellSignal: 1.7976931348623157e+308
Gibt es noch eine andere Idee?
Danke und Gruß
Rene
Hallo!
Das mache ich ja so!
Mein Code:
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---
handle_ce=iCustom(_Symbol,Period(),"ChandelierExitArrows",inp_atr_period,inp_atr_multiplier,inp_use_close);
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
datetime time_0=iTime(m_symbol.Name(),Period(),0);
ArraySetAsSeries(BuySignal,true);
ArraySetAsSeries(SellSignal,true);
CopyBuffer(handle_ce,0,0,5,BuySignal);
CopyBuffer(handle_ce,1,0,5,SellSignal);
...
Die beiden Buffer bringen bei einem Print immer das gleiche aus!
BuySignal: 1.7976931348623157e+308 - SellSignal: 1.7976931348623157e+308
Gibt es noch eine andere Idee?
Danke und Gruß
Rene
Bitte code anfügen mit dem code button,
sieh dir nochmal das beispiel an von iCustom, du musst dem indi schon auch den arraysetasseries mitgeben und das nicht in der ontick
ausserdem usst du dir klar sein, was du auslesen willst. Wenn der pfeile einzeichnet wird er wohl nicht immer einen wert haben
Hallo!
Die beiden Buffer bringen bei einem Print immer das gleiche aus!
BuySignal: 1.7976931348623157e+308 - SellSignal: 1.7976931348623157e+308
Gibt es noch eine andere Idee?
Danke und Gruß
Rene
BuySignal: 1.7976931348623157e+308 - SellSignal: 1.7976931348623157e+308
Sind Werte für das Maximum des Zahlentyps double, die dann auf dem Chart nicht eingezeichnet werden und das bedeutet, der dieser Indikator kein Signal zu senden hat.
Hallo!
Danke für Eure Kommentare!
Habe jetzt mal verwertbare Signale bekommen. Nun habe ich das Problem, dass ich mehr Signale bekomme, als z.B. grafisch (wie hier mit einem Pfeil) bekomme und somit nicht den eigentlichen Entry feststellen kann.
Gibt es irgendeine Möglichkeit, den grafischen Output von diesem Indikator abzufangen und mit den Signalen, die ich jetzt bekomme abzugleichen!?
Danke für Eure Mühe!
Gruß
Rene
Die Puffer-Werte entsprechen den grafischen Objekten!
Was einst Du mit ", dass ich mehr Signale bekomme, als z.B. grafisch (wie hier mit einem Pfeil) bekomme "?
Kannst das dokumentieren?
Die Puffer-Werte entsprechen den grafischen Objekten!
Was einst Du mit ", dass ich mehr Signale bekomme, als z.B. grafisch (wie hier mit einem Pfeil) bekomme "?
Kannst das dokumentieren?
Ich versuche es!
Ich bekomme Werte (kein EMPTY_VALUE), vom aktuellen Kurs in den entsprechenden SellBuffer oder BuyBuffer, aber der grafische Pfeil wird in dem Augenblick nicht dargestellt.
Das ist meine Abfrage ob es != EMPTY_VALUE Werte gibt:
if(BuySignal[0] != 0.0 && BuySignal[0] != EMPTY_VALUE)
{
Print("CE: Buy: "+BuySignal[0]);
}
if(SellSignal[0] != 0.0 && SellSignal[0] != EMPTY_VALUE)
{
Print("CE: Sell: "+SellSignal[0]);
}
Und da bekomme ich z.B. einen Wert um 16:59 Uhr von 15708.52 in den SellBuffer, aber es wird kein Pfeil nach unten angezeigt.
Ich kann also nicht eindeutig feststellen, ob das Signal jetzt nutzbar ist oder nicht.
Ich hoffe es einigermaßen verständlich erklärt zu haben.
Vielen Dank für die Mühe!
Gruß
Rene
- 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.
Hallo!
Ich habe einen Indikator der im Chart Pfeile zeichnet als Buy oder Sell Signal. Diese möchte gerne in einem EA nutzen. Leider habe ich es trotz einiger Recherche nicht hinbekommen.
Ich habe mal den Indikator angehangen! Es ist ein Indikator für MT5.
Ich hoffe, hier kann mir jemand helfen!?
Vielen Dank!
Gruß
Rene