Professional Documents
Culture Documents
ATM Daily Breakout Strategy Code (For TradingView)
ATM Daily Breakout Strategy Code (For TradingView)
ATM Daily Breakout Strategy Code (For TradingView)
'1 week' for any timeframes starting from '1 day' up to '1 week' \n
'1 month' for any timeframes starting from '1 week' up to '1 month' \n
'3 months' for any timeframes starting from '1 month' up to '3 months' \n
DEFAULT_RESOLUTION = "1D"
DEFAULT_COLOR_GROWTH = color.rgb(0, 150, 136, 80)
DEFAULT_COLOR_FALL = color.rgb(244, 67, 54, 80)
DEFAULT_CALCULATION_METHOD = HLR
DEFAULT_AUTO_RESOLUTION = false
selectAutoTimeframe() =>
timeframe.isseconds ? '120':
timeframe.isminutes ? '1440':
timeframe.isdaily ? 'W':
timeframe.isweekly ? 'M':
timeframe.ismonthly and timeframe.multiplier < 3 ? '3M': '12M'
autoTimeframeInput = input(DEFAULT_AUTO_RESOLUTION,
title="AutoTimeframe", tooltip=AUTO_TIMEFRAME_TOOLTIP)
timeframeInput = input.timeframe(DEFAULT_RESOLUTION, title="Timeframe")
timeframe = autoTimeframeInput ? selectAutoTimeframe() : timeframeInput
calculationMethodInput = input.string(DEFAULT_CALCULATION_METHOD,
"Calculation", options = [HLR, TR, HAR])
growthBorderColor = color.new(growthColorInput, 0)
fallBorderColor = color.new(fallColorInput, 0)
isNewPeriod = ta.change(time(timeframe))
if calculationMethodInput == HLR
top := secHigh
bottom := secLow
else if calculationMethodInput == TR
top := math.max(secHigh, secPrevClose)
bottom := math.min(secLow, secPrevClose)
else if calculationMethodInput == HAR
top := ashiHigh
bottom := ashiLow
if isNewPeriod
prevBarIndex := bar_index
drawBox(left, right, top, bottom, diff, growthColorInput, fallColorInput,
growthBorderColor, fallBorderColor)
if barstate.islast
if isNewPeriod
prevBox := na
else
box.delete(prevBox)
prevBox := drawBox(left, right, top, bottom, diff, growthColorInput,
fallColorInput, growthBorderColor, fallBorderColor)
if(reset)
if (shortCondition)
strategy.entry("short", strategy.short, stop=bottom)