* Wie stoppt man einen Limitauftrag im System Tester?
Ich programmiere ein Handelssystem der auf Retracements beruht (1-Minuten Chart).
Nach einer Trendumkehr soll der Auftrag zu einem bestimmten Preislimit ausgelöst werden. Wird das Limit erfüllt, arbeitet das System einwandfrei. Wird der Preis jedoch nicht erreicht und der Kurs dreht vorher in die falsche Richtung, bleibt der Auftrag im System und wird später ausgeführt, wenn dies nicht mehr erwünscht ist.
Wie stoppe ich also einen Limitauftrag der nicht zur Ausführung kam? Gibt es einen Weg wie man die Erinnerung an vorher gemachte Abfrage umgeht?
Ich finde im Metastock weder eine zeitliche noch preisliche Funktion, die ein Signal, das nicht zur Ausführung gelangt ist, löschen kann.
Kann man im MS einen zeitlich begrenzten Auftrag (Gültigkeit begrenzt z.B. auf 10 Minuten) programmieren?
Ed
Hallo,
nach welchem Verfahren bestimmst Du ein Retracement? Normalerweise kann man ungewünschte Handelssignale sehr einfach ausschliessen.
Einen zeitlich begrenzten Auftrag kann man dadurch definieren, dass die Zeit seit dem BuyTrigger gemessen wird und in die Limit Order als zusätzliche Bedingung einfliesst.
Hallo Metatrader!
Es geht nicht um Handelssignale, sondern um den automatischen Tester. Sobald die Kaufbedingung erfüllt wird, wird in ein Kaufauftrag erteilt. Falls es nicht innerhalb von 10 Minuten zur Ausführung kommt, muss der Kaufauftrag storniert werden. Die Stornierung könnte auch nach einer preislichen Bedingung erfolgen: 'wenn der Kurs eine bestimmte Grenze übersteigt'.
Ich habe nicht in Metastock gefunden, wie ich einen nicht erfüllten Auftrag stornieren kann.
Zum Beispiel will ich bei einem bestimmten Preis long gehen wenn vorher ein Anstieg bis zu einem gewissen Niveau stattgefunden hat und dann der Kurs auf meinen Kaufpreis fällt.
Wenn die eingegebene Limite nicht erfüllt wird, interessiert mich das Geschäft nicht mehr, ich will es stornieren, denn wenn ich es nicht tue, wird der System Tester den Auftrag nach 2 Stunden ausführen, nachdem der Kurs bereits sein Hoch überschritten hat und wieder nach unten geht. Das bringt beim Testen Verluste, die man im realen Trading nicht hätte.
Gruss
Ed
Hallo,
mal ein ganz simples (und blödes) Beispiel:
"System": Ich möchte short gehen, wenn der RSI(14) mit der 70 kreuzt, aber nur mit einem Limit Preis der über dem Close liegt, der zum Zeitpunkt des Cross herscht.
a:=Cross(RSI(14),70);
b:=ValueWhen(1,a,C);
C>b AND Alert(C>b,21)
Anmerkung: Ich habe als Periode 21 gewählt, da dies graphisch gerade gut passte.
Wenn man dies als Limit Order eingibt, ist diese Order genau 21 Bars gültig.
Ich weiß jetzt nicht, ob du so etwas gesucht hast, wenn nicht, melde Dich einfach noch einmal.
Ja, das Problem ist, dass Alert verlängert den "True Signal":
SYNTAX alert( EXPRESSION, PERIODS )
FUNCTION Extends a "true" result of EXPRESSION for the specified number of periods. This true result is held true over the number of periods specified even if a "false" result is generated.
Aber Alert holt die nicht ausgeführte Limit-Aufträge NICHT heraus.
Hier ist noch ein Auszug aus dem Log:
43312 16.08.2002 15:20 92 Considered Buy 1 Limit 930.5000 Pts Signal
43312 16.08.2002 15:20 92 Placed Buy 1 Limit Signal
43313 16.08.2002 15:21 92 Opened Buy 1 Limit Signal
43383 16.08.2002 16:31 92 Executed Buy 1 Limit 930.5000 Pts Limit 44 Signal
Hat jemand dazu eine Idee?
Gibt es ausser "Alert", das leider die Aufgabe auch nicht löst, noch eine andere Funktion die einen nicht ausgeführten Auftrag löscht?
Für jeden Hinweis bin ich dankbar.
Gruss
Ed
Hallo,
du kannst eine einmal erteilte Order nicht stornieren, der Trick besteht darin, die Kaufbedingung so intelligent zu schreiben, das es überhaupt keine Order gibt.
Du kannst alles mögliche mit bestehenden Positionen machen (externe Funktionen aus simulation), leider aber nichts mit offenen Orders. Ansonsten musst Du Dich direkt an Equis wenden, vielleicht gibt es ja eine Lösung.
Wie du in der Graphik siehst, gibt es in dem dummen Beispiel erst gar kein Signal (sprich Order), die dann auch nicht storniert werden muss.
Herzlichen Dank für die Auskunft.
Gruss
Ed