Zum Inhalt springen
View in the app

A better way to browse. Learn more.

#T/N/X/T

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

MetaTrader MQL4 Programmierung

Geschrieben

Hallo MQL4-Freunde,

 

bin neu hier und gerade in die MQL4 Programmierung eingestiegen und hoffe, meine Frage ist hier am richtigen Platz!

 

Frage: Wenn ich in einem Expertscript eine Order geöffnet habe, möchte ich je nach Marktsituation zu einem späteren Zeitpunkt die TakeProfits oder die StopLoss verändern. Wenn ich nun aber mit ticket=OrderSend(... die Order geöffnet habe und auch die Ticketnummer habe brauche ich die Ticketnummer ja eventuel erst einige Perioden später wieder zum Ändern der Order. Da aber das Skipt zum Zeitpunkt der Ordererstellung abgelaufen war, habe ich ja die Ticketnummer nicht mehr, wie kann ich nun genau diese Order wieder aufrufen, denn meine Ticketnummer ist ja nicht mehr da, oder wie kann ich diese irgendwo zwischenspeichern?

Oder habe ich hier den kompletten Denkfehler drinnen?

 

Bin nicht neu in der Programmierung, verfüge bereits ausreichend über Erfahrung mit anderen Programmiersprachen, nur so als Hinweis, also Grundlagen sind hinreichend bekannt.

 

Vielen dank für Hilfe...

Featured Replies

Geschrieben

Nachdem wir bereits einen regen Schriftverkehr per PM hatten, möchte ich die offizielle Begrüßung gallery_446_9_75.gifim Namen der Crew hinterherschicken.

 

Also dann, Herzlich Willkommen bei tom-next.com! :devil:

 

 

 

Und im Anschluss folgt auch gleich die Entschuldigung :boxing: wegen der offensichtlich fehlenden Userrechte, um in einem der MT Foren posten zu können. Hierzu stellt unser Admin gerade entsprechende Nachforschungen an und sobald wir wissen, woran es liegt, wird das gefixt.

Geschrieben
wegen der offensichtlich fehlenden Userrechte, um in einem der MT Foren posten zu können. Hierzu stellt unser Admin gerade entsprechende Nachforschungen an und sobald wir wissen, woran es liegt, wird das gefixt.

 

 

Permission:

 

Min. number posts required to enter the forum: 1

 

Es fehlte also nur an dem einen Posting ;-).

Ich schiebe den Beitrag jetzt in's LAB in der Hoffnung, dass FinGer heute vorbeischaut und dir die entsprechende Hilfe anbieten kann.

Geschrieben
Hallo MQL4-Freunde,

 

bin neu hier und gerade in die MQL4 Programmierung eingestiegen und hoffe, meine Frage ist hier am richtigen Platz!

 

Frage: Wenn ich in einem Expertscript eine Order geöffnet habe, möchte ich je nach Marktsituation zu einem späteren Zeitpunkt die TakeProfits oder die StopLoss verändern. Wenn ich nun aber mit ticket=OrderSend(... die Order geöffnet habe und auch die Ticketnummer habe brauche ich die Ticketnummer ja eventuel erst einige Perioden später wieder zum Ändern der Order. Da aber das Skipt zum Zeitpunkt der Ordererstellung abgelaufen war, habe ich ja die Ticketnummer nicht mehr, wie kann ich nun genau diese Order wieder aufrufen, denn meine Ticketnummer ist ja nicht mehr da, oder wie kann ich diese irgendwo zwischenspeichern?

Oder habe ich hier den kompletten Denkfehler drinnen?

 

Bin nicht neu in der Programmierung, verfüge bereits ausreichend über Erfahrung mit anderen Programmiersprachen, nur so als Hinweis, also Grundlagen sind hinreichend bekannt.

 

Vielen dank für Hilfe...

 

 

 

Hallo,

 

wenn du Trades automatsich öffnen lässt mit deinem Expertscript hast du die Möglichkeit diese Trades mit einer Nummer(ID) zu versehen. (auch Magic genannt)

 

dadurch findest du deine Trades wieder

 

man sagt pro Expert Advisor eine Nummer(MAGIC) für jede Order

 

du Filters also dein Trades raus

durch die MAGIC(ID Nummer) , Symbol, Kommentare

 

 

wenn du mir dein code zeigst kann ich dir das anpassen

 

Alex

Geschrieben
  • Autor

Danke für die Antwort!

 

habe glaube schon eine Lösung gefunden mit folgendem Ansatz: ich springe immer wieder in die int() Funktion zurück, dadurch wird das Script nicht beendet und die Ticketnummer bleibt erhalten. die habe ich mit ticket=OrderSend(...) erstellt. Beim Erneuten durchlauf kann ich dann immer wieder den aktuellen Kurs abfragen und dann irgendwann die Order mit OrderModify ändern. Das scheint so zu funktionieren.

Geschrieben

die Init Funktion wird 1x beim reinladen durchlaufen

die start Funktion bei jedem Tick

 

für das was du vor hast würde ich einen Expert erstellen kein Script

da dieser nicht beendet wird.

 

warum willst du unbendingt einen Script?

Geschrieben
  • Autor

oh sorry, mit Skript meinte ich natürlich ein Expert. Benutze leider den Begriff Skript allzusehr als den Begriff für ein Programm im Allgemeinen. Aber du hast Recht, bei MQL4 wird natürlich nochmal zwischen Expert-, Indikatoren- und Script-Skripten unterschieden.

 

Nochmal zu meiner Frage: ist es grundsätzlich der gängige Weg im Skript zu verbleiben, bis die Bedingung erfüllt ist, oder sollte man lieber das Expert beenden, um dann später die Order wieder "anzufassen"?

Gruß Gert

Geschrieben
  • Autor

Noch eine weitere Frage: ich lege in eine Variable double summe; die Kurse der letzten 20 Perioden (Kurs etwa 1.4200). Das Ergebnis in summe müßte demnach 20x1.42=28.4 sein. Wenn ich jedoch die Variable auslese, zeigt er mir immer nur 8.4 an. Er unterdrückt also die erste Ziffer vor dem Komma. Wo liegt da der Fehler?

 

Sorry, Frage ist inzwischen erledigt. Der Denkfehler war woanders...

Bearbeitet von HilfsTrader

Geschrieben
Nochmal zu meiner Frage: ist es grundsätzlich der gängige Weg im Skript zu verbleiben, bis die Bedingung erfüllt ist, oder sollte man lieber das Expert beenden, um dann später die Order wieder "anzufassen"?

 

Ich weiss ja nicht was genau du vor hast

aber normal lässt man den Expert laufen er arbeitet nur wenn du das möchtest (deine programmierten Bedingungen)

 

du kannst den Expert auch laufen lassen und deaktivieren/aktivieren zu jeder Zeit (siehe Bild im Anhang)

 

 

Alex

capture136.gif

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

Account

Navigation

Suche

Suche

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.