Script 2

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 2

//@version=5

indicator("Current Week High/Low, Previous Day High/Low, Daily Open with Bollinger Bands",
shorttitle="Current Week High/Low & Prev HL & Daily Open", overlay=true)

// Current Week High and Low


currentWeekHigh = request.security(syminfo.tickerid, "W", high, lookahead=barmerge.lookahead_on)
currentWeekLow = request.security(syminfo.tickerid, "W", low, lookahead=barmerge.lookahead_on)

// Previous Day High and Low


prevDayHigh = request.security(syminfo.tickerid, "D", high[1], lookahead=barmerge.lookahead_on)
prevDayLow = request.security(syminfo.tickerid, "D", low[1], lookahead=barmerge.lookahead_on)

// Daily Open
dailyOpen = request.security(syminfo.tickerid, "D", open, lookahead=barmerge.lookahead_on)

// EMA
emaLength = input.int(20, minval=1, title="EMA Length")
ema = ta.ema(close, emaLength)

// Bollinger Bands
length = input.int(20, minval=1, title="Bollinger Bands Length")
src = close
mult = input.float(2.0, minval=0.001, maxval=50, title="Bollinger Bands StdDev")
basis = ta.sma(src, length)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev

// Determine bullish or bearish tilt


bullishTilt = basis > basis[1]
bearishTilt = basis < basis[1]

// Determine breakout conditions for previous day's high and low


breakoutConditionHigh = close > prevDayHigh
breakoutConditionLow = close < prevDayLow

// Change color based on breakout conditions


prevHighColor = breakoutConditionHigh ? color.green : color.blue
prevLowColor = breakoutConditionLow ? color.red : color.orange

// Determine color based on daily open's relationship with Bollinger Bands


openColor = dailyOpen > upper ? color.green : dailyOpen < lower ? color.red : color.black

// Determine color for EMA price coiling


coilingColor = ta.crossover(close, ema) ? color.purple : ta.crossunder(close, ema) ? color.yellow : color.black

// Plotting
plot(currentWeekHigh, color=color.green, style=plot.style_stepline, linewidth=2, title="Current Week High")
plot(currentWeekLow, color=color.red, style=plot.style_stepline, linewidth=2, title="Current Week Low")
plot(prevDayHigh, color=prevHighColor, style=plot.style_stepline, linewidth=2, title="Previous Day High")
plot(prevDayLow, color=prevLowColor, style=plot.style_stepline, linewidth=2, title="Previous Day Low")
plot(dailyOpen, color=openColor, style=plot.style_stepline, linewidth=2, title="Daily Open")
plot(upper, color=bullishTilt ? color.green : color.red, linewidth=2, title="Upper Bollinger Band")
plot(lower, color=bearishTilt ? color.red : color.green, linewidth=2, title="Lower Bollinger Band")
plot(basis, color=color.blue, linewidth=2, title="Bollinger Band Basis")
plot(ema, color=coilingColor, style=plot.style_line, linewidth=2, title="EMA Price Coiling")

t = time("1440", session.extended) // 1440=60*24 is the number of minutes in a whole day. You may use "0930-
1600" as second session parameter
//plot(t, style=linebr) // debug
is_first = na(t[1]) and not na(t) or t[1] < t
plotshape(is_first, color=color.red, style=shape.arrowdown)

var float day_high = na


var float day_low = na

if (is_first and barstate.isnew)


day_high := high
day_low := low
else
day_high := day_high[1]
day_low := day_low[1]

if (high > day_high)


day_high := high

if (low < day_low)


day_low := low

plot(day_high, color=color.lime)
plot(day_low, color=color.red)

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy