General Lean;
I am overall net bearish today. Surprised with the loss of 875 in OVN. If it ends up offering today I can see 535 on the horizon.
Ideas For Today;
NQ;
875 fades either direct or failure. Position for OVNL break into 535.
Break OVNL and offer 760. Seek 535.
665 long into 760s. (cautious near 740)
Starts to hold over 875 I will try and join into OVNHs.
Watch near 970s for LH to position for short. Hold if breaks 875. Seek 535.
Previous Day Recap;
No setup.
This idea worked on the recapture and broke OVNHS but not until the next OVN session. However only to 970..
No setup.
No setup.
Initially worked but could only reach 40.
General idea working well. I would say hold 293s on backtests and recapture 320s would be good for bulls. This 320-315 area would be good spots for bears to attempt to engage.
Levels;
//@version=5
//June 10, 2025.
//Economic Data.
indicator('NQ LEVELS', overlay=true, shorttitle='NQLEVELS')
i_trackprice = input.bool(false, 'Extend Line', 'Extends lines into future bars (dotted lines).')
i_showLevelNumber = input.bool(false, 'Append Level # (all levels)', tooltip = 'If no comment then Level # would be added to all comments')
var linecolor = color.rgb(76, 173, 253) // color.blue // color.rgb(250, 236, 157)
var linewidth = 2
var commentBoxColor = linecolor // color.black
var commentTextColor = color.white
var commentStyle = label.style_label_up
var ticker = syminfo.root
// Create series vars marking six SR prices for each pair
plotHLines = input(title='plotHLines', defval=true)
//timeperiod = input(title="timeframe", type=input.string)
type lvl
float v // value/price
string c // comment
var levels_array = array.new<lvl>()
var levels_loaded = false
var labels_array = array.new<label>()
f_get_value(p_array, p_index) =>
if p_index < array.size(p_array)
var item = array.get(p_array, p_index)
item.v
else
float(na)
f_get_level(p_index) => f_get_value(levels_array, p_index)
// f_add_level_no_comment(p_value) => array.push(levels_array, lvl.new(p_value, string(na)))
// f_add_level_with_comment(p_value, p_comment) => array.push(levels_array, lvl.new(p_value, p_comment))
f_add_level(p_value, p_comment) => array.push(levels_array, lvl.new(p_value, p_comment))
f_can_load_levels() => levels_loaded == false and array.size(levels_array) == 0
// if condition is true then the hline plots
// --------------------------------
if (ticker == 'NQ' or ticker == 'MNQ') and plotHLines and timeframe.isintraday and f_can_load_levels()
// if no comment/label then put 'string(na)' without the single quotes, e.g. string(na)
// if comment, type comment between double quotes "this is a comment".
// if comment with multiple lines use \n. Example: "This is Line 1\nThis is Line 2\nThis is Line 3."
f_add_level(20485, string(na))
f_add_level(20590, string(na))
f_add_level(20700, string(na))
f_add_level(20785, string(na))
f_add_level(20890, string(na))
f_add_level(20990, string(na))
f_add_level(21065, string(na))
f_add_level(21125, string(na))
f_add_level(21190, string(na))
f_add_level(21285, string(na))
f_add_level(21370, string(na))
f_add_level(21440, string(na))
f_add_level(21535, string(na))
f_add_level(21665, string(na))
f_add_level(21760, string(na))
f_add_level(21875, string(na))
f_add_level(21970, string(na))
f_add_level(22050, string(na))
f_add_level(22125, string(na))
f_add_level(22210, string(na))
if (ticker == 'ES' or ticker == 'MES') and plotHLines and timeframe.isintraday and f_can_load_levels()
f_add_level(5748, string(na))
f_add_level(5770, string(na))
f_add_level(5790, string(na))
f_add_level(5812, string(na))
f_add_level(5826, string(na))
f_add_level(5849, string(na))
f_add_level(5873, string(na))
f_add_level(5901, string(na))
f_add_level(5919, string(na))
f_add_level(5935, string(na))
f_add_level(5965, string(na))
f_add_level(5953, string(na))
f_add_level(5982, string(na))
f_add_level(5995, string(na))
f_add_level(6013, string(na))
f_add_level(6024, string(na))
f_add_level(6033, string(na))
f_add_level(6046, string(na))
f_add_level(6060, string(na))
if (ticker == 'RTY' or ticker == 'M2K') and plotHLines and timeframe.isintraday and f_can_load_levels()
f_add_level(1946, string(na))
f_add_level(1966, string(na))
f_add_level(1974, string(na))
f_add_level(1998, string(na))
f_add_level(2013, string(na))
f_add_level(2026, string(na))
f_add_level(2036, string(na))
f_add_level(2052, string(na))
f_add_level(2064, string(na))
f_add_level(2082, string(na))
f_add_level(2094, string(na))
f_add_level(2111, string(na))
f_add_level(2132, string(na))
f_add_level(2149, string(na))
f_add_level(2167, string(na))
f_add_level(2186, string(na))
f_add_level(2205, string(na))
f_add_level(2219, string(na))
f_add_level(2250, string(na))
f_add_level(2270, string(na))
if (ticker == 'YM' or ticker == 'MYM') and plotHLines and timeframe.isintraday and f_can_load_levels()
f_add_level(41050, string(na))
f_add_level(41350, string(na))
f_add_level(41655, string(na))
f_add_level(41780, string(na))
f_add_level(41920, string(na))
f_add_level(42125, string(na))
f_add_level(42495, string(na))
f_add_level(42705, string(na))
f_add_level(42915, string(na))
f_add_level(43115, string(na))
f_add_level(43295, string(na))
f_add_level(43430, string(na))
f_add_level(43740, string(na))
f_add_level(44000, string(na))
f_add_level(44250, string(na))
f_add_level(44550, string(na))
f_add_level(44755, string(na))
f_add_level(44910, string(na))
f_add_level(45120, string(na))
f_add_level(45255, string(na))
if (ticker == 'BTC' or ticker == 'MBT') and plotHLines and timeframe.isintraday and f_can_load_levels()
f_add_level(62750, string(na))
f_add_level(64280, string(na))
f_add_level(66455, string(na))
f_add_level(68665, string(na))
f_add_level(70880, string(na))
f_add_level(72520, string(na))
f_add_level(74320, string(na))
f_add_level(76165, string(na))
f_add_level(77535, string(na))
f_add_level(82605, string(na))
f_add_level(87055, string(na))
f_add_level(91980, string(na))
f_add_level(93700, string(na))
f_add_level(97650, string(na))
f_add_level(101460, string(na))
f_add_level(103650, string(na))
f_add_level(105060, string(na))
f_add_level(106280, string(na))
f_add_level(107520, string(na))
f_add_level(108890, string(na))
f_add_level(110830, string(na))
f_add_level(112545, string(na))
// isUp = close >= open
// Warning: Keep this line after the levels are added and before the plots.
levels_loaded := true
// Note: Level Index starts at 0, but label starts at 1.
plot(f_get_level(0 ), 'level.1',linecolor, linewidth, plot.style_line, offset=0, trackprice=i_trackprice)
plot(f_get_level(1 ), 'level.2',linecolor, linewidth, plot.style_line, offset=0, trackprice=i_trackprice)
plot(f_get_level(2 ), 'level.3',linecolor, linewidth, plot.style_line, offset=0, trackprice=i_trackprice)
plot(f_get_level(3 ), 'level.4',linecolor, linewidth, plot.style_line, offset=0, trackprice=i_trackprice)
plot(f_get_level(4 ), 'level.5',linecolor, linewidth, plot.style_line, offset=0, trackprice=i_trackprice)
plot(f_get_level(5 ), 'level.6',linecolor, linewidth, plot.style_line, offset=0, trackprice=i_trackprice)
plot(f_get_level(6 ), 'level.7',linecolor, linewidth, plot.style_line, offset=0, trackprice=i_trackprice)
plot(f_get_level(7 ), 'level.8',linecolor, linewidth, plot.style_line, offset=0, trackprice=i_trackprice)
plot(f_get_level(8 ), 'level.9',linecolor, linewidth, plot.style_line, offset=0, trackprice=i_trackprice)
plot(f_get_level(9 ), 'level.10',linecolor, linewidth, plot.style_line, offset=0, trackprice=i_trackprice)
plot(f_get_level(10), 'level.11',linecolor, linewidth, plot.style_line, offset=0, trackprice=i_trackprice)
plot(f_get_level(11), 'level.12',linecolor, linewidth, plot.style_line, offset=0, trackprice=i_trackprice)
plot(f_get_level(12), 'level.13',linecolor, linewidth, plot.style_line, offset=0, trackprice=i_trackprice)
plot(f_get_level(13), 'level.14',linecolor, linewidth, plot.style_line, offset=0, trackprice=i_trackprice)
plot(f_get_level(14), 'level.15',linecolor, linewidth, plot.style_line, offset=0, trackprice=i_trackprice)
plot(f_get_level(15), 'level.16',linecolor, linewidth, plot.style_line, offset=0, trackprice=i_trackprice)
plot(f_get_level(16), 'level.17',linecolor, linewidth, plot.style_line, offset=0, trackprice=i_trackprice)
plot(f_get_level(17), 'level.18',linecolor, linewidth, plot.style_line, offset=0, trackprice=i_trackprice)
plot(f_get_level(18), 'level.19',linecolor, linewidth, plot.style_line, offset=0, trackprice=i_trackprice)
plot(f_get_level(19), 'level.20',linecolor, linewidth, plot.style_line, offset=0, trackprice=i_trackprice)
plot(f_get_level(20), 'level.21',linecolor, linewidth, plot.style_line, offset=0, trackprice=i_trackprice)
if barstate.islast
if array.size(levels_array) != 0
if array.size(labels_array) == 0
for [idx, item] in levels_array
if i_showLevelNumber or (not na(item.c) and str.length(item.c) != 0)
labels_array.push(label.new(bar_index, item.v, i_showLevelNumber ? 'level.' + str.tostring(idx+1) + (na(item.c) ? '' : '\n' + item.c) : item.c, color=commentBoxColor, style=commentStyle, textcolor=commentTextColor))
else
for [idx, item] in labels_array
label.set_x(item, bar_index)