JSParticipant
Senior
Eine exakte Anzahl an Tagen zu bestimmen ist schwierig, weil du entweder mit Handelstagen samt bestimmten Handelszeiten arbeitest oder mit Kalendertagen…
Außerdem musst du (nationale) Feiertage usw. berücksichtigen…?
Wenn du wirklich an einem bestimmten Datum enden willst, ist es besser, mit festen Tagen und Zeiten für den Ausstieg zu arbeiten – genauso wie du es beim Einstieg machst…
(Ich habe IG gesagt, meinte aber IB …)
Ok, dann wäre es besser das System auf Tagespreis laufen zu lassen und nach 100 Tagen raus zu gehen. Also barindex – tradeibdex = 100 then
Sofern die trades auch einzeln beendet werden und nicht zusammen wie im ersten Beitrag beschrieben, wäre mir das lieber
JSParticipant
Senior
Ja, das ist möglich, allerdings kannst du bei Verwendung eines Tages-Timeframes (erneut) keine Zeiten verwenden…
Hallo,
ok dann müsste man dem Code von IVAN nur noch hinzufügen, das wenn ein Datum nicht eröffnet werden kann, weil es auf einen Samstag, Sonntag oder feiertag fällt, dann soll jeweils der nächste oder übernächste Tag der Trade eingegangen werden.
DEFPARAM CumulateOrders = TRUE
$moDate[0] = 20250519
$moDate[1] = 20250521
$moDate[2] = 20250523
FOR i = 0 TO 2 DO
IF Date = $moDate[i] THEN
BUY 1 CONTRACT AT MARKET
$moDateidx[i] = BarIndex + 1
ENDIF
NEXT
IF LongOnMarket THEN
FOR j = 0 TO 2 DO
IF $moDateidx[j] > 0 THEN
IF BarIndex - $moDateidx[j] = 100 THEN
SELL 1 CONTRACT AT MARKET
$moDateidx[j] = 0
ENDIF
ENDIF
NEXT
ENDIF
Obwohl im Code von Ivan der 19.05.2025 enthalten ist, wird dort kein Trade eröffnet, warum ist das so?
JSParticipant
Senior
Das liegt daran, dass die Daten in ProOrder/ProBackTest falsch sind…
JSParticipant
Senior
Im Bild ist das Datum der Kerze Montag, der 19. Mai 2025, aber laut den Daten in ProOrder/ProBackTest ist day=20 (müsste 19 sein)…
DayOfWeek=2, obwohl 2 Dienstag ist und 1=Montag…
Date=20250520 (müsste also 20250519 sein).
Diese Werte werden in ProOrder/ProBackTest also falsch berechnet; es liegt daher nicht am Code, sondern an den Daten…
@
axmichi
Ich habe deinen Beitrag
https://www.prorealcode.com/topic/kein-trade-oeffnet-am-montag/ gelöscht.
Duplizieren Sie keine Nachrichten. Stellen Sie Ihre Frage einmal und in einem Forum. Doppelte Nachrichten werden ohnehin gelöscht. Wenn Sie also dieselbe Frage mehrmals posten, verschwenden Sie Ihre Zeit und werden nicht schneller beantwortet. Das doppelte Posten schafft nur Verwirrung in den Foren.
Danke 🙂
Am 19. Mai 2025 wird regulär ein Handelsplatz eröffnet, wie Sie dem Foto aus dem DAX Daily entnehmen können. An diesem Tag ist die vertikale Cursorlinie zu sehen.
Haben Sie diesen Code verwendet?
DEFPARAM CumulateOrders = TRUE
// dates to enter (format: yyyymmdd)
$moDate[1] = 20250512
$moDate[2] = 20250521
$moDate[3] = 20250523
EntryDate = 0
FOR i = 1 TO 3
IF Date = $moDate[i] THEN
EntryDate = Date
break
ENDIF
NEXT
//
IF Date = EntryDate THEN
buy 1 CONTRACT AT MARKET
EntryDate = 0
ENDIF
IF longonmarket and barindex - Tradeindex = 100 Then
sell AT MARKET
ENDIF
Bei mir werden nur 2 Trades gekauft?
Hallo Roberto, in Ihrem Bild ist zu sehen, dass der Trade nicht am 19.05. sondern am 19.06. (Juni) eröfnet!?
Bitte konnen wir folgendes versuchen.
Verwenden Sie bitte diesen Code mit nur 10 Tage Dauer bis zum ausstieg (barindex – Tradeindex = 10), damit wir alle Ein und Ausstiege auf unser Foto bekommen.
Nehmen Sie bitte diesen folgenden Code und verwenden Ihn im Chart des DAX40 Performance Index
Im Foto sehen Sie wie die Trades bei mir aussehen
DEFPARAM CumulateOrders = TRUE
// dates to enter (format: yyyymmdd)
$moDate[1] = 20250519
$moDate[2] = 20250521
$moDate[3] = 20250523
EntryDate = 0
FOR i = 1 TO 3
IF Date = $moDate[i] THEN
EntryDate = Date
break
ENDIF
NEXT
//
IF Date = EntryDate THEN
buy 1 CONTRACT AT MARKET
EntryDate = 0
ENDIF
IF longonmarket and barindex - Tradeindex = 10 Then
sell AT MARKET
ENDIF
JSParticipant
Senior
Warum fängst du wieder von vorne an?
Ich habe dir doch erklärt, was los ist …?
Hi hast Du Robertos Chart gesehen, warum steigt das system bei Ihm auf dem Montag ein und bei uns nicht??