Inhalte aufrufen

  • Über WindowsLive anmelden Log In with Google Anmelden
  • Mitglied werden
Profilbild

Stop Buy bzw. "einstoppen" lassen

- - - - -

  • Du kannst leider keine neuen Themen eröffnen
  • Please log in to reply
23 Antworten zu diesem Thema

  #1
OFFLINE   Spekulatsius

Moin moin zusammen,

 

ich hoffe, ihr könnt mir bei einer aktuell vorhandenen Problematik helfen:

 

Sofern ein Handelssignal vorliegt wird gegenwärtig die Order sofort an den Markt gegeben und ausgeführt - soweit so gut. 

 

Gerne würde ich aber eine Limit Order platzieren, die als Limit den Schlusskurs der vorherigen Kerze hinterlegt. Sobald dieser Kurs erreicht wird, soll die Order "scharf geschaltet werden" und in einer Ausführung enden.

 

Ich weiß leider gegenwärtig nicht, wie ich ein solchen Trigger einbauen kann.

 

Besteht die Möglichkeit im Rahmen des OrderSend anstatt bspw. ASK für eine Kauforder quasi "ASK vorherige Kerze" definieren? Mag mich jemand dabei unterstützen? Welchen Parameter muss ich hierfür nutzen?

 

Vielen lieben Dank für eure Hilfe :)

 

Beste Grüße,

Speku

 

 



  #2
OFFLINE   traderdoc

Wenn der Closekurs der letzten Kerze bei Signalgabe

1. kleiner ist als der aktuelle Bid-Kurs, dann kann keine SellLimitOrder gesetzt werden

2. größer ist als der aktuelle Ask-Kurs, dann kann keine BuyLimitOrder gesetzt werden.

 

Wie soll das o.g. Szenarium verhindert werden?

 

traderdoc


Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierwünsche.

  #3
OFFLINE   Spekulatsius

Guten Abend traderdoc,

 

zum einen erst einmal besten Dank für deine prompte Antwort/Reaktion :)

 

Das Handelssignal als solches muss ja zunächst generiert werden, dies schließt per se die beiden von dir genannten Dinge aus. Ich arbeite mit einem RSI und zwei MA

 

Vielleicht habe ich das eben zu unpräzise formuliert - in diesem Fall: Entschuldige, bitte.

 

Ich versuche es anders:

 

Angenommen der EUR/USD steht bei 1.15000, es wird ein Longsignal getriggert, dann soll das Limit den Schlusskurs der vorherigen Kerze annehmen. Bspw. 1.15100. Dann möchte ich, dass die Order erst zu diesem Preis ausgeführt wird. Andersherum bei einer Short Order. Da liegt das Limit entsprechend unter dem BID. Es soll einzig und allein dazu dienen ein zu frühes Entry zu vermeiden :)

 

Ich hatte mir in der Zwischenzeit mal die letzten Charthistorien angesehen. Dort wäre ich nicht in die von dir genannte Verlegenheit gekommen - RSI sei Dank. Dort kann m.E. auch durch den Indikator die Situation gar nicht eintreffen. Zumindest wüsste ich keine Konstellation.

 

Meinst du, man kann das irgendwie realisieren? Kannst du mir die entsprechenden Parameter sagen, ich spekuliere darauf, dass es im OrderSend deklariert werden kann...

 

Angenommen es kommt zu einer Fehlermeldung bzw. tatsächlich zu der von dir benannten Situation (ich weiß aktuell zwar nicht wie, aber nichts ist unmöglich...Toyota), so würde das System derzeit 10 Mal versuchen die Order an den Markt zu kriegen und wenn das nicht geht, würde nichts Weiteres passieren.

 

Mal was ganz anderes: Kann man sich auf der Seite hier gar nicht per Handy einloggen? Jedes Mal, wenn ich versuche mich über Safari am Handy einzuloggen, passiert nichts... Ich muss immer wieder mein Laptop anwerfen...

 

Beste Grüße,

Speku



  #4
OFFLINE   traderdoc

Angenommen der EUR/USD steht bei 1.15000, es wird ein Longsignal getriggert, dann soll das Limit den Schlusskurs der vorherigen Kerze annehmen. Bspw. 1.15100. Dann möchte ich, dass die Order erst zu diesem Preis ausgeführt wird. Andersherum bei einer Short Order. Da liegt das Limit entsprechend unter dem BID. Es soll einzig und allein dazu dienen ein zu frühes Entry zu vermeiden :)

 

Na ja, da liegt ja schon der Hase begraben!

Wenn der Kurs bei 1.15000 steht und der Schlusskurs der letzten Kerze beträgt 1.15100, dann liegt der aktuelle Kurs tiefer als der Closekurs.

Somit würde keine BuyLimitOrder gesetzt werden können (s. mein erstes Post dazu).

 

Eine SellLimitOrder liegt immer beim Setzen über dem aktuellen Bid-Kurs.

Eine BuyLimitOrder liegt immer beim Setzen unter dem aktuellen Ask-Kurs.

 

