Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 6

// This source code is subject to the terms of the Mozilla Public License 2.

0 at
https://mozilla.org/MPL/2.0/
// © alex10mk

//@version=5

indicator("Fisher macd rsi")

//Wave trend

//
// @author LazyBear
//
// If you use this code in its original/modified form, do drop me a note.
//
study(title="WaveTrend with Crosses [LazyBear]", shorttitle="WT_CROSS_LB")
n1 = input(10, "Channel Length")
n2 = input(21, "Average Length")
obLevel1 = input(60, "Over Bought Level 1")
obLevel2 = input(53, "Over Bought Level 2")
osLevel1 = input(-60, "Over Sold Level 1")
osLevel2 = input(-53, "Over Sold Level 2")

ap = hlc3
esa = ema(ap, n1)
d = ema(abs(ap - esa), n1)
ci = (ap - esa) / (0.015 * d)
tci = ema(ci, n2)

wt1 = tci
wt2 = sma(wt1,4)

// plot(0, color=gray)
// plot(obLevel1, color=red)
// plot(osLevel1, color=green)
// plot(obLevel2, color=red)
// plot(osLevel2, color=green)

// plot(wt1, color=green)
// plot(wt2, color=red)
// plot(wt1-wt2, color=blue, style=area, transp=80)
// plot(cross(wt1, wt2) ? wt2 : na, color = black , style = circles, linewidth = 3)
// plot(cross(wt1, wt2) ? wt2 : na, color = (wt2 - wt1 > 0 ? red : lime) , style =
circles, linewidth = 2)
// barcolor(cross(wt1, wt2) ? (wt2 - wt1 > 0 ? aqua : yellow) : na)

//MFI Para Akışı

length1 = input.int(title="Length", defval=14, minval=1, maxval=2000)


