OPEN-SOURCE SCRIPT
The Profit Screener

//version=6
indicator(title="Profit Screener", shorttitle="Profit Screener", overlay=true)
//========================= ADR PART =========================//
// Current day ka open
dayOpen = request.security(syminfo.tickerid, "D", open[0], lookahead=barmerge.lookahead_on)
// Previous days ka range
r1 = request.security(syminfo.tickerid, "D", high[1] - low[1], lookahead=barmerge.lookahead_on)
r2 = request.security(syminfo.tickerid, "D", high[2] - low[2], lookahead=barmerge.lookahead_on)
r3 = request.security(syminfo.tickerid, "D", high[3] - low[3], lookahead=barmerge.lookahead_on)
r4 = request.security(syminfo.tickerid, "D", high[4] - low[4], lookahead=barmerge.lookahead_on)
r5 = request.security(syminfo.tickerid, "D", high[5] - low[5], lookahead=barmerge.lookahead_on)
r6 = request.security(syminfo.tickerid, "D", high[6] - low[6], lookahead=barmerge.lookahead_on)
r7 = request.security(syminfo.tickerid, "D", high[7] - low[7], lookahead=barmerge.lookahead_on)
r8 = request.security(syminfo.tickerid, "D", high[8] - low[8], lookahead=barmerge.lookahead_on)
r9 = request.security(syminfo.tickerid, "D", high[9] - low[9], lookahead=barmerge.lookahead_on)
r10 = request.security(syminfo.tickerid, "D", high[10] - low[10], lookahead=barmerge.lookahead_on)
// ADR averages
adr_10 = (r1+r2+r3+r4+r5+r6+r7+r8+r9+r10) / 10
adr_5 = (r1+r2+r3+r4+r5) / 5
// Plotting ADR (same day par)
adrhigh10 = plot(dayOpen + adr_10/2, title="ADR High10", style=plot.style_circles, color=color.red, linewidth=2)
adrlow10 = plot(dayOpen - adr_10/2, title="ADR Low10", style=plot.style_circles, color=color.green, linewidth=2)
adrhigh5 = plot(dayOpen + adr_5/2, title="ADR High5", style=plot.style_circles, color=color.red, linewidth=2)
adrlow5 = plot(dayOpen - adr_5/2, title="ADR Low5", style=plot.style_circles, color=color.green, linewidth=2)
fill(adrlow10, adrlow5, color=color.new(color.lime, 60))
fill(adrhigh10, adrhigh5, color=color.new(color.maroon, 60))
//========================= EMA PART =========================//
len = input.int(9, minval=1, title="EMA Length")
src = input(close, title="Source")
offset = input.int(title="Offset", defval=0, minval=-500, maxval=500)
out = ta.ema(src, len)
plot(out, title="EMA", color=color.blue, offset=offset)
// --- Smoothing Options
GRP = "Smoothing"
TT_BB = "Only applies when 'SMA + Bollinger Bands' is selected."
maTypeInput = input.string("None", "Type", options=["None","SMA","SMA + Bollinger Bands","EMA","SMMA (RMA)","WMA","VWMA"], group=GRP)
maLengthInput = input.int(14, "Length", group=GRP)
bbMultInput = input.float(2.0, "BB StdDev", minval=0.001, maxval=50, step=0.5, tooltip=TT_BB, group=GRP)
isBB = maTypeInput == "SMA + Bollinger Bands"
enableMA = maTypeInput != "None"
ma(source, length, MAtype) =>
switch MAtype
"SMA" => ta.sma(source, length)
"SMA + Bollinger Bands" => ta.sma(source, length)
"EMA" => ta.ema(source, length)
"SMMA (RMA)" => ta.rma(source, length)
"WMA" => ta.wma(source, length)
"VWMA" => ta.vwma(source, length)
smoothingMA = enableMA ? ma(out, maLengthInput, maTypeInput) : na
smoothingStDev = isBB ? ta.stdev(out, maLengthInput) * bbMultInput : na
plot(smoothingMA, "EMA-based MA", color=color.yellow, display= enableMA ? display.all : display.none)
bbUpperBand = plot(smoothingMA + smoothingStDev, "Upper BB", color=color.green, display=isBB ? display.all : display.none)
bbLowerBand = plot(smoothingMA - smoothingStDev, "Lower BB", color=color.green, display=isBB ? display.all : display.none)
fill(bbUpperBand, bbLowerBand, color= isBB ? color.new(color.green, 90) : na)
indicator(title="Profit Screener", shorttitle="Profit Screener", overlay=true)
//========================= ADR PART =========================//
// Current day ka open
dayOpen = request.security(syminfo.tickerid, "D", open[0], lookahead=barmerge.lookahead_on)
// Previous days ka range
r1 = request.security(syminfo.tickerid, "D", high[1] - low[1], lookahead=barmerge.lookahead_on)
r2 = request.security(syminfo.tickerid, "D", high[2] - low[2], lookahead=barmerge.lookahead_on)
r3 = request.security(syminfo.tickerid, "D", high[3] - low[3], lookahead=barmerge.lookahead_on)
r4 = request.security(syminfo.tickerid, "D", high[4] - low[4], lookahead=barmerge.lookahead_on)
r5 = request.security(syminfo.tickerid, "D", high[5] - low[5], lookahead=barmerge.lookahead_on)
r6 = request.security(syminfo.tickerid, "D", high[6] - low[6], lookahead=barmerge.lookahead_on)
r7 = request.security(syminfo.tickerid, "D", high[7] - low[7], lookahead=barmerge.lookahead_on)
r8 = request.security(syminfo.tickerid, "D", high[8] - low[8], lookahead=barmerge.lookahead_on)
r9 = request.security(syminfo.tickerid, "D", high[9] - low[9], lookahead=barmerge.lookahead_on)
r10 = request.security(syminfo.tickerid, "D", high[10] - low[10], lookahead=barmerge.lookahead_on)
// ADR averages
adr_10 = (r1+r2+r3+r4+r5+r6+r7+r8+r9+r10) / 10
adr_5 = (r1+r2+r3+r4+r5) / 5
// Plotting ADR (same day par)
adrhigh10 = plot(dayOpen + adr_10/2, title="ADR High10", style=plot.style_circles, color=color.red, linewidth=2)
adrlow10 = plot(dayOpen - adr_10/2, title="ADR Low10", style=plot.style_circles, color=color.green, linewidth=2)
adrhigh5 = plot(dayOpen + adr_5/2, title="ADR High5", style=plot.style_circles, color=color.red, linewidth=2)
adrlow5 = plot(dayOpen - adr_5/2, title="ADR Low5", style=plot.style_circles, color=color.green, linewidth=2)
fill(adrlow10, adrlow5, color=color.new(color.lime, 60))
fill(adrhigh10, adrhigh5, color=color.new(color.maroon, 60))
//========================= EMA PART =========================//
len = input.int(9, minval=1, title="EMA Length")
src = input(close, title="Source")
offset = input.int(title="Offset", defval=0, minval=-500, maxval=500)
out = ta.ema(src, len)
plot(out, title="EMA", color=color.blue, offset=offset)
// --- Smoothing Options
GRP = "Smoothing"
TT_BB = "Only applies when 'SMA + Bollinger Bands' is selected."
maTypeInput = input.string("None", "Type", options=["None","SMA","SMA + Bollinger Bands","EMA","SMMA (RMA)","WMA","VWMA"], group=GRP)
maLengthInput = input.int(14, "Length", group=GRP)
bbMultInput = input.float(2.0, "BB StdDev", minval=0.001, maxval=50, step=0.5, tooltip=TT_BB, group=GRP)
isBB = maTypeInput == "SMA + Bollinger Bands"
enableMA = maTypeInput != "None"
ma(source, length, MAtype) =>
switch MAtype
"SMA" => ta.sma(source, length)
"SMA + Bollinger Bands" => ta.sma(source, length)
"EMA" => ta.ema(source, length)
"SMMA (RMA)" => ta.rma(source, length)
"WMA" => ta.wma(source, length)
"VWMA" => ta.vwma(source, length)
smoothingMA = enableMA ? ma(out, maLengthInput, maTypeInput) : na
smoothingStDev = isBB ? ta.stdev(out, maLengthInput) * bbMultInput : na
plot(smoothingMA, "EMA-based MA", color=color.yellow, display= enableMA ? display.all : display.none)
bbUpperBand = plot(smoothingMA + smoothingStDev, "Upper BB", color=color.green, display=isBB ? display.all : display.none)
bbLowerBand = plot(smoothingMA - smoothingStDev, "Lower BB", color=color.green, display=isBB ? display.all : display.none)
fill(bbUpperBand, bbLowerBand, color= isBB ? color.new(color.green, 90) : na)
Açık kaynak kodlu komut dosyası
Gerçek TradingView ruhuna uygun olarak, bu komut dosyasının oluşturucusu bunu açık kaynaklı hale getirmiştir, böylece yatırımcılar betiğin işlevselliğini inceleyip doğrulayabilir. Yazara saygı! Ücretsiz olarak kullanabilirsiniz, ancak kodu yeniden yayınlamanın Site Kurallarımıza tabi olduğunu unutmayın.
Feragatname
Bilgiler ve yayınlar, TradingView tarafından sağlanan veya onaylanan finansal, yatırım, işlem veya diğer türden tavsiye veya tavsiyeler anlamına gelmez ve teşkil etmez. Kullanım Şartları'nda daha fazlasını okuyun.
Açık kaynak kodlu komut dosyası
Gerçek TradingView ruhuna uygun olarak, bu komut dosyasının oluşturucusu bunu açık kaynaklı hale getirmiştir, böylece yatırımcılar betiğin işlevselliğini inceleyip doğrulayabilir. Yazara saygı! Ücretsiz olarak kullanabilirsiniz, ancak kodu yeniden yayınlamanın Site Kurallarımıza tabi olduğunu unutmayın.
Feragatname
Bilgiler ve yayınlar, TradingView tarafından sağlanan veya onaylanan finansal, yatırım, işlem veya diğer türden tavsiye veya tavsiyeler anlamına gelmez ve teşkil etmez. Kullanım Şartları'nda daha fazlasını okuyun.