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: 4973
Beiträge: 43248
Benutzer: 7.219
Aktive Benutzer: 81
Links: 84
Wir begrüßen unseren neuesten Benutzer: Hopfen&Malz
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor einem Tag
- Hopfen&Mal...
vor 2 Tagen
- frankmicha...
vor einer Woche
- DFeck
vor einer Woche
- bb1107
vor 2 Wochen
- rg-trader

Onlineuser
'Wer ist online' anzeigen Benutzer: 0
Gäste: 529
Gesamt: 529
Team: 0
Team:  
Benutzer:  
Freunde anzeigen

Empfehlungen

Like Tree7Likes
Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 19.11.15
Premium Mitglied
 
Registriert seit: Jun 2013
Beiträge: 364
Ca$hDigger befindet sich auf einem aufstrebenden Ast
Standard Multi Orders öffnen/schließen

Hello,

da ich neuerdings multible Orders nutzen will, also mehr als eine Order zu gleichen Zeit geöffnet, stelle ich gerade meine gesamtes Ordermanagement auf den Kopf und überlege was ein stimmiges Gesamtkonzept ist und wie das die Profis angehen...?

Frage 1:
Arbeitet ihr mit der gleichen Magic bei multiblen Orders einer Strategie?

Frage 2:
Eine Strategie will mehrere Order zur selben Zeit öffnen. Nehmen wir an es kommt ein Signal und es sollen 3 Orders geöffnet werden. Wie macht ihr das im Code? Evt eine Schleife mit entsprechendem Index?

Frage 3:
Wie prüfe ich die Anzahl offener Orders?

Frage 4:
Wie schließe ich alle geöffneten Orders gleichzeitig (wie schon von Doc an anderer Stelle gehört muss dies sequentiell geschehen)? Evt Schleife?

Gruß C$D
  #2 (permalink)  
Alt 02.12.15
Premium Mitglied
 
Registriert seit: Jun 2013
Beiträge: 364
Ca$hDigger befindet sich auf einem aufstrebenden Ast
Standard

Es gibt folgende Möglichkeiten:

A: mehrere Orders werden zu unterschiedlicher Zeit geöffnet
und zu gleichen Zeit geschlossen
B: mehrere Orders werden zu gleicher Zeit geöffnet
und zu unterschiedlicher Zeit geschlossen
C: mehrere Orders werden zu unterschiedlicher Zeit geöffnet
und zu unterschiedlicher Zeit geschlossen

Interessant ist Punkt B da mt4 aus irgendwelchen Gründe ein teilweisen scale out aus einer einzigen Order beherrscht, zugleich dies beim scale in nicht möglich ist. Dadurch entstehen zwei Möglichkeiten:
1. Mehrere Orders öffnen und mehrere schließen.
2 Eine Order als Summe aller Orders öffnen und per Teilausstiege schließen.
Wenn man nun aber bedenkt, dass Punkt A und C sowieso nur mit Einzelorders funktioniert ist der erste Gedanke B genauso zu handhaben um eine einheitliche Struktur in der Logik des Codes zu bekommen. Der einzige Nachteil bei B1 ist allerdings, dass bei einer größeren Anzahl von Orders die wahrscheinlichkeit steigt Slippage zu bekommen je mehr Orders geöffnet werden da eine Schleife abgearbeitet wird. Dies hätte man bei B2 nicht.

C$D

ps: und Frage 1 von #1 würde mich aktuell noch besonders stark interessieren. Vor/Nachteil von unterschiedlichen Magics der Einzelorders einer Orderanhäufung beim Ordermanagement von MultibleOrder-Strategien...?
  #3 (permalink)  
Alt 02.12.15
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.733
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

@CashDigger, das sind aber eine Menge Fragen!
Zu #1:
1. Mit der gleichen MN bei einer! Strategie zu arbeiten, würde nur Sinn ergeben, wenn es zu jedem Handelsinstrument auch nur ein einziges Chart gibt. Denn die Orders werden auf zwei Arten hin selektiert: über Symbol() und MagicNumber.
In diesem Falle kann man eigentlich auch die MN weglassen (außer gleichzeitig läuft noch eine andere Strategie).
2. Schleife mit Index nach erfolgreicher! Öffnung und solange der nicht erreicht ist, weiter OrderSend().
3. Nach den bekannten Methoden
if (int i = OrdersTotal()-1; i >=0; i--) {
...
}
4. genau, über eine Schleifenach o.g. Art.

Zu #2:
1. ist wohl die gängigste Methode
2. ginge auch, hängt jedoch vom Ordermanagement und der Handelsstrategie ab.
Die Entscheidung kann man deshalb nicht so pauschal treffen.

traderdoc
Ca$hDigger and GoS like this.
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #4 (permalink)  
Alt 02.12.15
Premium Mitglied
 
Registriert seit: Apr 2015
Beiträge: 422
Raul0 befindet sich auf einem aufstrebenden Ast
Standard

Ich habe es so stehen, per Magic, nur eine Order pro Bar wenn Signal, und schließen, wenn gewünschter Gewinn erreicht per Schleife.

Wie gesagt, mit dem gewünschter Gewinn, ob das nun mit einer Order, oder mit 5 läuft, es bleibt das gleiche Glücksspiel.
  #5 (permalink)  
Alt 02.12.15
GoS GoS ist offline
Mitglied
 
Registriert seit: Nov 2015
Beiträge: 73
GoS befindet sich auf einem aufstrebenden Ast
Standard

