atr level
atr level
0 at
https://mozilla.org/MPL/2.0/
// © stupean
//@version=5
indicator("ATRLevels 1.0.0", overlay = true)
type LevelOption
float ratio
color lvlColor
string style = line.style_dotted
int width = 1
type Options
array<LevelOption> levelOptions
type Level
line ln
label lb
type ATRLevels
array<Level> levels
Options options
createDefaultLevelsOptions() =>
array.from(
LevelOption.new(1.618, defaultColorres),
LevelOption.new(1.5, defaultColorres),
LevelOption.new(1.236, defaultColorres),
LevelOption.new(1, defaultColorres),
LevelOption.new(0.786, defaultColorres),
LevelOption.new(0.618, defaultColorres),
LevelOption.new(0.5, defaultColorres),
LevelOption.new(0.236, defaultColorres),
LevelOption.new(0, defaultColor0),
LevelOption.new(-0.236, defaultColorsup),
LevelOption.new(-0.5, defaultColorsup),
LevelOption.new(-0.618, defaultColorsup),
LevelOption.new(-0.786, defaultColorsup),
LevelOption.new(-1, defaultColorsup),
LevelOption.new(-1.236, defaultColorsup),
LevelOption.new(-1.5, defaultColorsup),
LevelOption.new(-1.618, defaultColorsup))
// main
var Options options = Options.new(levelOptions = createDefaultLevelsOptions())
var ATRLevels atrLevels = newInstance(options)
float atr = request.security(syminfo.tickerid, "D", ta.atr(atrLength))[1]
atrLevels.update(atr)