OPEN-SOURCE SCRIPT

Samet-AL SAT SinyaL

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at mozilla.org/MPL/2.0/
// © Samce

//version=5

indicator(title='Samet-AL SAT SinyaL', shorttitle='Samet-AL SAT SinyaL', overlay=true)


pSARbeginningValue = input.int(2, minval=0, maxval=10, title='PSAR başlangıç değeri')
pSARendValue = input.int(2, minval=1, maxval=10, title='PSAR bitiş değeri')
pSARmultiplierValue = input.int(2, minval=0, maxval=10, title=' PSAR katsayi değeri')

pSARbeginningMethod = pSARbeginningValue * .01
pSARendMethod = pSARendValue * .10
pSARmultiplierMethod = pSARmultiplierValue * .01

pSAR_UpValue = ta.sar(pSARbeginningMethod, pSARmultiplierMethod, pSARendMethod)
pSAR_DownValue = ta.sar(pSARbeginningMethod, pSARmultiplierMethod, pSARendMethod)

pSAR_UpColor = close >= pSAR_DownValue ? color.green : na
pSAR_DownColor = close <= pSAR_UpValue ? color.red : na

plot(pSAR_UpValue ? pSAR_UpValue : na, style=plot.style_columns, color=pSAR_UpColor, linewidth=0, title='PSAR yukarı', transp=85)
plot(pSAR_DownValue ? pSAR_DownValue : na, style=plot.style_columns, color=pSAR_DownColor, linewidth=1, title='PSAR aşağı', transp=85)

//Zone Identification - This is once again ATR based method to identify the zone based on its strength

zoneSource = input(hl2, title='Kaynak')
src = input(hl2, title='Kaynak')
zoneLength = input(defval=10, title='ATR Alan Uzunluğu')
zoneMultiplier = input.float(defval=3.0, step=0.1, title='ATR Alan Katsayısı')
zoneATR = ta.atr(zoneLength)

downZone = zoneSource + zoneMultiplier * zoneATR
downZoneNew = nz(downZone[1], downZone)
downZone := close[1] < downZoneNew ? math.min(downZone, downZoneNew) : downZone
upZone = zoneSource - zoneMultiplier * zoneATR
upZoneNew = nz(upZone[1], upZone)
upZone := close[1] > upZoneNew ? math.max(upZone, upZoneNew) : upZone

zoneDecider = 1
zoneDecider := nz(zoneDecider[1], zoneDecider)
zoneDecider := zoneDecider == -1 and close > downZoneNew ? 1 : zoneDecider == 1 and close < upZoneNew ? -1 : zoneDecider

redZone = zoneDecider == -1 and zoneDecider[1] == 1
greenZone = zoneDecider == 1 and zoneDecider[1] == -1
downZoneColor = zoneDecider == -1 ? color.red : color.gray
upZoneColor = zoneDecider == 1 ? color.green : color.gray

downZonePlot = plot(zoneDecider == 1 ? na : downZone, style=plot.style_linebr, linewidth=2, color=color.new(color.red, 0), title='Düşüş Bölgesi')

plotshape(redZone ? downZone : na, location=location.absolute, style=shape.diamond, size=size.tiny, color=color.new(color.red, 0), title='Düşüş Bölgesi Başlangıçı')
plotshape(redZone ? downZone : na, location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.new(color.red, 0), textcolor=color.new(color.white, 0), title='SAT', text='Samet/ SAT(short)')

upZonePlot = plot(zoneDecider == 1 ? upZone : na, style=plot.style_linebr, linewidth=2, color=color.new(color.green, 0), title='Yükseliş Bölgesi')

plotshape(greenZone ? upZone : na, location=location.absolute, style=shape.diamond, size=size.tiny, color=color.new(color.green, 0), title='Yükseliş Bölgesi Başlangıçı')
plotshape(greenZone ? upZone : na, location=location.belowbar, style=shape.labelup, size=size.tiny, color=color.new(color.green, 0), textcolor=color.new(color.white, 0), title='AL', text='Samet/ AL(long)')

aldigimfiyat = str.tostring(ta.valuewhen(greenZone, zoneSource, 0))
sattigimfiyat = str.tostring(ta.valuewhen(redZone, zoneSource, 0))

Buy = greenZone
Sell = redZone
if greenZone == 1
l = label.new(bar_index, na)
label.set_text(l, aldigimfiyat)
label.set_color(l, color.green)
label.set_yloc(l, yloc.belowbar)
label.set_style(l, label.style_label_up)
if redZone == 1
l = label.new(bar_index, na)
label.set_text(l, sattigimfiyat)
label.set_color(l, color.red)
label.set_yloc(l, yloc.abovebar)
label.set_style(l, label.style_label_down)

neutralZonePlot = plot(ohlc4, style=plot.style_circles, linewidth=0, title='Alan Stili')
fill(neutralZonePlot, downZonePlot, color=downZoneColor, title='Düşüş Rengi', transp=90)
fill(neutralZonePlot, upZonePlot, color=upZoneColor, title='Yükseliş Rengi', transp=90)


