Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools

Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools (http://www.expert-advisor.com/forum/index.php)
-   Allgemeine Fragen (http://www.expert-advisor.com/forum/forumdisplay.php?f=103)
-   -   unveränderbarer Stop Loss (http://www.expert-advisor.com/forum/showthread.php?t=6504)

Lukas Brost 25.09.19 08:31

unveränderbarer Stop Loss
 
Guten Morgen,

ich bin neu hier und habe eine Frage, zu der ich im Forum nichts finden konnte.

Gibt es im MT4 die Möglichkeit einen StopLoss zu setzen, der, einmal gesetzt, nicht mehr veränderbar oder löschbar ist?

Hin und wieder werde ich Opfer meiner selbst :(

Besten Dank im Voraus.

Lukas

traderdoc 25.09.19 10:22

Ich gehe mal davon aus, dass der SL mit der Orderöffnung gesendet wurde.
Und dann wird er halt einfach nicht mehr angefasst.

traderdoc

AVT 25.09.19 11:27

Zitat:

Zitat von Lukas Brost (Beitrag 42869)
Gibt es im MT4 die Möglichkeit einen StopLoss zu setzen, der, einmal gesetzt, nicht mehr veränderbar oder löschbar ist?
Hin und wieder werde ich Opfer meiner selbst :(

Ich habe so was ähnliches für meinen Trademanager geschrieben, das sollte auch mit dem SL klappen. Du brauchst einen Überwachungs EA (bei mir läuft das OnTimer mit einer Frequenz von 250ms), Wegbeschreibung:

Wenn Du die Order über einen EA aufgibst:
1. im OrderComment den SL speichern
2. mit StringSubstr den SL auslesen und zur NormalizeDouble umwandeln
3. wenn Ergebnis nicht OrderStopLoss mit OrderModify auf Wert setzen

Wenn Du die Order händisch aufgibst:
0. geht am besten mit Arrays, Größe ist Anzahl der laufenden Orders
1. Array füllen mit TicketNr+SL
2. Wenn Anzahl der laufenden Orders anders als Arraygröße
-. wenn größer: Ticketnummer und SL-Wert der letzten Order zufügen
-. wenn kleiner: entfernen
-. wenn gleich: vergleiche ob TicketNo und SL dasselbe ist wie das der Order

Das wäre grob mein Weg. AVT

traderdoc 25.09.19 12:23

@AVT, ist das Dein Ernst?

Ich formuliere es mal ganz schnell auf den Punkt:
Wer beim Traden nicht die erforderliche Disziplin
aufbringt, sollte solange nicht mit dem Konto live
gehen, bis die zu 100% vorhanden ist oder man
lässt die Finger ganz davon, sonst gibt es unweigerlich
schmerzhafte Verluste.

Mehr, ist dazu nicht zu schreiben.

traderdoc

Lukas Brost 25.09.19 12:53

Vielen Dank für die schnellen Antworten.

@ AVT: Das klingt doch schon ganz nach dem was ich meinte. Ich bin leider kein Könner in Sachen EA und MQL. Wenn ich es richtig verstehe, würden die beiden Lösungen ständig den Wert des S/L prüfen um im Falle einer Abweichung von dem Sollwert diesen wieder einstellen?

Das würde aber doch bedeuten, dass ich im Fall der Fälle, einfach den Überwachungs EA stoppen müsste um den S/L dann doch ändern zu können?

Lukas

AVT 25.09.19 13:55

Zitat:

Zitat von traderdoc (Beitrag 42872)
@AVT, ist das Dein Ernst?

Ja, das war mein Ernst. Lukas suchte nach einer technischen Lösung gegen sich selbst, die habe ich ihm gezeigt, mehr nicht - es war nicht meine Absicht, die Suche nach solch einer Lösung zu beurteilen.

Zitat:

Zitat von Lukas Brost (Beitrag 42873)
Das würde aber doch bedeuten, dass ich im Fall der Fälle, einfach den Überwachungs EA stoppen müsste um den S/L dann doch ändern zu können?

Korrekt, aber in dem Falle muß ich traderdoc Recht geben: wenn Du Deine Energie darauf verschwendest wie Du Dich selbst betrügen kannst, ist das der falsch Weg zu traden. SL ist SL (und ein Reißen muß man aushalten können); verwende Deine Energie lieber darauf zu analysieren, warum Du ihn dort gesetzt hast und jetzt plötzlich anderer Meinung bist.

AVT

ixbone 25.09.19 14:58

Zitat:

Zitat von AVT (Beitrag 42871)
Ich habe so was ähnliches für meinen Trademanager geschrieben, das sollte auch mit dem SL klappen. Du brauchst einen Überwachungs EA (bei mir läuft das OnTimer mit einer Frequenz von 250ms), Wegbeschreibung:

Wenn Du die Order über einen EA aufgibst:
1. im OrderComment den SL speichern
2. mit StringSubstr den SL auslesen und zur NormalizeDouble umwandeln
3. wenn Ergebnis nicht OrderStopLoss mit OrderModify auf Wert setzen

Wenn Du die Order händisch aufgibst:
0. geht am besten mit Arrays, Größe ist Anzahl der laufenden Orders
1. Array füllen mit TicketNr+SL
2. Wenn Anzahl der laufenden Orders anders als Arraygröße
-. wenn größer: Ticketnummer und SL-Wert der letzten Order zufügen
-. wenn kleiner: entfernen
-. wenn gleich: vergleiche ob TicketNo und SL dasselbe ist wie das der Order

Das wäre grob mein Weg. AVT

Ich bin echt überrascht was so an "umständlicher" Kreativität möglich ist!
Arrays für einen SL?

Einfach den OrderOpenPrice der Order abfragen und dann den SL abfragen+vergleichen, mal davon abgesehen das der SL sowieso beim Broker "festsitzt".

Sollte der Preis komplett wegrutschen = OffQuotes hilft kein SL dieser Welt, egal wie er technisch umgesetzt werde.

Wenn es darum geht sich selbst zu sperren dann einfach via Script die Maus im Chart sperren, dann funktionieren noch die Menüs. Aber Beherrschung ist eine Grundvoraussetzung im Endlos Marathon Forex!

Die eleganteste Lösung ist ein dreifach TP/SL:
1x via Funktion 20 (Kombi TP+SL)
1x fix, z.B. 20+2 via OrderModify (Kombi TP+SL)
1x via TS Funktion 25 und OrderModify (Kombi TP+SL)
Egal was passiert, einer von den 3 zieht immer, ausser der Markt ist OffQuotes!
Den TP hat man damit auch gleich programmiert.

AVT 25.09.19 16:52

Zitat:

Zitat von ixbone (Beitrag 42875)
Einfach den OrderOpenPrice der Order abfragen und dann den SL abfragen+vergleichen, mal davon abgesehen das der SL sowieso beim Broker "festsitzt"..

Der SL "sitzt nur dann beim Broker fest", wenn es kein HiddenSL ist, und fest ist er nur da wo Du ihn hinsetzt (und wenn Du ihn veränderst, dann ist der auch beim Broker verändert).

Ok, Beispiel:
1. Originalorder Long: Entry 1500.00 Stop 1400.00 Profit 1700.00
2. Manuelle Änderung: Entry 1500.00 Stop 1300.00 Profit 1700.00
3. Vergleich OrderOpenPrice()=1500.00 OrderStopLoss()=1300.00
Wie weißt Du jetzt, daß der OriginalStop bei 1400.00 war und daß er von Hand geändert wurde?

Zitat:

Zitat von ixbone (Beitrag 42875)
Die eleganteste Lösung ist ein dreifach TP/SL:
1x via Funktion 20 (Kombi TP+SL)
1x fix, z.B. 20+2 via OrderModify (Kombi TP+SL)
1x via TS Funktion 25 und OrderModify (Kombi TP+SL)
Egal was passiert, einer von den 3 zieht immer, ausser der Markt ist OffQuotes!
Den TP hat man damit auch gleich programmiert.

0. Wo(mit) ist denn ein dreifach TP/SL?
1. Was ist Funktion 20? Was ist Funktion 25?
2. Was soll eine TS (ich vermute TrailingStop) hier?
3. Was hat der TP mit Stopveränderungen zu tun?

Ich verstehe einfach nicht so ganz was Du da beschreibst, wäre nett, wenn Du das erläutern könntest. AVT

ixbone 25.09.19 19:10

Der Ersteller schreibt klar und deutlich "einmal gesetzt und nicht veränderbar"!
Also ist weder "hidden" noch von 1500 auf 1400 (1x ändern) auf 1300 ein Thema, wobei nach der ersten Änderung von 1400 auf 1300 im Trading die 1400 sowieso keine Rolle mehr spielt, da die 1300 die maßgebliche Zahl ist! Die 1400 ist damit nutzlos geworden und verbraucht maximal Speicher, der EA fängt nach der Änderung mit der alten Zahl nichts mehr an! Sollte der Mensch die 1400 noch brauchen, läuft da grundsätzlich was falsch.

Fazit:
Somit wird der SL im Ordersend oder nachher via OrderModify vom Threadersteller 1x gesetzt, das ist Geschmacksache und nicht mehr verändert, somit bleibt dann nur mehr die Frage wie er a) sicherstellt das der SL funktioniert und b) seine Disziplin in den Griff bekommt. Mit einem 3fach SL hat er das Vertrauen das seine Order geschlossen wird, sollte der Broker das Virtual Dealer Plugin zum Einsatz bringen, oder der Markt wegbricht und b) mittels Maussperre im Chart verhindert wird das er den SL im Chart verschieben kann.

Statt dem 3-fach SL, kann man auch einen 1-fach SL mit Schleifen und Flags verwenden, aber das hat den Nachteil das der EA solange in der Schleife "hängt" bis die Order wirklich zu (SL oder TP) ist! Bei einem 3-fach SL kann man diese Aufgaben staffeln und der EA kann dazwischen andere Aufgaben erledigen.
Aber da sind wir schon beim "Advanced Coding".

Und wenn man schon am SL codiert, kann man das sinnvollerweise auch gleich für den TP tun, welche Vorgaben der auch immer haben möge.
Warum etwas 2x coden, ausser es gibt eindeutige strategische Vorgaben, was ich hier nicht herauslesen konnte.

Ein TrailingStop ist ein Stop der sich nach Vorgaben ändert, ein TailingProfit ist ein TakeProfit der sich nach Vorgaben ändert.
Wichtig! Auch ein Trailing* kann auch nur einmal aktiv werden, oder mehrmals je nach Vorgabe!

AVT 25.09.19 22:30

Zitat:

Zitat von ixbone (Beitrag 42877)
Der Ersteller schreibt klar und deutlich "einmal gesetzt und nicht veränderbar"!

Ich hatte das (Hin und wieder werde ich Opfer meinerselbst) so verstanden, daß der SL zwar einmal gesetzt wird (und da eigentlich auch bleiben sollte), aber dann das passiert, was man öfter mal hat, wenn man undiszipliniert ist: man sieht wie sich der Kurs immer mehr dem SL nähert und aus Angst, daß man er gerissen wird, zieht man den SL doch weiter weg als ursprünglich geplant (so nach dem Motto, wenn ich nur den SL etwas größer mache, wird er nicht gerissen - wird er dann doch, aber das steht auf einem anderen Blatt).
Zitat:

Zitat von ixbone (Beitrag 42877)
Also ist weder "hidden" (korrekt! ) noch von 1500 auf 1400 (1x ändern) auf 1300 ein Thema, wobei nach der ersten Änderung von 1400 auf 1300 im Trading die 1400 sowieso keine Rolle mehr spielt, da die 1300 die maßgebliche Zahl ist! Die 1400 ist damit nutzlos geworden und verbraucht maximal Speicher, der EA fängt nach der Änderung mit der alten Zahl nichts mehr an! Sollte der Mensch die 1400 noch brauchen, läuft da grundsätzlich was falsch.!

Das war genau das Beispiel von oben, ursprünglich war der SL ja nicht so groß. Was kann ich also tun, wenn mich mal wieder der Teufel reitet und ich aus dämlichen Psycho-Gründen meinen alten SL vergrößere? Und da hat traderdoc recht, wenn er sagt in erster Linie ist das eine Disziplinsache und keine Programmiersache. Von der Programmierung geht das nur, wenn man sich merkt wo der ursprüngliche SL war und ihn einfach wieder dahin zurücksetzt (so nach dem Motto, der war da und da bleibt er auch basta).
Zitat:

Zitat von ixbone (Beitrag 42877)
... mittels Maussperre im Chart verhindert wird das er den SL im Chart verschieben kann.

Autsch, das ist hart, aber super - gefällt mir die Idee :D

Zitat:

Zitat von ixbone (Beitrag 42877)
... die Frage wie er a) sicherstellt das der SL funktioniert ... . Mit einem 3fach SL hat er das Vertrauen das seine Order geschlossen wird, sollte der Broker das Virtual Dealer Plugin zum Einsatz bringen, oder der Markt wegbricht ...
Statt dem 3-fach SL, kann man auch einen 1-fach SL mit Schleifen und Flags verwenden, aber das hat den Nachteil das der EA solange in der Schleife "hängt" bis die Order wirklich zu (SL oder TP) ist! Bei einem 3-fach SL kann man diese Aufgaben staffeln und der EA kann dazwischen andere Aufgaben erledigen.

Laß' mich bitte noch mal auf Deinen 3fach SL kommen.
Verstehe ich Dich da richtig, wenn ich es grob so programmieren würde:
1. in FuncClose(): if PriceHitsSL OrderClose; FuncClose2();
2. in FuncClose2(): if Price+20HitsSL OrderClose; FuncClose3();
3. in FuncClose3(): if Price+i*30HistSL OrderClose;
Ich höre davon zum ersten Mal, finde das aber gut und würde es gerne verstehen.
Danke. AVT


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:28 Uhr.

Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.1
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum