Compiled with Claude. I don't know if it meets the standards of your indicatordani17 wrote: Sun Mar 29, 2026 10:12 am Hello respected traders and coders. Please convert this tradingview indicator to MT4 or MT5.
I find these levels incredibly useful because they act as powerfull S/R.
Thank you so much in advance .
This indicator is called SATY ATR Levels and has an open source script.
https://es.tradingview.com/v/Ty6CMBw9/
Code: Select all
// Saty ATR Levels // Copyright (C) 2022 Saty Mahajan // Author is not responsible for your trading using this script. // Data provided in this script is not financial advice. // // Features: // - Day, Multiday, Swing, Position, Long-term, Keltner trading modes // - Range against ATR for each period // - Put and call trigger idea levels // - Intermediate levels // - Full-range levels // - Extension levels // - Trend label based on the 8-21-34 Pivot Ribbon // // Special thanks to Gabriel Viana. // Based on my own ideas and ideas from Ripster, drippy2hard, // Adam Sliver, and others. //@version=5 indicator('Saty ATR Levels', shorttitle='Saty ATR Levels', overlay=true) // Options day_trading = 'Day' multiday_trading = 'Multiday' swing_trading = 'Swing' position_trading = 'Position' longterm_trading = 'Long-term' trading_type = input.string(day_trading, 'Trading Type', options=[day_trading, multiday_trading, swing_trading, position_trading, longterm_trading]) use_options_labels = input(true, 'Use Options Labels') atr_length = input(14, 'ATR Length') trigger_percentage = input(0.236, 'Trigger Percentage') previous_close_level_color = input(color.white, 'Previous Close Level Color') lower_trigger_level_color = input(color.yellow, 'Lower Trigger Level Color') upper_trigger_level_color = input(color.aqua, 'Upper Trigger Level Color') key_target_level_color = input(color.silver, 'Key Target Level Color') atr_target_level_color = input(color.white, 'ATR Target Level Color') intermediate_target_level_color = input(color.gray, 'Intermediate Target Level Color') show_all_fibonacci_levels = input(true, 'Show All Fibonacci Levels') show_extensions = input(false, 'Show Extensions') level_size = input(2, 'Level Size') show_info = input(true, 'Show Info Label') use_current_close = input(false, 'Use Current Close') fast_ema = input(8, 'Fast EMA') pivot_ema = input(21, 'Pivot EMA') slow_ema = input(34, 'Slow EMA') // Set the appropriate timeframe based on trading mode timeframe_func() => timeframe = 'D' if trading_type == day_trading timeframe := 'D' else if trading_type == multiday_trading timeframe := 'W' else if trading_type == swing_trading timeframe := 'M' else if trading_type == position_trading timeframe := '3M' else if trading_type == longterm_trading timeframe := '12M' else timeframe := 'D' // Trend price = close fast_ema_value = ta.ema(price, fast_ema) pivot_ema_value = ta.ema(price, pivot_ema) slow_ema_value = ta.ema(price, slow_ema) bullish = price >= fast_ema_value and fast_ema_value >= pivot_ema_value and pivot_ema_value >= slow_ema_value bearish = price <= fast_ema_value and fast_ema_value <= pivot_ema_value and pivot_ema_value <= slow_ema_value // Data period_index = use_current_close ? 0 : 1 ticker = ticker.new(syminfo.prefix, syminfo.ticker, session=session.extended) previous_close = request.security(ticker, timeframe_func(), close[period_index], gaps=barmerge.gaps_off, lookahead=barmerge.lookahead_on) atr = request.security(ticker, timeframe_func(), ta.atr(atr_length)[period_index], gaps=barmerge.gaps_off, lookahead=barmerge.lookahead_on) period_high = request.security(ticker, timeframe_func(), high, gaps=barmerge.gaps_off, lookahead=barmerge.lookahead_on) period_low = request.security(ticker, timeframe_func(), low, gaps=barmerge.gaps_off, lookahead=barmerge.lookahead_on) range_1 = period_high - period_low tr_percent_of_atr = range_1 / atr * 100 lower_trigger = previous_close - trigger_percentage * atr upper_trigger = previous_close + trigger_percentage * atr lower_0382 = previous_close - atr * 0.382 upper_0382 = previous_close + atr * 0.382 lower_0500 = previous_close - atr * 0.5 upper_0500 = previous_close + atr * 0.5 lower_0618 = previous_close - atr * 0.618 upper_0618 = previous_close + atr * 0.618 lower_0786 = previous_close - atr * 0.786 upper_0786 = previous_close + atr * 0.786 lower_1000 = previous_close - atr upper_1000 = previous_close + atr lower_1236 = lower_1000 - atr * 0.236 upper_1236 = upper_1000 + atr * 0.236 lower_1382 = lower_1000 - atr * 0.382 upper_1382 = upper_1000 + atr * 0.382 lower_1500 = lower_1000 - atr * 0.5 upper_1500 = upper_1000 + atr * 0.5 lower_1618 = lower_1000 - atr * 0.618 upper_1618 = upper_1000 + atr * 0.618 lower_1786 = lower_1000 - atr * 0.786 upper_1786 = upper_1000 + atr * 0.786 lower_2000 = lower_1000 - atr upper_2000 = upper_1000 + atr lower_2236 = lower_2000 - atr * 0.236 upper_2236 = upper_2000 + atr * 0.236 lower_2382 = lower_2000 - atr * 0.382 upper_2382 = upper_2000 + atr * 0.382 lower_2500 = lower_2000 - atr * 0.5 upper_2500 = upper_2000 + atr * 0.5 lower_2618 = lower_2000 - atr * 0.618 upper_2618 = upper_2000 + atr * 0.618 lower_2786 = lower_2000 - atr * 0.786 upper_2786 = upper_2000 + atr * 0.786 lower_3000 = lower_2000 - atr upper_3000 = upper_2000 + atr // Add Labels tr_vs_atr_color = color.green if tr_percent_of_atr <= 70 tr_vs_atr_color := color.green else if tr_percent_of_atr >= 90 tr_vs_atr_color := color.red else tr_vs_atr_color := color.orange trading_mode = 'Day' if trading_type == day_trading trading_mode := 'Day' else if trading_type == multiday_trading trading_mode := 'Multiday' else if trading_type == swing_trading trading_mode := 'Swing' else if trading_type == position_trading trading_mode := 'Position' else if trading_type == longterm_trading trading_mode := 'Long-term' else trading_mode := '' long_label = '' short_label = '' if use_options_labels long_label := 'Calls' short_label := 'Puts' else long_label := 'Long' short_label := 'Short' trend_color = color.orange if bullish trend_color := color.green else if bearish trend_color := color.red else trend_color := color.orange var tbl = table.new(position.top_right, 1, 4) if barstate.islast and show_info table.cell(tbl, 0, 0, 'Saty ATR Levels', bgcolor=trend_color) table.cell(tbl, 0, 1, trading_mode + ' Range ($' + str.tostring(range_1, '#.##') + ') is ' + str.tostring(tr_percent_of_atr, '#.#') + '% of ATR ($' + str.tostring(atr, '#.##') + ')', bgcolor=tr_vs_atr_color) table.cell(tbl, 0, 2, long_label + ' > $' + str.tostring(upper_trigger, '#.##') + ' | +1 ATR $' + str.tostring(upper_1000, '#.##'), bgcolor=upper_trigger_level_color) table.cell(tbl, 0, 3, short_label + ' < $' + str.tostring(lower_trigger, '#.##') + ' | -1 ATR: $' + str.tostring(lower_1000, '#.##'), bgcolor=lower_trigger_level_color) // Add levels plot(show_extensions ? lower_3000 : na, color=color.new(atr_target_level_color, 40), linewidth=level_size, title='-300.0%', style=plot.style_stepline) //plot(show_all_fibonacci_levels and show_extensions ? lower_2786 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='-278.6%', style=plot.style_stepline) plot(show_extensions ? lower_2618 : na, color=color.new(key_target_level_color, 40), linewidth=level_size, title='-261.8%', style=plot.style_stepline) //plot(show_all_fibonacci_levels and show_extensions ? lower_2500 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='-250.0%', style=plot.style_stepline) //plot(show_all_fibonacci_levels and show_extensions ? lower_2382 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='-238.2%', style=plot.style_stepline) plot(show_extensions ? lower_2236 : na, color=color.new(key_target_level_color, 40), linewidth=level_size, title='-223.6%', style=plot.style_stepline) plot(show_extensions ? lower_2000 : na, color=color.new(atr_target_level_color, 40), linewidth=level_size, title='-200.0%', style=plot.style_stepline) plot(show_all_fibonacci_levels and show_extensions ? lower_1786 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='-178.6%', style=plot.style_stepline) plot(show_extensions ? lower_1618 : na, color=color.new(key_target_level_color, 40), linewidth=level_size, title='-161.8%', style=plot.style_stepline) plot(show_all_fibonacci_levels and show_extensions ? lower_1500 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='-150.0%', style=plot.style_stepline) plot(show_all_fibonacci_levels and show_extensions ? lower_1382 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='-138.2%', style=plot.style_stepline) plot(show_extensions ? lower_1236 : na, color=color.new(key_target_level_color, 40), linewidth=level_size, title='-123.6%', style=plot.style_stepline) plot(lower_1000, color=color.new(atr_target_level_color, 40), linewidth=level_size, title='-100%', style=plot.style_stepline) plot(show_all_fibonacci_levels ? lower_0786 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='-78.6%', style=plot.style_stepline) plot(lower_0618, color=color.new(key_target_level_color, 40), linewidth=level_size, title='-61.8%', style=plot.style_stepline) plot(show_all_fibonacci_levels ? lower_0500 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='-50.0%', style=plot.style_stepline) plot(show_all_fibonacci_levels ? lower_0382 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='-38.2%', style=plot.style_stepline) plot(lower_trigger, color=color.new(lower_trigger_level_color, 40), linewidth=level_size, title='Lower Trigger', style=plot.style_stepline) plot(previous_close, color=color.new(previous_close_level_color, 40), linewidth=level_size, title='Previous Close', style=plot.style_stepline) plot(upper_trigger, color=color.new(upper_trigger_level_color, 40), linewidth=level_size, title='Upper Trigger', style=plot.style_stepline) plot(show_all_fibonacci_levels ? upper_0382 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='38.2%', style=plot.style_stepline) plot(show_all_fibonacci_levels ? upper_0500 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='50.0%', style=plot.style_stepline) plot(upper_0618, color=color.new(key_target_level_color, 40), linewidth=level_size, title='61.8%', style=plot.style_stepline) plot(show_all_fibonacci_levels ? upper_0786 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='78.6%', style=plot.style_stepline) plot(upper_1000, color=color.new(atr_target_level_color, 40), linewidth=level_size, title='100%', style=plot.style_stepline) plot(show_extensions ? upper_1236 : na, color=color.new(key_target_level_color, 40), linewidth=level_size, title='123.6%', style=plot.style_stepline) plot(show_all_fibonacci_levels and show_extensions ? upper_1382 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='138.2%', style=plot.style_stepline) plot(show_all_fibonacci_levels and show_extensions ? upper_1500 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='150.0%', style=plot.style_stepline) plot(show_extensions ? upper_1618 : na, color=color.new(key_target_level_color, 40), linewidth=level_size, title='161.8%', style=plot.style_stepline) plot(show_all_fibonacci_levels and show_extensions ? upper_1786 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='178.6%', style=plot.style_stepline) plot(show_extensions ? upper_2000 : na, color=color.new(atr_target_level_color, 40), linewidth=level_size, title='200.0%', style=plot.style_stepline) plot(show_extensions ? upper_2236 : na, color=color.new(key_target_level_color, 40), linewidth=level_size, title='223.6%', style=plot.style_stepline) //plot(show_all_fibonacci_levels and show_extensions ? upper_2382 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='238.2%', style=plot.style_stepline) //plot(show_all_fibonacci_levels and show_extensions ? upper_2500 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='250.0%', style=plot.style_stepline) plot(show_extensions ? upper_2618 : na, color=color.new(key_target_level_color, 40), linewidth=level_size, title='261.8%', style=plot.style_stepline) //plot(show_all_fibonacci_levels and show_extensions ? upper_2786 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='278.6%', style=plot.style_stepline) plot(show_extensions ? upper_3000 : na, color=color.new(atr_target_level_color, 40), linewidth=level_size, title='300%', style=plot.style_stepline)
Attachments forums
Re: TradingView Indicators to MT4 Indicators
Sepo, Mon Mar 30, 2026 2:01 am