Signifikante HochsThis indicator was created to highlight significant highs in the price chart. It is intentionally kept simple and lightweight, since its primary purpose is to serve as a test and learning tool for exploring the functions of the TradingView platform.
How it works:
A user-defined lookback period is applied to check whether a local high has been formed.
A minimum percentage change threshold is used as an additional filter, so that only highs with a certain level of significance are marked.
Once such a high is detected, a visual marker is plotted above the corresponding candle.
The main goal of this script is not to provide a complete trading strategy, but rather to help users understand the basic elements of Pine Script, chart visualization, and platform workflows. In particular, this script is a practical way to test and demonstrate:
The use of input parameters.
Core functions such as ta.pivothigh.
Conditional checks for price significance.
Simple plotting of signals directly on the chart.
At the same time, this test indicator can serve as a foundation for further development. The logic can easily be extended to:
Display significant lows as well as highs.
Draw connecting trendlines between pivots.
Generate alerts whenever a new significant high appears.
Incorporate multi-timeframe logic for deeper analysis.
Important note:
This script is not intended to be a full trading strategy in its current form. Instead, it acts as a test environment for learning how to publish, manage, and experiment with indicators on TradingView.
For the TradingView community, this simple tool can still be valuable, as it provides a quick visual reference for key highs that traders may use as additional context in their market analysis.
インジケーターとストラテジー
HSM BULLET//@version=5
indicator('HSM BULLET', 'HSM BULLET', overlay=true, max_bars_back=500, explicit_plot_zorder=true)
import boitoki/AwesomeColor/4 as ac
import boitoki/Utilities/3 as util
///////////////
// Groups
///////////////
g0 = 'GENERAL'
g1_01 = '♯1 SESSION'
g1_02 = '♯2 SESSION'
g1_03 = '♯3 SESSION'
g1_04 = '♯4 SESSION'
g4 = 'BOX'
g6 = 'LABELS'
g5 = 'OPENING RANGE'
g7 = 'FIBONACCI LEVELS'
g8 = 'OPTIONS'
g11 = 'CANDLE'
g10 = 'Alerts visualized'
///////////////
// Defined
///////////////
max_bars = 500
option_yes = 'Yes'
option_no = '× No'
option_extend1 = 'Yes'
option_hide = '× Hide'
option_border_style1 = '────'
option_border_style2 = '- - - - - -'
option_border_style3 = '•••••••••'
option_chart_x = '× No'
option_chart_1 = 'Bar color'
option_chart_2 = 'Candles'
fmt_price = '{0,number,#.#####}'
fmt_pips = '{0,number,#.#}'
icon_separator = ' • '
color_none = color.new(color.black, 100)
color_text = color.new(color.white, 0)
///////////////
// Functions
///////////////
f_get_time_by_bar(bar_count) => timeframe.multiplier * bar_count * 60 * 1000
f_border_style (_style) =>
switch _style
option_border_style1 => line.style_solid
option_border_style2 => line.style_dashed
option_border_style3 => line.style_dotted
=> _style
f_get_period (_session, _start, _lookback) =>
result = math.max(_start, 1)
for i = result to _lookback
if na(_session ) and _session
result := i+1
break
result
f_get_label_position (_y, _side) =>
switch _y
'top' => _side == 'outside' ? label.style_label_lower_left : label.style_label_upper_left
'bottom' => _side == 'outside' ? label.style_label_upper_left : label.style_label_lower_left
f_get_started (_session) => na(_session ) and _session
f_get_ended (_session) => na(_session) and _session
f_message_limit_bars (_v) => '⚠️ This box\'s right position exceeds 500 bars(' + str.tostring(_v) + '). This box is not displayed correctly.'
f_set_line_x1 (_line, _x) =>
if (line.get_x1(_line) != _x)
line.set_x1(_line, _x)
f_set_line_x2 (_line, _x) =>
if (line.get_x2(_line) != _x)
line.set_x2(_line, _x)
f_set_box_right (_box, _x) =>
if box.get_right(_box) != _x
box.set_right(_box, _x)
///////////////
// Inputs
///////////////
// Timezone
i_tz = input.string('GMT-4', title='Timezone', options= , tooltip='e.g. \'America/New_York\', \'Asia/Tokyo\', \'GMT-4\', \'GMT+9\'...', group=g0)
i_history_period = input.int(10, 'History', minval=0, group=g0)
i_show = i_history_period > 0
i_lookback = 12 * 60
// Sessions
i_show_sess1 = input.bool(true, 'Session 1 ', group=g1_01, inline='session1_1') and i_show
i_sess1_label = input.string('London Silver', '', group=g1_01, inline='session1_1')
i_sess1_color = input.color(#0a0a0a, '', group=g1_01, inline='session1_1')
i_sess1_barcolor1 = input.color(#0a0a0a, '•', group=g1_01, inline='session1_1')
i_sess1_barcolor2 = input.color(#0a0a0a, '', group=g1_01, inline='session1_1')
i_sess1 = input.session('0300-0400', 'Time', group=g1_01)
i_sess1_extend = input.string(option_no, 'Extend', options= , group=g1_01)
i_sess1_fib = input.string(option_no, 'Fibonacci levels', group=g1_01, options= ) != option_no
i_sess1_op = input.string(option_no, 'Opening range', group=g1_01, options= ) != option_no and i_show
i_sess1_chart = input.string(option_chart_x, 'Bar', options= , group=g1_01)
i_sess1_barcolor = i_sess1_chart == option_chart_1
i_sess1_plotcandle = i_sess1_chart == option_chart_2
i_show_sess2 = input.bool(true, 'Session 2 ', group=g1_02, inline='session2_1') and i_show
i_sess2_label = input.string('NY AM Bullet', '', group=g1_02, inline='session2_1')
i_sess2_color = input.color(#0a0a0a, '', group=g1_02, inline='session2_1')
i_sess2_barcolor1 = input.color(#0a0a0a, '•', group=g1_02, inline='session2_1')
i_sess2_barcolor2 = input.color(#0a0a0a, '', group=g1_02, inline='session2_1')
i_sess2 = input.session('1000-1100', 'Time', group=g1_02)
i_sess2_extend = input.string(option_no, 'Extend', options= , group=g1_02)
i_sess2_fib = input.string(option_no, 'Fibonacci levels', group=g1_02, options= ) != option_no
i_sess2_op = input.string(option_no, 'Opening range', group=g1_02, options= ) != option_no and i_show
i_sess2_chart = input.string(option_chart_x, 'Bar', options= , group=g1_02)
i_sess2_barcolor = i_sess2_chart == option_chart_1
i_sess2_plotcandle = i_sess2_chart == option_chart_2
i_show_sess3 = input.bool(true, 'Session 3 ', group=g1_03, inline='session3_1') and i_show
i_sess3_label = input.string('NY PM Bullet', '', group=g1_03, inline='session3_1')
i_sess3_color = input.color(#0a0a0a, '', group=g1_03, inline='session3_1')
i_sess3_barcolor1 = input.color(#0a0a0a, '•', group=g1_03, inline='session3_1')
i_sess3_barcolor2 = input.color(#0a0a0a, '', group=g1_03, inline='session3_1')
i_sess3 = input.session('1400-1500', 'Time', group=g1_03)
i_sess3_extend = input.string(option_no, 'Extend', options= , group=g1_03)
i_sess3_fib = input.string(option_no, 'Fibonacci levels', group=g1_03, options= ) != option_no
i_sess3_op = input.string(option_no, 'Opening range', group=g1_03, options= ) != option_no and i_show
i_sess3_chart = input.string(option_chart_x, 'Bar', options= , group=g1_03)
i_sess3_barcolor = i_sess3_chart == option_chart_1
i_sess3_plotcandle = i_sess3_chart == option_chart_2
i_show_sess4 = input.bool(true, 'Session 4 ', group=g1_04, inline='session4_1') and i_show
i_sess4_label = input.string(' ', '', group=g1_04, inline='session4_1')
i_sess4_color = input.color(#0a0a0a, '', group=g1_04, inline='session4_1')
i_sess4_barcolor1 = input.color(#0a0a0a, '•', group=g1_04, inline='session4_1')
i_sess4_barcolor2 = input.color(#0a0a0a, '', group=g1_04, inline='session4_1')
i_sess4 = input.session('1000-1000', 'Time', group=g1_04)
i_sess4_extend = input.string(option_no, 'Extend', options= , group=g1_04)
i_sess4_fib = input.string(option_no, 'Fibonacci levels', group=g1_04, options= ) != option_no
i_sess4_op = input.string(option_no, 'Opening range', group=g1_04, options= ) != option_no and i_show
i_sess4_chart = input.string(option_chart_x, 'Bar', options= , group=g1_04)
i_sess4_barcolor = i_sess4_chart == option_chart_1
i_sess4_plotcandle = i_sess4_chart == option_chart_2
// Show & Styles
i_sess_box_style = input.string('Box', 'Style', options= , group=g4)
i_sess_border_style = f_border_style(input.string(option_border_style2, 'Line style', options= , group=g4))
i_sess_border_width = input.int(1, 'Thickness', minval=0, group=g4)
i_sess_bgopacity = input.int(94, 'Transp', minval=0, maxval=100, step=1, group=g4, tooltip='Setting the 100 is no background color')
// Candle
option_candle_body = 'OC'
option_candle_wick = 'OHLC'
i_candle = input.string(option_hide, 'Display', options= , group=g11)
i_candle_border_width = input.int(2, 'Thickness', minval=0, group=g11)
i_show_candle = (i_candle != option_hide) and (i_candle_border_width > 0)
i_show_candle_wick = i_candle == option_candle_wick
option_candle_color1 = 'Session\'s'
option_candle_color2 = 'Red • Green'
i_candle_color = input.string(option_candle_color2, 'Color ', options= , group=g11, inline='candle_color')
i_candle_color_g = input.color(#A6E22E, '', group=g11, inline='candle_color')
i_candle_color_r = input.color(#F92672, '', group=g11, inline='candle_color')
// Labels
i_label_show = input.bool(true, 'Labels', inline='label_show', group=g6) and i_show
i_label_size = str.lower(input.string('Small', '', options= , inline='label_show', group=g6))
i_label_position_y = str.lower(input.string('Top', '', options= , inline='label_show', group=g6))
i_label_position_s = str.lower(input.string('Outside', '', options= , inline='label_show', group=g6))
i_label_position = f_get_label_position(i_label_position_y, i_label_position_s)
i_label_format_name = input.bool(true, 'Name', inline='label_format', group=g6)
i_label_format_day = input.bool(false, 'Day', inline='label_format', group=g6)
i_label_format_price = input.bool(false, 'Price', inline='label_format', group=g6)
i_label_format_pips = input.bool(false, 'Pips', inline='label_format', group=g6)
// Fibonacci levels
i_f_linestyle = f_border_style(input.string(option_border_style1, title="Style", options= , group=g7))
i_f_linewidth = input.int(1, title="Thickness", minval=1, group=g7)
// Opening range
i_o_minutes = input.int(15, title='Periods (minutes)', minval=1, step=1, group=g5)
i_o_minutes := math.max(i_o_minutes, timeframe.multiplier + 1)
i_o_transp = input.int(88, title='Transp', minval=0, maxval=100, step=1, group=g5)
// Alerts
i_alert1_show = input.bool(false, 'Alerts - Sessions stard/end', group=g10)
i_alert2_show = input.bool(false, 'Alerts - Opening range breakouts', group=g10)
i_alert3_show = input.bool(false, 'Alerts - Price crossed session\'s High/Low after session closed', group=g10)
// ------------------------
// Drawing labels
// ------------------------
f_render_label (_show, _session, _is_started, _color, _top, _bottom, _text, _labels) =>
var label my_label = na
var int start_time = na
v_position_y = (i_label_position_y == 'top') ? _top : _bottom
v_label = array.new_string()
v_chg = _top - _bottom
if _is_started
start_time := time
if i_label_format_name and not na(_text)
array.push(v_label, _text)
if i_label_format_day
array.push(v_label, util.get_day(dayofweek(start_time, i_tz)))
if i_label_format_price
array.push(v_label, str.format(fmt_price, v_chg))
if i_label_format_pips
array.push(v_label, str.format(fmt_pips, util.toPips(v_chg)) + ' pips')
if _show
if _is_started
my_label := label.new(bar_index, v_position_y, array.join(v_label, icon_separator), textcolor=_color, color=color_none, size=i_label_size, style=i_label_position)
array.push(_labels, my_label)
util.clear_labels(_labels, i_history_period)
else if _session
label.set_y(my_label, v_position_y)
label.set_text(my_label, array.join(v_label, icon_separator))
// ------------------------
// Drawing Fibonacci levels
// ------------------------
f_render_fibonacci (_show, _session, _is_started, _x1, _x2, _color, _top, _bottom, _level, _width, _style, _is_extend, _lines) =>
var line my_line = na
if _show
y = (_top - _bottom) * _level + _bottom
if _is_started
my_line := line.new(_x1, y, _x2, y, width=_width, color=color.new(_color, 30), style=_style)
array.push(_lines, my_line)
if _is_extend
line.set_extend(my_line, extend.right)
else if _session
line.set_y1(my_line, y)
line.set_y2(my_line, y)
f_set_line_x2(my_line, _x2)
// ------------------------
// Drawing Opening range
// ------------------------
f_render_oprange (_show, _session, _is_started, _x1, _x2, _color, _max, _is_extend, _boxes) =>
var int start_time = na
var box my_box = na
top = ta.highest(high, _max)
bottom = ta.lowest(low, _max)
is_crossover = ta.crossover(close, box.get_top(my_box))
is_crossunder = ta.crossunder(close, box.get_bottom(my_box))
if _show
if _is_started
util.clear_boxes(_boxes, math.max(0, i_history_period - 1))
start_time := time
my_box := na
else if _session
time_op = start_time + (i_o_minutes * 60 * 1000)
time_op_delay = time_op - f_get_time_by_bar(1)
if time <= time_op and time > time_op_delay
my_box := box.new(_x1, top, _x2, bottom, border_width=0, bgcolor=color.new(_color, i_o_transp))
array.push(_boxes, my_box)
if _is_extend
box.set_extend(my_box, extend.right)
my_box
else
f_set_box_right(my_box, _x2)
if is_crossover
alert('Price crossed over the opening range', alert.freq_once_per_bar)
if i_alert2_show
label.new(bar_index, box.get_top(my_box), "×", color=color.blue, textcolor=ac.tradingview('blue'), style=label.style_none, size=size.large)
if is_crossunder
alert('Price crossed under the opening range', alert.freq_once_per_bar)
if i_alert2_show
label.new(bar_index, box.get_bottom(my_box), "×", color=color.red, textcolor=ac.tradingview('red'), style=label.style_none, size=size.large)
my_box
// ------------------------
// Drawing candle
// ------------------------
f_render_candle (_show, _session, _is_started, _is_ended, _color, _top, _bottom, _open, _x1, _x2, _boxes, _lines) =>
var box body = na
var line wick1 = na
var line wick2 = na
border_width = i_candle_border_width
cx = math.round(math.avg(_x2, _x1)) - math.round(border_width / 2)
body_color = i_candle_color == option_candle_color2 ? close > _open ? i_candle_color_g : i_candle_color_r : _color
if _show
if _is_started
body := box.new(_x1, _top, _x2, _bottom, body_color, border_width, line.style_solid, bgcolor=color.new(color.black, 100))
wick1 := i_show_candle_wick ? line.new(cx, _top, cx, _top, color=_color, width=border_width, style=line.style_solid) : na
wick2 := i_show_candle_wick ? line.new(cx, _bottom, cx, _bottom, color=_color, width=border_width, style=line.style_solid) : na
array.push(_boxes, body)
array.push(_lines, wick1)
array.push(_lines, wick2)
util.clear_boxes(_boxes, i_history_period)
util.clear_lines(_lines, i_history_period * 2)
else if _session
top = math.max(_open, close)
bottom = math.min(_open, close)
box.set_top(body, top)
box.set_bottom(body, bottom)
box.set_right(body, _x2)
box.set_border_color(body, body_color)
line.set_y1(wick1, _top)
line.set_y2(wick1, top)
f_set_line_x1(wick1, cx)
f_set_line_x2(wick1, cx)
line.set_color(wick1, body_color)
line.set_y1(wick2, _bottom)
line.set_y2(wick2, bottom)
f_set_line_x1(wick2, cx)
f_set_line_x2(wick2, cx)
line.set_color(wick2, body_color)
else if _is_ended
box.set_right(body, bar_index)
// ------------------------
// Rendering limit message
// ------------------------
f_render_limitmessage (_show, _session, _is_started, _is_ended, _x, _y, _rightbars) =>
var label my_note = na
if _show
if _is_started
if _rightbars > max_bars
my_note := label.new(_x, _y, f_message_limit_bars(_rightbars), style=label.style_label_upper_left, color=color.yellow, textalign=text.align_left, yloc=yloc.price)
else if _session
if _rightbars > max_bars
label.set_y(my_note, _y)
label.set_text(my_note, f_message_limit_bars(_rightbars))
else
label.delete(my_note)
else if _is_ended
label.delete(my_note)
true
// Rendering session
//
f_render_sessionrange (_show, _session, _is_started, _is_ended, _color, _top, _bottom, _x1, _x2, _is_extend, _lines) =>
var line above_line = na
var line below_line = na
if _show
if _is_started
above_line := line.new(_x1, _top, _x2, _top, width=i_sess_border_width, style=i_sess_border_style, color=_color)
below_line := line.new(_x1, _bottom, _x2, _bottom, width=i_sess_border_width, style=i_sess_border_style, color=_color)
linefill.new(above_line, below_line, color.new(_color, i_sess_bgopacity))
array.push(_lines, above_line)
array.push(_lines, below_line)
util.clear_lines(_lines, i_history_period * 2)
if _is_extend
line.set_extend(above_line, extend.right)
line.set_extend(below_line, extend.right)
else if _session
line.set_y1(above_line, _top)
line.set_y2(above_line, _top)
line.set_x2(above_line, _x2)
line.set_y1(below_line, _bottom)
line.set_y2(below_line, _bottom)
line.set_x2(below_line, _x2)
true
else if _is_ended
true
true
// ------------------------
// Rendering session box
// ------------------------
f_render_session (_show, _session, _is_started, _is_ended, _color, _top, _bottom, _x1, _x2, _is_extend, _boxes) =>
var box my_box = na
if _show
if _is_started
my_box := box.new(_x1, _top, _x2, _bottom, _color, i_sess_border_width, i_sess_border_style, bgcolor=color.new(_color, i_sess_bgopacity))
array.push(_boxes, my_box)
util.clear_boxes(_boxes, i_history_period)
if _is_extend
box.set_extend(my_box, extend.right)
else if _session
box.set_top(my_box, _top)
box.set_bottom(my_box, _bottom)
f_set_box_right(my_box, _x2)
else if _is_ended
box.set_right(my_box, bar_index)
my_box
// ------------------------
// Drawing market
// ------------------------
f_render_main (_show, _session, _is_started, _is_ended, _color, _top, _bottom) =>
var box my_box = na
var label my_note = na
var x1 = 0
var x2 = 0
var session_open = 0.0
var session_high = 0.0
var session_low = 0.0
x0_1 = ta.valuewhen(na(_session ) and _session, bar_index, 1)
x0_2 = ta.valuewhen(na(_session) and _session , bar_index, 0)
x0_d = math.abs(x0_2 - x0_1)
limit_bars = max_bars
rightbars = x0_d
if _show
if _is_started
x1 := bar_index
x2 := bar_index + (math.min(x0_d, limit_bars))
session_open := open
session_high := _top
session_low := _bottom
else if _session
true_x2 = x1 + x0_d
rightbars := true_x2 - bar_index
limit_bars := bar_index + max_bars
x2 := math.min(true_x2, limit_bars)
session_high := _top
session_low := _bottom
else if _is_ended
session_open := na
// ------------------------
// Drawing
// ------------------------
draw (_show, _session, _color, _label, _extend, _show_fib, _show_op, _lookback, _boxes_session, _lines_session, _boxes_candle_body, _lines_candle_wick, _boxes_op, _lines_fib, _labels) =>
max = f_get_period(_session, 1, _lookback)
top = ta.highest(high, max)
bottom = ta.lowest(low, max)
is_started = f_get_started(_session)
is_ended = f_get_ended(_session)
is_extend = _extend != option_no
= f_render_main(_show, _session, is_started, is_ended, _color, top, bottom)
if i_sess_box_style == 'Box'
f_render_session(_show, _session, is_started, is_ended, _color, top, bottom, x1, x2, is_extend, _boxes_session)
if i_sess_box_style == 'Sandwich'
f_render_sessionrange(_show, _session, is_started, is_ended, _color, top, bottom, x1, x2, is_extend, _lines_session)
if i_show_candle
f_render_candle(_show, _session, is_started, is_ended, _color, top, bottom, _open, x1, x2, _boxes_candle_body, _lines_candle_wick)
if i_label_show
f_render_label(_show, _session, is_started, _color, top, bottom, _label, _labels)
if _show_op
f_render_oprange(_show, _session, is_started, x1, x2, _color, max, is_extend, _boxes_op)
if _show_fib
f_render_fibonacci(_show, _session, is_started, x1, x2, _color, top, bottom, 0.500, 2, line.style_solid, is_extend, _lines_fib)
f_render_fibonacci(_show, _session, is_started, x1, x2, _color, top, bottom, 0.628, i_f_linewidth, i_f_linestyle, is_extend, _lines_fib)
f_render_fibonacci(_show, _session, is_started, x1, x2, _color, top, bottom, 0.382, i_f_linewidth, i_f_linestyle, is_extend, _lines_fib)
util.clear_lines(_lines_fib, i_history_period * 3)
f_render_limitmessage(_show, _session, is_started, is_ended, x1, bottom, _rightbars)
///////////////////
// Calculating
///////////////////
string tz = (i_tz == option_no or i_tz == '') ? na : i_tz
int sess1 = time(timeframe.period, i_sess1, tz)
int sess2 = time(timeframe.period, i_sess2, tz)
int sess3 = time(timeframe.period, i_sess3, tz)
int sess4 = time(timeframe.period, i_sess4, tz)
///////////////////
// Plotting
///////////////////
var sess1_box = array.new()
var sess2_box = array.new()
var sess3_box = array.new()
var sess4_box = array.new()
var sess1_line = array.new()
var sess2_line = array.new()
var sess3_line = array.new()
var sess4_line = array.new()
var sess1_op = array.new()
var sess2_op = array.new()
var sess3_op = array.new()
var sess4_op = array.new()
var sess1_fib = array.new()
var sess2_fib = array.new()
var sess3_fib = array.new()
var sess4_fib = array.new()
var sess1_candle_body = array.new()
var sess2_candle_body = array.new()
var sess3_candle_body = array.new()
var sess4_candle_body = array.new()
var sess1_candle_wick = array.new()
var sess2_candle_wick = array.new()
var sess3_candle_wick = array.new()
var sess4_candle_wick = array.new()
var sess1_labels = array.new()
var sess2_labels = array.new()
var sess3_labels = array.new()
var sess4_labels = array.new()
= draw(i_show_sess1, sess1, i_sess1_color, i_sess1_label, i_sess1_extend, i_sess1_fib, i_sess1_op, i_lookback, sess1_box, sess1_line, sess1_candle_body, sess1_candle_wick, sess1_op, sess1_fib, sess1_labels)
= draw(i_show_sess2, sess2, i_sess2_color, i_sess2_label, i_sess2_extend, i_sess2_fib, i_sess2_op, i_lookback, sess2_box, sess2_line, sess2_candle_body, sess2_candle_wick, sess2_op, sess2_fib, sess2_labels)
= draw(i_show_sess3, sess3, i_sess3_color, i_sess3_label, i_sess3_extend, i_sess3_fib, i_sess3_op, i_lookback, sess3_box, sess3_line, sess3_candle_body, sess3_candle_wick, sess3_op, sess3_fib, sess3_labels)
= draw(i_show_sess4, sess4, i_sess4_color, i_sess4_label, i_sess4_extend, i_sess4_fib, i_sess4_op, i_lookback, sess4_box, sess4_line, sess4_candle_body, sess4_candle_wick, sess4_op, sess4_fib, sess4_labels)
is_positive_bar = close > open
color c_barcolor = na
color c_plotcandle = na
c_sess1_barcolor = (is_sess1) ? (is_positive_bar ? i_sess1_barcolor1 : i_sess1_barcolor2) : na
c_sess2_barcolor = (is_sess2) ? (is_positive_bar ? i_sess2_barcolor1 : i_sess2_barcolor2) : na
c_sess3_barcolor = (is_sess3) ? (is_positive_bar ? i_sess3_barcolor1 : i_sess3_barcolor2) : na
c_sess4_barcolor = (is_sess4) ? (is_positive_bar ? i_sess4_barcolor1 : i_sess4_barcolor2) : na
if (i_sess1_chart != option_chart_x) and is_sess1
c_barcolor := i_sess1_barcolor ? c_sess1_barcolor : na
c_plotcandle := i_sess1_plotcandle ? c_sess1_barcolor : na
if (i_sess2_chart != option_chart_x) and is_sess2
c_barcolor := i_sess2_barcolor ? c_sess2_barcolor : na
c_plotcandle := i_sess2_plotcandle ? c_sess2_barcolor : na
if (i_sess3_chart != option_chart_x) and is_sess3
c_barcolor := i_sess3_barcolor ? c_sess3_barcolor : na
c_plotcandle := i_sess3_plotcandle ? c_sess3_barcolor : na
if (i_sess4_chart != option_chart_x) and is_sess4
c_barcolor := i_sess4_barcolor ? c_sess4_barcolor : na
c_plotcandle := i_sess4_plotcandle ? c_sess4_barcolor : na
barcolor(c_barcolor)
plotcandle(open, high, low, close, color=is_positive_bar ? color_none : c_plotcandle, bordercolor=c_plotcandle, wickcolor=c_plotcandle)
////////////////////
// Alerts
////////////////////
// Session alerts
sess1_started = is_sess1 and not is_sess1 , sess1_ended = not is_sess1 and is_sess1
sess2_started = is_sess2 and not is_sess2 , sess2_ended = not is_sess2 and is_sess2
sess3_started = is_sess3 and not is_sess3 , sess3_ended = not is_sess3 and is_sess3
sess4_started = is_sess4 and not is_sess4 , sess4_ended = not is_sess4 and is_sess4
alertcondition(sess1_started, 'Session #1 started')
alertcondition(sess1_ended, 'Session #1 ended')
alertcondition(sess2_started, 'Session #2 started')
alertcondition(sess2_ended, 'Session #2 ended')
alertcondition(sess3_started, 'Session #3 started')
alertcondition(sess3_ended, 'Session #3 ended')
alertcondition(sess4_started, 'Session #4 started')
alertcondition(sess4_ended, 'Session #4 ended')
alertcondition((not is_sess1) and ta.crossover(close, sess1_high), 'Session #1 High crossed (after session closed)')
alertcondition((not is_sess1) and ta.crossunder(close, sess1_low), 'Session #1 Low crossed (after session closed)')
alertcondition((not is_sess2) and ta.crossover(close, sess2_high), 'Session #2 High crossed (after session closed)')
alertcondition((not is_sess2) and ta.crossunder(close, sess2_low), 'Session #2 Low crossed (after session closed)')
alertcondition((not is_sess3) and ta.crossover(close, sess3_high), 'Session #3 High crossed (after session closed)')
alertcondition((not is_sess3) and ta.crossunder(close, sess3_low), 'Session #3 Low crossed (after session closed)')
alertcondition((not is_sess4) and ta.crossover(close, sess4_high), 'Session #4 High crossed (after session closed)')
alertcondition((not is_sess4) and ta.crossunder(close, sess4_low), 'Session #4 Low crossed (after session closed)')
// Alerts visualized
if i_alert1_show
if i_show_sess1
if sess1_started
label.new(bar_index, close, 'Start', yloc=yloc.abovebar, color=i_sess1_color, textcolor=color_text, size=size.small, style=label.style_label_down)
if sess1_ended
label.new(bar_index, close, 'End' , yloc=yloc.abovebar, color=i_sess1_color, textcolor=color_text, size=size.small, style=label.style_label_down)
if i_show_sess2
if sess2_started
label.new(bar_index, close, 'Start', yloc=yloc.abovebar, color=i_sess2_color, textcolor=color_text, size=size.small, style=label.style_label_down)
if sess2_ended
label.new(bar_index, close, 'End' , yloc=yloc.abovebar, color=i_sess2_color, textcolor=color_text, size=size.small, style=label.style_label_down)
if i_show_sess3
if sess3_started
label.new(bar_index, close, 'Start', yloc=yloc.abovebar, color=i_sess3_color, textcolor=color_text, size=size.small, style=label.style_label_down)
if sess3_ended
label.new(bar_index, close, 'End' , yloc=yloc.abovebar, color=i_sess3_color, textcolor=color_text, size=size.small, style=label.style_label_down)
if i_show_sess4
if sess4_started
label.new(bar_index, close, 'Start', yloc=yloc.abovebar, color=i_sess4_color, textcolor=color_text, size=size.small, style=label.style_label_down)
if sess4_ended
label.new(bar_index, close, 'End' , yloc=yloc.abovebar, color=i_sess4_color, textcolor=color_text, size=size.small, style=label.style_label_down)
plot(i_alert3_show ? sess1_high : na, 'sess1_high', style=plot.style_linebr, color=i_sess1_color)
plot(i_alert3_show ? sess1_low : na, 'sess1_low' , style=plot.style_linebr, color=i_sess1_color, linewidth=2)
plot(i_alert3_show ? sess2_high : na, 'sess2_high', style=plot.style_linebr, color=i_sess2_color)
plot(i_alert3_show ? sess2_low : na, 'sess2_low' , style=plot.style_linebr, color=i_sess2_color, linewidth=2)
plot(i_alert3_show ? sess3_high : na, 'sess3_high', style=plot.style_linebr, color=i_sess3_color)
plot(i_alert3_show ? sess3_low : na, 'sess3_low' , style=plot.style_linebr, color=i_sess3_color, linewidth=2)
plot(i_alert3_show ? sess4_high : na, 'sess4_high', style=plot.style_linebr, color=i_sess4_color)
plot(i_alert3_show ? sess4_low : na, 'sess4_low' , style=plot.style_linebr, color=i_sess4_color, linewidth=2)
plotshape(i_alert3_show and (not is_sess1) and ta.crossover(close, sess1_high) ? sess1_high : na, 'cross sess1_high', color=i_sess1_color, style=shape.triangleup, location=location.absolute, size=size.tiny)
plotshape(i_alert3_show and (not is_sess1) and ta.crossunder(close, sess1_low) ? sess1_low : na, 'cross sess1_low', color=i_sess1_color, style=shape.triangledown, location=location.absolute, size=size.tiny)
plotshape(i_alert3_show and (not is_sess2) and ta.crossover(close, sess2_high) ? sess2_high : na, 'cross sess2_high', color=i_sess2_color, style=shape.triangleup, location=location.absolute, size=size.tiny)
plotshape(i_alert3_show and (not is_sess2) and ta.crossunder(close, sess2_low) ? sess2_low : na, 'cross sess2_low', color=i_sess2_color, style=shape.triangledown, location=location.absolute, size=size.tiny)
plotshape(i_alert3_show and (not is_sess3) and ta.crossover(close, sess3_high) ? sess3_high : na, 'cross sess3_high', color=i_sess3_color, style=shape.triangleup, location=location.absolute, size=size.tiny)
plotshape(i_alert3_show and (not is_sess3) and ta.crossunder(close, sess3_low) ? sess3_low : na, 'cross sess3_low', color=i_sess3_color, style=shape.triangledown, location=location.absolute, size=size.tiny)
plotshape(i_alert3_show and (not is_sess4) and ta.crossover(close, sess4_high) ? sess4_high : na, 'cross sess4_high', color=i_sess4_color, style=shape.triangleup, location=location.absolute, size=size.tiny)
plotshape(i_alert3_show and (not is_sess4) and ta.crossunder(close, sess4_low) ? sess4_low : na, 'cross sess4_low', color=i_sess4_color, style=shape.triangledown, location=location.absolute, size=size.tiny)
THE LION OB V1.0O melhor script para binárias baseada nos padrões de martelo e estrela cadente (com backtest)
EMAs & SMAs [Pacote com várias médias] //@version=5
indicator("EMAs-SMAs", overlay=true)
// Fonte
src = input.source(close, "Fonte (source)")
// ==============================
// EMAs
// ==============================
ema3 = ta.ema(src, 3)
ema4 = ta.ema(src, 4)
ema5 = ta.ema(src, 5)
ema7 = ta.ema(src, 7)
ema9 = ta.ema(src, 9)
ema17 = ta.ema(src, 17)
ema18 = ta.ema(src, 18)
ema21 = ta.ema(src, 21)
ema34 = ta.ema(src, 34)
ema40 = ta.ema(src, 40)
ema50 = ta.ema(src, 50)
ema55 = ta.ema(src, 55)
ema72 = ta.ema(src, 72)
ema80 = ta.ema(src, 80)
ema96 = ta.ema(src, 96)
ema100 = ta.ema(src, 100)
ema200 = ta.ema(src, 200)
plot(ema3, "EMA 3", color=color.new(color.blue, 0), linewidth=2)
plot(ema4, "EMA 4", color=color.new(color.red, 0), linewidth=2)
plot(ema5, "EMA 5", color=color.new(color.green, 0), linewidth=2)
plot(ema7, "EMA 7", color=color.new(color.orange, 0), linewidth=2)
plot(ema9, "EMA 9", color=color.new(color.orange, 0), linewidth=2)
plot(ema17, "EMA 17", color=color.new(color.blue, 0), linewidth=2)
plot(ema18, "EMA 18", color=color.new(color.red, 0), linewidth=2)
plot(ema21, "EMA 21", color=color.new(color.green, 0), linewidth=2)
plot(ema34, "EMA 34", color=color.new(color.orange, 0), linewidth=2)
plot(ema40, "EMA 40", color=color.new(color.orange, 0), linewidth=2)
plot(ema50, "EMA 50", color=color.new(color.blue, 0), linewidth=2)
plot(ema55, "EMA 55", color=color.new(color.red, 0), linewidth=2)
plot(ema72, "EMA 72", color=color.new(color.green, 0), linewidth=2)
plot(ema80, "EMA 80", color=color.new(color.orange, 0), linewidth=2)
plot(ema96, "EMA 96", color=color.new(color.orange, 0), linewidth=2)
plot(ema100, "EMA 100", color=color.new(color.blue, 0), linewidth=2)
plot(ema200, "EMA 200", color=color.new(color.red, 0), linewidth=2)
// ==============================
// SMAs
// ==============================
sma3 = ta.sma(src, 3)
sma4 = ta.sma(src, 4)
sma5 = ta.sma(src, 5)
sma7 = ta.sma(src, 7)
sma9 = ta.sma(src, 9)
sma17 = ta.sma(src, 17)
sma18 = ta.sma(src, 18)
sma21 = ta.sma(src, 21)
sma34 = ta.sma(src, 34)
sma40 = ta.sma(src, 40)
sma50 = ta.sma(src, 50)
sma55 = ta.sma(src, 55)
sma72 = ta.sma(src, 72)
sma80 = ta.sma(src, 80)
sma96 = ta.sma(src, 96)
sma100 = ta.sma(src, 100)
sma200 = ta.sma(src, 200)
plot(sma3, "SMA 3", color=color.new(color.blue, 60), linewidth=1, style=plot.style_line)
plot(sma4, "SMA 4", color=color.new(color.red, 60), linewidth=1, style=plot.style_line)
plot(sma5, "SMA 5", color=color.new(color.green, 60), linewidth=1, style=plot.style_line)
plot(sma7, "SMA 7", color=color.new(color.orange, 60), linewidth=1, style=plot.style_line)
plot(sma9, "SMA 9", color=color.new(color.orange, 60), linewidth=1, style=plot.style_line)
plot(sma17, "SMA 17", color=color.new(color.orange, 60), linewidth=1, style=plot.style_line)
plot(sma18, "SMA 18", color=color.new(color.orange, 60), linewidth=1, style=plot.style_line)
plot(sma21, "SMA 21", color=color.new(color.orange, 60), linewidth=1, style=plot.style_line)
plot(sma34, "SMA 34", color=color.new(color.orange, 60), linewidth=1, style=plot.style_line)
plot(sma40, "SMA 40", color=color.new(color.orange, 60), linewidth=1, style=plot.style_line)
plot(sma50, "SMA 50", color=color.new(color.orange, 60), linewidth=1, style=plot.style_line)
plot(sma55, "SMA 55", color=color.new(color.orange, 60), linewidth=1, style=plot.style_line)
plot(sma72, "SMA 72", color=color.new(color.orange, 60), linewidth=1, style=plot.style_line)
plot(sma80, "SMA 80", color=color.new(color.orange, 60), linewidth=1, style=plot.style_line)
plot(sma96, "SMA 96", color=color.new(color.orange, 60), linewidth=1, style=plot.style_line)
plot(sma100, "SMA 100", color=color.new(color.orange, 60), linewidth=1, style=plot.style_line)
plot(sma200, "SMA 200", color=color.new(color.orange, 60), linewidth=1, style=plot.style_line)
D|W|M - AkashDaily Weekly Monthly Divider Indicator
- Day Name
- Daily Weekly Monthly Divider
- Hide Unhide Divider
- Can Change The Color and Style
Smartmoney logic heiken ashiSmartMoney Logic Heiken Ashi (SML.HA)
Elevator pitch
SML.HA is a noise-filtered Heiken Ashi renderer designed to keep you on the right side of trend. It applies a two-stage EMA smoothing—first on raw OHLC, then on the Heiken Ashi stream—to deliver steadier candles, clearer trend blocks, and fewer whipsaws across any market or timeframe.
How it works
Smooths price (open/high/low/close) with EMA (len).
Builds Heiken Ashi from the smoothed series.
Smooths the HA candles again with EMA (len2) for cleaner structure.
Colors candles lime when HA open < HA close (bullish) and red when HA open > HA close (bearish).
What you see
Ultra-smooth HA candles that reduce intrabar noise.
Consistent color blocks that make trend and momentum shifts obvious.
Wick and body rendering aligned to the smoothed HA values for clearer pullbacks.
Inputs
EMA Length (price) (len): Controls the first smoothing pass on raw OHLC.
EMA Length (HA) (len2): Controls the second smoothing pass on the HA stream.
Tip: Larger values = smoother, slower; smaller values = quicker, more responsive.
Best practices
Use higher timeframes (H1–D1) for bias and lower timeframes (M5–M30) for execution.
Favor entries on pullbacks that respect the candle color in the dominant direction.
Combine with session filters (e.g., New York 15:00–22:00 Europe/Paris) and key levels (PDH/PDL, S/R) for higher confluence.
Pair with risk management (fixed SL/TP or ATR-based) rather than color flips alone.
Notes
SML.HA is a visualization/confirmation tool; it does not repaint after bar close.
No alerts are included by default (it focuses on clean structure).
Works on all symbols and timeframes supported by TradingView.
(FR) Description professionnelle
Présentation
SML.HA est un affichage Heiken Ashi “lissé” en deux étapes (EMA sur prix puis sur Heiken Ashi) pour réduire le bruit, clarifier les tendances et limiter les faux signaux, sur tous marchés et unités de temps.
Fonctionnement
Lissage EMA des prix (len).
Construction Heiken Ashi à partir des prix lissés.
Second lissage EMA de la série Heiken Ashi (len2).
Bougies vertes (haussières) si open HA < close HA, rouges (baissières) si open HA > close HA.
Réglages
EMA Length (price) : lissage initial des prix.
EMA Length (HA) : lissage de la série Heiken Ashi.
(Plus la valeur est grande, plus l’affichage est stable mais moins réactif.)
Bonnes pratiques
Définir le biais en H1–D1, exécuter en M5–M30.
Entrer sur repli dans le sens de la couleur dominante.
Ajouter un filtre de session (ex. New York 15:00–22:00, heure de Paris) et des niveaux clés (PDH/PDL, S/R).
Toujours encadrer par un money management strict.
Remarques
Aucun repaint après clôture de bougie.
Pas d’alertes natives (focus sur la lecture de structure).
Compatible tous actifs / toutes UT sur TradingView.
ICT ob by AyushThis indicator marks **order blocks** by detecting the first opposite candle of any pullback run and drawing a line from its **open** to the confirming candle’s close.
It works on **any timeframe (or HTF projection)**, stays clean, and only shows **solid, body-confirmed OBs**.
Date Range Performance
Calculates total change and percentage change between two dates.
Computes average change per bar and per day.
Offers arithmetic and geometric daily %.
Supports auto mode (last N trading days) and manual date range.
Displays results as a watermark on the chart.
MacAdx [GSira]📌 Indicator: ADX with Polarity + MACD Halo
🔎 Description
This indicator combines trend strength (ADX) with a dynamic MACD-based halo, providing a powerful visual confirmation tool for market direction.
The ADX with polarity colors the curve according to the dominant directional index (+DI / −DI) and the trend intensity.
The MACD Halo projects a glowing band around the ADX line, changing side, thickness, and color depending on MACD’s direction and strength.
👉 It is highly recommended to use this indicator together with Profit Long Plus for stronger confirmation of entries and exits.
⚙️ How it works
ADX with polarity
🟢 Green → Bullish polarity (+DI > −DI).
🔴 Red → Bearish polarity (−DI > +DI).
⚪ Gray → Neutral zone (weak or uncertain trend).
Optional: background shading when ADX is below threshold.
MACD Halo
📈 If MACD is bullish → halo above ADX.
🟢 Green if also above 0.
🟠 Orange if below 0 (weaker signal).
📉 If MACD is bearish → halo below ADX.
🔴 Red if also below 0.
🟠 Orange if above 0 (weaker signal).
Halo thickness dynamically increases with MACD strength (distance from signal line).
📖 Interpretation
Strong trend confirmation
Rising ADX + Green polarity + Green wide halo above → strong bullish continuation.
Rising ADX + Red polarity + Red wide halo below → strong bearish continuation.
Weak or mixed signals
Orange halo → contradiction between ADX and MACD → weak or unreliable trend.
Thin halo → low MACD strength, wait for confirmation.
👉 The best signals come when ADX polarity and MACD Halo align in direction and intensity.
✅ Advantages
Combines two of the most widely used indicators (ADX + MACD) into one clear visualization.
Helps filter out false signals.
Optimized for trend confirmation and works even better when paired with Profit Long Plus.
📌 In summary:
This indicator shows trend strength with ADX and validates it using MACD direction and momentum through a dynamic halo.
🟢 Halo above = bullish support.
🔴 Halo below = bearish support.
🟠 Orange halo = weak or conflicting trend.
For best results, use it together with Profit Long Plus to confirm high-probability entries and exits.
Gann For XAUUSDThe Gann levels for XAUUSD indicator is designed to plot dynamic Gann levels based on either the previous day’s Close price (for large-cap stocks) or the current day’s Open price (for small-cap stocks). These levels help traders identify key price zones, reversals, and potential trading opportunities.
🔑 Key Features:
Auto/Manual Toggle →
Auto Mode: Automatically fetches the previous day’s Close and today’s Open using real-time market data.
Manual Mode: Allows traders to manually input values for customized backtesting or specific scenarios.
Large vs. Small Stocks Modes → Choose between two calculation sets depending on whether you’re trading large or small stocks.
Dynamic Gann Levels → Multiple levels (e.g., ±T1, ±T2, ±T3, EB, KB, MB, AB, QB, etc.) are plotted with distinct colors for clarity.
Chart Labels → Each level is clearly labeled with its value, making it easy to read without hovering over lines.
Info Panel → Displays the active mode (Auto/Manual) and the exact Close and Open values being used.
🎯 How to Use:
Select Large Stocks mode for higher-value instruments (levels calculated from previous day’s Close).
Select Small Stocks mode for smaller instruments (levels calculated from today’s Open).
Use the Auto Mode for convenience (no daily inputs needed) or switch to Manual Mode if you want to test specific price scenarios.
Watch how price reacts to Gann levels for potential support/resistance zones and trade setups.
⚠️ Disclaimer:
This indicator is intended for educational purposes only and should not be considered financial advice. Always use proper risk management and combine with other tools/analysis before trading.
David Dang - Scalp M15/H1 (XAU/USDT)Buy/Sell indicator dedicated to XAUUSD (and) CFDs & Forex. Combines trend EMA, Volume Spike and Money Flow MFI to provide timely reversal arrow signals. Automatically displays SL/TP with RR ratio 1:2 (SL 50–70 pips), helps optimize profits and safe capital management.
SMAs, EMAs, 52W High Low, CPRThis is all in one indicator which has SMAs, EMAs, CPR, Trend ribbon and SuperTrend.
We are adding other indicator in upcoming days.
Advanced Crypto Trading Dashboard📊 Advanced Crypto Trading Dashboard
🎯 FULL DESCRIPTION FOR TRADINGVIEW POST:
🚀 WHAT IS THIS DASHBOARD?
This is an advanced multi-timeframe technical analysis dashboard designed specifically for cryptocurrency trading. Unlike basic indicators, this script combines 8 essential metrics into a single visual table, providing a 360º market overview across 4 simultaneous timeframes.
📈 ANALYZED TIMEFRAMES:
- 15M: For scalping and precise entries
- 1H: For short-term swing trades
- 4H: For intermediate analysis and confirmations
- 1D: For macro view and main trend
🎯 ADVANCED METRICS EXPLAINED:
1. 📊 MOMENTUM
- Calculation: Combines RSI (40%) + MACD (30%) + Volume (30%)
- Ratings: Bullish | Neutral ↗ | Neutral ↘ | Bearish
- Use: Identifies the strength of the current movement
2. 📈 TREND
- Calculation: Alignment of EMAs (8, 21, 55) + ADX for strength
- Signals: Strong ↗ | Strong ↘ | Trending | Ranging
- Use: Confirms trend direction and intensity
3. 💰 MONEY FLOW
- Calculation: Money Flow Index (MFI) - advanced RSI with volume
- States: Bullish | Bearish | Overbought | Oversold
- Use: Detects real buying/selling pressure (not just candle color)
4. 🎯 RSI
- Calculation: Traditional 14-period RSI
- Zones: > 70 (Overbought) | < 30 (Oversold) | Neutral
- Use: Identifies price extremes and opportunities
5. ⚡ VOLATILITY
- Calculation: ATR in percentage + state classification
- States: High | Medium | Low + exact %
- Use: Assesses risk and movement potential
6. 🔔 BB SIGNAL
- Calculation: Price position in Bollinger Bands
- Signals: Overbought | Oversold | Neutral
- Use: Confirms extremes and reversal points
7. 🎲 SCORE
- Calculation: Composite score from 0-100 based on all indicators
- Colors: Green (>75) | Yellow (40-75) | Red (<40)
- Use: Quick overall assessment of asset strength
🎨 VISUAL FEATURES:
🌈 SMART COLOR SYSTEM:
- Green: Bullish signals/buy opportunities
- Red: Bearish signals/sell opportunities
- Yellow: Neutral zones/wait for confirmation
- Blue: Neutral technical information
📍 FULL CUSTOMIZATION:
- Position: Left | Center | Right
- Size: Small | Normal | Large
- Emojis: On/Off for professional settings
- Parameters: All periods adjustable
📋 HOW TO INTERPRET:
✅ STRONG BUY SIGNAL:
- Momentum: Bullish
- Trend: Strong ↗
- Money Flow: Bullish
- RSI: 30-70 (healthy zone)
- Score: >60
❌ STRONG SELL SIGNAL:
- Momentum: Bearish
- Trend: Strong ↘
- Money Flow: Bearish
- RSI: >70 or <30 (extremes)
- Score: <40
⚠️ CAUTION ZONE:
- Conflicting signals across timeframes
- Money Flow vs. Trend divergence
- RSI at extremes with average Score
💡 USAGE STRATEGIES:
🎯 SCALPING (15M-1H):
- Check alignment between 15M and 1H
- Enter when both show the same signal
- Use Stop Loss based on volatility
📈 SWING TRADING (1H-4H):
- Confirm trend on 4H
- Enter on pullbacks in 1H
- Target based on overall Score
🏦 POSITION TRADING (4H-1D):
- Focus on 1D analysis
- Use 4H for entry timing
- Hold position until Score reverses
🔧 RECOMMENDED SETTINGS:
👨💼 FOR PROFESSIONAL TRADERS:
- Position: Center
- Size: Normal
- Emojis: Off
- Chart Timeframe: 1H
🎮 FOR BEGINNERS:
- Position: Right
- Size: Large
- Emojis: On
- Chart Timeframe: 4H
⚡ ADVANTAGES OVER OTHER DASHBOARDS:
✅ Precise Calculations: Real MFI vs. "fake buyer volume"
✅ Multi-Timeframe: 4 simultaneous analyses
✅ Composite Score: Overall view in one number
✅ Intuitive Visuals: Clear colors and symbols
✅ Fully Customizable: Adapts to any setup
✅ Zero Repaint: Reliable and stable data
✅ Optimized Performance: Doesn’t lag the chart
🎓 PRACTICAL EXAMPLE:
Asset: BTCUSDT | Timeframe: 1H
| TF | Momentum | Trend | Money Flow | RSI | Score |
|------|----------|------------|------------|-----|-------|
| 15M | Bullish | Strong ↗ | Bullish | 65 | 78 |
| 1H | Neutral↗ | Strong ↗ | Bullish | 58 | 68 |
| 4H | Neutral↘ | Trending | Bearish | 45 | 52 |
| 1D | Bearish | Strong ↘ | Bearish | 35 | 32 |
📊 Interpretation:
- Short-term: Bullish (15M-1H aligned)
- Mid-term: Conflict (4H neutral)
- Long-term: Bearish (1D negative)
- Strategy: Short-term bullish trade with tight stop
🚨 IMPORTANT NOTES:
- This indicator is a support tool, not an automated system
- Always combine with traditional chart analysis
- Test in paper trading before using real money
- Always manage risk with appropriate stop loss
- Not a holy grail - no indicator is 100% accurate
📞 SUPPORT AND FEEDBACK:
Leave your rating and comments! Your feedback helps continuously improve this tool.
Session Time Milestones Highlight & AlertSession Time Milestones Highlight & Alert
This script allows you to track and highlight specific trading session milestones on your chart with customizable times, all set in GMT+7. It provides visual cues and alerts for key market events like Tokyo Open, Shanghai Open, Asia Lunch Time, London Open, London Lunch Time, and New York Open.
Features:
Customizable Time Milestones: Adjust the times for each session directly from the settings.
Candle Highlights: The script highlights the candles at your chosen session times for quick visual identification.
Alerts: Set alerts to be notified when each session starts.
Labels: Optionally display simple labels on the chart above the candles for each milestone, with easy toggles to turn them on or off.
Note: All times are in GMT+7.
DZ/SZ 🔱BrahmastraDemand and Supply Zones:
Demand Zone:
A demand zone is a price area on a chart where buying interest is strong enough to prevent the price from falling further. It is typically formed when price drops to a level and then reverses upward with strong momentum. Traders consider it as an area where institutions or big players are likely to place buy orders.
👉 It represents support.
Supply Zone:
A supply zone is a price area where selling pressure exceeds buying pressure, causing the price to stop rising and reverse downward. It is created when price rallies to a level and then falls back sharply. This indicates the presence of sellers or institutional sell orders.
👉 It represents resistance.
🔑 Key Points:
Demand = potential buying area (support).
Supply = potential selling area (resistance).
These zones help traders identify entry and exit points.
The stronger and fresher the zone (untouched recently), the more reliable it tends to be.
RSI Divergence + MTF PanelRSI Divergence + MTF Panel
📊 Short Description
A powerful indicator for detecting RSI divergences with a multi-timeframe panel that helps traders find high-quality trading opportunities across different time intervals.
✨ Key Features
🎯 Automatic Divergence Detection
- **Bullish Divergence**: Price makes lower lows while RSI makes higher lows
- **Bearish Divergence**: Price makes higher highs while RSI makes lower highs
- Visual divergence marking with lines on the chart
- Customizable colors and line styles
📈 Multi-Timeframe Panel (MTF)
- Displays RSI from 4 fixed timeframes simultaneously (5m, 15m, 1H, 4H)
- Color-coded RSI levels:
- 🔴 Red: RSI > 70 (overbought)
- 🟢 Green: RSI < 30 (oversold)
- ⚪ White: RSI between 30-70 (neutral zone)
⚙️ Flexible Settings
- RSI period (default 14)
- Divergence detection threshold
- Data source selection (close, hl2, hlc3, ohlc4)
- Color and transparency customization
- Enable/disable indicator components
📋 How to Use
1. **Add the indicator to your chart** - it will automatically start scanning for divergences
2. **Adjust parameters** to match your trading style
3. **Monitor the MTF panel** for overall market condition overview
4. **Look for divergences** combined with other signals for confirmation
🎯 Perfect for:
- Swing trading
- Intraday trading
- Finding reversal points
- Confirming trading signals
- Multi-timeframe analysis
⚡ Advantages
- **Automation**: No need to manually search for divergences
- **Multi-functionality**: RSI analysis + MTF overview in one indicator
- **Visual clarity**: Clear signals and color coding
- **Performance**: Optimized code for fast operation
- **Flexibility**: Wide customization options
📊 Technical Details
- Uses standard RSI with customizable period
- Divergence detection algorithm based on peaks and valleys
- MTF panel updates in real-time
- Supports all asset types (stocks, forex, crypto, commodities)
🔧 Usage Recommendations
- Combine with other indicators for signal confirmation
- Consider overall market trend
- Use risk management rules
- Test settings on historical data
👥 Suitable for:
- Beginners (easy to use)
- Experienced traders (flexible settings)
- All trading styles and timeframes
---
*This indicator is designed to enhance trading efficiency and help make informed trading decisions. Always follow risk management rules and don't rely on just one indicator.*
Fed Rate Cuts (Bitcoin history)cucuyvckhvuigvkvkuifoig
ifiugvkugviogi
ktufciugiu.goigiulufutydcyifluydeky75su,l6dsl,d
Global M2 Money Supply -WinCAlgoWhat is this Indicator?
The Global M2 Money Supply Indicator aggregates the M2 money supply data from 20 major economies worldwide, converted to USD. This powerful macro-economic tool tracks the total liquidity injected into the global financial system, providing crucial insights for long-term investment decisions across all asset classes including crypto, stocks, bonds, and commodities.
Key Features:
20 Major Economies: US, EU, China, Japan, UK, Canada, Switzerland, and 13 other significant markets
USD Normalized: All currencies converted to USD for unified comparison
Real-time Data: Updates with latest central bank releases
Time Offset: Adjustable time offset for correlation analysis (-1000 to +1000 days)
Macro Analysis: Essential tool for understanding global liquidity cycles
How to Use:
Long-term Analysis: Use on weekly/monthly timeframes for macro trend identification
Liquidity Cycles: Rising M2 typically correlates with asset price increases
Market Timing: Major inflection points often coincide with policy changes
Cross-Asset Analysis: Compare with Bitcoin, Gold, Stock indices for correlation
Time Offset: Adjust offset to analyze leading/lagging relationships
Trading Applications:
Crypto Analysis: Bitcoin and altcoins often correlate with global liquidity
Stock Markets: Equity valuations tend to follow liquidity expansion/contraction
Commodities: Gold, Silver, and other commodities react to money supply changes
Bond Markets: Interest rate expectations influenced by monetary policy
Currency Analysis: Understand relative strength between major currencies
Investment Strategy:
Rising Trend: Indicates increasing global liquidity - favorable for risk assets
Declining Trend: Suggests tightening conditions - defensive positioning recommended
Acceleration/Deceleration: Changes in slope indicate shifting monetary policy
Correlation Analysis: Use time offset to find optimal lead/lag relationships
AI-JX# AI-JX v3.0 指标技术分析文档 / Technical Analysis Documentation
## 1. 指标概述 / Indicator Overview
AI-JX v3.0 是一个集成了人工智能学习系统的高级技术分析指标,结合了传统技术指标与AI预测功能,提供多维度的市场分析和交易信号。该指标基于Heikin Ashi蜡烛图和SuperTrend技术,通过AI权重学习系统动态优化参数组合。
AI-JX v3.0 is an advanced technical analysis indicator that integrates an artificial intelligence learning system, combining traditional technical indicators with AI prediction capabilities to provide multi-dimensional market analysis and trading signals. The indicator is based on Heikin Ashi candlesticks and SuperTrend technology, dynamically optimizing parameter combinations through an AI weight learning system.
## 2. 核心信号系统 / Core Signal System
### 2.1 主要交易信号 / Main Trading Signals
#### AI智能买卖信号 / AI Smart Buy/Sell Signals
- **AI买入信号 / AI Buy Signal**: 当buyScore ≥ 70分且AI确认无假突破时触发 / Triggered when buyScore ≥ 70 and AI confirms no false breakout
- **AI卖出信号 / AI Sell Signal**: 当sellScore ≥ 70分且AI确认无假突破时触发 / Triggered when sellScore ≥ 70 and AI confirms no false breakout
- **信号特点 / Signal Features**: 基于多指标融合评分,具有较高的准确性 / Based on multi-indicator fusion scoring with high accuracy
#### 传统SuperTrend信号 / Traditional SuperTrend Signals
- **传统买入 / Traditional Buy**: 趋势从下降转为上升时触发 / Triggered when trend changes from down to up
- **传统卖出 / Traditional Sell**: 趋势从上升转为下降时触发 / Triggered when trend changes from up to down
- **显示方式 / Display Method**: 小尺寸标签,作为参考信号 / Small-sized labels as reference signals
### 2.2 预测性信号 / Predictive Signals
#### 预测强买信号 / Predictive Strong Buy Signal
**触发条件 / Trigger Conditions**:
- RSI < 35 (超卖 / Oversold)
- MACD线上穿信号线 / MACD line crosses above signal line
- 价格接近支撑位(距离<2.5%) / Price near support level (distance <2.5%)
- 成交量放大确认(>1.5倍均量) / Volume confirmation (>1.5x average volume)
- 无假突破向下 / No false breakout downward
#### 预测强空信号 / Predictive Strong Sell Signal
**触发条件 / Trigger Conditions**:
- RSI > 65 (超买 / Overbought)
- MACD线下穿信号线 / MACD line crosses below signal line
- 价格接近阻力位(距离<2.5%) / Price near resistance level (distance <2.5%)
- 成交量放大确认(>1.5倍均量) / Volume confirmation (>1.5x average volume)
- 无假突破向上 / No false breakout upward
### 2.3 背离信号 / Divergence Signals
#### 预测性看涨背离 / Predictive Bullish Divergence
- 价格创新低但RSI未创新低 / Price makes new low but RSI doesn't make new low
- 结合成交量和动量确认 / Combined with volume and momentum confirmation
- 提示潜在的反转机会 / Indicates potential reversal opportunity
#### 预测性看跌背离 / Predictive Bearish Divergence
- 价格创新高但RSI未创新高 / Price makes new high but RSI doesn't make new high
- 结合成交量和动量确认 / Combined with volume and momentum confirmation
- 提示潜在的顶部风险 / Indicates potential top risk
## 3. AI学习系统 / AI Learning System
### 3.1 参数组合策略 / Parameter Combination Strategies
#### 保守型组合 / Conservative Combination
- **适用场景 / Application Scenario**: 横盘震荡市场 / Sideways oscillating markets
- **RSI周期 / RSI Period**: 21
- **MACD参数 / MACD Parameters**: 12,26,9
- **ATR周期 / ATR Period**: 14
- **特点 / Features**: 稳定性高,信号较少但准确性好 / High stability, fewer signals but good accuracy
#### 激进型组合 / Aggressive Combination
- **适用场景 / Application Scenario**: 强趋势突破市场 / Strong trending breakout markets
- **RSI周期 / RSI Period**: 12
- **MACD参数 / MACD Parameters**: 6,21,5
- **ATR周期 / ATR Period**: 10
- **特点 / Features**: 敏感性高,信号较多但需要过滤 / High sensitivity, more signals but require filtering
#### 平衡型组合 / Balanced Combination
- **适用场景 / Application Scenario**: 通用市场环境 / General market conditions
- **RSI周期 / RSI Period**: 17
- **MACD参数 / MACD Parameters**: 10,24,7
- **ATR周期 / ATR Period**: 12
- **特点 / Features**: 平衡敏感性和稳定性 / Balances sensitivity and stability
### 3.2 权重自适应调整 / Adaptive Weight Adjustment
- **学习机制 / Learning Mechanism**: 基于历史交易表现动态调整权重 / Dynamically adjusts weights based on historical trading performance
- **最小学习交易数 / Minimum Learning Trades**: 20笔 / 20 trades
- **学习速率 / Learning Rate**: 0.1 (可调 / adjustable)
- **记忆长度 / Memory Length**: 100笔交易 / 100 trades
## 4. 市场状态识别 / Market State Recognition
### 4.1 市场模式分类 / Market Pattern Classification
- **强趋势突破 / Strong Trend Breakout**: 波动率>1.5且趋势强度>5% / Volatility >1.5 and trend strength >5%
- **横盘震荡 / Sideways Oscillation**: 波动率<0.7且趋势强度<2% / Volatility <0.7 and trend strength <2%
- **上升趋势 / Uptrend**: 20日涨幅>3% / 20-day gain >3%
- **下降趋势 / Downtrend**: 20日跌幅>3% / 20-day decline >3%
- **弱势整理 / Weak Consolidation**: 其他情况 / Other conditions
### 4.2 支撑阻力分析 / Support and Resistance Analysis
#### 动态支撑阻力 / Dynamic Support and Resistance
- **计算方式 / Calculation Method**: 基于历史高低点统计 / Based on historical high/low statistics
- **强度分级 / Strength Classification**: 强/中等/弱 (基于触及次数) / Strong/Medium/Weak (based on touch count)
- **有效性 / Validity**: 价格偏差<0.2%认定为有效触及 / Price deviation <0.2% considered valid touch
#### 斐波那契关键位 / Fibonacci Key Levels
- **23.6%回撤位 / 23.6% Retracement**
- **38.2%回撤位 / 38.2% Retracement**
- **50.0%回撤位 / 50.0% Retracement**
- **61.8%回撤位 / 61.8% Retracement**
- **78.6%回撤位 / 78.6% Retracement**
## 5. 风险控制机制 / Risk Control Mechanisms
### 5.1 假突破识别 / False Breakout Identification
#### 向上假突破 / Upward False Breakout
- 价格突破阻力位后快速回落 / Price breaks resistance then quickly falls back
- 成交量萎缩(<0.8倍均量) / Volume shrinks (<0.8x average volume)
- 自动过滤相关买入信号 / Automatically filters related buy signals
#### 向下假突破 / Downward False Breakout
- 价格跌破支撑位后快速反弹 / Price breaks support then quickly rebounds
- 成交量萎缩(<0.8倍均量) / Volume shrinks (<0.8x average volume)
- 自动过滤相关卖出信号 / Automatically filters related sell signals
### 5.2 多时间框架验证 / Multi-Timeframe Validation
- **时间框架1 / Timeframe 1**: 5分钟 / 5 minutes
- **时间框架2 / Timeframe 2**: 15分钟 / 15 minutes
- **时间框架3 / Timeframe 3**: 60分钟 / 60 minutes
- **一致性要求 / Consistency Requirement**: 三个时间框架趋势方向一致时信号更可靠 / Signals are more reliable when all three timeframes show consistent trend direction
## 6. AI预测功能 / AI Prediction Features
### 6.1 趋势预测系统 / Trend Prediction System
#### 预测评分机制 / Prediction Scoring Mechanism
- **多时间框架一致性 / Multi-Timeframe Consistency**: 30分 / 30 points
- **价格动量分析 / Price Momentum Analysis**: 25分 / 25 points
- **成交量确认 / Volume Confirmation**: 20分 / 20 points
- **支撑阻力位置 / Support/Resistance Position**: 25分 / 25 points
#### 预测结果分类 / Prediction Result Classification
- **强烈看涨 / Strong Bullish**: 评分>80 / Score >80
- **温和看涨 / Moderate Bullish**: 评分60-80 / Score 60-80
- **震荡 / Sideways**: 评分40-60 / Score 40-60
- **温和看跌 / Moderate Bearish**: 评分20-40 / Score 20-40
- **强烈看跌 / Strong Bearish**: 评分<20 / Score <20
### 6.2 智能点位识别 / Smart Level Identification
#### 最佳做多点位 / Optimal Long Entry Points
- 基于支撑位和斐波那契回撤 / Based on support levels and Fibonacci retracements
- 结合RSI超卖和MACD金叉 / Combined with RSI oversold and MACD golden cross
- 提供具体价位和置信度 / Provides specific price levels and confidence scores
#### 最佳做空点位 / Optimal Short Entry Points
- 基于阻力位和斐波那契回撤 / Based on resistance levels and Fibonacci retracements
- 结合RSI超买和MACD死叉 / Combined with RSI overbought and MACD death cross
- 提供具体价位和置信度 / Provides specific price levels and confidence scores
## 7. 使用建议 / Usage Recommendations
### 7.1 信号优先级 / Signal Priority
1. **最高优先级 / Highest Priority**: AI智能信号(评分≥70) / AI smart signals (score ≥70)
2. **高优先级 / High Priority**: 预测性信号+多时间框架确认 / Predictive signals + multi-timeframe confirmation
3. **中等优先级 / Medium Priority**: 传统SuperTrend信号 / Traditional SuperTrend signals
4. **参考级别 / Reference Level**: 背离信号和支撑阻力提示 / Divergence signals and support/resistance hints
### 7.2 参数设置建议 / Parameter Setting Recommendations
#### 新手用户 / Beginner Users
- 启用AI学习系统 / Enable AI learning system
- 使用平衡型组合 / Use balanced combination
- 关注预测性信号 / Focus on predictive signals
- 重视风险控制 / Emphasize risk control
#### 经验用户 / Experienced Users
- 根据市场环境选择组合 / Choose combinations based on market conditions
- 结合多时间框架分析 / Combine multi-timeframe analysis
- 自定义学习参数 / Customize learning parameters
- 灵活运用各类信号 / Flexibly use various signal types
### 7.3 风险提示 / Risk Warnings
- **AI学习需要时间 / AI Learning Takes Time**: 至少20笔交易后才开始有效学习 / Effective learning starts after at least 20 trades
- **市场环境变化 / Market Environment Changes**: 需要定期重新训练AI系统 / AI system needs periodic retraining
- **信号延迟 / Signal Delay**: 部分信号可能存在1-2根K线的延迟 / Some signals may have 1-2 candlestick delay
- **假信号风险 / False Signal Risk**: 震荡市场中可能产生较多假信号 / May generate more false signals in choppy markets
- **过度优化 / Over-optimization**: 避免频繁调整参数导致过拟合 / Avoid frequent parameter adjustments causing overfitting
## 8. 显示面板说明 / Display Panel Description
### 8.1 AI统计面板 / AI Statistics Panel
显示内容包括 / Display contents include:
- 风险等级和买卖评分 / Risk level and buy/sell scores
- 市场状态和波动率 / Market state and volatility
- RSI当前值 / Current RSI value
- AI趋势预测和置信度 / AI trend prediction and confidence
- 最佳入场点位 / Optimal entry points
- 交易机会评估 / Trading opportunity assessment
- AI准确率统计 / AI accuracy statistics
### 8.2 AI预测信息面板 / AI Prediction Information Panel
显示内容包括 / Display contents include:
- 趋势方向和置信度 / Trend direction and confidence
- 价格目标位 / Price target levels
- 最佳做多/做空点位 / Optimal long/short entry points
- 交易机会类型 / Trading opportunity type
- 入场时机建议 / Entry timing recommendations
- 市场情绪分析 / Market sentiment analysis
- 价格形态识别 / Price pattern recognition
## 9. 总结 / Summary
AI-JX v3.0指标通过集成多种技术分析方法和AI学习能力,为交易者提供了一个全面的市场分析工具。其核心优势在于:
The AI-JX v3.0 indicator provides traders with a comprehensive market analysis tool by integrating various technical analysis methods and AI learning capabilities. Its core advantages include:
- **智能化 / Intelligence**: AI自动学习和优化参数 / AI automatically learns and optimizes parameters
- **多维度 / Multi-dimensional**: 结合趋势、动量、支撑阻力等多个维度 / Combines trend, momentum, support/resistance and other dimensions
- **预测性 / Predictive**: 提供前瞻性的市场预测 / Provides forward-looking market predictions
- **风险控制 / Risk Control**: 内置假突破识别和多重确认机制 / Built-in false breakout identification and multiple confirmation mechanisms
建议交易者在使用时结合自身交易风格和市场环境,合理设置参数,并注意风险管理。
It is recommended that traders combine their own trading style and market environment when using this indicator, set parameters reasonably, and pay attention to risk management.
Gann Static Square of 9 - CEGann Static Square of 9 - Community Edition
Welcome to the Gann Static Square of 9 - Community Edition, a meticulously crafted tool designed to empower traders with the timeless principles of W.D. Gann’s Square of 9 methodology. This indicator, offered as a community version to my other Gann Static Square of 9 indicator , lacks no features but exactly the same! It is tailored for the TradingView community and Gann Traders, providing a robust solution for analyzing price and time dynamics across various markets.
Overview
The Gann Static Square of 9 harnesses the mathematical precision of Gann’s Square of 9 chart, plotting key price and time levels based on a fixed starting point of 1. Unlike its dynamic counterpart , this static version uses a consistent origin, making it ideal for traders seeking to map Gann’s geometric angles (45°, 90°, 135°, 180°, 225°, 270°, 315°, and 360°) with a standardized framework. By adjusting the price and time units, users can tailor the indicator to suit any asset, from equities and forex to commodities and cryptocurrencies.
Key Features
Fixed Starting Point: Begins calculations at a base value of 1, providing a standardized approach to plotting Gann’s Square of 9 levels.
Comprehensive Angle Projections: Plots eight critical Gann angles (45°, 90°, 135°, 180°, 225°, 270°, 315°, and 360°), enabling precise identification of support, resistance, and time-based targets.
Customizable Price and Time Units: Adjust the price unit (Y-axis) and time unit (X-axis) to align with the specific characteristics of your chosen market, ensuring optimal fit for price action and volatility.
Horizontal and Vertical Levels: Enable horizontal price levels to identify key support and resistance zones, and vertical time levels to pinpoint potential market turning points.
Revolution Control: Extend projections across multiple 360° cycles to uncover long-term price and time objectives, with user-defined revolution counts.
Customizable Aesthetics: Assign distinct colors to each angle for enhanced chart clarity and visual differentiation.
and more!
How It Works
Configure Settings: Set the price and time units to match your asset’s characteristics, and select the desired number of revolutions to project future levels.
Enable Levels: Choose which Gann angles (45° to 360°) to display, tailoring the indicator to your analysis needs.
Visualize Key Levels: The indicator plots horizontal price levels and optional vertical time levels, each labeled with its corresponding angle and price/time value.
Analyze and Trade: Leverage the plotted levels to identify critical support, resistance, and time-based turning points, enhancing your trading strategy with Gann’s proven methodology.
Get Started
As a token of appreciation for the TradingView community, and Gann traders, this Community Edition is provided free of charge. Trade safe and enjoy!
[KINGS TREND STRATEGY] – Kings Trend + Heikin Ashi Dynamic Tool
Category: Trend-Following / Swing Trading
Timeframes: Works on all timeframes (Intraday to Swing)
Markets: Stocks, Futures, Crypto, Forex
What is this Indicator?
is a trend-following indicator that combines the Half Trend algorithm with optional Heikin Ashi smoothing.
It clearly shows the direction of the trend (Uptrend / Downtrend).
It highlights Buy and Sell signals at high-probability zones.
Optionally, you can color-code the candles based on trend direction.
Key Features
Half Trend Algorithm:
Removes price noise to clearly display the direction of the trend.
Amplitude (sensitivity) can be adjusted manually.
Heikin Ashi Mode (Optional):
Uses Heikin Ashi candles to smooth trend calculations.
Displays Trend Strength (%) to gauge how strong or weak the trend is.
Auto Buy / Sell Signals:
Up (▲) and Down (▼) arrows are plotted whenever a trend reversal occurs.
Signal colors:
#17DFAD (Aqua Green) → Uptrend Signal
#DD326B (Magenta Red) → Downtrend Signal
Dynamic Candle Coloring:
Candles can be colored automatically according to the trend.
In an uptrend, candles appear greenish; in a downtrend, reddish.
On-Chart Dashboard:
Ticker, Timeframe, and Trend Info are displayed live on the chart.
In Heikin Ashi mode, Trend Strength % is also shown.
How to Use
Add to Chart → Select Timeframe → Adjust “Amplitude”:
Low amplitude → more frequent signals (scalping).
High amplitude → fewer but more reliable signals (swing trading).
Watch Buy/Sell Arrows:
▲ Up Arrow: Indicates potential long entry (trend reversal up).
▼ Down Arrow: Indicates potential short entry (trend reversal down).
Optional Enhancements:
Enable trend candles for a cleaner chart view.
Enable Heikin Ashi mode for smoother signals.
Best Practices
Confirm signals using support/resistance levels, volume indicators, or momentum oscillators (RSI / MACD).
Higher timeframes (1H / 4H / 1D) tend to produce more reliable results.
Do not trade solely based on this indicator — risk management is essential.
Disclaimer
This indicator is for educational purposes only.
Past performance does not guarantee future results.
Always use stop-loss and proper risk control when trading.
[KINGS TRANSFORM]
Short description
KINGS TRANSFORM is a compact, transform-based momentum oscillator with a built-in trigger line and clear reference bands. It highlights crossover signals and visually marks momentum extremes to help you spot directional shifts and high-probability setups across timeframes.
Overview
KINGS TRANSFORM applies a robust transformation to price data, producing a primary oscillator and a smoothed trigger line. The indicator plots both lines along with horizontal reference bands so you can quickly see momentum bias, crossovers (signal events), and areas that historically represent strong/weak momentum.
Key features
Primary oscillator + trigger line (both plotted on the chart).
Built-in horizontal reference levels for quick overbought / oversold context.
Clear crossover signals: buy when the primary crosses above the trigger; sell when it crosses below.
Single, simple input (Length — default 9) for quick tuning.
Lightweight and fast — suitable for all timeframes and most instruments.
Clean visual design and adjustable precision for price-style plotting.
Inputs
Length — smoothing / lookback control (default 9).
No other inputs are required to run the indicator; it’s plug-and-play out of the box.
How to read the indicator (user-facing behavior — no internal formulas exposed)
Primary line vs Trigger line:
When the primary line crosses above the trigger line → a bullish signal (consider as potential long entry or confirmation).
When the primary line crosses below the trigger line → a bearish signal (consider as potential short/exit signal).
Reference bands: Multiple horizontal levels are shown to help identify strong momentum (outer bands) versus milder momentum (inner bands). Use them as context — moves into the outer bands often indicate stronger momentum conditions.
Multi-timeframe use: Works on intraday, daily and higher timeframes. For trade execution, prefer confirming the signal on a higher timeframe or combining with trend filters/support-resistance.
Best practices & recommendations
Use KINGS TRANSFORM as a confirmation tool rather than a sole trigger. Combine with price action, trend filters (moving averages / Alligator), volume, or other indicators.
Backtest and paper-trade settings on your chosen instrument and timeframe before going live.
The default Length = 9 is a starting point — increase for smoother, fewer signals; decrease for a more responsive (but noisier) reading.
Respect position sizing and risk management — no indicator is perfect.
Notes
The indicator is designed for visualization and signal identification only — it does not place orders.
Implementation details and internal transformation logic are intentionally withheld from this description. The indicator exposes clear, actionable outputs (lines, crossovers, reference bands) without revealing the underlying formulas.
Works on instruments that supply standard price series; no special data is required.
Credits & attribution
KINGS TRANSFORM — created and packaged for TradingView.
If you use or modify this script, please keep the original author attribution.