Hallo,
ist es möglich einen Einstieg 2 Tage vor den non farm payrolls (1. Freitag im Monat) zu programmieren.
Der einstieg soll am Mittwoch um 16 Uhr erfolgen und der Ausstieg am Freitag gegen 17 Uhr
Vielen Dank!!
Fertig:
DEFPARAM CumulateOrders = False
ONCE Flag = 0
IF OpenMonth <> OpenMonth[1] THEN
Flag = 0
ENDIF
IF OpenDayOfWeek = 3 AND Flag = 0 AND Time = 160000 THEN
BUY 1 CONTRACT AT MARKET
Flag = 1
ENDIF
IF OpenDayOfWeek >= 5 AND Time = 170000 THEN
SELL AT MARKET
ENDIF
Hallo und danke.
Leider stimmt es im September nicht?
Da sind die NFPs am 02.09.2022 und der trade wird erst eine woche später gemacht?
Ich habe es auf DAX getestet, 30-Minuten-Zeitrahmen, und es wurde am 7. geöffnet und am 9. geschlossen. Auf welchem Instrument und in welchem Zeitrahmen haben Sie es getestet?
auf dem s&P aber die Non Farm Payrolls sind doch im september am 02.09 2022!!
15 min Timeframe
Warum fällt Mittwoch NICHT in den September, muss am Donnerstag eintreten? Was ist, wenn Freitag Tag 1 ist?
es geht darum 3 tage vor den non farm payrolls einen trade zu machen.
wenn der freitag am 2. tag des monats ist zum beispiel am 02.09.2022 dann muss der trade am dienstag den 30.08. eröffnet werden!!
wenn der 30.08.2022 ein feiertag ist, dann wird am tag danach am Mittwoch eröffnet!
Es ist nicht sehr einfach, weil PRT es Ihnen nicht erlaubt, an Terminen zu arbeiten. Einige Berechnungen werden benötigt. Ich werde es für dich tun, sobald ich etwas Zeit habe 🙂
Vielen lieben Dank dafür!!!!
Es ist sehr komplex, die Daten zu berechnen.
Diese Version ist die einfachste, aber sie KANN NICHT den vorherigen Monat eingeben, wenn der erste Tag des Monats Donnerstag oder Freitag ist.
Wenn es VOR Donnerstag ist, kann er am Mittwoch eintreten, wenn es Donnerstag ist, tritt er am Donnerstag ein, sonst kommt er überhaupt nicht:
DEFPARAM CumulateOrders = False
ONCE Entry = 0
IF Month <> Month[1] THEN
Entry = 1
ODW = 3
IF DayOfWeek > 4 THEN
Entry = 0
ELSIF DayOfWeek = 4 THEN
ODW = 4
ENDIF
ENDIF
IF DayOfWeek = ODW AND Entry AND Time = 160000 THEN
BUY 1 CONTRACT AT MARKET
Entry = 0
ENDIF
IF OpenDayOfWeek >= 5 AND Time = 170000 THEN
SELL AT MARKET
ENDIF
Dies ist eine Version, bei der Sie zu Beginn des Jahres die 12 Daten angeben, die eingegeben werden sollen:
DEFPARAM CumulateOrders = False
// dates to enter (format: yyyymmdd)
$myDate[1] = 20220105
$myDate[2] = 20220202
$myDate[3] = 20220203
$myDate[4] = 20220330
$myDate[5] = 20220504
$myDate[6] = 20220601
$myDate[7] = 20220629
$myDate[8] = 20220803
$myDate[9] = 20220831
$myDate[10] = 20221005
$myDate[11] = 20221102
$myDate[12] = 20221130
//
EntryDate = 0
FOR i = 1 TO 12
IF Date = $myDate[i] THEN
EntryDate = Date
break
ENDIF
NEXT
//
IF Date = EntryDate AND Time = 160000 THEN
BUY 1 CONTRACT AT MARKET
EntryDate = 0
ENDIF
IF OpenDayOfWeek >= 5 AND Time = 170000 THEN
SELL AT MARKET
ENDIF
Halo Roberto,
danke, das ist doch eine gute Lösung, ich werde es morgen gleich mal versuchen..
Viele Grüße