RazzParticipant
Master
Guten Tag
Ich versuche gerade etwas mit Pivot zu Programmieren .
Einstieg open 07:00 wenn Kurs sich in der Range S1 zu R1 befindent
Ziel Rücklauf zum Pivotpunkt .
Leider verkauft das Handelssystem zu früh kann mir da jemand einen Tip geben ?
Im vorraus Vielen Dank
// Festlegen der Code-Parameter
DEFPARAM CumulateOrders = False // Kumulieren von Positionen deaktiviert
// Bedingungen zum Einstieg in Long-Positionen
S1 = 2*((DHigh(1) + DLow(1) + DClose(1) + DOpen(0))/4) - DHigh(1) //S1
c1 = (close > S1)
PP = (DHigh(1) + DLow(1) + DClose(1) + DOpen(0))/4 //PP Punkt
c2 = (close < PP)
c0 = opentime=070000
IF c0 and c1 AND c2 THEN
BUY 1 CONTRACT AT MARKET
ENDIF
// Bedingungen zum Ausstieg von Long-Positionen
c3 = (close >= PP)
IF c3 THEN
SELL AT MARKET
ENDIF
// Stops und Targets
SET STOP pLOSS 400
RazzParticipant
Master
Ich habe den Code jetzt mal um und weiter geschrieben aber es werden keine Short Trades ausgeführt , verstehe nicht wiso ?
Auch das der Trade heute vor erreichen des Pivotpunktes geschlossen wurde ist mir unklar.
// Festlegen der Code-Parameter
DEFPARAM CumulateOrders = False // Kumulieren von Positionen deaktiviert
DEFPARAM FLATAFTER = 235900
// Verhindert das Platzieren von neuen Ordern zum Markteintritt oder Vergrößern von Positionen vor einer bestimmten Uhrzeit
noEntryBeforeTime = 065900
timeEnterBefore = time >= noEntryBeforeTime
// Verhindert das Trading an bestimmten Wochentagen
daysForbiddenEntry = OpenDayOfWeek = 6 OR OpenDayOfWeek = 0
R1 = 2*((DHigh(1) + DLow(1) + DClose(1) + DOpen(0))/4) - DLow(1) //R1
PP = (DHigh(1) + DLow(1) + DClose(1) + DOpen(0))/4 //PP Punkt
S1 = 2*((DHigh(1) + DLow(1) + DClose(1) + DOpen(0))/4) - DHigh(1) //S1
// Bedingungen zum Einstieg in Long-Positionen
L1 = (close > S1) // Range unten
L2 = (close < R1) // Range oben
L3 = (close < PP) // Bedingung Long
S3 = (close > PP) // Bedingung Short
ELL = (close >= PP) // Tradeziel Long
ELS = (close <= PP) // Tradeziel Short
c0 = opentime=070000 // Tradestart open 0700
IF NOT LongOnMarket and L1 and L2 AND L3 and c0 THEN
BUY 1 CONTRACT AT MARKET
ENDIF
// Bedingungen zum Ausstieg von Long-Positionen
IF LONGOnMarket AND ELL THEN
SELL AT MARKET
ENDIF
// Bedingungen zum Einstieg in Short-Positionen
IF NOT ShortOnMarket AND L1 and L2 AND S3 and c0 THEN
Sell 1 CONTRACT AT MARKET
ENDIF
// Bedingungen zum Ausstieg von Short-Positionen
IF ShortOnMarket AND ELS THEN
EXITSHORT AT MARKET
ENDIF
// Stops und Targets
SET STOP pLOSS sl //400
SET TARGET pPROFIT tp //100
Um einen Short-Trade einzugeben, müssen Sie SellShort (nicht Sell) verwenden.
Die Pivot-Punkte von 24-Std-Instrumenten sind nicht identisch mit den Xetra-Pivots, die von 08:00 bis 22:00 gerechnet werden. Hast Du daran gedacht? Könnte das daran liegen?
RazzParticipant
Master
Hallo Stefan Danke für den Hinweis Ich denke es liegt am Monat den an den restlichen Tagen passt es soweit , werde mir das nochmal anschauen .
Möchten eigentlich Pivot Punkte HLCC/4 und Zeitrahmen 00:00 bis 22:00 verwenden mal schauen ob Ich das hinbekomme.
Viele Grüße
Peter
RazzParticipant
Master
Hallo Robertogozzi
Vielen Dank für Ihren Tipp
Die Korrektur wäre wie folgt:
//*************************************************************************//
//Korrektur High Low Close, Pivot, Resistance, Support //
//*************************************************************************//
TF = 1 // TimeFrame in Minuten
if Time = 220000 AND OPENDAYOFWEEK <6 AND OPENDAYOFWEEK >0 then
DayClose = Close
DayHigh = Highest[(1320/TF)](close[1])
DayLow = Lowest[(1320/TF)](close[1])
ENDIF
Pivot= (DayHigh + DayLow + DayClose) / 3
ResR1 = Pivot + (Pivot - DayLow)
ResR2 = Pivot + (Dayhigh - Daylow)
ResR3 = Dayhigh + (2 * (Pivot - Daylow))
SupS1 = Pivot - (Dayhigh - Pivot)
SupS2 = Pivot - (Dayhigh - Daylow)
SupS3 = Daylow - (2 * (Dayhigh - Pivot))
Für HLCC/4 muss natürlich noch ein “Close” dazu… ^^
RazzParticipant
Master
Was müßte Ich dem Code hinzufügen wenn Ich der Position bei nicht erreichen des Zieles bis 22:00 des jeweiligen Handelstages den Stop auf Einstand hinzufügen will ?
Falls die Position im Minus ist sollte weiterhin der Anfangsstopp von 400 Punkten gelten .
Und Ich möche eine Bregrenzung auf max . 5 Positionen Trades gleichzeitig ( also 5 Tage die gegen mich laufen das ein Trade pro Tag)
Im vorraus Vielen Dank
Und ein schönes Wochenende
// Festlegen der Code-Parameter
DEFPARAM CumulateOrders = False // Kumulieren von Positionen deaktiviert
REM BERECHNUNG Low/High
if OpenDayOfWeek = 1 and TIME>= 000001 AND TIME<= 220000 THEN
H3 = DLow(2)
H4 = DHigh(2)
H5 = Dopen(2)
H6 = DClose(2)
endif
if OpenDayOfWeek = 2 or 3 or 4 or 5 and TIME>= 000001 AND TIME<= 220000 THEN
H3 = DLow(1)
H4 = DHigh(1)
H5 = Dopen(1)
H6 = DClose(1)
endif
R1=(2*PP) - H3
PP=(H3+H4+H6+H6)/4
S1=(2*PP) - H4
//TF = 1
//if Time = 220000 AND OPENDAYOFWEEK <6 AND OPENDAYOFWEEK >0 then
//DayClose = Close
//DayHigh = Highest[(1320/TF)](close[1])
//DayLow = Lowest[(1320/TF)](close[1])
//ENDIF
//PP= (DayHigh + DayLow + DayClose+DayClose) / 4
//R1 = PP + (PP - DayLow)
//S1 = PP - (Dayhigh - PP)
// Bedingungen zum Einstieg in Long-Positionen
L1 = (close > S1) // Range unten
L2 = (close < R1) // Range oben
L3 = (close < PP) // Bedingung Long
S3 = (close > PP) // Bedingung Short
ELL = (close >= PP) // Tradeziel Long
ELS = (close <= PP) // Tradeziel Short
c0 = opentime=070000 // Tradestart open 0700
IF NOT LongOnMarket and L1 and L2 AND L3 and c0 THEN
BUY 1 CONTRACT AT MARKET
ENDIF
// Bedingungen zum Ausstieg von Long-Positionen
IF LONGOnMarket AND ELL THEN
SELL AT MARKET
ENDIF
// Bedingungen zum Einstieg in Short-Positionen
IF NOT ShortOnMarket AND L1 and L2 AND S3 and c0 THEN
SellShort 1 CONTRACT AT MARKET
ENDIF
// Bedingungen zum Ausstieg von Short-Positionen
IF ShortOnMarket AND ELS THEN
EXITSHORT AT MARKET
ENDIF
Um 22 Uhr muss er die Position schließen, was ist, wenn er einen Verlust hat? Was sollte er nach 5 aufeinanderfolgenden Verlusttrades tun, die Strategie stoppen?
RazzParticipant
Master
Entschuldigung wenn Ich mich nicht klar ausgedrückt habe , musste das selbst erst nochmal nachschauen .
Ich hatte es falsch geschrieben
Um 22:00 soll er wenn möglich den Take Profit auf Einstand ziehen , der Stopploss bleibt bei 400.
Die Strategie kauft ja immer um 7:00 , Ich möchte nicht mehr als 5 Position (5 Tage je 1 Kauf) gleichzeitig haben .
Dann darf er erst wieder kaufen wenn eine Position geschlossen wurde durch Stopploss oder Takeprofit.
Hoffe Sie verstehen was Ich gerne hätte , wenn das überhaupt umsetztbar ist .
Danke für Ihre Zeit
Ich verstehe nicht, was du mit “den Take Profit auf Einstand ziehen” meinst, kannst du dich klarer ausdrücken?
RazzParticipant
Master
Hallo
Die Position wird mit open der 07:00 Kerze eröffnet wenn sich der Kurs innerhalb der Range von R1 zu S1 befindet .
Ziel ist dann immer in Richtung des Pivot Punktes zu handeln .
Der Anfangsstopp liegt bei 400 Punkten
Wird das Ziel PivotPunkt nicht innerhalb des Tages bis 22:00 erreicht
und die Position ist im Plus soll sie direkt geschlossen werden
ist die Position aber im minus soll der Stopp bei 400 bleiben aber das Ziel dann nicht mehr der PivotPunkt sonndern der Eröffnungskurs um 07:00 sein
Ich hoffe es wird klarer
Versuche dies:
// Festlegen der Code-Parameter
DEFPARAM CumulateOrders = False // Kumulieren von Positionen deaktiviert
ONCE Distance = 6 * PipSize //6 pips is the distance required by the broker
IF Not OnMarket THEN
Flag = 0
ENDIF
REM BERECHNUNG Low/High
if OpenDayOfWeek = 1 and TIME>= 000001 AND TIME<= 220000 THEN
H3 = DLow(2)
H4 = DHigh(2)
H5 = Dopen(2)
H6 = DClose(2)
endif
if OpenDayOfWeek = 2 or 3 or 4 or 5 and TIME>= 000001 AND TIME<= 220000 THEN
H3 = DLow(1)
H4 = DHigh(1)
H5 = Dopen(1)
H6 = DClose(1)
endif
R1=(2*PP) - H3
PP=(H3+H4+H6+H6)/4
S1=(2*PP) - H4
//TF = 1
//if Time = 220000 AND OPENDAYOFWEEK <6 AND OPENDAYOFWEEK >0 then
//DayClose = Close
//DayHigh = Highest[(1320/TF)](close[1])
//DayLow = Lowest[(1320/TF)](close[1])
//ENDIF
//PP= (DayHigh + DayLow + DayClose+DayClose) / 4
//R1 = PP + (PP - DayLow)
//S1 = PP - (Dayhigh - PP)
IF OnMarket THEN
IF Time = 220000 THEN
IF PositionPerf > 0 THEN
SELL AT Market
EXITSHORT AT Market
ELSE
Flag = 1
ENDIF
ENDIF
ENDIF
IF Flag = 1 AND abs(close - TradePrice) >= Distance THEN
SELL AT TradePrice LIMIT
EXITSHORT AT TradePrice LIMIT
ENDIF
// Bedingungen zum Einstieg in Long-Positionen
L1 = (close > S1) // Range unten
L2 = (close < R1) // Range oben
L3 = (close < PP) // Bedingung Long
S3 = (close > PP) // Bedingung Short
ELL = (close >= PP) // Tradeziel Long
ELS = (close <= PP) // Tradeziel Short
c0 = opentime=070000 // Tradestart open 0700
IF NOT LongOnMarket and L1 and L2 AND L3 and c0 THEN
BUY 1 CONTRACT AT MARKET
ENDIF
// Bedingungen zum Ausstieg von Long-Positionen
IF LONGOnMarket AND ELL THEN
SELL AT MARKET
ENDIF
// Bedingungen zum Einstieg in Short-Positionen
IF NOT ShortOnMarket AND L1 and L2 AND S3 and c0 THEN
SellShort 1 CONTRACT AT MARKET
ENDIF
// Bedingungen zum Ausstieg von Short-Positionen
IF ShortOnMarket AND ELS THEN
EXITSHORT AT MARKET
ENDIF
//graphonprice TradePrice
//graph PositionPerf > 0
//graph Flag coloured(255,0,0,255)
RazzParticipant
Master
Hallo
Vielen Dank für Ihre Hilfe Ich denke Ich habe mehrer Probleme im Code
Siehe Beispielbilder
Trade vom 9.2.22 bleibt offen weil Ziel nicht erreicht wird und wird am 10.02.22 mit dem dann gültigen Tagespivot geschlossen
was aber falsch ist den der Trade soll nur geschlossen werden wenn entweder der Tagespivot vom 9.2.22 erreicht wird oder der Stopploss von 400 Punkten erreicht wird
oder der Trade wird länger wie 22:00 gehalten und das Ziel wird auf Tradeprice vom 9.2.22 07:00 geändert .
Das Problem sind Trades die mehrer Tage gehen , und am Folgetag sollten dann ja auch Neue eingebangen werden.
Und dann der Trade am 14.2.22 Trade wird 07:00 eröffnet und dann wieder 1 Minute später wieder geschlossen ohne eine Bedingung erfüllt zu haben .
Ich bedanke mich für Ihre Hilfe aber Ich denke Ich bin ein Hoffnungloser Fall .
Ich wünsche Ihnen noch einen Schönen Abend