// Berechnung der Bars für 2 Stunden basierend auf dem Timeframe t = str.tonumber(timeframe.period) bars_2hours = int(120 / t) // 120 Minuten = 2 Stunden
// Funktionen zur Überprüfung, ob wir uns in einer bestimmten Session befinden inAsiaSession(t) => h = hour(t) m = minute(t) time_decimal = h + m/60 time_decimal >= asia_start_adjusted and time_decimal < asia_end_adjusted
inLondonSession(t) => h = hour(t) m = minute(t) time_decimal = h + m/60 time_decimal >= london_start_adjusted and time_decimal < london_end_adjusted
inNYMorningSession(t) => h = hour(t) m = minute(t) time_decimal = h + m/60 time_decimal >= ny_morning_start_adjusted and time_decimal < ny_morning_end_adjusted
inNYAfternoonSession(t) => h = hour(t) m = minute(t) time_decimal = h + m/60 time_decimal >= ny_afternoon_start_adjusted and time_decimal < ny_afternoon_end_adjusted
// High/Low-Berechnung für Asien Session var float asiaHigh = na var float asiaLow = na var int asiaStartBar = na var bool inAsiaSessionPrev = false inAsiaSessionCurr = inAsiaSession(time)
if inAsiaSessionCurr and not inAsiaSessionPrev asiaHigh := high asiaLow := low asiaStartBar := bar_index else if inAsiaSessionCurr asiaHigh := math.max(asiaHigh, high) asiaLow := math.min(asiaLow, low) else if not inAsiaSessionCurr and inAsiaSessionPrev and show_asia box.new(asiaStartBar, asiaHigh, bar_index, asiaLow, asia_color, bgcolor=asia_color) if show_afterhours box.new(bar_index, asiaHigh, bar_index + int(bars_2hours), asiaLow, asia_afterhours_color, bgcolor=asia_afterhours_color) asiaHigh := na asiaLow := na
inAsiaSessionPrev := inAsiaSessionCurr
// High/Low-Berechnung für London Session var float londonHigh = na var float londonLow = na var int londonStartBar = na var bool inLondonSessionPrev = false inLondonSessionCurr = inLondonSession(time)
if inLondonSessionCurr and not inLondonSessionPrev londonHigh := high londonLow := low londonStartBar := bar_index else if inLondonSessionCurr londonHigh := math.max(londonHigh, high) londonLow := math.min(londonLow, low) else if not inLondonSessionCurr and inLondonSessionPrev and show_london box.new(londonStartBar, londonHigh, bar_index, londonLow, london_color, bgcolor=london_color) if show_afterhours box.new(bar_index, londonHigh, bar_index + int(bars_2hours), londonLow, london_afterhours_color, bgcolor=london_afterhours_color) londonHigh := na londonLow := na
inLondonSessionPrev := inLondonSessionCurr
// High/Low-Berechnung für NY Morning Session var float nyMorningHigh = na var float nyMorningLow = na var int nyMorningStartBar = na var bool inNYMorningSessionPrev = false inNYMorningSessionCurr = inNYMorningSession(time)
if inNYMorningSessionCurr and not inNYMorningSessionPrev nyMorningHigh := high nyMorningLow := low nyMorningStartBar := bar_index else if inNYMorningSessionCurr nyMorningHigh := math.max(nyMorningHigh, high) nyMorningLow := math.min(nyMorningLow, low) else if not inNYMorningSessionCurr and inNYMorningSessionPrev and show_ny_morning box.new(nyMorningStartBar, nyMorningHigh, bar_index, nyMorningLow, ny_morning_color, bgcolor=ny_morning_color) if show_afterhours box.new(bar_index, nyMorningHigh, bar_index + int(bars_2hours), nyMorningLow, ny_morning_afterhours_color, bgcolor=ny_morning_afterhours_color) nyMorningHigh := na nyMorningLow := na
inNYMorningSessionPrev := inNYMorningSessionCurr
// High/Low-Berechnung für NY Afternoon Session var float nyAfternoonHigh = na var float nyAfternoonLow = na var int nyAfternoonStartBar = na var bool inNYAfternoonSessionPrev = false inNYAfternoonSessionCurr = inNYAfternoonSession(time)
if inNYAfternoonSessionCurr and not inNYAfternoonSessionPrev nyAfternoonHigh := high nyAfternoonLow := low nyAfternoonStartBar := bar_index else if inNYAfternoonSessionCurr nyAfternoonHigh := math.max(nyAfternoonHigh, high) nyAfternoonLow := math.min(nyAfternoonLow, low) else if not inNYAfternoonSessionCurr and inNYAfternoonSessionPrev and show_ny_afternoon box.new(nyAfternoonStartBar, nyAfternoonHigh, bar_index, nyAfternoonLow, ny_afternoon_color, bgcolor=ny_afternoon_color) if show_afterhours box.new(bar_index, nyAfternoonHigh, bar_index + int(bars_2hours), nyAfternoonLow, ny_afternoon_afterhours_color, bgcolor=ny_afternoon_afterhours_color) nyAfternoonHigh := na nyAfternoonLow := na