Sollte der Broker noch ein STOPLEVEL verarbeiten, dann muss sogar der OpenKurs dieser LimitOrders um den Wert des STOPLEVELS vom aktuellen Bid- bzw. Ask-Kurs entfernt liegen.

Den Wert des STOPLEVELs kann man einfach ersehen, indem man auf F9 klickt und bei "Typ:" auf PendingOrder klickt. dann wird unten im Fenster angezeigt, wie weit die Order mindestens

vom Marktpreis entfernt liegen muss.

 

Dein o.g. Beispiel würde aber beim Setzen einer BuyStopOrder funktionieren!!

 

traderdoc


Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierwünsche.

  #5
OFFLINE   alexf82

@

Please Login or Register to see this Hidden Content

du hast hier einfach einen Denkfehler!

du willst ja beim Close der Kerze eine Limit Order auf genau diesen Closewert legen. Wie Doc schon geschrieben hat, muss hier aber ein Mindestabstand liegen.

 

oder meinst du vielleicht das High der voherigen Kerze!?



  #6
OFFLINE   €urix

Leute mit Bildern geht alles leichter :Whistle:


KLICK MICH und MICH und wenns leicht geht MICH AUCH NOCH :Whistle:


Da will man Putzen, stolpert aber so ungünstig, dass man plötzlich zugedeckt im Bett liegt. Da kann man echt nichts machen


  #7
OFFLINE   traderdoc

@

Please Login or Register to see this Hidden Content


du hast hier einfach einen Denkfehler!
du willst ja beim Close der Kerze eine Limit Order auf genau diesen Closewert legen. Wie Doc schon geschrieben hat, muss hier aber ein Mindestabstand liegen.

oder meinst du vielleicht das High der voherigen Kerze!?

Ne ne, das hast Du glaube ich falsch interpretiert. Er will nicht beim Close auf diesem Close die PO setzen, sondern bei Signalgabe auf der aktuellen Kerze oder dessen Close auf dem vorhergehenden Close eine PO platzieren.
Das funktioniert aber so wie er es beschrieben hatte, trotzdem nicht. Der Abstand bzgl. des evtl. STOPLEVEL käme denn noch ggf. dazu.

Nein, bzgl. seiner Handels-Vorstellungen setzt er einfach die falschen PendingOrders.

Noch deutlicher, als in meinen ersten Posts, kann man es nicht beschreiben. Ansonsten helfen nur noch
Die von @Eurix erwähnten Bilder.

traderdoc

Bearbeitet von traderdoc, 31 May 2018 - 07:55 Uhr,

Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierwünsche.

  #8
OFFLINE   alexf82

@Doc du hast recht., hatte ich falsch gelesen!

er schreibt nicht, dass er beim close die order setzten will .... einfach nur die art der limit/stop order ist falsch ;-)



  #9
OFFLINE   Spekulatsius

Tut mir Leid, dass ich euch noch nicht geantwortet habe. Ich habe es erst jetzt geschafft und wie von @€urix angesprochen, Bilder hoch zuladen. Und genau das was @traderdoc ansprach, ist das was ich machen möchte: Eine BuySTOP Order bzw. SellSTOP. Nur weiß ich leider nicht, wie ich das machen kann :( 

 

Das Kreuz markiert die Kerze, die der Auslöser ist und die Linie ist das generierte Limit.

 

Sollte es tatsächlich so sein, dass es ein Fehlsignal ist, wird einfach bei Trendwechsel die PendingOrder gestrichen.

 

Hilft euch das vielleicht mehr :)

 

Ich befürchte (das wäre vermutlich auch das Einfachste), dass man vorher bspw. die letzte Kerze definiert. 

Please Login or Register to see this Hidden Content

Oder denke ich zu einfach?

 

Über eure Antworten freut sich:

Speku

Dateianhang



  #10
OFFLINE   traderdoc

Also, im Prinzip funktioniert das so:

Please Login or Register to see this Hidden Content

Vor dem OrderSend müsste natürlich geprüft werden, ob bereits eine derartige PO gesetzt wurde.

Die evtl. mitgesendeten SL- und TP-Werte müssen natürlich ggf. ebenfalls den Abstand MarketInfo(Symbol(), MODE_STOPLEVEL) zum OpenPrice der PO einhalten!

 

traderdoc


Bearbeitet von traderdoc, 31 May 2018 - 20:38 Uhr,

Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierwünsche.

  #11
OFFLINE   Spekulatsius

@traderdoc,

 

besten Dank, ich versuche es mal zu implementieren :)



  #12
OFFLINE   Spekulatsius

doc, es tut mir Leid... Ich war wohl etwas zu euphorisch -.-

 

Die gute Nachricht vorweg: Der EA handelt zwar, allerdings nur noch sporadisch, obwohl eigentlich die nahezu identische Tradeanzahl wie vorher generiert werden sollte...

+/- 3-5 Trades weniger = Fehlsignale

 

Aktuell würde es eigentlich so aussehen:

Please Login or Register to see this Hidden Content



  #13
OFFLINE   Spekulatsius

war wohl leider etwas undeutlich: 

 

Anstatt ca. 30 Trades in 2 Monaten, werden nur 2 Trades generiert... Das finde ich dann doch arg merkwürdig... Habt ihr eine Idee, was mir den EA zerschießt?



  #14
