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: 4037
Beiträge: 38369
Benutzer: 6.346
Aktive Benutzer: 279
Links: 80
Wir begrüßen unseren neuesten Benutzer: sanjay_floyd
Mit 483 Benutzern waren die meisten Benutzer gleichzeitig online (21.04.16 um 17:12).
Neue Benutzer:
vor einer Stunde
- sanjay_flo...
vor 2 Tagen
- ekman
vor 2 Tagen
- SaxTrade
vor 3 Tagen
- Matthias...
vor 3 Tagen
- wren

Onlineuser
'Wer ist online' anzeigen Benutzer: 1
Gäste: 62
Gesamt: 63
Team: 0
Team:  
Benutzer:  Leopold
Freunde anzeigen

Empfehlungen

Antwort
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt vor einer Woche
Neues Mitglied
 
Registriert seit: Oct 2016
Beiträge: 14
dundale befindet sich auf einem aufstrebenden Ast
Standard Ein EA mit zwei Signalen mit jeweils eigenen Magic Numbers?

Hallo,

ich möchte in einem EA (Bsp. EURUSD) zwei Signale verwenden. Beide Signale sollen aber eine eigene Magic Number erhalten.
Die Berechnungen wie zum Beispiel: Anzahl der offenen Sell-Order, Erhöhung der LS und des Breakeven für die Buys usw. sollen jeweils durch die beiden Magic Number getrennt erfolgen.

Gedacht hatte ich folgende Struktur:

Code:
void Check_Signal_1() 
{  
//if-Statement mit der Signal-Definition
PlaceOrder(OP_BUY, "Signal 1", 111111);
}

void Check_Signal_2() 
{  
//if-Statement mit der Signal-Definition
PlaceOrder(OP_BUY, "Signal 2", 111111);
}

void PlaceOrder(int type, string MyComment, int MyMagicNumber)
{ 
   double price       = Bid,
          sl          = Bid+(SL*pips),
          tp          = Bid-(TP*pips),
          lotsize     = 0;
   
   if(type == OP_BUY)
      {
      price       = Ask;
      sl          = Ask-(SL*pips);
      tp          = Ask+(TP*pips);
      }

//Orderplatzierung
int ticket=OrderSend(Symbol(),type,lotsize,price,30,sl,tp,MyComment, MyMagicNumber,0,clrGreen);
}
(Die Lotsize kommt aus den externen Eingabevariablen und soll 0.05 betragen.)
In den Funktionen wie Anzahl der offenen Sell-Order, Erhöhung der LS und des Breakeven für die Buys werde durch die Variable MyMagicNumber in einem if-Statement die Trades selektiert.

Hier mein Problem, irgendwie klappt die Übergabe der MagicNumber nicht. Die MagicNumber wird nicht in den anderen Funktionen übertragen.

Hat jemand einen Tipp, wie ich das so lösen kann, dass beide Signale in einen EA getrennt laufen. Oder vielleicht einen ganz anderen Lösungsvorschlag?
Wäre euch sehr dankbar.

Freue mich auch eure Beträge
Tom
Mit Zitat antworten
  #2 (permalink)  
Alt vor einer Woche
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.086
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Verstehe ich nicht ganz.
Erst einmal wird z.Z. in beiden Funktionen diesselbe MagicNumber übergeben?
Und wenn in der Funktion PlaceOrder() die Berechnungen aufgrund der MagicNumber unterschiedlich sein sollen, dann wird halt einfach über

if (MyMagicNumber == 111111)

bzw.

if (MyMagicNumber == 222222)

der eine oder der andere Weg beschritten.

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
Mit Zitat antworten
  #3 (permalink)  
Alt vor einer Woche
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 679
MA-EA befindet sich auf einem aufstrebenden Ast
Standard



Soviel ich weiß, ist die MN nur dazu da, um die Order zu identifizieren. Nicht für Ein- oder Ausstiegssignale.

Oder sollen mehrere Orders gleichzeitig offen sein, die jeweils ne eigene MN haben sollen? Dann müsste man checken, ob schon Eine MN vergeben ist, und wenn ja, der nächsten Order ne andere MN mit geben.
Mit Zitat antworten
  #4 (permalink)  
Alt vor einer Woche
Premium Mitglied
 
Registriert seit: Apr 2015
Beiträge: 415
Raul0 befindet sich auf einem aufstrebenden Ast
Standard

Du kannst die MagicNummer von einer Order nur nach aufgerufener Order abfragen und selektiv verwenden.

Orderschleife mit OrderSelect und anschließend