Ich arbeite ohne MagicNumber, ich setze bei jeder neuen Order alles was ich zur Identifikation benötige in den OrderComment. Ich find's angenehmer damit zu arbeiten.
Außerdem versuche ich so wenige Einzelpositionen wie möglich zu öffnen; das Ordermanagement-Verfahren vom MT ist in Sachen Geschwindigkeit ein Witz; und "immer nur EINE Ausführung/Übertragung gleichzeitig" hilft beim MultiClose auch nicht besonders gut weiter ...
Optimal (für MT-Verhältnisse) ist:
- so wenige Einzelpositionen wie möglich; wenn deine Strategie 3 Pos. öffnen will, lass nur eine mit der entsprechenden Größe öffnen.
- das komplette Ordermanagement im EA sollte in den OnTimer(); dann bist du Tick-unabhängig
- ALLES muss auf korrekte Ausführung hin geprüft werden (Requotes, Slippage, Context busy usw.) und der EA sollte selbständig sofort auf Errors reagieren können.
Ca$hDigger likes this.
  #6 (permalink)  
Alt 03.12.15
Premium Mitglied
 
Registriert seit: Jun 2013
Beiträge: 364
Ca$hDigger befindet sich auf einem aufstrebenden Ast
Standard

Besten Dank euch das hat mich schon mal gut weitergebracht.

Inspiriert daraus hab ich nochmal eine Frage zur identifikation übers OrderComment. Dieser Beitrag
OrderComment max size? @ Forex Factory
besagt, dass der Comment auch überschrieben werden kann und daher nicht sicher sei. Ist die Aussage falsch (denn bei GoS scheint es zu gehen) oder liegt das individuell am Broker?

Das interessante am OrderComment finde ich die Möglichkeit bis zu 27 Stellen (ungeprüfte Info) zu nutzen statt bei der MagicNumber nur 10 Stellen. Der Grund mehr als 10 Stellen zu benutzen ist folgender:
Ich habe schon länger überlegt wie man die Orderidentifizierung komplett automatisieren kann unabhängig von der Anzahl geöffneter Charts.
Gefunden habe ich ChartID() als Mittel dazu. Dies sollte für jeden Chart egal ob gleiche Symbole etc immer eine individuelle 18-Stellige Zahl raus geben (Datentyp long). Wenn es keine 18stellige Zahl sondern 4stellig wäre könnte man auch die Magic nehmen aber es sind nunmal 18 Stellen.
Man könnte also per OrderComment den Chart indentifizieren (auf dem der EA läuft). Dies geht natürlich nur wenn man spezifisch die Orders anhand des OrderComment wirklich verlässlich schließen kann...?? Mehrere EAs auf Charts mit identischen Symbolen könnten so automatisch unabhängig funktionieren. Würde das funktionieren?

Oder gibt es ein alternativen Automatisierungsweg statt über ChartID() der mit den klassischen MagicNumbers läuft?

Gruß
GoS likes this.

Geändert von Ca$hDigger (03.12.15 um 03:01 Uhr)
  #7 (permalink)  
Alt 03.12.15
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.733
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Ich kann diesen ganzen Aufwand nicht rational nachvollziehen. Jeder EA vergibt auf jedem Chart eine individuelle MN - fertig! Und da die Selektion über Den Handelsinstrumentnamen und! die MN geht ist die Eineindeutigkeit gewährt.

Der Text im OrderComment wird z.B. gelöscht, wenn bei einer Order ein Teilverkauf erfolgt, denn da wird nichts anderes gemacht, als die komplette!!
Order geschlossen der Teilbetrag an Lot abgezogen und die restliche Lotgröße als neue Order geöffnet mit allen Stops und zum damaligen OpenPrice, aber ohne!!! OrderComment().
So war es auf jeden Fall noch zu Zeiten von Build <600. Evtl. Hat sich da was positiv geändert.

traderdoc
Ca$hDigger and GoS like this.
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #8 (permalink)  
Alt 03.12.15
Premium Mitglied
 
Registriert seit: Jun 2013
Beiträge: 364
Ca$hDigger befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von traderdoc Beitrag anzeigen
Jeder EA vergibt auf jedem Chart eine individuelle MN - fertig! Und da die Selektion über Den Handelsinstrumentnamen und! die MN geht ist die Eineindeutigkeit gewährt.
Eine Magic-Lösung wäre natürlich auch in meinen Augen sauberer und ich bin auch kein Freund von zu komplizierten Lösungen aber das gegen-Argument wäre eben wenn zB mehrmals EURUSD geöffnet ist dann wäre nichts mehr individuell denn der EA auf dem ersten EURUSD Chart weiß ja nichts von dem zweiten EA auf einem anderen EURUSD Chart...
ChartID() ist mir bisher als das einzige Mittel bekannt dieses Problem zu umgehen aber vielleicht gibts noch was anderes? Für weitere Lösungsvorschläge wäre ich natürlich happy.

Gruß
  #9 (permalink)  
Alt 03.12.15
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.733
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

@CashDigger, wo liegt denn nur das Problemchen?
Natürlich bleibt alles individuell. Jedes!!!!! Chart bekommt eine eigene MN!
Das ist auch schon alles. Damit weiß jeder EA auf jedem Chart, welche Orders zu ihm gehören.

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #10 (permalink)  
Alt 03.12.15
Premium Mitglied
 
Registriert seit: Jun 2013
Beiträge: 364
Ca$hDigger befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von traderdoc Beitrag anzeigen
Jedes!!!!! Chart bekommt eine eigene MN!
traderdoc
Aber was definiert denn den individuellen Wert dieser MN das diese bei jedem Chart auch unterschiedlich ist? Es muss ja irgendein Value geben der diese individualität der Charts erfüllt.

Gruß
Thema geschlossen

Lesezeichen

Stichworte
mehrere order, mql4, multible orders, order, programmierung, programmierung metatrader

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 +1. Es ist jetzt 18:36 Uhr.





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