OFFLINE   traderdoc

Na ja, spätestens, wenn bei

if (Close[1] - Ask > MarketInfo(Symbol(),MODE_STOPLEVEL)*Point){

der Ask-Kurs über dem Close[1] liegt

 

oder

 

if (Bid - Close[1] > MarketInfo(Symbol(),MODE_STOPLEVEL)*Point){

der Bid-Kurs unter dem Close[1] liegt

 

dann wird auch keine StopOrder gesetzt.

 

Wird denn das Signal direkt auf dem aktuellen Kurs gegeben oder erst, wenn die signalgebende Kerze geschlossen wurde?

Trifft Letzteres zu, dann muss da natürlich Close[2] stehen, denn dann wäre ja die vorletzte geschlossene Kerze gemeint.

 

 

traderdoc


Bearbeitet von traderdoc, 31 May 2018 - 20:55 Uhr,

  • Spekulatsius gefällt das
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierwünsche.

  #15
OFFLINE   Spekulatsius

zunächst mal vielen, vielen Dank @traderdoc für deine Engelsgeduld. Tatsächlich lag es an der "2". Nun werden deutlich mehr Trades generiert. Dafür greift der TrailingStop nicht mehr. Ich geh davon aus, dass jetzt eine Variable nicht mehr richtig angesteuert wird. Ich werde den Code jetzt nochmal komplett Zeile für Zeile durchscannen. Mal sehen ob ich den Fehler finde :) Ich würde dich auf dem Laufenden halten. 



  #16
OFFLINE   Spekulatsius

Es kommt wie es kommen musste, ich komme leider nicht auf den Fehler :( 

 

Obwohl ich überall im Skript, den Ordertyp auf BUYSTOP bzw. SELLSTOP gesetzt habe. Es kann doch eigentlich nicht so schwer sein -.- 

 

Eigentlich sollte der EA auch mit den "neuen Werten rechnen können". Meine Erwartungshaltung war eigentlich, dass durch die Ordermodify hinzugefügten SL/TP automatisch angepasst werden. Das hinzufügen nach einer Orderplatzierung via Ordermodify funktioniert ja...

 

Nachfolgend wäre das TSL Skript:

Please Login or Register to see this Hidden Content



  #17
OFFLINE   traderdoc

Mal davon abgesehen, dass man den Code zur besseren Übersichtlichkeit fast um die Hälfte kürzen könnte,
was geht denn nun konkret nicht. Und da der Codeschnipsel nur ein Teil des Scripts ist, was steht im Rest.
Evtl. liegt da der Fehler. Ansonsten fügst Du einfach an bestimmten Stellen ein Print() ein und schreibst irgendetwas
Spezifisches in die Klammer. So siehst Du durch die Print-Ausgaben, wann welche erscheint und ob sie überhaupt erscheint
und kannst daran leichter ablesen, wo der EA hinläuft.

traderdoc
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierwünsche.

  #18
OFFLINE   Spekulatsius

Allen erst einmal vielen herzlichen Dank für Eure Hilfe. Besonderer Dank gilt @traderdoc. Nun haut das alles hin :) Allerdings stelle ich mich vermutlich mal wieder etwas dämlich an  -.- bei dem Versuch eine noch nicht ausgeführte Stop Order zu löschen, erhalte ich stehts den Fehler "if - expressions are not allowed on a global scope". Ich habe mich daraufhin mal durch den kompletten EA gewühlt und fleißig Klammern gezählt. Ergebnis: Ohne dem nachfolgenden Code passt alles, mit ihm: nicht... Ich habe daraufhin mal nur den Codeschnipsel auf Herz und Nieren durchgecheckt, allerdings habe ich auf Teufel komm raus nicht den Fehler gefunden. Habt ihr noch eine Idee?

Please Login or Register to see this Hidden Content



  #19
OFFLINE   traderdoc

Ist diese Abfrage Teil eines Funktionskörpers, d.h. steht der Code auch wirklich zwischen den zwei { } einer Funktion?

traderdoc
  • Spekulatsius gefällt das
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierwünsche.

  #20
OFFLINE   Spekulatsius

Ja, das habe ich dann später auch rausbekommen, dass ich diese Funktion nicht innerhalb der Hauptfunktion hatte... Asche auf mein Haupt. Dämlicher Anfängerfehler... Sorry, dass ich euch damit genervt habe. Jetzt bekomme ich keine Fehlermeldung mehr. Allerdings und das wundert mich, macht dieser Codeschnipsel nicht was er soll. Erwartet hätte ich eine Orderlöschung der noch offenen StopOrder, wenn MA_lang >= MA_kurz. Im Strategietester erfolgt aber keine Löschung der Orderanlage (Pending, da noch nicht ausgeführt) bei Trendwechsel. Hab ich was übersehen? bzw. was könnte ich vergessen haben?!





Similar Topics

  Thema Eröffnet von Statistik Letzter Beitrag




0 Benutzer lesen gerade dieses Thema

0 Mitglieder, 0 Gäste, 0 anonyme Nutzer