if( OrderMagicNumber() == 111111 ) { dann gehe folgt vor .. }

oder

if( OrderMagicNumber() == 222222 ) { dann gehe so folgt vor .. }

Klaro?
__________________

Easy Trading Assistant
Mit Zitat antworten
  #5 (permalink)  
Alt vor einer Woche
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.086
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Das verstehe ich anders.
Er will doch gemäß:

Code:
void Check_Signal_1() 
{  
//if-Statement mit der Signal-Definition
PlaceOrder(OP_BUY, "Signal 1", 111111);
}

void Check_Signal_2() 
{  
//if-Statement mit der Signal-Definition
PlaceOrder(OP_BUY, "Signal 2", 111111);
}
nach abgefragter Signal-Definition entweder eine BuyOrder platzieren nach dem Signal1 oder Signal2. In der Funktion PlaceOrder() will er dann die für die Ordersetzung notwendigen Parameter anhand unterschiedlich zu setzender MagicNumbers berechnen lassen. Da war doch eigentlich von der Notwendigkeit. einer Abfrage der MagicNumber gar keine Rede.

Oder er meint was anderes, als er geschrieben hatte.

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
Mit Zitat antworten
  #6 (permalink)  
Alt vor einer Woche
Neues Mitglied
 
Registriert seit: Oct 2016
Beiträge: 14
dundale befindet sich auf einem aufstrebenden Ast
Standard

Vielen Dank für eure Beiträge. Sorry, dass ich mein Problem nicht klarer beschrieben habe.

Ich habe zwei getrennte Signale, deren getrennt angelöste Order jeweils eine eigene Magic Number haben sollen. Wenn die Signale nun weitere Order auslösen, kann man einen Breakeven-Punkte berechnen und die Anzahl der offenen Orders usw.
Wie berechne ich mit multiplen Magic Numbers in solchen Funktionen diese Werte. Also ich kann die Werte mit und ohne Magic Number schon berechnen, nur nicht mit mehren Magic Number.

Irgendwie glaubte ich, der EA könnte etwas parallel berechnen und ich glaubte man bräuchte nur eine einzige zusätzliche Zeile nach dem OrderSelect.
Aber es scheint aufwendiger zu sein.
Mit Zitat antworten
  #7 (permalink)  
Alt vor einer Woche
Premium Mitglied
 
Registriert seit: Apr 2015
Beiträge: 415
Raul0 befindet sich auf einem aufstrebenden Ast
Standard

Das ist aufwendiger, Du kannst den Code kopieren und für jede Magic einen Durchgang machen.
__________________

Easy Trading Assistant
Mit Zitat antworten
  #8 (permalink)  
Alt vor einer Woche
Mitglied
 
Registriert seit: Jun 2016
Ort: Österreich
Beiträge: 252
Leopold befindet sich auf einem aufstrebenden Ast
Standard

so wie ich das verstehe müsstest du bei der Abfrage nach OrderSelect() einfach fragen ob OrderMagicNumber() == MN1 oder OrderMagicNumber() == MN2.

Wenn du das mit Allen Orders hin bekommen hast, dann sollte das mit 2 MagicNumbers auch kein Problem sein.

---Leopold---
Mit Zitat antworten
  #9 (permalink)  
Alt vor einer Woche
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 679
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von dundale Beitrag anzeigen
Ich habe zwei getrennte Signale, deren getrennt angelöste Order jeweils eine eigene Magic Number haben sollen. Wenn die Signale nun weitere Order auslösen, kann man einen Breakeven-Punkte berechnen und die Anzahl der offenen Orders usw.
Wie berechne ich mit multiplen Magic Numbers in solchen Funktionen diese Werte. Also ich kann die Werte mit und ohne Magic Number schon berechnen, nur nicht mit mehren Magic Number.

Irgendwie glaubte ich, der EA könnte etwas parallel berechnen und ich glaubte man bräuchte nur eine einzige zusätzliche Zeile nach dem OrderSelect.
Was für Signale?

Wie soll das Ganze genau funktionieren?

Wär vielleicht einfacher, zwei MT4 Installationen mit je einem der 2 EA zu benutzen.
Mit Zitat antworten
  #10 (permalink)  
Alt vor einer Woche
Neues Mitglied
 
Registriert seit: Oct 2016
Beiträge: 14
dundale befindet sich auf einem aufstrebenden Ast
Standard

Vielleicht ist es doch einfacher, zwei getrennte Magic Number auf zwei Charts zu verwenden.

Ich danke euch für eure Beiträge.
Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
ea, magic number, signal


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 +2. Es ist jetzt 15:24 Uhr.



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