src1 = hlc3
mf = ta.mfi(src1, length1)
// plot(mf, "MF", color=#7E57C2)
overbought=hline(80, title="Overbought", color=#787B86)
hline(50, "Middle Band", color=color.new(#787B86, 50))
oversold=hline(20, title="Oversold", color=#787B86)
// fill(overbought, oversold, color=color.rgb(126, 87, 194, 90),
title="Background")

// fisher indikatörü
len = input.int(10, minval=1, title="Length")
high_ = ta.highest(hl2, len)
low_ = ta.lowest(hl2, len)
round_(val) => val > .99 ? .999 : val < -.99 ? -.999 : val
value = 0.0
value := round_(.66 * ((hl2 - low_) / (high_ - low_) - .5) + .67 * nz(value[1]))
fish1 = 0.0
fish1 := .5 * math.log((1 + value) / (1 - value)) + .5 * nz(fish1[1])
fish2 = fish1[1]
// hline(1.5, "1.5", color=#E91E63)
// hline(0.75,"0.75", color=#787B86)
// hline(0, "0", color=#E91E63)
// hline(-0.75, "-0.75", color=#787B86)
// hline(-1.5, "-1.5", color=#E91E63)
// plot(fish1, color=#2962FF, title="Fisher")
// plot(fish2, color=#FF6D00, title="Trigger")

//macd indikatörü
fast_length = input(title="Fast Length", defval=12)
slow_length = input(title="Slow Length", defval=26)
src = input(title="Source", defval=close)
signal_length = input.int(title="Signal Smoothing", minval = 1, maxval = 50,
defval = 9)
sma_source = input.string(title="Oscillator MA Type", defval="EMA",
options=["SMA", "EMA"])
sma_signal = input.string(title="Signal Line MA Type", defval="EMA",
options=["SMA", "EMA"])
// Plot colors
col_macd = input(#2962FF, "MACD Line ", group="Color Settings", inline="MACD")
col_signal = input(#FF6D00, "Signal Line ", group="Color Settings",
inline="Signal")
col_grow_above = input(#26A69A, "Above Grow", group="Histogram", inline="Above")
col_fall_above = input(#B2DFDB, "Fall", group="Histogram", inline="Above")
col_grow_below = input(#FFCDD2, "Below Grow", group="Histogram", inline="Below")
col_fall_below = input(#FF5252, "Fall", group="Histogram", inline="Below")
// Calculating
fast_ma = sma_source == "SMA" ? ta.sma(src, fast_length) : ta.ema(src, fast_length)
slow_ma = sma_source == "SMA" ? ta.sma(src, slow_length) : ta.ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal == "SMA" ? ta.sma(macd, signal_length) : ta.ema(macd,
signal_length)
hist = macd - signal
alertcondition(hist[1]>= 0 and hist < 0, title='Rising to falling', message='The
MACD histogram switched from a rising to falling state')
alertcondition(hist[1]<= 0 and hist > 0, title='Falling to rising', message='The
MACD histogram switched from a falling to rising state')
hline(0, "Zero Line", color=color.new(#787B86, 50))
plot(hist, title="Histogram", style=plot.style_columns, color=(hist>=0 ? (hist[1] <
hist ? col_grow_above : col_fall_above) : (hist[1] < hist ? col_grow_below :
col_fall_below)))
plot(macd, title="MACD", color=col_macd)
plot(signal, title="Signal", color=col_signal)

rsiPeriod = input.int(defval=14, title="Rsi Period", group="Indikatörler")


rsiKaynak = input.source(defval=close, title ="RSI Kaynak", group="Indikatörler")
rsi = ta.rsi(rsiKaynak,rsiPeriod)

// hacim = volume
// hacim1 = volume[1]
// hacimoran = hacim/hacim1

// rsiUpperBand = hline(70, "RSI Upper Band", color=#787B86)


// hline(50, "RSI Middle Band", color=color.new(#787B86, 50))
// rsiLowerBand = hline(30, "RSI Lower Band", color=#787B86)
// fill(rsiUpperBand, rsiLowerBand, color=color.rgb(126, 87, 194, 90), title="RSI
Background Fill")

// smoothK = input.int(3, "K", minval=1)


// smoothD = input.int(3, "D", minval=1)
// lengthRSI = input.int(14, "RSI Length", minval=1)
// lengthStoch = input.int(14, "Stochastic Length", minval=1)
// k = ta.sma(ta.stoch(rsi, rsi, rsi, lengthStoch), smoothK)
// d = ta.sma(k, smoothD)
// plot(k, "K", color=#2962FF)
// plot(d, "D", color=#FF6D00)
// h0 = hline(70, "Upper Band", color=#787B86)
// hline(50, "Middle Band", color=color.new(#787B86, 50))
// h1 = hline(30, "Lower Band", color=#787B86)
// fill(h0, h1, color=color.rgb(33, 150, 243, 90), title="Background")

// rsiema = ta.ema(k,lengthStoch)
// plot(rsiema, color=#ffffff, linewidth = 2)

//alarm wavetrend
al = ta.crossover(wt1,wt2) and wt1<-53
sat = ta.crossunder(wt1,wt2) and wt1>53
sinyal = al ? close : sat ? -1 * close : 0

//alarm fisher
// al = ta.crossover(fish1,fish2) and fish1<-1.5 and rsi<35
// sat = ta.crossunder(fish1,fish2)
// sinyal = al ? close : sat ? -1 * close : 0

// ALARM MACD
// al = ta.crossover(macd,signal) and macd<0
// sat = ta.crossunder(macd,signal) and macd>0
// sinyal = al ? close : sat ? -1 * close : 0

TELEGRAMID = input.string(defval = "", title = "Telegram CHAT ID")


grafikId = input.string(defval="", title = "Grafik ID")
strateji = "Fisher(10)"

alarmTetikle(sembol,sinyal)=>
durum = request.security(sembol,timeframe.period,sinyal,rsi)
mesaj = durum > 0 ? "AL" : durum < 0 ? "SAT" : ""
if durum != 0 and str.length(sembol) > 1 // herhangi bir sinyal var ise yani
alarmMesajiJSON = "<strong>"+ syminfo.ticker(sembol)+"</strong>" +" =>
"+mesaj +"\\n" + "PERİYOT : " + str.tostring(timeframe.period) +"\\n"+ "STRATEJİ :
" + strateji + "\\n" + "FİYAT : " + str.tostring(math.round(math.abs(durum),2))
reply = ',"reply_markup":{"inline_keyboard":[[{"text":"📉
Tradingview","url":"https://tr.tradingview.com/chart/'+grafikId+'/?
symbol='+sembol+"&interval="+str.tostring(timeframe.period)+'"}]]}'

alert(message='{"chat_id":"'+TELEGRAMID+'","text":"'+alarmMesajiJSON+'","parse_mode
":"html"'+reply+'}',freq = alert.freq_once_per_bar_close)

sembol1 = input.symbol(defval = "", title = "Symbol", group= "SCANNER", inline =


"S1")
sembol2 = input.symbol(defval = "", title = "Symbol", group= "SCANNER", inline =
"S2")
sembol3 = input.symbol(defval = "", title = "Symbol", group= "SCANNER", inline =
"S3")
sembol4 = input.symbol(defval = "", title = "Symbol", group= "SCANNER", inline =
"S4")
sembol5 = input.symbol(defval = "", title = "Symbol", group= "SCANNER", inline =
"S5")
sembol6 = input.symbol(defval = "", title = "Symbol", group= "SCANNER", inline =
"S6")
sembol7 = input.symbol(defval = "", title = "Symbol", group= "SCANNER", inline =
"S7")
sembol8 = input.symbol(defval = "", title = "Symbol", group= "SCANNER", inline =
"S8")
sembol9 = input.symbol(defval = "", title = "Symbol", group= "SCANNER", inline =
"S9")
sembol10 = input.symbol(defval = "", title = "Symbol", group= "SCANNER", inline =
"S10")
sembol11 = input.symbol(defval = "", title = "Symbol", group= "SCANNER", inline =
"S11")
sembol12 = input.symbol(defval = "", title = "Symbol", group= "SCANNER", inline =
"S12")
sembol13 = input.symbol(defval = "", title = "Symbol", group= "SCANNER", inline =
"S13")
sembol14 = input.symbol(defval = "", title = "Symbol", group= "SCANNER", inline =
"S14")
sembol15 = input.symbol(defval = "", title = "Symbol", group= "SCANNER", inline =
"S15")
sembol16 = input.symbol(defval = "", title = "Symbol", group= "SCANNER", inline =
"S16")
sembol17 = input.symbol(defval = "", title = "Symbol", group= "SCANNER", inline =
"S17")
sembol18 = input.symbol(defval = "", title = "Symbol", group= "SCANNER", inline =
"S18")
sembol19 = input.symbol(defval = "", title = "Symbol", group= "SCANNER", inline =
"S19")
sembol20 = input.symbol(defval = "", title = "Symbol", group= "SCANNER", inline =
"S20")
sembol21 = input.symbol(defval = "", title = "Symbol", group= "SCANNER", inline =
"S21")
sembol22 = input.symbol(defval = "", title = "Symbol", group= "SCANNER", inline =
"S22")
sembol23 = input.symbol(defval = "", title = "Symbol", group= "SCANNER", inline =
"S23")
sembol24 = input.symbol(defval = "", title = "Symbol", group= "SCANNER", inline =
"S24")
sembol25 = input.symbol(defval = "", title = "Symbol", group= "SCANNER", inline =
"S25")
sembol26 = input.symbol(defval = "", title = "Symbol", group= "SCANNER", inline =
"S26")
sembol27 = input.symbol(defval = "", title = "Symbol", group= "SCANNER", inline =
"S27")
sembol28 = input.symbol(defval = "", title = "Symbol", group= "SCANNER", inline =
"S28")
sembol29 = input.symbol(defval = "", title = "Symbol", group= "SCANNER", inline =
"S29")
sembol30 = input.symbol(defval = "", title = "Symbol", group= "SCANNER", inline =
"S30")
sembol31 = input.symbol(defval = "", title = "Symbol", group= "SCANNER", inline =
"S31")
sembol32 = input.symbol(defval = "", title = "Symbol", group= "SCANNER", inline =
"S32")
sembol33 = input.symbol(defval = "", title = "Symbol", group= "SCANNER", inline =
"S33")
sembol34 = input.symbol(defval = "", title = "Symbol", group= "SCANNER", inline =
"S34")
sembol35 = input.symbol(defval = "", title = "Symbol", group= "SCANNER", inline =
"S35")
sembol36 = input.symbol(defval = "", title = "Symbol", group= "SCANNER", inline =
"S36")
sembol37 = input.symbol(defval = "", title = "Symbol", group= "SCANNER", inline =
"S37")
sembol38 = input.symbol(defval = "", title = "Symbol", group= "SCANNER", inline =
"S38")
sembol39 = input.symbol(defval = "", title = "Symbol", group= "SCANNER", inline =
"S39")
sembol40 = input.symbol(defval = "", title = "Symbol", group= "SCANNER", inline =
"S40")

alarmTetikle(sembol1,sinyal)
alarmTetikle(sembol2,sinyal)
alarmTetikle(sembol3,sinyal)
alarmTetikle(sembol4,sinyal)
alarmTetikle(sembol5,sinyal)
alarmTetikle(sembol6,sinyal)
alarmTetikle(sembol7,sinyal)
alarmTetikle(sembol8,sinyal)
alarmTetikle(sembol9,sinyal)
alarmTetikle(sembol10,sinyal)
alarmTetikle(sembol11,sinyal)
alarmTetikle(sembol12,sinyal)
alarmTetikle(sembol13,sinyal)
alarmTetikle(sembol14,sinyal)
alarmTetikle(sembol15,sinyal)
alarmTetikle(sembol16,sinyal)
alarmTetikle(sembol17,sinyal)
alarmTetikle(sembol18,sinyal)
alarmTetikle(sembol19,sinyal)
alarmTetikle(sembol20,sinyal)
alarmTetikle(sembol21,sinyal)
alarmTetikle(sembol22,sinyal)
alarmTetikle(sembol23,sinyal)
alarmTetikle(sembol24,sinyal)
alarmTetikle(sembol25,sinyal)
alarmTetikle(sembol26,sinyal)
alarmTetikle(sembol27,sinyal)
alarmTetikle(sembol28,sinyal)
alarmTetikle(sembol29,sinyal)
alarmTetikle(sembol30,sinyal)
alarmTetikle(sembol31,sinyal)
alarmTetikle(sembol32,sinyal)
alarmTetikle(sembol33,sinyal)
alarmTetikle(sembol34,sinyal)
alarmTetikle(sembol35,sinyal)
alarmTetikle(sembol36,sinyal)
alarmTetikle(sembol37,sinyal)
alarmTetikle(sembol38,sinyal)
alarmTetikle(sembol39,sinyal)
alarmTetikle(sembol40,sinyal)

You might also like