0% found this document useful (0 votes)
730 views9 pages

Simple Market Metrics V4.1

The document outlines the Simple Market Metrics trading system, including rules for entering and exiting trades, preferred markets, candle types, and trading hours. It emphasizes the importance of using Heikin Ashi candles and provides specific profit target values for different timeframes. Additionally, it includes risk management advice and contact information for further assistance.

Uploaded by

roby909 rossi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
730 views9 pages

Simple Market Metrics V4.1

The document outlines the Simple Market Metrics trading system, including rules for entering and exiting trades, preferred markets, candle types, and trading hours. It emphasizes the importance of using Heikin Ashi candles and provides specific profit target values for different timeframes. Additionally, it includes risk management advice and contact information for further assistance.

Uploaded by

roby909 rossi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 9

// ***************************************** ATTENTION

************************************************
//
// These metrics are not to be reproduced, copied, or distributed to anyone besides
the original owner.
// Doing so is in direct violation of Simple Market Metrics policies, and penalties
will apply.
//
// https://simplemarketmetrics.gumroad.com/l/ddcud
//
//
***********************************************************************************
*****************

//@version=5
indicator("Simple Market Metrics v4.1", max_lines_count=500, max_bars_back=500,
max_labels_count=500)
var const string x1z = "***** Simple Market Metrics Trading Rules *****"
var const string p2k = "\n\n1. How to enter a trade:\n• Wait for a Buy or Sell
signal to appear"
var const string l4m = "\n• If the signal remains when the candle closes, enter the
trade with a market or limit order"
var const string b9n = "\n\n2. How to exit a trade:\n• Take profit when the price
reaches the profit target line"
var const string t8j = "\n• Stop out of the trade if the white dot remains on the
opposite side of the profit wave only when the candle has closed."
var const string h7r = "\n\ne.g. If you are in a long trade, and a candle closes
with the white dot below the profit wave, close the trade."
var const string q0z = x1z + p2k + l4m + b9n + t8j + h7r
var const string e5v = "--------| Frequently Asked Questions |--------"
var const string u3b = "\n\n1. What markets can this be traded with?\n• Simple
Market Metrics works with any market, but the ES & NQ Futures are the preferred
markets to trade this system with."
var const string w6t = "\n\n2. What candle type should be used?\n• Simple Market
Metrics was designed to be used on Heikin Ashi candles."
var const string r1y = "\n\n3. What are the preferred trading hours?\n• The
preferred hours to trade are during the New York session between 10:00am EST and
3:00pm EST."
var const string z7m = "\n\n4. What timeframe should I trade?\n• The 1 and 2 minute
timeframes are preferred with ES & NQ Futures"
var const string j9p = "\n\n5. What should I set the profit targets to?\n• ES - 1
min: 4\n• ES - 2 min: 8\n• NQ - 1 min: 20\n• NQ - 2 min: 40"
var const string k9z = "\n\n6. How many contracts should I start trading with prop
firm accounts?\n• 50k - 5 micros on MES or MNQ \n• 150k - 2 minis on ES or NQ"
var const string k3l = e5v + u3b + w6t + r1y + z7m + j9p + k9z
var const string d5q = "Some final notes:\n\nThe Simple Market Metrics trading
system has been built specifically for trading the ES & NQ Futures markets, with
the goal of small but consistent daily profits."
var const string c2a = "\n\nAlthough you may trade any market and timeframe you
wish, it is up to you to determine the best settings for other markets and
timeframes."
var const string n4g = "\n\nTrading is risky, do not trade with money you are not
comfortable losing.\nControl your risk by managing your position size accordingly,
and please practice on a sim account before using real money."
var const string f6b = "\n\nIf you need further assistance, contact us at
[email protected]"
var const string y8s = d5q + c2a + n4g + f6b
var const string r0p = "------------------> START HERE <------------------"
g1r = input.bool(false, title="Please Read The Trading Rules ----->", group=r0p,
tooltip=q0z)
h1f = input.bool(false, title="Frequently Asked Questions ------->", group=r0p,
tooltip=k3l)
b2l = input.bool(false, title="Final Notes & Contact Info --------->", group=r0p,
tooltip=y8s)
var bool d7c = false
var b8v = '----- Signal Settings -----'
n7s = input.bool(true, title='Enable Buy & Sell Signals', group=b8v)
c6j = input.color(color.new(#4caf50, 0), 'Buy Signal Color', group=b8v)
q8o = input.color(color.new(#b22833, 0), 'Sell Signal Color', group=b8v)
m6r = input.bool(true, title='Enable Buy & Sell Price', group=b8v)
t7z = input.bool(true, title='Enable Chop Filter', group=b8v, tooltip='This helps
to reduce signals during choppy markets, and will produce less signals overall when
enabled.')
var r7p = '----- Profit Settings -----'
j4c = input.bool(true, title='Enable Profit Target Lines', group=r7p)
w3f = input.int(20, title='Profit Target (Ticks/Pips/Cents)', group=r7p,
tooltip='Profit target value is based on the minimum move of the instrument. For
Futures that is ticks, FX is pips, Stocks are cents, etc.')
v1n = input.int(10, title='Max Profit Target Lines', group=r7p, tooltip='Maximum
amount of profit target lines to display on your chart.')
y9q = input.color(color.new(color.yellow, 0), 'Profit Target Lines Color',
group=r7p)
s5d = input.bool(true, "Enable Profit Wave", group=r7p)
x3m = input.color(color.new(#00ff8480, 50), 'Profit Wave Bullish Top Color',
group=r7p)
e4a = input.color(color.new(color.green, 50), 'Profit Wave Bullish Bottom Color',
group=r7p)
g9j = input.color(color.new(#8c0000, 50), 'Profit Wave Bearish Top Color',
group=r7p)
u5r = input.color(color.new(#ff0000, 50), 'Profit Wave Bearish Bottom Color',
group=r7p)
var t6v = '----- Background trendSwitch Settings -----'
f3n = input.bool(true, "Enable Background trendSwitch Color", group=t6v)
r3k = input.color(color.new(#66ff00, 70), 'Bullish Background Color', group=t6v)
y2w = input.color(color.new(#ff0000, 70), 'Bearish Background Color', group=t6v)
var p9t = "----- Candle Settings -----"
n3b = input.color(color.new(#089981, 0), 'Bullish Candle Color', group=p9t)
d9k = input.color(color.new(#f23645, 0), 'Bearish Candle Color', group=p9t)
o1m = input.bool(true, title='Enable Candle Color Matching', group=p9t)
f2s = input.string("Profit Wave", title='Match Candle Colors To', options=["Profit
Wave", "Trend"], group=p9t)
var j6z = '----- Support & Resistance Settings -----'
m7h = input.bool(true, title='Enable Support & Resistance Lines', group=j6z)
z4n = input.color(#ff0000, 'Resistance Lines Color', group=j6z)
h4g = input.color(#66ff00, 'Support Lines Color', group=j6z)
c5k = input.string("Dotted", options=["Dashed", "Dotted", "Solid"], title="Support
& Resistance Lines Style", group=j6z)
p8r = input.int(2, "Support & Resistance Lines Width", minval=1, maxval=5, step=1,
group=j6z)
r9l = input.string('Close', title='Extend Lines Until', options=['Touch', 'Close'],
group=j6z, tooltip='Extend the lines until price touches them or a candle closes
beyond them.')
e6b = 20
g0s = 50
var q5d = '----- Real Price Settings -----'
t4n = input(false, title="Enable Real Price Line", group=q5d)
l1w = input(false, title="Extend Real Price Line", group=q5d)
y0v = input(color.new(color.white, 0), title="Real Price Line Color", group=q5d)
s2m = input.string("Thin", options=["Thin", "Thick"], title="Real Price Line
Width", group=q5d)
n9a = input.string("Dotted", options=["Dotted", "Solid", "Dashed"], title="Real
Price Line Style", group=q5d)
x8o = input.bool(true, title="Enable Real Close Price Dots", group=q5d)
j2l = input(color.new(color.white, 0), title="Real Close Price Dot Color",
group=q5d)
k9g = input.string("Small", options=["Auto", "Small", "Large"], title="Real Close
Price Dot Size", group=q5d)
var d3h = '----- Price Channel Settings -----'
l7x = input.bool(false, "Enable Price Channel", group=d3h)
q6v = input.color(color.green, 'Bottom Price Channel Color', group=d3h)
n6b = input.color(#ff0000, 'Top Price Channel Color', group=d3h)
g4p = input.bool(false, "Extend Lines Left", group=d3h)
b3k = input.bool(false, "Extend Lines Right", group=d3h)
var x4a = "----- Dashboard Settings -----"
c8y = input.bool(true, title='Enable Buy & Sell Signals on Dashboard', group=x4a)
d8w = input.bool(false, "Enable Level Lines", group=x4a)
j5r = input.string("Solid", options=["Solid", "Dotted", "Dashed"], title="Level
Lines Style", group=x4a)
p6t = input.int(1, "trendSwitch Dots Size", minval=1, maxval=10, step=1, group=x4a)
q1r = input.int(3, "Signal Dots Size", minval=3, maxval=10, step=1, group=x4a)
u7m = input.color(color.lime, 'Money Flow Bullish Color', group=x4a)
r0n = input.color(color.red, 'Money Flow Bearish Color', group=x4a)
z9f = chart.is_heikinashi
if not z9f and not d7c
f3n := false
n7s := false
j4c := false
o1m := false
s5d := false
m7h := false
middle_price = (high + low) / 2
visible_bar_count = bar_index - ta.valuewhen(time ==
chart.left_visible_bar_time, bar_index, 0)
middle_bar_index = bar_index[visible_bar_count / 2]
var label j1l = na
if (bar_index > 0)
label.delete(j1l)
warningText = "\n⚠️ WARNING!!! ⚠️\n\nYou MUST set the chart candle type\nto
Heikin Ashi for the signals to display correctly.\n\nThis message will disappear
when you've done so.\n"
j1l := label.new(x=middle_bar_index, y=middle_price, text=warningText,
xloc=xloc.bar_index, yloc=yloc.price, style=label.style_label_center,
color=color.red, textcolor=color.white, size=size.huge,
textalign=text.align_center, force_overlay=true)
srcHlc3 = hlc3
srcOpen = open
srcHigh = high
srcLow = low
srcClose = close
real_price = ticker.new(prefix=syminfo.prefix, ticker=syminfo.ticker)
real_close = request.security(symbol=real_price, timeframe='', expression=close,
gaps=barmerge.gaps_off, lookahead=barmerge.lookahead_off)
profitWaveEmaFast = ta.ema(srcClose, 8)
profitWaveEmaMedium = ta.ema(srcClose, 13)
profitWaveEmaSlow = ta.ema(srcClose, 21)
u8t = 1
r7c = math.max(math.max(high - low, math.abs(high - nz(close[1]))), math.abs(low -
nz(close[1])))
p5y = high - nz(high[1]) > nz(low[1]) - low ? math.max(high - nz(high[1]), 0) : 0
d4h = nz(low[1]) - low > high - nz(high[1]) ? math.max(nz(low[1]) - low, 0) : 0
v5g = 0.0
v5g := nz(v5g[1]) - (nz(v5g[1]) / u8t) + r7c
p1b = 0.0
p1b := nz(p1b[1]) - (nz(p1b[1]) / u8t) + p5y
b6t = 0.0
b6t := nz(b6t[1]) - (nz(b6t[1]) / u8t) + d4h
x9n = p1b / v5g * 100
d1v = b6t / v5g * 100
t5c = (srcHigh + srcLow) / 2 - (1.3 * ta.atr(8))
j6r = (srcHigh + srcLow) / 2 + (1.3 * ta.atr(8))
float r8d = na
float t9f = na
x2m = 0
r8d := srcClose[1] > r8d[1] ? math.max(t5c, r8d[1]) : t5c
t9f := srcClose[1] < t9f[1] ? math.min(j6r, t9f[1]) : j6r
x2m := srcClose > t9f[1] ? 1 : srcClose < r8d[1] ? -1 : nz(x2m[1], 1)
u9z = x2m == 1 ? r8d : t9f
y2g = u9z == r8d
w1r = u9z == t9f
b7f = color.gray
b7f := if (srcClose > srcOpen)
n3b
else if (srcClose < srcOpen)
d9k
else
b7f[1]
if (o1m and f2s == "Trend")
b7f := if (y2g)
n3b
else if (w1r)
d9k
else
b7f[1]
else if (o1m and f2s == "Profit Wave")
b7f := if (srcClose > profitWaveEmaSlow)
n3b
else if (srcClose < profitWaveEmaSlow)
d9k
else
b7f[1]
plotcandle(srcOpen, srcHigh, srcLow, srcClose, "SMM Candles", color=b7f,
wickcolor=b7f, bordercolor=b7f, force_overlay=true)
x5y = color.white
if (y2g)
x5y := r3k
else if (w1r)
x5y := y2w
else
x5y := x5y[1]
bgcolor(f3n ? x5y : na, force_overlay=true)
var bool o1z = false
var bool k8s = false
o1z := u9z == r8d
k8s := u9z == t9f
mfl = ta.mfi(srcHlc3, 10)
enum w0y
buy = "Buy Mode"
sell = "Sell Mode"
none = "none"
var w0y y7c = w0y.none
if (x5y != x5y[1])
y7c := w0y.none
a4h = srcClose > srcOpen and srcOpen == srcLow and real_close > profitWaveEmaFast
and real_close > profitWaveEmaSlow
p4r = srcClose < srcOpen and srcOpen == srcHigh and real_close < profitWaveEmaFast
and real_close < profitWaveEmaSlow
v7g = m6r ? "\n$" + str.tostring(real_close, format.mintick) : ""
bool e1p = true
bool t2y = true
if (t7z)
e1p := math.floor(x9n) > math.floor(d1v) and math.floor(x9n) >= 45
t2y := math.floor(d1v) > math.floor(x9n) and math.floor(d1v) >= 45
else
e1p := true
t2y := true
var int u0k = na
w2f = t7z ? mfl > 52 : true
o4k = o1z and y2g and a4h and y7c != w0y.buy and w2f and e1p
if (o4k and n7s)
y7c := w0y.buy
label.new(bar_index, low, style=label.style_label_up, color=c6j,
size=size.normal, yloc=yloc.belowbar, text="Buy" + v7g, textcolor=color.white,
force_overlay=true)
u0k := bar_index
b7m = t7z ? mfl < 48 : true
o5t = k8s and w1r and p4r and y7c != w0y.sell and b7m and t2y
if (o5t and n7s)
y7c := w0y.sell
label.new(bar_index, high, style=label.style_label_down, color=q8o,
size=size.normal, yloc=yloc.abovebar, text="Sell" + v7g, textcolor=color.white,
force_overlay=true)
u0k := bar_index
var line[] n9r = array.new_line(0)
var label[] r2j = array.new_label(0)
var float x0l = na
if ((o4k or o5t) and n7s and j4c)
if array.size(n9r) >= v1n
o9m = array.get(n9r, 0)
k2f = array.get(r2j, 0)
line.delete(o9m)
label.delete(k2f)
array.remove(n9r, 0)
array.remove(r2j, 0)
x0l := o4k ? real_close + (w3f * syminfo.mintick) : o5t ? real_close - (w3f *
syminfo.mintick) : na
a2d = line.new(bar_index - 7, x0l, bar_index + 5, x0l, color=y9q, width=2,
force_overlay=true)
array.push(n9r, a2d)
q9p = label.new(bar_index - 3, x0l, text="$" + str.tostring(x0l,
format.mintick), style=label.style_none, textcolor=y9q, force_overlay=true)
array.push(r2j, q9p)
if (y7c == w0y.buy and real_close < profitWaveEmaSlow and srcClose <
profitWaveEmaSlow)
y7c := w0y.none
u0k := na
if (y7c == w0y.sell and real_close > profitWaveEmaSlow and srcClose >
profitWaveEmaSlow)
y7c := w0y.none
u0k := na
o7g = if not na(u0k) and bar_index > u0k
y7c == w0y.buy ? srcHigh >= x0l : y7c == w0y.sell ? srcLow <= x0l : na
alertcondition(condition=o4k and e1p, title='Buy alert', message='Buy')
alertcondition(condition=o5t and t2y, title='Sell alert', message='Sell')
alertcondition(condition=n7s and j4c ? o7g : na, title="Profit Target",
message="Profit Target Hit!")
if o7g
x0l := na
u0k := na
p3f = plot(s5d ? profitWaveEmaFast : na, title="Profit Wave Line 1",
color=color.new(color.white, 100), linewidth=1, force_overlay=true)
h3m = plot(s5d ? profitWaveEmaMedium : na, title="Profit Wave Line 2",
color=color.new(color.white, 100), linewidth=1, force_overlay=true)
b0y = plot(s5d ? profitWaveEmaSlow : na, title="Profit Wave Line 3",
color=color.new(color.white, 100), linewidth=1, force_overlay=true)
a3c = real_close > profitWaveEmaSlow ? x3m : color.new(color.lime, 100)
s8k = real_close > profitWaveEmaSlow ? e4a : color.new(color.green, 100)
fill(p3f, h3m, a3c)
fill(h3m, b0y, s8k)
q4m = real_close < profitWaveEmaSlow ? u5r : color.new(#ff0000, 100)
g7n = real_close < profitWaveEmaSlow ? g9j : color.new(#8c0000, 100)
fill(p3f, h3m, q4m)
fill(h3m, b0y, g7n)
w4z = switch c5k
"Solid" => line.style_solid
"Dotted" => line.style_dotted
"Dashed" => line.style_dashed
ph1 = ta.pivothigh(srcHigh, e6b, e6b)
lp8 = ta.pivotlow(srcLow, e6b, e6b)
var line[] j3r = array.new_line(0)
var line[] u5x = array.new_line(0)
var int[] f4z = array.new_int(0)
var int[] d5m = array.new_int(0)
q6x = 500
f_manage_line_limit(a5h, p2x) =>
if array.size(a5h) > g0s
line.delete(array.shift(a5h))
array.shift(p2x)
if (m7h and not na(ph1) and bar_index[e6b] >= bar_index - q6x)
h9s = srcHigh[e6b]
y3k = bar_index[e6b]
x4m = line.new(y3k, h9s, bar_index + 1, h9s, style=w4z, width=p8r, color=z4n,
extend=extend.right, force_overlay=true)
array.push(j3r, x4m)
array.push(f4z, na)
f_manage_line_limit(j3r, f4z)
if (m7h and not na(lp8) and bar_index[e6b] >= bar_index - q6x)
p0k = srcLow[e6b]
l9h = bar_index[e6b]
g9t = line.new(l9h, p0k, bar_index + 1, p0k, style=w4z, width=p8r, color=h4g,
extend=extend.right, force_overlay=true)
array.push(u5x, g9t)
array.push(d5m, na)
f_manage_line_limit(u5x, d5m)
if array.size(j3r) > 0
z8v = r9l == 'Close' ? srcClose : srcHigh
for i = 0 to array.size(j3r) - 1
b2m = array.get(j3r, i)
o6p = line.get_y1(b2m)
q3n = array.get(f4z, i)
if na(q3n)
line.set_x2(b2m, bar_index)
line.set_extend(b2m, extend.none)
if na(q3n) and z8v >= o6p
line.set_x2(b2m, bar_index)
line.set_extend(b2m, extend.none)
array.set(f4z, i, bar_index)
if array.size(u5x) > 0
t0w = r9l == 'Close' ? srcClose : srcLow
for i = 0 to array.size(u5x) - 1
a2r = array.get(u5x, i)
v0g = line.get_y1(a2r)
z9l = array.get(d5m, i)
if na(z9l)
line.set_x2(a2r, bar_index)
line.set_extend(a2r, extend.none)
if na(z9l) and t0w <= v0g
line.set_x2(a2r, bar_index)
line.set_extend(a2r, extend.none)
array.set(d5m, i, bar_index)
v4n = (x8o and k9g == "Auto" ? display.all : display.none)
p1s = (x8o and k9g == "Small" ? display.all : display.none)
m0x = (x8o and k9g == "Large" ? display.all : display.none)
g9v = switch s2m
"Thin" => 1
"Thick" => 2
if (t4n and (n9a == "Solid"))
t2r = line.new(bar_index[1], real_close, bar_index, real_close, xloc.bar_index,
(l1w ? extend.both : extend.right), y0v, line.style_solid, g9v, force_overlay=true)
line.delete(t2r[1])
if (t4n and (n9a == "Dotted"))
k2h = line.new(bar_index[1], real_close, bar_index, real_close, xloc.bar_index,
(l1w ? extend.both : extend.right), y0v, line.style_dotted, g9v,
force_overlay=true)
line.delete(k2h[1])
if (t4n and (n9a == "Dashed"))
n7r = line.new(bar_index[1], real_close, bar_index, real_close, xloc.bar_index,
(l1w ? extend.both : extend.right), y0v, line.style_dashed, g9v,
force_overlay=true)
line.delete(n7r[1])
// Real Price Line + Dots logic originally created by PHVNTOM_TRADER
plotchar(series=real_close, title="Real Close dots", location=location.absolute,
color=j2l, editable=false, char="•", size=size.auto, display=v4n,
force_overlay=true)
plotchar(series=real_close, title="Real Close dots", location=location.absolute,
color=j2l, editable=false, char="•", size=size.tiny, display=p1s,
force_overlay=true)
plotshape(series=real_close, title="Real Close dots", location=location.absolute,
color=j2l, editable=false, style=shape.circle, size=size.auto, display=m0x,
force_overlay=true)
l5v = 9
c8k = 2.0
d3n = 100
v0x = switch
g4p and b3k => extend.both
g4p => extend.left
b3k => extend.right
=> extend.none
var f5k = array.new_line(0)
var g5w = array.new_line(0)
h7a(p1q, a3l, y4m, u9g, l0k, i8r, is1t) =>
line.set_xy1(p1q, a3l, y4m)
line.set_xy2(p1q, u9g, l0k)
line.set_color(p1q, i8r)
line.set_style(p1q, is1t ? line.style_dotted : line.style_solid)
if l7x
if barstate.isfirst
for i = 1 to l5v
array.push(f5k, line.new(na, na, na, na, extend=v0x,
force_overlay=true))
array.push(g5w, line.new(na, na, na, na, extend=v0x,
force_overlay=true))
n1l = bar_index
c5n = ta.variance(srcClose, d3n)
z7r = ta.correlation(srcClose, n1l, d3n)
a6v = z7r * (math.sqrt(c5n) / ta.stdev(n1l, d3n))
w5j = ta.sma(srcClose, d3n) - a6v * ta.sma(n1l, d3n)
t2d = math.sqrt(c5n - c5n * math.pow(z7r, 2)) * c8k
if barstate.islast
v9l = a6v * (n1l - d3n + 1) + w5j - t2d
k0y = a6v * n1l + w5j - t2d
w8g = false
for i = 0 to l5v - 2
q7p = i / (l5v - 1)
g0f = q7p * t2d * 2
p9g = color.from_gradient(q7p, 0, 0.5, color.new(q6v, 00),
color.new(q6v, 75))
r4n = color.from_gradient(q7p, 0.5, 1, color.new(n6b, 60),
color.new(n6b, 25))
u2x = color.white
if (q7p == 0.5)
u2x := color.white
w8g := true
if q7p < 0.5
u2x := p9g
if q7p > 0.5
u2x := r4n
h7a(array.get(f5k, i), n1l - d3n + 1, v9l + g0f, n1l, k0y + g0f, u2x,
w8g)
w8g := false
h7a(array.get(f5k, l5v - 1), n1l - d3n + 1, v9l + t2d * 2, n1l, k0y + t2d *
2, n6b, w8g)
u4n = math.sqrt(c5n - c5n * math.pow(z7r, 2)) * 1
b3d = switch j5r
"Solid" => hline.style_solid
"Dotted" => hline.style_dotted
"Dashed" => hline.style_dashed
p0n = hline(100, color=color.new(#ff1b1b, 50), linestyle=hline.style_solid)
h3r = hline(90, color=color.new(#ff2626, 50), linestyle=hline.style_solid)
n9l = hline(80, color=color.new(#ff3f3f, 50), linestyle=hline.style_solid)
a1t = hline(d8w ? 70 : na, color=color.new(#ff5050, 50), linestyle=b3d)
d0g = hline(d8w ? 60 : na, color=color.new(#ff6464, 50), linestyle=b3d)
v2c = hline(d8w ? 50 : na, color=color.new(#ff6464, 100), linestyle=b3d)
l5n = hline(0, color=color.new(#047200, 50), linestyle=hline.style_solid)
z1h = hline(10, color=color.new(#047e00, 50), linestyle=hline.style_solid)
k6r = hline(20, color=color.new(#048900, 50), linestyle=hline.style_solid)
b9t = hline(d8w ? 30 : na, color=color.new(#059f00, 50), linestyle=b3d)
h4w = hline(d8w ? 40 : na, color=color.new(#06b200, 50), linestyle=b3d)
y5g = hline(d8w ? 50 : na, color=color.new(#06b200, 100), linestyle=b3d)
fill(p0n, h3r, color=color.new(#ff1b1b, 20), title="Overbought Extreme Background")
fill(h3r, n9l, color=color.new(#ff2626, 40), title="Overbought Start Background")
fill(l5n, z1h, color=color.new(#047200, 10), title="Oversold Start Background")
fill(k6r, z1h, color=color.new(#047e00, 40), title="Oversold Extreme Background")
t5n = y2g ? #66ff00 : #ff0000
plot(50, color=t5n, style=plot.style_circles, title="Dashboard Center Line
trendSwitch Dots", linewidth=p6t)
plotshape(o4k and c8y and e1p ? 10 : na, title='Dashboard Buy Signal',
style=shape.labelup, location=location.absolute, text='Buy', textcolor=color.white,
color=c6j)
plotshape(o5t and c8y and t2y ? 90 : na, title='Dashboard Sell Signal',
style=shape.labeldown, location=location.absolute, text='Sell',
textcolor=color.white, color=q8o)
u2t = if (mfl > 50)
u7m
else if (mfl < 50)
r0n
else
color.white
plot(mfl, "Dashboard Money Flow Line", color=u2t, style=plot.style_stepline)
plot(o4k ? 50 : na, color=#66ff00, style=plot.style_circles, linewidth=q1r,
title='Dashboard Crossover Up Dots')
plot(o5t ? 50 : na, color=#ff0000, style=plot.style_circles, linewidth=q1r,
title='Dashboard Crossover Down Dots')
d7c := input.bool(false, title="Disable Heikin Ashi Warning")

You might also like