MarcParticipant
Average
Hallo Zusammen,
gerne möchte ich an diversen Tagen Long oder Short investieren und am Ende des Tages die Position glattstellen. Nun dachte ich, dass es die Möglichkeit gibt mittels ‘Day’ einfach den aktuellen Tag (als Zahl) im Programm mit dem Einstiegstag zu vergleichen…allerdings funktioniert das nicht.
Gibt es da ggf eine Krücke? Hier der Code:
HandelstagLong = 01
HandelstagShort = 07
//Long
If NOT LONGONMARKET AND HandelstagLong = Days then
BUY 1 CONTRACT AT Market
endif
//Long-Exit
If LONGONMARKET then
SELL AT MARKET NEXTBAROPEN
endif
//Short
If NOT SHORTONMARKET AND HandelstagShort = Days then
SELLSHORT 1 CONTRACT AT MARKET
endif
//Short
If SHORTONMARKET then
EXITSHORT AT MARKET NEXTBAROPEN
endif
Über Anpassungen des Einstiegs und Ausstiegs mache ich mir gerade weniger Gedanken…
Wie beretis erwähnt…der Wochentag ist mir egal, sondern es geht mir um den Kalendertag…
Sie sollten stattdessen die Anweisung “DAY” verwenden: https://www.prorealcode.com/documentation/day/
die sich auf die Tagesnummer im DD-Format beziehen.
“TAGE” bezieht sich auf die Anzahl der Tage, die seit dem Jahr 1900 vergangen sind!
MarcParticipant
Average
Hallo Nicolas,
vielen Dank für Deine schnelle Hilfe.
Nun habe ich ein Problem mit dem Code. Leider werden nur die Shortorder erfasst, aber nicht die Longorder (Code anbei) Kann es ggf mit den Wochenenden zu tun haben? Ich muss den Code noch so anpassen, dass kurz vor Handelstagesende die Orders entsprechend geschlossen werden. Ich denke hier muss ich dann im Stundenchart arbeiten um bessere Ausstiege zu erhalten.
HandelstagLong = 01 OR 02 OR 03 OR 05 OR 08 OR 11 OR 12 OR 13 OR 14 OR 15 OR 16 OR 17 OR 18 OR 22 OR 25 OR 26 OR 28 OR 29
HandelstagShort = 07 OR 09 OR 19 OR 20 OR 21 OR 23 OR 24 OR 27 OR 30
//Long
If NOT ONMARKET AND HandelstagLong = Day then
BUY 1 CONTRACT AT Market
endif
//Long-Exit
If LONGONMARKET then
SELL AT MARKET NEXTBAROPEN
endif
//Short
If NOT ONMARKET AND HandelstagShort = Day then
SELLSHORT 1 CONTRACT AT MARKET
endif
//Short
If SHORTONMARKET then
EXITSHORT AT MARKET NEXTBAROPEN
endif
Es gibt vielleicht 2 Probleme:
- Sie können OPENDAY verwenden, um den Tag des Öffnens der aktuellen Kerze zu testen. Denken Sie daran, dass der Code nur beim Schließen der Kerze gelesen wird.
- Sie testen, ob Sie nicht auf dem Markt sind, um eine Verkaufsorder zu eröffnen, aber es ist möglich, dass noch eine Kauforder vorhanden ist. Wenn Sie also nur testen möchten, ob Sie bereits eine Verkaufsorder am Markt haben, verwenden Sie stattdessen ‘NOT SHORTONMARKET’.
MarcParticipant
Average
Hallo Nicolas,
das probiere ich mal aus. Danke für die Hilfe…
MarcParticipant
Average
Hallo nochmal…also ich habe beides nun ausprobiert, aber es ändert nichts an der Darstellung, dass nur Short Trades eröffnet werden.
Wenn ich die Shortabfrage heraus nehme, dann ewrden die Longtrades dargestellt…aber auch nicht zu den richtigen Tagen…das ist sehr sehr merkwürdig