Hallo zusammen, gibt es eine einfache Lösung das man zwei EA´s gleichzeitig laufen lassen kann ohne das sie sich die Positionen gegeneinander öffnen oder schließen.
Ja, ich habe auch schon darüber was gefunden verstehe es nur nicht bzw. bekomme es nicht hin. Bin halt Anfänger und verstehe das noch nicht alles.
Ich habe so angefangen.
#include<Trade\Trade.mqh>
#define EXPERT_MAGIC 9999
//Erstelle eine Instanz von CTrade
CTrade trade;
Dann habe ich noch die Magicnumber gesetzt
int OnInit()
{
//Vergeben die MagicNumber
trade.SetExpertMagicNumber(EXPERT_MAGIC);
return(INIT_SUCCEEDED);
}
in der OnTick
Sind alle Grunddaten
und die Kauf oder Verkauf Signale
so ungefair
if ((CheckTradingTime()==true) && PositionsTotal()<1)
if (_Symbol==Symbol())
signal="Kaufen";
if (signal =="Kaufen")
trade.Buy(Volumen,NULL,Ask,(Ask-StoppLoss*_Point),0,NULL);
im void ist dann die Position schließen drin.
Da mein EA mehrere Positionen öffnet und einzeln schließt, haut mir der EA 2 der dann MagicNumber 1111 hat, das alles durcheinander. Obwohl die Positionen verschiedene Magicnumbers haben.
Habe das schon mit der "for" Schleife probiert aber ich bin zu blöde dafür.
Kann mir da einer Helfen, bzw. vorschlagen wie ich die Abfrage da schreiben muss.
Vielen Dank vorab für eure Hilfe.
Gruß Dirk.
Ja das geht,
du musst aber bei der weiteren behandlung die magic number abfragen, sonst nimmt er immer alles durcheinander, der ea merkt sich ja nicht was von ihm kommt, das muss man bei jedem handling abfragen
Hallo,
bitte Code als Code posten mit Alt+S oder in der Editierzeile das Icon </>.
Für Anfänger empfehle ich diese wertvolle Literatur - ist ganz kostenlos:
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
https://www.mql5.com/de/articles/211 // Orders, Positions und Abschlüsse in MetaTrader 5
Außerdem: Es gibt fast nicht, was nicht schon für MQ programmiert wurde,
also vielleicht erst einmal suchen, statt es selber versuch, denn kopieren ist viel schneller als probieren.
(Oben rechts die Lupe)
Die Magic Nummer wird beim absenden eines Auftrages festgelegt und kann nicht mehr geändert werden, hier ein Beispiel: https://www.mql5.com/de/docs/trading/ordersend
Auch zu finden aus dem Editor, einfach den Kursor auf die Funktion stellen und F1 drücken.
![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__2.jpg)
- www.mql5.com
Hallo zusammen, gibt es eine einfache Lösung das man zwei EA´s gleichzeitig laufen lassen kann ohne das sie sich die Positionen gegeneinander öffnen oder schließen.
Ja, ich habe auch schon darüber was gefunden verstehe es nur nicht bzw. bekomme es nicht hin. Bin halt Anfänger und verstehe das noch nicht alles.
Ich habe so angefangen.
#include<Trade\Trade.mqh>
#define EXPERT_MAGIC 9999
//Erstelle eine Instanz von CTrade
CTrade trade;
Dann habe ich noch die Magicnumber gesetzt
int OnInit()
{
//Vergeben die MagicNumber
trade.SetExpertMagicNumber(EXPERT_MAGIC);
return(INIT_SUCCEEDED);
}
in der OnTick
Sind alle Grunddaten
und die Kauf oder Verkauf Signale
so ungefair
if ((CheckTradingTime()==true) && PositionsTotal()<1)
if (_Symbol==Symbol())
signal="Kaufen";
if (signal =="Kaufen")
trade.Buy(Volumen,NULL,Ask,(Ask-StoppLoss*_Point),0,NULL);
im void ist dann die Position schließen drin.
Da mein EA mehrere Positionen öffnet und einzeln schließt, haut mir der EA 2 der dann MagicNumber 1111 hat, das alles durcheinander. Obwohl die Positionen verschiedene Magicnumbers haben.
Habe das schon mit der "for" Schleife probiert aber ich bin zu blöde dafür.
Kann mir da einer Helfen, bzw. vorschlagen wie ich die Abfrage da schreiben muss.
Vielen Dank vorab für eure Hilfe.
Gruß Dirk.
Amando Recht, abfragen musst Du sie sowieso. Du solltest aber mal in der Doku die Funktionenliste ansehen und Dir klar machen welche was kann und wie Du sie verketten kannst um welche Position, Deal, Magic, Ticket etc. abzufragen bzw. was die Unterschiede sind.
Danke für die Antworten, werde mich wohl noch was intensiver damit beschäftigen müssen, natürlich verstehe ich als Anfänger nicht alle Funktionen daher dachte ich es gibt eine Simple Lösung. Wenn ich mir aber die Dokumentationen ansehe die das Thema beschreiben wird mir schwindelig :-).
Hallo zusammen, gibt es eine einfache Lösung das man zwei EA´s gleichzeitig laufen lassen kann ohne das sie sich die Positionen gegeneinander öffnen oder schließen.
Ja, ich habe auch schon darüber was gefunden verstehe es nur nicht bzw. bekomme es nicht hin. Bin halt Anfänger und verstehe das noch nicht alles.
Ich habe so angefangen.
#include<Trade\Trade.mqh>
#define EXPERT_MAGIC 9999
//Erstelle eine Instanz von CTrade
CTrade trade;
Dann habe ich noch die Magicnumber gesetzt
int OnInit()
{
//Vergeben die MagicNumber
trade.SetExpertMagicNumber(EXPERT_MAGIC);
return(INIT_SUCCEEDED);
}
in der OnTick
Sind alle Grunddaten
und die Kauf oder Verkauf Signale
so ungefair
if ((CheckTradingTime()==true) && PositionsTotal()<1)
if (_Symbol==Symbol())
signal="Kaufen";
if (signal =="Kaufen")
trade.Buy(Volumen,NULL,Ask,(Ask-StoppLoss*_Point),0,NULL);
im void ist dann die Position schließen drin.
Da mein EA mehrere Positionen öffnet und einzeln schließt, haut mir der EA 2 der dann MagicNumber 1111 hat, das alles durcheinander. Obwohl die Positionen verschiedene Magicnumbers haben.
Habe das schon mit der "for" Schleife probiert aber ich bin zu blöde dafür.
Kann mir da einer Helfen, bzw. vorschlagen wie ich die Abfrage da schreiben muss.
Vielen Dank vorab für eure Hilfe.
Gruß Dirk.
Hallo,
verwenden Sie in OnInit trade.SetExpertMagicNumber(Magic); Magic nicht als #define
Und die Trades als trade.Buy(lot,ASK,_Symbol,Stop,Takeprofit,ORDER_TIME_GTC,expiration);
eingeben.
input ulong Magic = 12345; // Magicnummer int OnInit() { trade.SetExpertMagicNumber(Magic); }
![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.
Hallo zusammen, gibt es eine einfache Lösung das man zwei EA´s gleichzeitig laufen lassen kann ohne das sie sich die Positionen gegeneinander öffnen oder schließen.
Ja, ich habe auch schon darüber was gefunden verstehe es nur nicht bzw. bekomme es nicht hin. Bin halt Anfänger und verstehe das noch nicht alles.
Ich habe so angefangen.
#include<Trade\Trade.mqh>
#define EXPERT_MAGIC 9999
//Erstelle eine Instanz von CTrade
CTrade trade;
Dann habe ich noch die Magicnumber gesetzt
int OnInit()
{
//Vergeben die MagicNumber
trade.SetExpertMagicNumber(EXPERT_MAGIC);
return(INIT_SUCCEEDED);
}
in der OnTick
Sind alle Grunddaten
und die Kauf oder Verkauf Signale
so ungefair
if ((CheckTradingTime()==true) && PositionsTotal()<1)
if (_Symbol==Symbol())
signal="Kaufen";
if (signal =="Kaufen")
trade.Buy(Volumen,NULL,Ask,(Ask-StoppLoss*_Point),0,NULL);
im void ist dann die Position schließen drin.
Da mein EA mehrere Positionen öffnet und einzeln schließt, haut mir der EA 2 der dann MagicNumber 1111 hat, das alles durcheinander. Obwohl die Positionen verschiedene Magicnumbers haben.
Habe das schon mit der "for" Schleife probiert aber ich bin zu blöde dafür.
Kann mir da einer Helfen, bzw. vorschlagen wie ich die Abfrage da schreiben muss.
Vielen Dank vorab für eure Hilfe.
Gruß Dirk.