Hallo
ich brauche einen Code für einen Einstieg an einem bestimmten Montag
Der Trade soll Long gehen am 3. Montag um 9 Uhr nur in den Monaten März, Juni, September und Dezember.
Geschlossen wird der Trade am Freitag danach um 21 Uhr
Geht das zu codieren??
Danke und Gruß
Sorry hier noch eine Änderung
richtig ist!! Der trade muss am 3. Freitag in den Monaten März, Juni, September und Dezember geschlossen werden!
Eröffnet wird er 4 Tage vor her!
So rum ist es richtig!!!
Es ist nicht einfach, ihn N Tage vorher zu etwas zu zwingen, weil es keine Anweisung gibt, die Tage müssen berechnet werden, dann gehen X Perioden zurück.
Fassen Sie bitte zusammen, was Sie tun möchten.
ok
am Montag vor dem 3. Freitag im Monat März, Juni, September und Dezember, soll long in den Markt eingestiegen werden.
Und am Freitag soll der Trade wieder geschlossen werden.
Das lässt sich sicher schwierig berechnen
Es ist eigentlich nicht schwierig, nur ein bisschen lang, weil ich die maximalen Tage jedes Monats berechnen muss, wenn man bedenkt, wann sie 31, 30, 28 sind (oder 29, wenn das Jahr ein Schaltjahr ist).
Beginnen Sie dann mit Tag 1 und zählen Sie die Freitage. Gehen Sie dann zum Montag zurück, um die Position zu eröffnen.
Morgen werde ich versuchen, es mit dir zu machen.
Danke Roberto!!!
danke das wäre sehr nett.
Kannst Du an meinem Beitrag von vor 4 Tagen auch was machen? Einstieg Long wenn
Das war der Einstieg aus einer Korrektur
Vielen Dank für die Hilfe…
Da ist er:
DEFPARAM CumulateOrders = False
// check when a new Month shows
Cond = (OpenMonth = 3 OR OpenMonth = 6 OR OpenMonth = 9 OR OpenMonth = 12)
If OpenMonth <> OpenMonth[1] Then
OM = OpenMonth
OD = OpenDay
ODW = OpenDayOfWeek
OY = OpenYear
LastDay = 31
//check if the Last Day is other than 31
If OM = 4 or OM = 6 or OM = 9 or OM = 11 Then
//sometimes it's 30 days
LastDay = 30
Endif
If OM = 2 Then
//in a case it is 28 (most of times)
LastDay = 28
//in rare occasions it can be 29
If OY mod 4 = 0 Then
If OY mod 100 = 0 Then
If OY mod 400 = 0 Then
LastDay = 29
Endif
Else
LastDay = 29
Endif
Endif
Endif
//start counting Fridays
Fridays = 0
OpenTrade = 0
ExitTrade = 0
For i = OD To LastDay
If ODW = 5 Then
Fridays = Fridays + 1
//exit the check as soon as Friday #3 is detected
IF Fridays = 3 THEN
ExitTrade = i
OpenTrade = ExitTrade - 4
break
Endif
Endif
//uodate the OpenDayofWeek
ODW = ODW + 1
if ODW = 7 Then
ODW = 0
Endif
Next
Endif
// open a trade
If Day = OpenTrade And Cond AND Not OnMarket Then
Buy 1 contract at Market
Endif
//close a trade
IF OpenDay >= ExitTrade AND OnMarket THEN
SELL AT Market
Endif
//graph OpenTrade
//graph ExitTrade
//graph OM
//graph OD
//graph ODW
//graph LastDay
//graph Fridays
Offensichtlich kann der Code nicht wissen, wann ein Montag ein Feiertag ist. In diesem Fall werden in diesem Monat KEINE Positionen geöffnet.
Wenn die Party an einem Freitag stattfindet, wird die Position am nächsten Nichtfeiertag geschlossen.
Danke Ihnen für den Code!
Ich freue mich sehr!