emaLowerPeriod = input.int(9, minval=1, title='EMA Düşük Periyotlar için')

emaLower = ta.ema(input(close), emaLowerPeriod)

plot(emaLower, color=color.new(color.fuchsia, 0), linewidth=2, title='EMA Düşük Periyot')

showEMA2 = input(false, title='EMA - Orta Periyotlar için')

emaMediumPeriod = input.int(27, minval=1, title='EMA Orta Periyotlar için')

emaMedium = ta.ema(input(close), emaMediumPeriod)

plot(showEMA2 and emaMedium ? emaMedium : na, color=color.new(color.aqua, 0), linewidth=2, title='EMA Orta Periyotlar için')


hmaLongPeriod = input.int(200, minval=1, title='HMA Uzun Periyotlar için')

hmaLong = ta.hma(input(close), hmaLongPeriod)

plot(hmaLong, color=color.new(color.gray, 0), linewidth=2, title='HMA Uzun Periyotlar için')


isCloseAbove = close > emaLower and close > hmaLong
isCloseBelow = close < emaLower and close < hmaLong
isCloseBetween = close > emaLower and close < hmaLong or close < emaLower and close > hmaLong

isNeutral = close > pSAR_DownValue and isCloseBelow or close < pSAR_DownValue and isCloseAbove


barcolor(isNeutral or isCloseBetween ? color.yellow : isCloseBelow ? color.red : isCloseAbove ? color.green : color.black)


position = input(500)
h = ta.highest(position)
info_label_off = input(50, title='Bilgilendirme paneli gösterilsin mi?')
info_label_size = input.string(size.normal, options=[size.tiny, size.small, size.normal, size.large, size.huge], title='Info panel label size')
info_panel_x = timenow + math.round(ta.change(time) * 10)
info_panel_y = h
info_current_close = '\n\nSON KAPANIŞ : ' + str.tostring(close)

disp_panels1 = input(true, title='ALIŞ BİLGİLENDİRME PANELİ İSTİYORMUSUNUZ?')
disp_panels2 = input(true, title='SATIŞ BİLGİLENDİRME PANELİ İSTİYORMUSUNUZ?')

Long = '-=-=-ALIŞ DETAY-=-=- '
Short = '-=-=-SATIŞ DETAY-=-=- '

pp1 = '\nAldıktan sonra geçen BAR : ' + str.tostring(ta.barssince(Buy), '##.##')
pp2 = '\nSattıktan sonra geçen BAR : ' + str.tostring(ta.barssince(Sell), '##.##')

Buyprice = '\nSatın aldığımız fiyat : ' + str.tostring(ta.valuewhen(Buy, src, 0), '##.##') + ''
ProfitLong = '\nKAR : ' + '(' + str.tostring(100 * ((src - ta.valuewhen(Buy, src, 0)) / ta.valuewhen(Buy, src, 0)), '##.##') + '%' + ')'

Sellprice = '\nSatın aldığımız fiyat : ' + str.tostring(ta.valuewhen(Sell, src, 0), '##.##') + ''
ProfitShort = '\nKAR : ' + '(' + str.tostring(100 * ((ta.valuewhen(Sell, src, 0) - src) / ta.valuewhen(Sell, src, 0)), '##.##') + '%' + ')'

info_textlongbuy = Long + info_current_close + pp1 + Buyprice + ProfitLong
info_textlongsell = Short + info_current_close + pp2 + Sellprice + ProfitShort
info_panellongbuy = zoneDecider == 1 and disp_panels1 ? label.new(x=info_panel_x, y=info_panel_y, text=info_textlongbuy, xloc=xloc.bar_time, yloc=yloc.price, color=color.green, style=label.style_label_up, textcolor=color.black, size=info_label_size) : na
info_panellongsell = zoneDecider == -1 and disp_panels2 ? label.new(x=info_panel_x, y=info_panel_y, text=info_textlongsell, xloc=xloc.bar_time, yloc=yloc.price, color=color.red, style=label.style_label_up, textcolor=color.black, size=info_label_size) : na
label.delete(info_panellongbuy[1])
label.delete(info_panellongsell[1])

Bands and ChannelsExponential Moving Average (EMA)Parabolic Stop and Reverse (PSAR)

Open-source Skript

Ganz im Sinne von TradingView hat dieser Autor sein/ihr Script als Open-Source veröffentlicht. Auf diese Weise können nun das Script auch andere Trader verstehen und prüfen. Vielen Dank an den Autor! Sie können das Script kostenlos verwenden. Die Nutzung dieses Codes in einer Veröffentlichung wird in unseren Hausregeln reguliert. Sie können es als Favoriten auswählen, um es in einem Chart zu verwenden.

Möchten Sie dieses Skript auf einem Chart verwenden?

Haftungsausschluss