Hallo, ich handle dieses System live auf den Ausbruch morgens.
Wie kann ich dieses System umschreiben, dass es die Range zum Ausbruch von 09:00-10:00 handelt?
Also eine volle Stunde wird als Range gesehen und daraus wird der Ausbruch gehandelt.
Wenn ich das System einfach mit geänderter Uhrzeit auf H1 laufen lasse, funktioniert es schonmal. Ich würde aber gerne M15 oder M5 nutzen.
Kann mir jemand helfen? Vielen Dank.
// Es werden keine Daten vor Start des Handelssystems geladen.
// Im Fall eines ersten Starts dieses Handelssystems an einem Nachmittag, wird auf diese
// Weise der nächste Tag abgewartet, um mögliche Kauf- und Verkauf-Order festzulegen.
DEFPARAM PreLoadBars = 20
// Die Position wird um 21 Uhr 45 (lokale Zeitzone) glattgestellt.
DEFPARAM FlatAfter = 214500
// Keine neue Position nach dem Candlestick, der um 17 Uhr 15 schließt.
LimitEntryTime = 150000
// Marktanalyse beginnt mit dem 15 Minuten-Candlestick, der um 9 Uhr 15 schließt.
StartTime = 091500
// Feiertage wie 24. und 31. Dezember werden ausgeschlossen.
IF (Month = 5 AND Day = 1) OR (Month = 12 AND (Day = 24 OR Day = 25 OR Day = 26 OR Day = 30 OR Day = 31)) THEN
TradingDay = 0
ELSE
TradingDay = 1
ENDIF
// Die Variablen können je nach Wunsch individuell angepasst werden
PositionSize = 1
AmplitudeMax = 73 //80 82
AmplitudeMin = 31 //33
OrderDistance = 2 //2
MinPercent = 1.8 //1.7
// Diese Variable wird ein einziges Mal vor dem Start des Handelssystems initialisiert.
ONCE StartTradingDay = -1
// Die während des Tages sich verändernden Variablen werden
// beim ersten Balken jeden neuen Börsentages initialisiert.
IF (Time <= StartTime AND StartTradingDay <> 0) OR IntradayBarIndex = 0 THEN
BuyLevel = 0
SellLevel = 0
BuyPosition = 0
SellPosition = 0
StartTradingDay = 0
ELSIF Time >= StartTime AND StartTradingDay = 0 AND TradingDay = 1 THEN
// Der Index des ersten Balkens des Börsentages wird gespeichert.
IndexStartDay = IntradayBarIndex
StartTradingDay = 1
ELSIF StartTradingDay = 1 AND Time <= LimitEntryTime THEN
// Für jeden Börsentag legen wir alle 15 Minuten fest:
// höchster und niedrigster Kurs des Instrumentes seit StartTime
// solange die Kauf- und Verkauf-Levels nicht festgelegt sind.
IF BuyLevel = 0 OR SellLevel = 0 THEN
UpperLevel = Highest[IntradayBarIndex - IndexStartDay + 1](High)
LowerLevel = Lowest [IntradayBarIndex - IndexStartDay + 1](Low)
// Berechnung des Abstands zwischen höchsten Wert
// und niedrigstem Wert des Instrumentes seit StartTime
DayDistance = UpperLevel - LowerLevel
// Berechnung des gewünschten geringsten Abstands zur Berücksichtigung eines Durchbruchs
// der höchsten oder der niedrigsten Werte durch Kurse für einen signifikanten Durchbruch.
EcartMin = DayDistance * MinPercent / 100
// Berechnung der Kauf- und Verkauf-Levels des Tages, sollten die Bedingungen vorliegen.
IF DayDistance <= AmplitudeMax THEN
IF SellLevel = 0 AND (Close - LowerLevel) >= EcartMin THEN
SellLevel = LowerLevel + OrderDistance
ENDIF
IF BuyLevel = 0 AND (UpperLevel - Close) >= EcartMin THEN
BuyLevel = UpperLevel - OrderDistance
ENDIF
ENDIF
ENDIF
// Erstellen der Kauf- und Leerverkauf-Order für den Tag, wenn die Bedingungen vorliegen
IF SellLevel > 0 AND BuyLevel > 0 AND (BuyLevel - SellLevel) >= AmplitudeMin THEN
IF BuyPosition = 0 THEN
IF LongOnMarket THEN
BuyPosition = 1
ELSE
BUY PositionSize CONTRACT AT BuyLevel STOP
ENDIF
ENDIF
IF SellPosition = 0 THEN
IF ShortOnMarket THEN
SellPosition = 1
ELSE
SELLSHORT PositionSize CONTRACT AT SellLevel STOP
ENDIF
ENDIF
ENDIF
ENDIF
// Festlegung der Ausstiegsbedingungen, wenn Kauf-Position oder Leerverkauf-Position eingenommen wurde.
IF LongOnMarket AND ((Time <= LimitEntryTime AND SellPosition = 1) OR Time > LimitEntryTime) THEN
SELL AT SellLevel STOP
ELSIF ShortOnMarket AND ((Time <= LimitEntryTime AND BuyPosition = 1) OR Time > LimitEntryTime) THEN
EXITSHORT AT BuyLevel STOP
ENDIF
//Supertrend stop
super = Supertrend[2.6,4]
superl = close crosses under super
supers = close crosses over super
if longonmarket and superl then
sell at market
endif
if shortonmarket and supers then
exitshort at market
endif
// Festlegen des höchsten Verlustrisikos pro Position
// im Falle eines ungünstigen Kursverlaufs des Instruments
SET STOP LOSS AmplitudeMax
SET TARGET %PROFIT 2.1 //120 2.1
//************************************************************************
//trailing stop function
trailingstart = 9 //9 trailing will start @trailinstart points profit
trailingstep = 3 //2 trailing step to move the "stoploss"
//reset the stoploss value
IF NOT ONMARKET THEN
newSL=0
ENDIF
//manage long positions
IF LONGONMARKET THEN
//first move (breakeven)
IF newSL=0 AND close-tradeprice(1)>=trailingstart*pipsize THEN
newSL = tradeprice(1)+trailingstep*pipsize
ENDIF
//next moves
IF newSL>0 AND close-newSL>=trailingstep*pipsize THEN
newSL = newSL+trailingstep*pipsize
ENDIF
ENDIF
//manage short positions
IF SHORTONMARKET THEN
//first move (breakeven)
IF newSL=0 AND tradeprice(1)-close>=trailingstart*pipsize THEN
newSL = tradeprice(1)-trailingstep*pipsize
ENDIF
//next moves
IF newSL>0 AND newSL-close>=trailingstep*pipsize THEN
newSL = newSL-trailingstep*pipsize
ENDIF
ENDIF
//stop order to exit the positions
IF newSL>0 THEN
SELL AT newSL STOP
EXITSHORT AT newSL STOP
ENDIF