16.07.2024 - 10.12.2024 https://chatgpt.com/g/g-uib6qYHGw-tr...ipt-v5-creator
https://www.tradingview.com/x/jMACXA4O/ ngörüntü bu
https://tr.tradingview.com/v/ZnuN94Y1/ fibo kodu...
deneme... stil ayarından lines kısmını kaldırın....
PHP Code:
//@version=5
indicator("*", overlay=true,max_bars_back=500,max_labels_count=100,max_lines_count=100)
length1 = 27
length2 = 55
recentHigh = ta.highest(close, 100)
ema1 = ta.ema(close, length1)
sma1 = ta.sma(close, length2)
//plot(ema1, color=color.green, title="27EMA")
//plot(sma1, color=color.red, title="55SMA")
// Start Conditions
startCondition1 = math.sum(low > ema1 ? 1 : 0, 10) >= 10
startCondition2 = math.sum(ema1 > sma1 ? 1 : 0, 5) >= 5
startCondition3 = sma1 > sma1[1]
startCondition4 = close > open
var bool inPosition = false
//var bool startCondition = false
//var bool endCondition = false
startCondition = not inPosition and startCondition1 and startCondition2 and startCondition3 and startCondition4
endCondition = inPosition and (ta.crossover(sma1, ema1) or (close < 0.9 * recentHigh and close < sma1))
if (startCondition)
inPosition := true
if (endCondition)
inPosition := false
plotshape(startCondition, color=color.green, style=shape.labelup, location=location.belowbar, text="T-On", textcolor = color.white, offset = -19)
plotshape(endCondition, color=color.red, style=shape.labeldown, location=location.abovebar, text="T-Off", textcolor = color.white,offset = +23)
leftBars = input(1)
rightBars=input(0)
pivotHigh = ta.pivothigh(high, leftBars, rightBars)
mostRecentPH = ta.valuewhen(pivotHigh > 0, pivotHigh, 0)
secondMostRecentPH = ta.valuewhen(pivotHigh > 0, pivotHigh, 1)
phColor = color.black
pivotLow = ta.pivotlow(low, leftBars, rightBars)
mostRecentPL = ta.valuewhen(pivotLow > 0, pivotLow, 0)
secondMostRecentPL = ta.valuewhen(pivotLow > 0, pivotLow, 1)
plColor = color.black
if mostRecentPH > secondMostRecentPH
phColor := color.rgb(76, 175, 79, 100)
else
phColor := color.rgb(255, 82, 82, 100)
if mostRecentPL > secondMostRecentPL
plColor := color.rgb(76, 175, 79, 100)
else
plColor := color.rgb(255, 82, 82, 100)
plot(pivotHigh, title="H", style=plot.style_line, linewidth = 1, color = phColor, offset = +rightBars)
plot(pivotLow, title="L",style=plot.style_line, linewidth = 1, color = plColor, offset = +rightBars)
//plot(pivotHigh, style=plot.style_circles, linewidth = 3, color = phColor, offset = +rightBars)
//plot(pivotLow, style=plot.style_circles, linewidth = 3, color = plColor, offset = +rightBars)
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © platsn
// I take no credit for this, but I think this modification is very useful when using this script created by © LonesomeTheBlue
// Copied directly from © LonesomeTheBlue's Support Resistance - Dynamic v2 code but with modification to allow option
// to choose different timeframe to calculate S/R levels.
// Very often, we don't want to use S/R levels on the same timeframe that we are trading at. ie. if trading at 5min, we often use 15min, 30min or 1hr timeframe to define
// our S/R levels.
//@version=5
tf = input.timeframe('60', "Timeframe", group='Setup', tooltip = 'Please note that if a higher timeframe chosen is "too far" from the chart timeframe, the S/R may not necessaryily match to that of the S/R generated if they were created at that higher timeframe.') // option to choose which timeframe to calculate S/R levels
prd = input.int(defval=1, title='Pivot Period', minval=1, group='Setup', tooltip = 'With respect to higher timeframe')
ppsrc = input.string(defval='High/Low', title='Source', options=['High/Low', 'Close/Open'], group='Setup')
maxnumpp = input.int(defval=20, title=' Maximum Number of Pivot', minval=5, group='Setup')
ChannelW = input.int(defval=10, title='Maximum Channel Width %', minval=1, group='Setup')
maxnumsr = input.int(defval=5, title=' Maximum Number of S/R', minval=1, maxval=10, group='Setup')
min_strength = input.int(defval=2, title=' Minimum Strength', minval=1, maxval=10, group='Setup')
labelloc = input.int(defval=20, title='Label Location', group='Display', tooltip='Positive numbers reference future bars, negative numbers reference histical bars')
labelloc2 = input.int(defval=-100, title='TF Label Location', group='Display', tooltip='Positive numbers reference future bars, negative numbers reference histical bars')
linestyle = input.string(defval='Dashed', title='Line Style', options=['Solid', 'Dotted', 'Dashed'], group='Display')
linewidth = input.int(defval=2, title='Line Width', minval=1, maxval=4, group='Display')
resistancecolor = input.color(defval=color.red, title='Resistance Color', group='Display', inline = 'resist')
resist_lbl_col = input.color(defval = color.red, title='', group = 'Display', inline = 'resist')
resist_lbl_text_col = input.color(defval = color.white, title='', group = 'Display', inline = 'resist')
supportcolor = input.color(defval=color.lime, title='Support Color', group='Display', inline = 'supp')
supp_lbl_col = input.color(defval = color.lime, title='', group = 'Display', inline = 'supp')
supp_lbl_text_col = input.color(defval = color.black, title='', group = 'Display', inline = 'supp')
showpp = input.bool(false, title='Show Pivot Points', group='Display')
showtf = input.bool(true, title = 'Show Timeframe label', group='Display')
showloc = input.bool(true, title = 'Show Price level', group='Display')
// get data on ticker based on chosen timeframe
src_h = request.security(syminfo.tickerid,tf,high, gaps = barmerge.gaps_off, lookahead = barmerge.lookahead_off)
src_l = request.security(syminfo.tickerid,tf,low, gaps = barmerge.gaps_off, lookahead = barmerge.lookahead_off)
src_c = request.security(syminfo.tickerid,tf,close, gaps = barmerge.gaps_off, lookahead = barmerge.lookahead_off)
src_o = request.security(syminfo.tickerid,tf,open, gaps = barmerge.gaps_off, lookahead = barmerge.lookahead_off)
f_resInMinutes() =>
_resInMinutes = timeframe.multiplier * (timeframe.isseconds ? 1. / 60 : timeframe.isminutes ? 1. : timeframe.isdaily ? 60. * 24 : timeframe.isweekly ? 60. * 24 * 7 : timeframe.ismonthly ? 60. * 24 * 30.4375 : na)
_resInMinutes
f_tfResInMinutes(_res) =>
request.security(syminfo.tickerid, _res, f_resInMinutes())
f_tfIsIntraday(_res) =>
[intraday, daily, weekly, monthly] = request.security(syminfo.tickerid, _res, [timeframe.isintraday, timeframe.isdaily, timeframe.isweekly, timeframe.ismonthly])
check = intraday ? "Intraday" : daily ? "Daily" : weekly ? "Weekly" : monthly ? "Monthly" : "Error"
check
mtf_multiplier = int (f_tfResInMinutes(tf) / f_resInMinutes())
prd := prd * mtf_multiplier
float src1 = ppsrc == 'High/Low' ? src_h : math.max(src_c, src_o)
float src2 = ppsrc == 'High/Low' ? src_l : math.min(src_c, src_o)
float src3 = ppsrc == 'High/Low' ? high : math.max(close, open)
float src4 = ppsrc == 'High/Low' ? low : math.min(close, open)
float ph = ta.pivothigh(src1, prd, prd)
float pl = ta.pivotlow(src2, prd, prd)
float ph_chart = ta.pivothigh(src3, prd, prd)
float pl_chart = ta.pivotlow(src4, prd, prd)
plotshape(ph_chart and showpp, text = "H", style = shape.labeldown, color = na, textcolor = color.red, location = location.abovebar, offset = -prd)
plotshape(pl_chart and showpp, text = "L", style = shape.labelup, color = na, textcolor = color.lime, location = location.belowbar, offset = -prd)
Lstyle = linestyle == 'Dashed' ? line.style_dashed : linestyle == 'Solid' ? line.style_solid : line.style_dotted
tf_res = f_tfIsIntraday(tf)
tf_text = str.tostring(tf)
if str.tostring(tf) == ""//tf is equal to chart
tf_text := na(timeframe.multiplier / 60) ? timeframe.period : timeframe.multiplier < 60 ? timeframe.period + " min" : str.tostring(timeframe.multiplier / 60) + " hour"
else if tf_res == "Intraday"
tf_text := na(str.tonumber(tf) / 60) ? str.tostring(tf) : str.tonumber(tf) < 60 ? str.tostring(tf) + " min" : str.tostring(str.tonumber(tf) / 60) + " hour"
else
tf_text := str.tostring(tf)
//calculate maximum S/R channel zone width
prdhighest = request.security(syminfo.tickerid, tf, ta.highest(300))
prdlowest = request.security(syminfo.tickerid, tf, ta.lowest(300))
cwidth = (prdhighest - prdlowest) * ChannelW / 100
var pivotvals = array.new_float(0)
if ph or pl
array.unshift(pivotvals, ph ? ph : pl)
if array.size(pivotvals) > maxnumpp // limit the array size
array.pop(pivotvals)
get_sr_vals(ind) =>
float lo = array.get(pivotvals, ind)
float hi = lo
int numpp = 0
for y = 0 to array.size(pivotvals) - 1 by 1
float cpp = array.get(pivotvals, y)
float wdth = cpp <= lo ? hi - cpp : cpp - lo
if wdth <= cwidth // fits the max channel width?
lo := cpp <= lo ? cpp : lo
hi := cpp > lo ? cpp : hi
numpp += 1
numpp
[hi, lo, numpp]
var sr_up_level = array.new_float(0)
var sr_dn_level = array.new_float(0)
sr_strength = array.new_float(0)
find_loc(strength) =>
ret = array.size(sr_strength)
for i = ret > 0 ? array.size(sr_strength) - 1 : na to 0 by 1
if strength <= array.get(sr_strength, i)
break
ret := i
ret
ret
check_sr(hi, lo, strength) =>
ret = true
for i = 0 to array.size(sr_up_level) > 0 ? array.size(sr_up_level) - 1 : na by 1
//included?
if array.get(sr_up_level, i) >= lo and array.get(sr_up_level, i) <= hi or array.get(sr_dn_level, i) >= lo and array.get(sr_dn_level, i) <= hi
if strength >= array.get(sr_strength, i)
array.remove(sr_strength, i)
array.remove(sr_up_level, i)
array.remove(sr_dn_level, i)
ret
else
ret := false
ret
break
ret
var sr_lines = array.new_line(11, na)
var sr_labels = array.new_label(11, na)
var tf_labels = array.new_label(11, na)
for x = 1 to 10 by 1
rate = 100 * (label.get_y(array.get(sr_labels, x)) - close) / close
label.set_text(array.get(sr_labels, x), text=str.tostring(label.get_y(array.get(sr_labels, x))) + '(' + str.tostring(rate, '#.##') + '%)')
label.set_x(array.get(sr_labels, x), x=bar_index + labelloc)
label.set_color(array.get(sr_labels, x), color=label.get_y(array.get(sr_labels, x)) >= close ? resist_lbl_col : supp_lbl_col)
label.set_textcolor(array.get(sr_labels, x), textcolor=label.get_y(array.get(sr_labels, x)) >= close ? resist_lbl_text_col : supp_lbl_text_col)
label.set_style(array.get(sr_labels, x), style=label.get_y(array.get(sr_labels, x)) >= close ? label.style_label_down : label.style_label_up)
line.set_color(array.get(sr_lines, x), color=line.get_y1(array.get(sr_lines, x)) >= close ? resistancecolor : supportcolor)
label.set_text(array.get(tf_labels, x), text=tf_text)
label.set_x(array.get(tf_labels, x), x=bar_index + labelloc2)
label.set_color(array.get(tf_labels, x), color=label.get_y(array.get(tf_labels, x)) >= close ? resist_lbl_col : supp_lbl_col)
label.set_textcolor(array.get(tf_labels, x), textcolor=label.get_y(array.get(tf_labels, x)) >= close ? resist_lbl_text_col : supp_lbl_text_col)
label.set_style(array.get(tf_labels, x), style=label.get_y(array.get(tf_labels, x)) >= close ? label.style_label_down : label.style_label_up)
if ph or pl
//because of new calculation, remove old S/R levels
array.clear(sr_up_level)
array.clear(sr_dn_level)
array.clear(sr_strength)
//find S/R zones
for x = 0 to array.size(pivotvals) - 1 by 1
[hi, lo, strength] = get_sr_vals(x)
if check_sr(hi, lo, strength)
loc = find_loc(strength)
// if strength is in first maxnumsr sr then insert it to the arrays
if loc < maxnumsr and strength >= min_strength
array.insert(sr_strength, loc, strength)
array.insert(sr_up_level, loc, hi)
array.insert(sr_dn_level, loc, lo)
// keep size of the arrays = 5
if array.size(sr_strength) > maxnumsr
array.pop(sr_strength)
array.pop(sr_up_level)
array.pop(sr_dn_level)
for x = 1 to 10 by 1
line.delete(array.get(sr_lines, x))
label.delete(array.get(sr_labels, x))
label.delete(array.get(tf_labels, x))
for x = 0 to array.size(sr_up_level) > 0 ? array.size(sr_up_level) - 1 : na by 1
float mid = math.round_to_mintick((array.get(sr_up_level, x) + array.get(sr_dn_level, x)) / 2)
rate = 100 * (mid - close) / close
if showloc
array.set(sr_labels, x + 1, label.new(x=bar_index + labelloc, y=mid, text=str.tostring(mid) + '(' + str.tostring(rate, '#.##') + '%)', color=mid >= close ? color.red : color.lime, textcolor=mid >= close ? color.white : color.black, style=mid >= close ? label.style_label_down : label.style_label_up))
if showtf
array.set(tf_labels, x + 1, label.new(x=bar_index + labelloc2, y=mid, text=tf_text, color=mid >= close ? color.red : color.lime, textcolor=mid >= close ? color.white : color.black, style=mid >= close ? label.style_label_down : label.style_label_up))
array.set(sr_lines, x + 1, line.new(x1=bar_index, y1=mid, x2=bar_index - 1, y2=mid, extend=extend.both, color=mid >= close ? resistancecolor : supportcolor, style=Lstyle, width=linewidth))
f_crossed_over() =>
ret = false
for x = 0 to array.size(sr_up_level) > 0 ? array.size(sr_up_level) - 1 : na by 1
float mid = math.round_to_mintick((array.get(sr_up_level, x) + array.get(sr_dn_level, x)) / 2)
if close[1] <= mid and close > mid
ret := true
ret
ret
f_crossed_under() =>
ret = false
for x = 0 to array.size(sr_up_level) > 0 ? array.size(sr_up_level) - 1 : na by 1
float mid = math.round_to_mintick((array.get(sr_up_level, x) + array.get(sr_dn_level, x)) / 2)
if close[1] >= mid and close < mid
ret := true
ret
ret
alertcondition(f_crossed_over(), title='Resistance Broken', message='Resistance Broken')
alertcondition(f_crossed_under(), title='Support Broken', message='Support Broken')
//@version=5
src = input.source(close, "Source")
atr_factor = input.float(1.75, "ATR Factor", minval=0.25, step=0.25)
// For standard deviation
d = 20
n = 20
// Volatility function
vol_f() =>
x = math.exp(ta.stdev(math.log(close / close[1]), n) * d)
y = src * math.pow(x, 2)
z = src / math.pow(x, 2)
ta.stoch(close, y, z, n)
// ATR
atr_f(length) =>
sum = 0.0
tr = math.max(high - low, math.abs(high - close[1]), math.abs(low - close[1]))
sum := (tr + (length - 1) * nz(sum[1])) / length
sum
// Calibrator function
main_f(source, atr_factor) =>
var bool uptrend = true
var float max = src
var float min = src
var float stop = 0.0
vol = vol_f()
len = math.min(2000, math.abs(int(106 * (na(vol) ? 1 : vol / 100))))
atr = atr_f(len)
atrM = ta.wma(atr, len) * atr_factor - ta.stdev(atr, len)
max := math.max(max, src)
min := math.min(min, src)
stop := nz(uptrend ? math.max(stop, max - atrM) : math.min(stop, min + atrM), src)
uptrend := src - stop >= 0.0
if uptrend != nz(uptrend[1], true)
max := src
min := src
stop := uptrend ? max - atrM : min + atrM
[stop, uptrend]
// Request Heikin Ashi data
[stop, uptrend] = request.security(ticker.heikinashi(syminfo.tickerid), timeframe.period, main_f(src, atr_factor))
// Conditions
down = uptrend != uptrend[1] and not uptrend
up = uptrend != uptrend[1] and uptrend
// Drawings
plotshape(down, style=shape.square, color=color.red, size=size.tiny, title="Uptrend begins")
plotshape(up, style=shape.square, color=color.green, size=size.tiny, location=location.belowbar, title="Downtrend begins")
//plot(stop, color=uptrend ? color.new(color.green, 50) : color.new(color.red, 50), linewidth=2, title="Volatility Calibrated ATR")
// Alerts
alertcondition(down, "Downtrend begins")
alertcondition(up, "Uptrend begins")
//@version=5
//moving averages lengths and Numbers of bars back settings
mov1_length = input(21, title='Moving Average - 1', inline="mov1")
mov1_showlast = input(21, title='Number of bars back', inline="mov1")
mov2_length = input(55, title='Moving Average - 2', inline="mov2")
mov2_showlast = input(55, title='Number of bars back', inline="mov2")
mov3_length = input(233, title='Moving Average - 3', inline="mov3")
mov3_showlast = input(233, title='Number of bars back', inline="mov3")
show_GD = input(true, title="Show Golden/Death Cross?")
//moving averages
ma1 = ta.ema(close, mov1_length)
ma2 = ta.ema(close, mov2_length)
ma3 = ta.ema(close, mov3_length)
//golden and death cross
golden = ta.crossover(ma2,ma3)
death = ta.crossunder(ma2,ma3)
//moving averages lines and golden-death cross icons
//plot(ma1, color=close > ma1 ? color.new(color.green, 0) :color.new(color.green, 100), linewidth=2, show_last=mov1_showlast)
//plot(ma2, color=ma1>ma2 and close > ma2 ? color.new(color.orange, 0) : color.new(color.red, 0), linewidth=2, show_last=mov2_showlast)
//plot(ma3, color=ma2>ma3 ? color.rgb(49, 184, 194) : color.new(color.blue,100), linewidth=2, show_last=mov3_showlast)
plotshape(show_GD ? golden : na, title="Golden Cross", style=shape.triangleup, location=location.belowbar, color=color.yellow, size=size.normal)
plotshape(show_GD ? death : na, title="Death Cross", style=shape.triangledown, location=location.abovebar, color=color.yellow, size=size.normal)
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Zeiierman
//@version=5
// ~~ ToolTips {
t1 = "Set the Ross Hook Period - A high value returns long-term patterns, and a low value returns short-term patterns"
t2 = "Set the minimum distance between point 2 and point 3. A high value indicates a bigger price correction before the price takes off again. A low value indicates a shorter price correction before the price takes off again."
t3 = "Show pattern break, set the size, and coloring"
t4 = "Show the Ross Hook"
t5 = "Show the Ross Hook pattern"
t6 = "Enable the HH/HL/LL/LH labels"
// ~~}
// ~~ Inputs {
prd33 = input.int(5, minval=1,title="Set Period",tooltip=t1)
dst = input.int(5,minval=0, title="Set Hook Distance",tooltip=t2)
showBreak = input.bool(true,"Show Break", inline="break")
showHook = input.bool(false,"Show Hook",tooltip=t4)
showPattern = input.bool(false,"Show Pattern",tooltip=t5)
showPvts = input.bool(false,"Show Pivots",tooltip=t6)
visuell = input.string("Diamond","",options=["Diamond","XCross","Cross","Flag","Square"],inline="break")
colBull = input.color(color.new(#f7d052, 0),"",inline="break")
colBear = input.color(color.new(#53f3e6, 0),"",inline="break")
size = input.string(size.small,"",options=[size.tiny,size.small,size.normal,size.large,size.huge],inline="break",tooltip=t3)
shape = switch visuell
"Diamond" => label.style_diamond
"XCross" => label.style_xcross
"Cross" => label.style_cross
"Flag" => label.style_flag
"Square" => label.style_square
// ~~ }
// ~~ Arrays {
var pvts = array.new<float>(5,0.0)
var idx = array.new<int>(5,0)
// ~~ }
// ~~ Pivots {
pvtHi = ta.pivothigh(high,prd33,prd33)
pvtLo = ta.pivotlow(low,prd33,prd33)
var pos = 0
if not na(pvtHi) and pos<=0
if showPvts
label.new(bar_index-prd33,high[prd33],text=pvtHi>array.get(pvts,1)?"HH":"LH",style=label.style_label_down,color=color(na),textcolor=chart.fg_color)
array.pop(pvts)
array.pop(idx)
array.unshift(pvts,high[prd33])
array.unshift(idx,bar_index-prd33)
pos := 1
if not na(pvtLo) and pos>=0
if showPvts
label.new(bar_index-prd,low[prd],text=pvtLo>array.get(pvts,1)?"HL":"LL",style=label.style_label_up,color=color(na),textcolor=chart.fg_color)
array.pop(pvts)
array.pop(idx)
array.unshift(pvts,low[prd33])
array.unshift(idx,bar_index-prd33)
pos := -1
// ~~ }
// ~~ Identify RossHook Pattern & Alerts {
var Hook = true
if ta.crossover(high,array.get(pvts,1)) and Hook
if array.get(pvts,0)<array.get(pvts,1)
if array.get(pvts,1)>array.get(pvts,3) and array.get(pvts,0)>array.get(pvts,2) and array.get(pvts,2)>array.get(pvts,4) and array.get(pvts,3)>array.get(pvts,2)
first = bar_index-array.get(idx,4)
sec = bar_index-array.get(idx,3)
if bar_index-array.get(idx,1)>=prd33
for i=first to sec
if close[i]>array.get(pvts,2) and array.get(idx,2)-bar_index[i]>=dst
if showPattern
line.new(bar_index-i,array.get(pvts,2),array.get(idx,2),array.get(pvts,2),color=chart.fg_color,style=line.style_dashed)
mid = math.round(math.avg(bar_index-i,array.get(idx,2)))
label.new(mid,array.get(pvts,2),text="First Hook",color=color(na),textcolor=chart.fg_color,style=label.style_label_up)
Hook := true
break
else
Hook := false
if Hook
if showBreak
label.new(bar_index,high,style=shape,color=colBull,size=size)
if showHook
line.new(array.get(idx,3),array.get(pvts,3),bar_index,array.get(pvts,3),color=chart.fg_color,style=line.style_dashed)
label.new(math.round(math.avg(bar_index,array.get(idx,3))),array.get(pvts,3),text="Ross Hook",color=color(na),textcolor=chart.fg_color,style=label.style_label_up)
if showPattern
line.new(array.get(idx,1),array.get(pvts,1),bar_index,array.get(pvts,1),color=chart.fg_color,style=line.style_dashed)
label.new(math.round(math.avg(bar_index,array.get(idx,1))),array.get(pvts,1),text="Second Hook",color=color(na),textcolor=chart.fg_color,style=label.style_label_down)
label.new(array.get(idx,4),array.get(pvts,4),text="1",color=color(na),textcolor=chart.fg_color,style=label.style_label_up)
label.new(array.get(idx,3),array.get(pvts,3),text="2",color=color(na),textcolor=chart.fg_color,style=label.style_label_down)
label.new(array.get(idx,2),array.get(pvts,2),text="3",color=color(na),textcolor=chart.fg_color,style=label.style_label_up)
for i=array.size(pvts)-2 to 2
line.new(array.get(idx,i),array.get(pvts,i),array.get(idx,i+1),array.get(pvts,i+1),color=chart.fg_color)
alert("Bullish Ross Hook Pattern Identified on: "+syminfo.ticker,alert.freq_once_per_bar_close)
Hook := false
if ta.crossunder(low,array.get(pvts,1)) and Hook
if array.get(pvts,0)>array.get(pvts,1)
if array.get(pvts,1)<array.get(pvts,3) and array.get(pvts,0)<array.get(pvts,2) and array.get(pvts,2)<array.get(pvts,4) and array.get(pvts,3)<array.get(pvts,2)
first = bar_index-array.get(idx,4)
sec = bar_index-array.get(idx,3)
if bar_index-array.get(idx,1)>=prd33
for i=first to sec
if close[i]<array.get(pvts,2) and array.get(idx,2)-bar_index[i]>=dst
if showPattern
line.new(bar_index-i,array.get(pvts,2),array.get(idx,2),array.get(pvts,2),color=chart.fg_color,style=line.style_dashed)
mid = math.round(math.avg(bar_index-i,array.get(idx,2)))
label.new(mid,array.get(pvts,2),text="First Hook",color=color(na),textcolor=chart.fg_color,style=label.style_label_down)
Hook := true
break
else
Hook := false
if Hook
if showBreak
label.new(bar_index,low,style=shape,color=colBear,size=size)
if showHook
line.new(array.get(idx,3),array.get(pvts,3),bar_index,array.get(pvts,3),color=chart.fg_color,style=line.style_dashed)
label.new(math.round(math.avg(bar_index,array.get(idx,3))),array.get(pvts,3),text="Ross Hook",color=color(na),textcolor=chart.fg_color,style=label.style_label_down)
if showPattern
line.new(array.get(idx,1),array.get(pvts,1),bar_index,array.get(pvts,1),color=chart.fg_color,style=line.style_dashed)
label.new(math.round(math.avg(bar_index,array.get(idx,1))),array.get(pvts,1),text="Second Hook",color=color(na),textcolor=chart.fg_color,style=label.style_label_up)
label.new(array.get(idx,4),array.get(pvts,4),text="1",color=color(na),textcolor=chart.fg_color,style=label.style_label_down)
label.new(array.get(idx,3),array.get(pvts,3),text="2",color=color(na),textcolor=chart.fg_color,style=label.style_label_up)
label.new(array.get(idx,2),array.get(pvts,2),text="3",color=color(na),textcolor=chart.fg_color,style=label.style_label_down)
for i=array.size(pvts)-2 to 2
line.new(array.get(idx,i),array.get(pvts,i),array.get(idx,i+1),array.get(pvts,i+1),color=chart.fg_color)
alert("Bearish Ross Hook Pattern Identified on: "+syminfo.ticker,alert.freq_once_per_bar_close)
Hook := false
// ~~ }
// ~~ Debugger only check break once {
if ta.change(array.get(pvts,1))
Hook := true
// ~~ }
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Gedhusek
//@version=5
BackStep = input.int(20,"Analysis Period")
lowerValue = input.float(0.382,"Lower Fibonacci Level",options=[0.236, 0.382, 0.50, 0.618, 0.786])
upperValue = input.float(0.618,"Upper Fibonacci Level",options=[0.236, 0.382, 0.50, 0.618, 0.786])
showFill = input.bool(false,"Show Filling")
changeCandle = input.bool(true,"Change Candle Color")
atr = ta.atr(200)
max = ta.highest(close,BackStep)
min = ta.lowest(close,BackStep)
lowerFib = min + (max-min)*lowerValue
upperFib = min + (max-min)*upperValue
ma = ta.wma(close,6)
float closeVal = ma
float openVal = ma
color clrToUse = closeVal>upperFib and openVal>upperFib?color.green:closeVal<lowerFib and openVal<lowerFib?color.red:color.yellow
//maxLine = plot(max,color=color.green)
//minLine = plot(min,color=color.red)
//LowerFibLine = plot(lowerFib,color=color.rgb(228, 255, 75, 20))
//UpperFibLine = plot(upperFib,color=color.rgb(228, 255, 75, 20))
//fill(maxLine,UpperFibLine,color=showFill?color.rgb(0,255,0,changeCandle?95:70):na)
//fill(UpperFibLine,LowerFibLine,color=showFill?color.rgb(228, 255, 75, changeCandle?95:70):na)
//fill(LowerFibLine,minLine,color=showFill?color.rgb(255,0,0,changeCandle?95:70):na)
plotcandle(open,high,low,close,"Bar",color=changeCandle?clrToUse:na,wickcolor=changeCandle?clrToUse:na,bordercolor=changeCandle?clrToUse:na)
float LowerRetracement = (max-min)*0.318
float UpperRetracement = (max-min)*0.618
16.07.2024 - 10.12.2024 https://chatgpt.com/g/g-uib6qYHGw-tr...ipt-v5-creator
https://www.tradingview.com/x/i7mYpSDZ/ görüntü bu...
deneme kodu....
stilden table ve lines kapatırsanız....PHP Code:
//@version=5
indicator(title='*', shorttitle='*', overlay=true, format=format.price)
Uzunluk = input.int(50,minval=1,title='Length',group='INDICATOR SETTINGS')
otomatikgoster = input(true,title = 'Enable Auto Show mode ?',tooltip = 'As prices touch each extension level, the next level is automatically displayed.',group = 'INDICATOR SETTINGS')
DDAlangoster = input(false,title = 'Paint between 0.618 and 0.786',group = 'INDICATOR SETTINGS')
DDAlan_Direnc_Renk = input.color(color.new(color.red,85),'Resistance Zone Color :',group='INDICATOR SETTINGS')
DDAlan_Destek_Renk =input.color(color.new(color.green,85),'Support Zone Color :',group='INDICATOR SETTINGS')
etiketgoster = input(true,title = 'Tags to be shown ?',group='INDICATOR SETTINGS')
etiketbuyukluk = input.string('Small', title='Label Size',
options=['Tiny', 'Small', 'Normal', 'Large', 'Huge'],group='INDICATOR SETTINGS')
etiketbuyuklukSecenek = switch etiketbuyukluk
'Tiny' => size.tiny
'Small' => size.small
'Normal' => size.normal
'Large' => size.large
'Huge' => size.huge
BitisCizgisigoster = input(false,title = 'Show the recalculation line ?',group = 'INDICATOR SETTINGS')
BitisCizgisiRenk = input.color(color.blue,'Recalculation Line Color :',group = 'INDICATOR SETTINGS')
tablogoster = input(true,title = 'Should the table of levels be shown ?',group='INDICATOR SETTINGS')
tabloBorderColor = input.color(color.black,'Table Borders Color :',group='INDICATOR SETTINGS')
tabloBorderWidth = input.int(1,title='Table Limits Thickness :',options = [1,2],group='INDICATOR SETTINGS')
tabloFrameColor = input.color(color.black,'Table Frame Borders Color :',group='INDICATOR SETTINGS')
tabloFrameWidth = input.int(2,title='Thickness of Table Frame Limits :',options = [1,2],group='INDICATOR SETTINGS')
tabloBGColor = input.color(color.orange,'Table - Title Background Color :',group='INDICATOR SETTINGS')
tabloTxtColor = input.color(color.black,'Table - Title Font Color :',group='INDICATOR SETTINGS')
EY = input(false,title = 'Highest Line',group='LEVEL SETTINGS')
EYRenk = input.color(color.green,'Line / Label / Table Color :',group='LEVEL SETTINGS')
EYYaziRenk = input.color(color.black,'Text Color :',group='LEVEL SETTINGS')
ED = input(false,title = 'Lowest Line',group='LEVEL SETTINGS')
EDRenk = input.color(color.red,'Line / Label / Table Color :',group='LEVEL SETTINGS')
EDYaziRenk = input.color(color.black,'Text Color :',group='LEVEL SETTINGS')
F618 = input(false,title='0.618 Lines',group='LEVEL SETTINGS')
F618RenkED = input.color(color.orange,'Upper Line / Label / Table Color :',group='LEVEL SETTINGS')
F618RenkEY = input.color(color.orange,'Lower Line / Label / Table Color :',group='LEVEL SETTINGS')
F618YaziRenkED = input.color(color.black,'Upper Text Color :',group='LEVEL SETTINGS')
F618YaziRenkEY = input.color(color.black,'Lower Text Color :',group='LEVEL SETTINGS')
F786 = input(false,title='0.786 Lines',group='LEVEL SETTINGS')
F786RenkED = input.color(color.orange,'Upper Line / Label / Table Color :',group='LEVEL SETTINGS')
F786RenkEY = input.color(color.orange,'Lower Line / Label / Table Color :',group='LEVEL SETTINGS')
F786YaziRenkED = input.color(color.black,'Upper Text Color :',group='LEVEL SETTINGS')
F786YaziRenkEY = input.color(color.black,'Lower Text Color :',group='LEVEL SETTINGS')
F1272 = input(false,title='1.272 Lines',group='LEVEL SETTINGS')
F1272RenkED = input.color(color.blue,'Upper Line / Label / Table Color :',group='LEVEL SETTINGS')
F1272RenkEY = input.color(color.blue,'Lower Line / Label / Table Color :',group='LEVEL SETTINGS')
F1272YaziRenkED = input.color(color.white,'Upper Text Color :',group='LEVEL SETTINGS')
F1272YaziRenkEY = input.color(color.white,'Lower Text Color :',group='LEVEL SETTINGS')
F1618 = input(false,title='1.618 Lines',group='LEVEL SETTINGS')
F1618RenkED = input.color(color.blue,'Upper Line / Label / Table Color :',group='LEVEL SETTINGS')
F1618RenkEY = input.color(color.blue,'Lower Line / Label / Table Color :',group='LEVEL SETTINGS')
F1618YaziRenkED = input.color(color.white,'Upper Text Color :',group='LEVEL SETTINGS')
F1618YaziRenkEY = input.color(color.white,'Lower Text Color :',group='LEVEL SETTINGS')
F2 = input(false,title='2.0 Lines',group='LEVEL SETTINGS')
F2RenkED = input.color(color.blue,'Upper Line / Label / Table Color :',group='LEVEL SETTINGS')
F2RenkEY = input.color(color.blue,'Lower Line / Label / Table Color :',group='LEVEL SETTINGS')
F2YaziRenkED = input.color(color.white,'Upper Text Color :',group='LEVEL SETTINGS')
F2YaziRenkEY = input.color(color.white,'Lower Text Color :',group='LEVEL SETTINGS')
F2618 = input(false,title='2.618 Lines',group='LEVEL SETTINGS')
F2618RenkED = input.color(color.blue,'Upper Line / Label / Table Color :',group='LEVEL SETTINGS')
F2618RenkEY = input.color(color.blue,'Lower Line / Label / Table Color :',group='LEVEL SETTINGS')
F2618YaziRenkED = input.color(color.white,'Upper Text Color :',group='LEVEL SETTINGS')
F2618YaziRenkEY = input.color(color.white,'Lower Text Color :',group='LEVEL SETTINGS')
F314 = input(false,title='3.14 Lines',group='LEVEL SETTINGS')
F314RenkED = input.color(color.blue,'Upper Line / Label / Table Color :',group='LEVEL SETTINGS')
F314RenkEY = input.color(color.blue,'Lower Line / Label / Table Color :',group='LEVEL SETTINGS')
F314YaziRenkED = input.color(color.white,'Upper Text Color :',group='LEVEL SETTINGS')
F314YaziRenkEY = input.color(color.white,'Lower Text Color :',group='LEVEL SETTINGS')
F3618 = input(false,title='3.618 Lines',group='LEVEL SETTINGS')
F3618RenkED = input.color(color.blue,'Upper Line / Label / Table Color :',group='LEVEL SETTINGS')
F3618RenkEY = input.color(color.blue,'Lower Line / Label / Table Color :',group='LEVEL SETTINGS')
F3618YaziRenkED = input.color(color.white,'Upper Text Color :',group='LEVEL SETTINGS')
F3618YaziRenkEY = input.color(color.white,'Lower Text Color :',group='LEVEL SETTINGS')
F4236 = input(false,title='4.236 Lines',group='LEVEL SETTINGS')
F4236RenkED = input.color(color.blue,'Upper Line / Label / Table Color :',group='LEVEL SETTINGS')
F4236RenkEY = input.color(color.blue,'Lower Line / Label / Table Color :',group='LEVEL SETTINGS')
F4236YaziRenkED = input.color(color.white,'Upper Text Color :',group='LEVEL SETTINGS')
F4236YaziRenkEY = input.color(color.white,'Lower Text Color :',group='LEVEL SETTINGS')
var float enyuksek = na
var float endusuk = na
var bool F1272ED_Kontrol = na
var bool F1272EY_Kontrol = na
var bool F1618ED_Kontrol = na
var bool F1618EY_Kontrol = na
var bool F2ED_Kontrol = na
var bool F2EY_Kontrol = na
var bool F2618ED_Kontrol = na
var bool F2618EY_Kontrol = na
var bool F314ED_Kontrol = na
var bool F314EY_Kontrol = na
var bool F3618ED_Kontrol = na
var bool F3618EY_Kontrol = na
var bool F4236ED_Kontrol = na
var bool F4236EY_Kontrol = na
var sayac = 0
enyuksek_temp = ta.highest(Uzunluk)
endusuk_temp = ta.lowest(Uzunluk)
sayac := sayac + 1
if sayac == Uzunluk
sayac := 0
enyuksek := enyuksek_temp
endusuk := endusuk_temp
F1272ED_Kontrol := false
F1272EY_Kontrol := false
F1618ED_Kontrol := false
F1618EY_Kontrol := false
F2ED_Kontrol := false
F2EY_Kontrol := false
F2618ED_Kontrol := false
F2618EY_Kontrol := false
F314ED_Kontrol := false
F314EY_Kontrol := false
F3618ED_Kontrol := false
F3618EY_Kontrol := false
F4236ED_Kontrol := false
F4236EY_Kontrol := false
mesafe = enyuksek-endusuk
F618EY = enyuksek - (mesafe * 0.618)
F618ED = endusuk + (mesafe * 0.618)
F786EY = enyuksek - (mesafe * 0.786)
F786ED = endusuk + (mesafe * 0.786)
F1272EY = enyuksek - (mesafe * 1.272)
F1272ED = endusuk + (mesafe * 1.272)
F1618EY = enyuksek - (mesafe * 1.618)
F1618ED = endusuk + (mesafe * 1.618)
F2EY = enyuksek - (mesafe * 2)
F2ED = endusuk + (mesafe * 2)
F2618EY = enyuksek - (mesafe * 2.618)
F2618ED = endusuk + (mesafe * 2.618)
F314EY = enyuksek - (mesafe * 3.14)
F314ED = endusuk + (mesafe * 3.14)
F3618EY = enyuksek - (mesafe * 3.618)
F3618ED = endusuk + (mesafe * 3.618)
F4236EY = enyuksek - (mesafe * 4.236)
F4236ED = endusuk + (mesafe * 4.236)
if high >= enyuksek
F1272ED_Kontrol := true
if low <= endusuk
F1272EY_Kontrol := true
if high >= F1272ED
F1618ED_Kontrol := true
if low <= F1272EY
F1618EY_Kontrol := true
if high >= F1618ED
F2ED_Kontrol := true
if low <= F1618EY
F2EY_Kontrol := true
if high >= F2ED
F2618ED_Kontrol := true
if low <= F2EY
F2618EY_Kontrol := true
if high >= F2618ED
F314ED_Kontrol := true
if low <= F2618EY
F314EY_Kontrol := true
if high >= F314ED
F3618ED_Kontrol := true
if low <= F314EY
F3618EY_Kontrol := true
if high >= F3618ED
F4236ED_Kontrol := true
if low <= F3618EY
F4236EY_Kontrol := true
//plot(EY ? enyuksek : na , title = 'Highest Line', color = EYRenk)
//plot(ED ? endusuk : na , title = 'Lowest Line', color = EDRenk)
//F786EDCizgi = plot(F786 ? F786ED : na, title ='Upper F.786 Line', color = F786RenkED)
// = plot(F786 ? F786EY : na, title ='Lower F.786 Line', color = F786RenkEY)
//F618EDCizgi = plot(F618 ? F618ED : na, title ='Upper F.618 Line', color = F618RenkED)
//F618EYCizgi = plot(F618 ? F618EY : na, title ='Lower F.618 Line', color = F618RenkEY)
//plot(F1272 ? F1272ED : otomatikgoster ? F1272ED_Kontrol ? F1272ED : na : na, title ='Upper F.1272 Line', color = F1272RenkED,style = plot.style_linebr)
//plot(F1272 ? F1272EY : otomatikgoster ? F1272EY_Kontrol ? F1272EY : na : na, title ='Lower F.1272 Line', color= F1272RenkEY,style = plot.style_linebr)
//plot(F1618 ? F1618ED : otomatikgoster ? F1618ED_Kontrol ? F1618ED : na : na, title ='Upper F.1618 Line', color = F1618RenkED,style = plot.style_linebr)
//plot(F1618 ? F1618EY : otomatikgoster ? F1618EY_Kontrol ? F1618EY : na : na, title ='Lower F.1618 Line', color = F1618RenkEY,style = plot.style_linebr)
//plot(F2 ? F2ED : otomatikgoster ? F2ED_Kontrol ? F2ED : na : na, title ='Upper F.2 Line', color = F2RenkED,style = plot.style_linebr)
//plot(F2 ? F2EY : otomatikgoster ? F2EY_Kontrol ? F2EY : na : na, title ='Lower F.2 Line', color = F2RenkEY,style = plot.style_linebr)
//plot(F2618 ? F2618ED : otomatikgoster ? F2618ED_Kontrol ? F2618ED : na : na, title ='Upper F.2618 Line', color = F2618RenkED,style = plot.style_linebr)
//plot(F2618 ? F2618EY : otomatikgoster ? F2618EY_Kontrol ? F2618EY : na : na, title ='Lower F.2618 Line', color = F2618RenkEY,style = plot.style_linebr)
//plot(F314 ? F314ED : otomatikgoster ? F314ED_Kontrol ? F314ED : na : na, title ='Upper F.314 Line', color = F314RenkED,style = plot.style_linebr)
//plot(F314 ? F314EY : otomatikgoster ? F314EY_Kontrol ? F314EY : na : na, title ='Lower F.314 Line', color = F314RenkEY,style = plot.style_linebr)
//plot(F3618 ? F3618ED : otomatikgoster ? F3618ED_Kontrol ? F3618ED : na : na, title ='Upper F.3618 Line', color = F3618RenkED,style = plot.style_linebr)
//plot(F3618 ? F3618EY : otomatikgoster ? F3618EY_Kontrol ? F3618EY : na : na, title ='Lower F.3618 Line', color = F3618RenkEY,style = plot.style_linebr)
//plot(F4236 ? F4236ED : otomatikgoster ? F4236ED_Kontrol ? F4236ED : na : na, title ='Upper F.4236 Line', color = F4236RenkED,style = plot.style_linebr)
//plot(F4236 ? F4236EY : otomatikgoster ? F4236EY_Kontrol ? F4236EY : na : na, title ='Lower F.4236 Line', color = F4236RenkEY,style = plot.style_linebr)
//fill(F786EDCizgi,F618EDCizgi,color = DDAlangoster ? DDAlan_Direnc_Renk : na,title = 'Resistance Zone color')
//fill(F618EYCizgi,F786EYCizgi,color = DDAlangoster ? DDAlan_Destek_Renk : na,title = 'Support Zone color')
if tablogoster
var SeviyelerTB = table.new(position = position.middle_left, columns = 2, rows = 21, bgcolor = tabloBGColor,border_width = tabloBorderWidth, border_color = tabloBorderColor,frame_color = tabloFrameColor,frame_width = tabloFrameWidth)
if barstate.islast
table.cell(table_id = SeviyelerTB, column = 0, row = 0, text = "Levels",text_halign = text.align_center,text_size = size.small,text_color = tabloTxtColor)
table.merge_cells(SeviyelerTB,0,0,1,0)
table.cell(table_id = SeviyelerTB, column = 0, row = 1, text = "Highest :",text_halign = text.align_right,text_size = size.small,bgcolor = EYRenk,text_color = EYYaziRenk)
table.cell(table_id = SeviyelerTB, column = 1, row = 1, text = str.tostring(enyuksek,format.mintick),text_size = size.small,bgcolor = EYRenk,text_color = EYYaziRenk)
table.cell(table_id = SeviyelerTB, column = 0, row = 2, text = "Lowest :",text_halign = text.align_right,text_size = size.small,bgcolor = EDRenk,text_color = EDYaziRenk)
table.cell(table_id = SeviyelerTB, column = 1, row = 2, text = str.tostring(endusuk,format.mintick),text_size = size.small,bgcolor = EDRenk,text_color = EDYaziRenk)
table.cell(table_id = SeviyelerTB, column = 0, row = 3, text = "Upper 0.618 :",text_halign = text.align_right,text_size = size.small,bgcolor = F618RenkED,text_color = F618YaziRenkED)
table.cell(table_id = SeviyelerTB, column = 1, row = 3, text = str.tostring(F618ED,format.mintick),text_size = size.small,bgcolor = F618RenkED,text_color = F618YaziRenkED)
table.cell(table_id = SeviyelerTB, column = 0, row = 4, text = "Lower 0.618 :",text_halign = text.align_right,text_size = size.small,bgcolor = F618RenkEY,text_color = F618YaziRenkEY)
table.cell(table_id = SeviyelerTB, column = 1, row = 4, text = str.tostring(F618EY,format.mintick),text_size = size.small,bgcolor = F618RenkEY,text_color = F618YaziRenkEY)
table.cell(table_id = SeviyelerTB, column = 0, row = 5, text = "Upper 0.786 :",text_halign = text.align_right,text_size = size.small,bgcolor = F786RenkED,text_color = F786YaziRenkED)
table.cell(table_id = SeviyelerTB, column = 1, row = 5, text = str.tostring(F786ED,format.mintick),text_size = size.small,bgcolor = F786RenkED,text_color = F786YaziRenkED)
table.cell(table_id = SeviyelerTB, column = 0, row = 6, text = "Lower 0.786 :",text_halign = text.align_right,text_size = size.small,bgcolor = F786RenkEY,text_color = F786YaziRenkEY)
table.cell(table_id = SeviyelerTB, column = 1, row = 6, text = str.tostring(F786EY,format.mintick),text_size = size.small,bgcolor = F786RenkEY,text_color = F786YaziRenkEY)
table.cell(table_id = SeviyelerTB, column = 0, row = 7, text = "Upper 1.272 :",text_halign = text.align_right,text_size = size.small,bgcolor = F1272RenkED,text_color = F1272YaziRenkED)
table.cell(table_id = SeviyelerTB, column = 1, row = 7, text = str.tostring(F1272ED,format.mintick),text_size = size.small,bgcolor = F1272RenkED,text_color = F1272YaziRenkED)
table.cell(table_id = SeviyelerTB, column = 0, row = 8, text = "Lower 1.272 :",text_halign = text.align_right,text_size = size.small,bgcolor = F1272RenkEY,text_color = F1272YaziRenkEY)
table.cell(table_id = SeviyelerTB, column = 1, row = 8, text = str.tostring(F1272EY,format.mintick),text_size = size.small,bgcolor = F1272RenkEY,text_color = F1272YaziRenkEY)
table.cell(table_id = SeviyelerTB, column = 0, row = 9, text = "Upper 1.618 :",text_halign = text.align_right,text_size = size.small,bgcolor = F1618RenkED,text_color = F1618YaziRenkED)
table.cell(table_id = SeviyelerTB, column = 1, row = 9, text = str.tostring(F1618ED,format.mintick),text_size = size.small,bgcolor = F1618RenkED,text_color = F1618YaziRenkED)
table.cell(table_id = SeviyelerTB, column = 0, row = 10, text = "Lower 1.618 :",text_halign = text.align_right,text_size = size.small,bgcolor = F1618RenkEY,text_color = F1618YaziRenkEY)
table.cell(table_id = SeviyelerTB, column = 1, row = 10, text = str.tostring(F1618EY,format.mintick),text_size = size.small,bgcolor = F1618RenkEY,text_color = F1618YaziRenkEY)
table.cell(table_id = SeviyelerTB, column = 0, row = 11, text = "Upper 2.0 :",text_halign = text.align_right,text_size = size.small,bgcolor = F2RenkED,text_color = F2YaziRenkED)
table.cell(table_id = SeviyelerTB, column = 1, row = 11, text = str.tostring(F2ED,format.mintick),text_size = size.small,bgcolor = F2RenkED,text_color = F2YaziRenkED)
table.cell(table_id = SeviyelerTB, column = 0, row = 12, text = "Lower 2.0 :",text_halign = text.align_right,text_size = size.small,bgcolor = F2RenkEY,text_color = F2YaziRenkEY)
table.cell(table_id = SeviyelerTB, column = 1, row = 12, text = str.tostring(F2EY,format.mintick),text_size = size.small,bgcolor = F2RenkEY,text_color = F2YaziRenkEY)
table.cell(table_id = SeviyelerTB, column = 0, row = 13, text = "Upper 2.618 :",text_halign = text.align_right,text_size = size.small,bgcolor = F2618RenkED,text_color = F2618YaziRenkED)
table.cell(table_id = SeviyelerTB, column = 1, row = 13, text = str.tostring(F2618ED,format.mintick),text_size = size.small,bgcolor = F2618RenkED,text_color = F2618YaziRenkED)
table.cell(table_id = SeviyelerTB, column = 0, row = 14, text = "Lower 2.618 :",text_halign = text.align_right,text_size = size.small,bgcolor = F2618RenkEY,text_color = F2618YaziRenkEY)
table.cell(table_id = SeviyelerTB, column = 1, row = 14, text = str.tostring(F2618EY,format.mintick),text_size = size.small,bgcolor = F2618RenkEY,text_color = F2618YaziRenkEY)
table.cell(table_id = SeviyelerTB, column = 0, row = 15, text = "Upper 3.14 :",text_halign = text.align_right,text_size = size.small,bgcolor = F314RenkED,text_color = F314YaziRenkED)
table.cell(table_id = SeviyelerTB, column = 1, row = 15, text = str.tostring(F314ED,format.mintick),text_size = size.small,bgcolor = F314RenkED,text_color = F314YaziRenkED)
table.cell(table_id = SeviyelerTB, column = 0, row = 16, text = "Lower 3.14 :",text_halign = text.align_right,text_size = size.small,bgcolor = F314RenkEY,text_color = F314YaziRenkEY)
table.cell(table_id = SeviyelerTB, column = 1, row = 16, text = str.tostring(F314EY,format.mintick),text_size = size.small,bgcolor = F314RenkEY,text_color = F314YaziRenkEY)
table.cell(table_id = SeviyelerTB, column = 0, row = 17, text = "Upper 3.618 :",text_halign = text.align_right,text_size = size.small,bgcolor = F3618RenkED,text_color = F3618YaziRenkED)
table.cell(table_id = SeviyelerTB, column = 1, row = 17, text = str.tostring(F3618ED,format.mintick),text_size = size.small,bgcolor = F3618RenkED,text_color = F3618YaziRenkED)
table.cell(table_id = SeviyelerTB, column = 0, row = 18, text = "Lower 3.618 :",text_halign = text.align_right,text_size = size.small,bgcolor = F3618RenkEY,text_color = F3618YaziRenkEY)
table.cell(table_id = SeviyelerTB, column = 1, row = 18, text = str.tostring(F3618EY,format.mintick),text_size = size.small,bgcolor = F3618RenkEY,text_color = F3618YaziRenkEY)
table.cell(table_id = SeviyelerTB, column = 0, row = 19, text = "Upper 4.236 :",text_halign = text.align_right,text_size = size.small,bgcolor = F4236RenkED,text_color = F4236YaziRenkED)
table.cell(table_id = SeviyelerTB, column = 1, row = 19, text = str.tostring(F4236ED,format.mintick),text_size = size.small,bgcolor = F4236RenkED,text_color = F4236YaziRenkED)
table.cell(table_id = SeviyelerTB, column = 0, row = 20, text = "Lower 4.236 :",text_halign = text.align_right,text_size = size.small,bgcolor = F4236RenkEY,text_color = F4236YaziRenkEY)
table.cell(table_id = SeviyelerTB, column = 1, row = 20, text = str.tostring(F4236EY,format.mintick),text_size = size.small,bgcolor = F4236RenkEY,text_color = F4236YaziRenkEY)
var etiket_EY = etiketgoster ? EY ? label.new(x = na,y = na,color=EYRenk,textcolor = EYYaziRenk,style = label.style_label_left,size=etiketbuyuklukSecenek) : na : na
var etiket_ED = etiketgoster ? ED ? label.new(x = na,y = na,color=EDRenk,textcolor = EDYaziRenk,style = label.style_label_left,size=etiketbuyuklukSecenek) : na : na
label.set_text(etiket_EY,text = "Highest : " + str.tostring(enyuksek,format.mintick))
label.set_xy(etiket_EY,x = bar_index+1,y = enyuksek)
label.set_text(etiket_ED,text = "Lowest : " + str.tostring(endusuk,format.mintick))
label.set_xy(etiket_ED,x = bar_index+1,y = endusuk)
var etiket_F618ED = etiketgoster ? F618 ? label.new(x = na,y = na,color=F618RenkED,textcolor=F618YaziRenkED,style = label.style_label_left,size=etiketbuyuklukSecenek) : na : na
var etiket_F618EY = etiketgoster ? F618 ? label.new(x = na,y = na,color=F618RenkEY,textcolor=F618YaziRenkEY,style = label.style_label_left,size=etiketbuyuklukSecenek) : na : na
label.set_text(etiket_F618ED,text = "Upper 0.618 : " + str.tostring(F618ED,format.mintick) )
label.set_xy(etiket_F618ED,x = bar_index+1,y = F618ED)
label.set_text(etiket_F618EY,text = "Lower 0.618 : "+ str.tostring(F618EY,format.mintick))
label.set_xy(etiket_F618EY,x = bar_index+1,y = F618EY)
var etiket_F786ED = etiketgoster ? F786 ? label.new(x = na,y = na,color=F786RenkED,textcolor=F786YaziRenkED,style = label.style_label_left,size=etiketbuyuklukSecenek) : na : na
var etiket_F786EY = etiketgoster ? F786 ? label.new(x = na,y = na,color=F786RenkEY,textcolor=F786YaziRenkEY,style = label.style_label_left,size=etiketbuyuklukSecenek) : na : na
label.set_text(etiket_F786ED,text = "Upper 0.786 : " + str.tostring(F786ED,format.mintick))
label.set_xy(etiket_F786ED,x = bar_index+1,y = F786ED)
label.set_text(etiket_F786EY,text = "Lower 0.786 : " + str.tostring(F786EY,format.mintick))
label.set_xy(etiket_F786EY,x = bar_index+1,y = F786EY)
var etiket_F1272ED = etiketgoster ? label.new(x = na,y = na,color=F1272RenkED,textcolor=F1272YaziRenkED,style = label.style_label_left,size=etiketbuyuklukSecenek) : na
var etiket_F1272EY = etiketgoster ? label.new(x = na,y = na,color=F1272RenkEY,textcolor=F1272YaziRenkEY,style = label.style_label_left,size=etiketbuyuklukSecenek) : na
if F1272 == true or (otomatikgoster == true and (F1272ED_Kontrol == true or F1272EY_Kontrol == true))
if F1272ED_Kontrol or F1272
label.set_text(etiket_F1272ED,text = "Upper 1.272 : " + str.tostring(F1272ED,format.mintick) )
label.set_xy(etiket_F1272ED,x = bar_index+1,y = F1272ED)
if F1272EY_Kontrol or F1272
label.set_text(etiket_F1272EY,text = "Lower 1.272 : "+ str.tostring(F1272EY,format.mintick))
label.set_xy(etiket_F1272EY,x = bar_index+1,y = F1272EY)
else
label.set_text(etiket_F1272ED,na)
label.set_x(etiket_F1272ED,na)
label.set_y(etiket_F1272ED,na)
label.set_text(etiket_F1272EY,na)
label.set_x(etiket_F1272EY,na)
label.set_y(etiket_F1272EY,na)
var etiket_F1618ED = etiketgoster ? label.new(x = na,y = na,color=F1618RenkED,textcolor=F1618YaziRenkED,style = label.style_label_left,size=etiketbuyuklukSecenek) : na
var etiket_F1618EY = etiketgoster ? label.new(x = na,y = na,color=F1618RenkEY,textcolor=F1618YaziRenkEY,style = label.style_label_left,size=etiketbuyuklukSecenek) : na
if F1618 == true or (otomatikgoster == true and (F1618ED_Kontrol == true or F1618EY_Kontrol == true))
if F1618ED_Kontrol or F1618
label.set_text(etiket_F1618ED,text = "Upper 1.618 : " + str.tostring(F1618ED,format.mintick) )
label.set_xy(etiket_F1618ED,x = bar_index+1,y = F1618ED)
if F1618EY_Kontrol or F1618
label.set_text(etiket_F1618EY,text = "Lower 1.618 : "+ str.tostring(F1618EY,format.mintick))
label.set_xy(etiket_F1618EY,x = bar_index+1,y = F1618EY)
else
label.set_text(etiket_F1618ED,na)
label.set_x(etiket_F1618ED,na)
label.set_y(etiket_F1618ED,na)
label.set_text(etiket_F1618EY,na)
label.set_x(etiket_F1618EY,na)
label.set_y(etiket_F1618EY,na)
var etiket_F2ED = etiketgoster ? label.new(x = na,y = na,color=F2RenkED,textcolor=F2YaziRenkED,style = label.style_label_left,size=etiketbuyuklukSecenek) : na
var etiket_F2EY = etiketgoster ? label.new(x = na,y = na,color=F2RenkEY,textcolor=F2YaziRenkEY,style = label.style_label_left,size=etiketbuyuklukSecenek) : na
if F2 == true or (otomatikgoster == true and (F2ED_Kontrol == true or F2EY_Kontrol == true))
if F2ED_Kontrol or F2
label.set_text(etiket_F2ED,text = "Upper 2.0 : " + str.tostring(F2ED,format.mintick) )
label.set_xy(etiket_F2ED,x = bar_index+1,y = F2ED)
if F2EY_Kontrol or F2
label.set_text(etiket_F2EY,text = "Lower 2.0 : "+ str.tostring(F2EY,format.mintick))
label.set_xy(etiket_F2EY,x = bar_index+1,y = F2EY)
else
label.set_text(etiket_F2ED,na)
label.set_x(etiket_F2ED,na)
label.set_y(etiket_F2ED,na)
label.set_text(etiket_F2EY,na)
label.set_x(etiket_F2EY,na)
label.set_y(etiket_F2EY,na)
var etiket_F2618ED = etiketgoster ? label.new(x = na,y = na,color=F2618RenkED,textcolor=F2618YaziRenkED,style = label.style_label_left,size=etiketbuyuklukSecenek) : na
var etiket_F2618EY = etiketgoster ? label.new(x = na,y = na,color=F2618RenkEY,textcolor=F2618YaziRenkEY,style = label.style_label_left,size=etiketbuyuklukSecenek) : na
if F2618 == true or (otomatikgoster == true and (F2618ED_Kontrol == true or F2618EY_Kontrol == true))
if F2618ED_Kontrol or F2618
label.set_text(etiket_F2618ED,text = "Upper 2.618 : " + str.tostring(F2618ED,format.mintick) )
label.set_xy(etiket_F2618ED,x = bar_index+1,y = F2618ED)
if F2618EY_Kontrol or F2618
label.set_text(etiket_F2618EY,text = "Lower 2.618 : "+ str.tostring(F2618EY,format.mintick))
label.set_xy(etiket_F2618EY,x = bar_index+1,y = F2618EY)
else
label.set_text(etiket_F2618ED,na)
label.set_x(etiket_F2618ED,na)
label.set_y(etiket_F2618ED,na)
label.set_text(etiket_F2618EY,na)
label.set_x(etiket_F2618EY,na)
label.set_y(etiket_F2618EY,na)
var etiket_F314ED = etiketgoster ? label.new(x = na,y = na,color=F314RenkED,textcolor=F314YaziRenkED,style = label.style_label_left,size=etiketbuyuklukSecenek) : na
var etiket_F314EY = etiketgoster ? label.new(x = na,y = na,color=F314RenkEY,textcolor=F314YaziRenkEY,style = label.style_label_left,size=etiketbuyuklukSecenek) : na
if F314 == true or (otomatikgoster == true and (F314ED_Kontrol == true or F314EY_Kontrol == true))
if F314ED_Kontrol or F314
label.set_text(etiket_F314ED,text = "Upper 3.14 : " + str.tostring(F314ED,format.mintick) )
label.set_xy(etiket_F314ED,x = bar_index+1,y = F314ED)
if F314EY_Kontrol or F314
label.set_text(etiket_F314EY,text = "Lower 3.14 : "+ str.tostring(F314EY,format.mintick))
label.set_xy(etiket_F314EY,x = bar_index+1,y = F314EY)
else
label.set_text(etiket_F314ED,na)
label.set_x(etiket_F314ED,na)
label.set_y(etiket_F314ED,na)
label.set_text(etiket_F314EY,na)
label.set_x(etiket_F314EY,na)
label.set_y(etiket_F314EY,na)
var etiket_F3618ED = etiketgoster ? label.new(x = na,y = na,color=F3618RenkED,textcolor=F3618YaziRenkED,style = label.style_label_left,size=etiketbuyuklukSecenek) : na
var etiket_F3618EY = etiketgoster ? label.new(x = na,y = na,color=F3618RenkEY,textcolor=F3618YaziRenkEY,style = label.style_label_left,size=etiketbuyuklukSecenek) : na
if F3618 == true or (otomatikgoster == true and (F3618ED_Kontrol == true or F3618EY_Kontrol == true))
if F3618ED_Kontrol or F3618
label.set_text(etiket_F3618ED,text = "Upper 3.618 : " + str.tostring(F3618ED,format.mintick) )
label.set_xy(etiket_F3618ED,x = bar_index+1,y = F3618ED)
if F3618EY_Kontrol or F3618
label.set_text(etiket_F3618EY,text = "Lower 3.618 : "+ str.tostring(F3618EY,format.mintick))
label.set_xy(etiket_F3618EY,x = bar_index+1,y = F3618EY)
else
label.set_text(etiket_F3618ED,na)
label.set_x(etiket_F3618ED,na)
label.set_y(etiket_F3618ED,na)
label.set_text(etiket_F3618EY,na)
label.set_x(etiket_F3618EY,na)
label.set_y(etiket_F3618EY,na)
var etiket_F4236ED = etiketgoster ? label.new(x = na,y = na,color=F4236RenkED,textcolor=F4236YaziRenkED,style = label.style_label_left,size=etiketbuyuklukSecenek) : na
var etiket_F4236EY = etiketgoster ? label.new(x = na,y = na,color=F4236RenkEY,textcolor=F4236YaziRenkEY,style = label.style_label_left,size=etiketbuyuklukSecenek) : na
if F4236 == true or (otomatikgoster == true and (F4236ED_Kontrol == true or F4236EY_Kontrol == true))
if F4236ED_Kontrol or F4236
label.set_text(etiket_F4236ED,text = "Upper 4.236 : " + str.tostring(F4236ED,format.mintick) )
label.set_xy(etiket_F4236ED,x = bar_index+1,y = F4236ED)
if F4236EY_Kontrol or F4236
label.set_text(etiket_F4236EY,text = "Lower 4.236 : "+ str.tostring(F4236EY,format.mintick))
label.set_xy(etiket_F4236EY,x = bar_index+1,y = F4236EY)
else
label.set_text(etiket_F4236ED,na)
label.set_x(etiket_F4236ED,na)
label.set_y(etiket_F4236ED,na)
label.set_text(etiket_F4236EY,na)
label.set_x(etiket_F4236EY,na)
label.set_y(etiket_F4236EY,na)
var bitiscizgisi = BitisCizgisigoster ? line.new(na,na,na,na,extend = extend.both,color = BitisCizgisiRenk ): na
if BitisCizgisigoster
line.set_xy1(bitiscizgisi,bar_index+(Uzunluk-sayac),close)
line.set_xy2(bitiscizgisi,bar_index+(Uzunluk-sayac),close)
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Electrified (electrifiedtrading)
//@version=5
import Electrified/DataCleaner/7 as DC
import Electrified/Time/7
// Constants
CONFIRM = "Confirmation (Tolerance)", VOLATILITY = "Volatility", DEVIATION = "Deviation Measurement", DISPLAY = "Display", THEME = "Theme"
MINUTES = "Minutes", DAYS = "Days", BARS = "Bars"
UP = +1, DOWN = -1
clearColor = color.new(color.gray, 100)
// Parameters
volLen = math.min(4000, Time.spanToIntLen(
input.float(0.1, "", minval = 0.1, group=VOLATILITY, inline = VOLATILITY),
input.string(MINUTES, "", options=[BARS,MINUTES , DAYS], group=VOLATILITY, inline = VOLATILITY,
tooltip = "The amount of time/bars to measure the range of movement.")))
devMul = input.float(1, "Level", minval = 0.1, step = 0.1, group = DEVIATION,
tooltip = "The maximum deviation before a trend has been broken/reversed.")
devLen = Time.spanToIntLen(
input.float(100, "", minval = 0.1, group=DEVIATION, inline = DEVIATION),
input.string(BARS, "", options=[BARS, MINUTES, DAYS], group=DEVIATION, inline = DEVIATION,
tooltip = "The amount of time/bars to measure the deviation of the range."))
atrMul = input.float(0.5, "ATR Multiple", minval = 0, step = 0.5, group=CONFIRM,
tooltip="The tolerance to give confirmation based upon the weighted average true range.")
confirmBars = input.int(2, "Closed Bars", minval = 0, group=CONFIRM,
tooltip="The number of closed Bars that have to exceed the super-trend value before the trend reversal is confirmed.")
highlighting = input(true, "Show Highlighter ?", group=DISPLAY,
tooltip = "Paints the background depending on whether the trend is up or down.")
showLabels = input(false, title="Show Reversal Labels ?", group=DISPLAY,
tooltip = "Adds labels to identify the point of reversal.")
showMidpoint = input(false, "Show Middle Point ?", group=DISPLAY,
tooltip = "Displays the average of the upper and lower boundary.")
// Theme
upColor = input.color(color.green, "â–²", group = THEME, inline = THEME)
dnColor = input.color(color.red, "â–¼", group = THEME, inline = THEME)
warnColor = input.color(color.yellow, "âš*", group = THEME, inline = THEME)
upPen = color.new(upColor, 25)
dnPen = color.new(dnColor, 25)
warnPen = color.new(warnColor, 25)
// Clamp/adjust lenghts that are too large
if(volLen>devLen)
devLen := volLen * 2
if(devLen > 4000)
devLen := 4000
// Determine the normalized true range (for Bars)
atr = ta.wma(DC.naOutliers(ta.tr, devLen, 2.5), devLen)
// Because the outliers become NA we need to carry over the tolerance from the previous bar
if na(atr)
atr := atr[1]
tolerance = atr * atrMul
calcDev(series float source) =>
ta.wma(source, devLen) + ta.wma(ta.stdev(source, math.min(devLen * 2, 4000)), devLen) * devMul
// Determine the range for the delta length
upDev = calcDev(math.max(high - low[volLen], 0))
dnDev = calcDev(math.max(high[volLen] - low, 0))
// Trend
var trend = 0
var upper = high
var lower = low
var brokenCount = 0
var wasTouched = false
warn = false
reversal = false
upperWarning = close > upper
lowerWarning = close < lower
upperBroken = close[1] - tolerance > upper
lowerBroken = close[1] + tolerance < lower
if trend == UP
// Touching the lower boundary resets the warning condition
if upperWarning
brokenCount := 0
wasTouched := false
if lowerWarning
wasTouched := true
warn := true
else
if lowerBroken
lower := low[1]
if upperBroken
brokenCount += 1
if trend == DOWN
// Touching the upper boundary resets the warning condition
if lowerWarning
brokenCount := 0
wasTouched := false
if upperWarning
wasTouched := true
warn := true
else
if upperBroken
upper := high[1]
if lowerBroken
warn := true
brokenCount += 1
if trend != UP
// If the low exceeds the threshold then confirmation is not required.
if brokenCount > confirmBars or low > upper + tolerance
trend := UP
upper := high[1]
reversal := true
else if trend != DOWN
// If the high exceeds the threshold then confirmation is not required.
if brokenCount > confirmBars or high < lower - tolerance
trend := DOWN
lower := low[1]
reversal := true
if reversal
wasTouched := false
brokenCount := 0
// Range adjustment
if low[1] + tolerance < upper - dnDev
upper := low[1] + dnDev
if high[1] - tolerance > lower + upDev
lower := high[1] - upDev
trendChange = ta.change(trend)
signalUp = trend == UP and trendChange > 0
signalDn = trend == DOWN and trendChange < 0
isTrendUp = trend[1] == UP
isTrendDn = trend[1] == DOWN
// Plots
upperPlot = plot(upper, "Upper ",
isTrendDn ? wasTouched[1] ? warnPen : dnPen : clearColor, 2, plot.style_linebr)
middle = (lower + upper) / 2
plot(middle, "Mid-Point",
isTrendUp ? upPen : isTrendDn ? dnPen : clearColor, 1, plot.style_circles,
display = showMidpoint ? display.all : display.status_line)
lowerPlot = plot(lower, "Lower",
isTrendUp ? wasTouched[1]?warnPen:upPen : clearColor, 2, plot.style_linebr)
// Labels
labelTextColor = showLabels ? color.black : clearColor
//plotshape(signalDn[1] ? upper[1] : na, "â–¼ Reversal", showLabels?shape.labeldown:shape.circle,
//location.absolute, dnColor, -1, "â–¼", labelTextColor, size=size.tiny, display = display.pane)
//plotshape(signalUp[1] ? lower[1] : na, "â–² Reversal", showLabels?shape.labelup:shape.circle,
//location.absolute, upColor, -1, "â–²", labelTextColor, size=size.tiny, display = display.pane)
// Highlight
highlight = plot(highlighting ? ohlc4 : na, "OHLC4", clearColor, display=display.none)
//fill(highlight, upperPlot, upper, ohlc4, isTrendDn ? color.new(dnColor, 75) : clearColor, isTrendDn ? color.new(dnColor, 90) : clearColor, "â–¼ Highlight", display = highlighting ? display.all : display.none)
//fill(highlight, lowerPlot, lower, ohlc4, isTrendUp ? color.new(upColor, 75) : clearColor, isTrendUp ? color.new(upColor, 90) : clearColor, "â–² Highlight", display = highlighting ? display.all : display.none)
// Alerts
alertcondition(warn or reversal,
"1) Warning", message="Auto SuperTrend+ Warning ({{ticker}} {{interval}})")
alertcondition(reversal,
"2) Reversal", message="Auto SuperTrend+ Reversal ({{ticker}} {{interval}})")
alertcondition(isTrendUp ? close<middle : isTrendDn ? close>middle : false,
"3) Pullback", message="Auto SuperTrend+ Pullback ({{ticker}} {{interval}})")
alertcondition(signalUp,
"4) Up â–² (+)", message="Auto SuperTrend+ Up â–² (+) ({{ticker}} {{interval}})")
alertcondition(signalDn,
"5) Down â–¼ (-)", message="Auto SuperTrend+ Down â–¼ (-) ({{ticker}} {{interval}})")
/////////////////
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © RafaelZioni
//@version=5
src = input(close)
tf = input(100)
len = timeframe.isintraday and timeframe.multiplier >= 1 ? tf / timeframe.multiplier * 7 : timeframe.isintraday and timeframe.multiplier < 60 ? 60 / timeframe.multiplier * 24 * 7 : 7
ma = ta.ema(src * close, len) / ta.ema(close, len)
//
src1 = ma
z(src1, len) =>
n = 0.0
s = 0.0
for i = 0 to len - 1 by 1
wr = (len - i) * len
n += wr
s += src[i] * wr
s
s / n
hm = 2.0 * z(src1, math.floor(len / 2)) - z(src1, len)
zhma = z(hm, math.floor(math.sqrt(len)))
lineColor = zhma > zhma[2] ? color.lime : color.red
plot(zhma, title='ZHMA', color=lineColor, linewidth=2)
hColor = true
vis = true
hu = hColor ? zhma > zhma[2] ? #00ff00 : #ff0000 : #ff9800
vl = zhma[0]
ll = zhma[2]
//m1 = plot(vl, color=hu, linewidth=1, transp=60)
//m2 = plot(vis ? ll : na, color=hu, linewidth=2, transp=80)
//fill(m1, m2, color=hu, transp=70)
c5 = zhma
f1 = 1
f2 = 1000
//
up = c5 - f1 * math.log(f2)
dn = c5 + f1 * math.log(f2)
//
factor = input.float(title='Factor', defval=0.1, minval=0.001, maxval=5, step=0.01)
hb = 0.00
hb := nz(hb[1])
hl = 0.000
hl := nz(hl[1])
lb = 0.00
lb := nz(lb[1])
l1 = 0.000
l1 := nz(l1[1])
c = 0
c := nz(c[1]) + 1
trend22 = 0
trend := nz(trend[1])
n = dn
x = up
if barstate.isfirst
c := 0
lb := n
hb := x
l1 := c5
hl := c5
hl
if c == 1
if x >= hb[1]
hb := x
hl := c5
trend22 := 1
trend22
else
lb := n
l1 := c5
trend22 := -1
trend22
if c > 1
if trend22[1] > 0
hl := math.max(hl[1], c5)
if x >= hb[1]
hb := x
hb
else
if n < hb[1] - hb[1] * factor
lb := n
l1 := c5
trend22 := -1
trend22
else
l1 := math.min(l1[1], c5)
if n <= lb[1]
lb := n
lb
else
if x > lb[1] + lb[1] * factor
hb := x
hl := c5
trend22 := 1
trend22
v = trend22 == 1 ? hb : trend22 == -1 ? lb : na
//plot(v, color=trend == 1 ? color.blue : color.yellow, style=plot.style_circles, linewidth=1, title='trend', ****=true, transp=0)
//
long = trend22 == 1 and trend22[1] == -1
short = trend22 == -1 and trend22[1] == 1
//
last_long = 0.0
last_short = 0.0
last_long := long ? time : nz(last_long[1])
last_short := short ? time : nz(last_short[1])
buy = ta.crossover(last_long, last_short)
sell = ta.crossover(last_short, last_long)
/////////////// Plotting ///////////////
//plotshape(buy, title='buy', text='Buy', color=color.new(color.green, 0), style=shape.labelup, location=location.belowbar, size=size.small, textcolor=color.new(color.white, 0)) //plot for buy icon
//plotshape(sell, title='sell', text='Sell', color=color.new(color.red, 0), style=shape.labeldown, location=location.abovebar, size=size.small, textcolor=color.new(color.white, 0))
/////////////// Alerts ///////////////
alertcondition(buy, title='buy', message='Buy')
alertcondition(sell, title='sell', message='Sell')
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © faytterro
//@version=5
len11=input.int(100,title="lenght")
src11=input(hlc3, title="source")
sum1=0.0
sum2=0.0
for i=0 to len11-1
sum2+=src11[i]/len11
for i=0 to len11-2
sum1+=(len11-1)*(src11[i+1]-src11[i])/(2*len11-2)
x1=last_bar_index-len11+1
x2=last_bar_index
y1=sum2+sum1
y2=sum2-sum1
dev=ta.stdev(src11,len11)
ldev=input.float(1, title="range", step=0.1, minval=0.5, maxval=2)
linreg=line.new(x1, y1, x2, y2, color= y1<y2? color.rgb(76, 175, 79, 20) : color.rgb(255, 82, 82, 20), extend=extend.right, width=2)
line.delete(linreg[1])
linregtop=line.new(x1, y1+dev*ldev, x2, y2+dev*ldev, color= color.rgb(255, 82, 82, 100), extend=extend.right, width=1)
line.delete(linregtop[1])
linregbot=line.new(x1, y1-dev*ldev, x2, y2-dev*ldev, color=color.rgb(76, 175, 79, 100) , extend=extend.right, width=1)
line.delete(linregbot[1])
linregtop2=line.new(x1, y1+dev*ldev*2, x2, y2+dev*ldev*2, color= color.rgb(255, 82, 82, 100), extend=extend.right, width=1)
line.delete(linregtop2[1])
linregbot2=line.new(x1, y1-dev*ldev*2, x2, y2-dev*ldev*2, color=color.rgb(76, 175, 79, 100) , extend=extend.right, width=1)
line.delete(linregbot2[1])
linregtop3=line.new(x1, y1+dev*ldev*4, x2, y2+dev*ldev*4, color= color.rgb(255, 82, 82, 100), extend=extend.right, width=1)
line.delete(linregtop3[1])
linregbot3=line.new(x1, y1-dev*ldev*4, x2, y2-dev*ldev*4, color=color.rgb(76, 175, 79, 100) , extend=extend.right, width=1)
line.delete(linregbot3[1])
linregtop4=line.new(x1, y1+dev*ldev*0.5, x2, y2+dev*ldev*0.5, color= color.rgb(255, 82, 82, 100), extend=extend.right, width=1)
line.delete(linregtop4[1])
linregbot4=line.new(x1, y1-dev*ldev*0.5, x2, y2-dev*ldev*0.5, color=color.rgb(76, 175, 79, 100) , extend=extend.right, width=1)
line.delete(linregbot4[1])
//linefill.new(linregbot2, linregbot, color=color.rgb(76, 175, 79, 80))
//linefill.new(linregtop2, linregtop, color=color.rgb(255, 82, 82, 80))
//linefill.new(linregbot2, linregbot3, color=color.rgb(76, 175, 79, 70))
//linefill.new(linregtop2, linregtop3, color=color.rgb(255, 82, 82, 70))
//linefill.new(linregbot4, linregbot, color=color.rgb(76, 175, 79, 90))
//linefill.new(linregtop4, linregtop, color=color.rgb(255, 82, 82, 90))
////////////////////////
// Swing Bands
// Free for use. Header credits must be included when any form of the code included in this package is used.
// Any indicator built on this indicator needs to attribute the original author's work
// v1.0 - barbaros
//@version=5
pvtLenL = input.int(1, minval=1, title="Pivot Length Left Hand Side")
pvtLenR = input.int(1, minval=1, title="Pivot Length Right Hand Side")
maxcnt = input.int(2, minval=2, title="Max history")
var highs = array.new_float(0)
var lows = array.new_float(0)
pvthi = ta.pivothigh(high, pvtLenL, pvtLenR)
pvtlo = ta.pivotlow(low, pvtLenL, pvtLenR)
if not na(pvthi)
array.push(highs, pvthi)
if array.size(highs) > maxcnt
array.shift(highs)
if not na(pvtlo)
array.push(lows, pvtlo)
if array.size(lows) > maxcnt
array.shift(lows)
avghighs = array.avg(highs)
avglows = array.avg(lows)
midpoint = (avghighs + avglows) / 2
//p1 = plot(avghighs, offset = 0, color=color.green, title="Lead 1")
//p2 = plot(avglows, offset = 0, color=color.red, title="Lead 2")
//mid = plot(midpoint, offset = 0, color=color.white, title="Mid")
//fill(p1, p2, color.new(color.gray, 50))
direction = 0
direction := close > avghighs and close > open ? 1 : close < avglows and close < open ? -1 : direction[1]
barcolor(direction == 1 ? color.white : direction == -1 ? color.red : color.gray)
https://www.tradingview.com/x/ktJ56Ady/ görüntü böyle...
1 dakkalıkta agresif vurkaç için...
16.07.2024 - 10.12.2024 https://chatgpt.com/g/g-uib6qYHGw-tr...ipt-v5-creator
https://tr.tradingview.com/script/oyHrH1pn-OHLC-Tables/
bunu kullanmak istiyorsunuz örneğin.... ama versiyon 4 bu....
siz ise versiyon 5 e eklemek istiyorsanız.....
yapmanız gereken...
versiyon 4 yazısında 4ü 5 yapın ve kodu 5 çevirtin....
örnek.... https://www.tradingview.com/x/gCVKT4at/
16.07.2024 - 10.12.2024 https://chatgpt.com/g/g-uib6qYHGw-tr...ipt-v5-creator
https://tr.tradingview.com/v/uo2IyKkL/
grafiği bozmaması için linearı kaldırdım....
https://www.tradingview.com/x/WK2AMp82/
PHP Code:
//@version=5
indicator(title='*', shorttitle='*', overlay=true, format=format.price, precision=0)
Uzunluk = input.int(50,minval=1,title='Length',group='INDICATOR SETTINGS')
otomatikgoster = input(true,title = 'Enable Auto Show mode ?',tooltip = 'As prices touch each extension level, the next level is automatically displayed.',group = 'INDICATOR SETTINGS')
DDAlangoster = input(false,title = 'Paint between 0.618 and 0.786',group = 'INDICATOR SETTINGS')
DDAlan_Direnc_Renk = input.color(color.new(color.red,85),'Resistance Zone Color :',group='INDICATOR SETTINGS')
DDAlan_Destek_Renk =input.color(color.new(color.green,85),'Support Zone Color :',group='INDICATOR SETTINGS')
etiketgoster = input(true,title = 'Tags to be shown ?',group='INDICATOR SETTINGS')
etiketbuyukluk = input.string('Small', title='Label Size',
options=['Tiny', 'Small', 'Normal', 'Large', 'Huge'],group='INDICATOR SETTINGS')
etiketbuyuklukSecenek = switch etiketbuyukluk
'Tiny' => size.tiny
'Small' => size.small
'Normal' => size.normal
'Large' => size.large
'Huge' => size.huge
BitisCizgisigoster = input(false,title = 'Show the recalculation line ?',group = 'INDICATOR SETTINGS')
BitisCizgisiRenk = input.color(color.blue,'Recalculation Line Color :',group = 'INDICATOR SETTINGS')
tablogoster = input(true,title = 'Should the table of levels be shown ?',group='INDICATOR SETTINGS')
tabloBorderColor = input.color(color.black,'Table Borders Color :',group='INDICATOR SETTINGS')
tabloBorderWidth = input.int(1,title='Table Limits Thickness :',options = [1,2],group='INDICATOR SETTINGS')
tabloFrameColor = input.color(color.black,'Table Frame Borders Color :',group='INDICATOR SETTINGS')
tabloFrameWidth = input.int(2,title='Thickness of Table Frame Limits :',options = [1,2],group='INDICATOR SETTINGS')
tabloBGColor = input.color(color.orange,'Table - Title Background Color :',group='INDICATOR SETTINGS')
tabloTxtColor = input.color(color.black,'Table - Title Font Color :',group='INDICATOR SETTINGS')
EY = input(false,title = 'Highest Line',group='LEVEL SETTINGS')
EYRenk = input.color(color.green,'Line / Label / Table Color :',group='LEVEL SETTINGS')
EYYaziRenk = input.color(color.black,'Text Color :',group='LEVEL SETTINGS')
ED = input(false,title = 'Lowest Line',group='LEVEL SETTINGS')
EDRenk = input.color(color.red,'Line / Label / Table Color :',group='LEVEL SETTINGS')
EDYaziRenk = input.color(color.black,'Text Color :',group='LEVEL SETTINGS')
F618 = input(false,title='0.618 Lines',group='LEVEL SETTINGS')
F618RenkED = input.color(color.orange,'Upper Line / Label / Table Color :',group='LEVEL SETTINGS')
F618RenkEY = input.color(color.orange,'Lower Line / Label / Table Color :',group='LEVEL SETTINGS')
F618YaziRenkED = input.color(color.black,'Upper Text Color :',group='LEVEL SETTINGS')
F618YaziRenkEY = input.color(color.black,'Lower Text Color :',group='LEVEL SETTINGS')
F786 = input(false,title='0.786 Lines',group='LEVEL SETTINGS')
F786RenkED = input.color(color.orange,'Upper Line / Label / Table Color :',group='LEVEL SETTINGS')
F786RenkEY = input.color(color.orange,'Lower Line / Label / Table Color :',group='LEVEL SETTINGS')
F786YaziRenkED = input.color(color.black,'Upper Text Color :',group='LEVEL SETTINGS')
F786YaziRenkEY = input.color(color.black,'Lower Text Color :',group='LEVEL SETTINGS')
F1272 = input(false,title='1.272 Lines',group='LEVEL SETTINGS')
F1272RenkED = input.color(color.blue,'Upper Line / Label / Table Color :',group='LEVEL SETTINGS')
F1272RenkEY = input.color(color.blue,'Lower Line / Label / Table Color :',group='LEVEL SETTINGS')
F1272YaziRenkED = input.color(color.white,'Upper Text Color :',group='LEVEL SETTINGS')
F1272YaziRenkEY = input.color(color.white,'Lower Text Color :',group='LEVEL SETTINGS')
F1618 = input(false,title='1.618 Lines',group='LEVEL SETTINGS')
F1618RenkED = input.color(color.blue,'Upper Line / Label / Table Color :',group='LEVEL SETTINGS')
F1618RenkEY = input.color(color.blue,'Lower Line / Label / Table Color :',group='LEVEL SETTINGS')
F1618YaziRenkED = input.color(color.white,'Upper Text Color :',group='LEVEL SETTINGS')
F1618YaziRenkEY = input.color(color.white,'Lower Text Color :',group='LEVEL SETTINGS')
F2 = input(false,title='2.0 Lines',group='LEVEL SETTINGS')
F2RenkED = input.color(color.blue,'Upper Line / Label / Table Color :',group='LEVEL SETTINGS')
F2RenkEY = input.color(color.blue,'Lower Line / Label / Table Color :',group='LEVEL SETTINGS')
F2YaziRenkED = input.color(color.white,'Upper Text Color :',group='LEVEL SETTINGS')
F2YaziRenkEY = input.color(color.white,'Lower Text Color :',group='LEVEL SETTINGS')
F2618 = input(false,title='2.618 Lines',group='LEVEL SETTINGS')
F2618RenkED = input.color(color.blue,'Upper Line / Label / Table Color :',group='LEVEL SETTINGS')
F2618RenkEY = input.color(color.blue,'Lower Line / Label / Table Color :',group='LEVEL SETTINGS')
F2618YaziRenkED = input.color(color.white,'Upper Text Color :',group='LEVEL SETTINGS')
F2618YaziRenkEY = input.color(color.white,'Lower Text Color :',group='LEVEL SETTINGS')
F314 = input(false,title='3.14 Lines',group='LEVEL SETTINGS')
F314RenkED = input.color(color.blue,'Upper Line / Label / Table Color :',group='LEVEL SETTINGS')
F314RenkEY = input.color(color.blue,'Lower Line / Label / Table Color :',group='LEVEL SETTINGS')
F314YaziRenkED = input.color(color.white,'Upper Text Color :',group='LEVEL SETTINGS')
F314YaziRenkEY = input.color(color.white,'Lower Text Color :',group='LEVEL SETTINGS')
F3618 = input(false,title='3.618 Lines',group='LEVEL SETTINGS')
F3618RenkED = input.color(color.blue,'Upper Line / Label / Table Color :',group='LEVEL SETTINGS')
F3618RenkEY = input.color(color.blue,'Lower Line / Label / Table Color :',group='LEVEL SETTINGS')
F3618YaziRenkED = input.color(color.white,'Upper Text Color :',group='LEVEL SETTINGS')
F3618YaziRenkEY = input.color(color.white,'Lower Text Color :',group='LEVEL SETTINGS')
F4236 = input(false,title='4.236 Lines',group='LEVEL SETTINGS')
F4236RenkED = input.color(color.blue,'Upper Line / Label / Table Color :',group='LEVEL SETTINGS')
F4236RenkEY = input.color(color.blue,'Lower Line / Label / Table Color :',group='LEVEL SETTINGS')
F4236YaziRenkED = input.color(color.white,'Upper Text Color :',group='LEVEL SETTINGS')
F4236YaziRenkEY = input.color(color.white,'Lower Text Color :',group='LEVEL SETTINGS')
var float enyuksek = na
var float endusuk = na
var bool F1272ED_Kontrol = na
var bool F1272EY_Kontrol = na
var bool F1618ED_Kontrol = na
var bool F1618EY_Kontrol = na
var bool F2ED_Kontrol = na
var bool F2EY_Kontrol = na
var bool F2618ED_Kontrol = na
var bool F2618EY_Kontrol = na
var bool F314ED_Kontrol = na
var bool F314EY_Kontrol = na
var bool F3618ED_Kontrol = na
var bool F3618EY_Kontrol = na
var bool F4236ED_Kontrol = na
var bool F4236EY_Kontrol = na
var sayac = 0
enyuksek_temp = ta.highest(Uzunluk)
endusuk_temp = ta.lowest(Uzunluk)
sayac := sayac + 1
if sayac == Uzunluk
sayac := 0
enyuksek := enyuksek_temp
endusuk := endusuk_temp
F1272ED_Kontrol := false
F1272EY_Kontrol := false
F1618ED_Kontrol := false
F1618EY_Kontrol := false
F2ED_Kontrol := false
F2EY_Kontrol := false
F2618ED_Kontrol := false
F2618EY_Kontrol := false
F314ED_Kontrol := false
F314EY_Kontrol := false
F3618ED_Kontrol := false
F3618EY_Kontrol := false
F4236ED_Kontrol := false
F4236EY_Kontrol := false
mesafe = enyuksek-endusuk
F618EY = enyuksek - (mesafe * 0.618)
F618ED = endusuk + (mesafe * 0.618)
F786EY = enyuksek - (mesafe * 0.786)
F786ED = endusuk + (mesafe * 0.786)
F1272EY = enyuksek - (mesafe * 1.272)
F1272ED = endusuk + (mesafe * 1.272)
F1618EY = enyuksek - (mesafe * 1.618)
F1618ED = endusuk + (mesafe * 1.618)
F2EY = enyuksek - (mesafe * 2)
F2ED = endusuk + (mesafe * 2)
F2618EY = enyuksek - (mesafe * 2.618)
F2618ED = endusuk + (mesafe * 2.618)
F314EY = enyuksek - (mesafe * 3.14)
F314ED = endusuk + (mesafe * 3.14)
F3618EY = enyuksek - (mesafe * 3.618)
F3618ED = endusuk + (mesafe * 3.618)
F4236EY = enyuksek - (mesafe * 4.236)
F4236ED = endusuk + (mesafe * 4.236)
if high >= enyuksek
F1272ED_Kontrol := true
if low <= endusuk
F1272EY_Kontrol := true
if high >= F1272ED
F1618ED_Kontrol := true
if low <= F1272EY
F1618EY_Kontrol := true
if high >= F1618ED
F2ED_Kontrol := true
if low <= F1618EY
F2EY_Kontrol := true
if high >= F2ED
F2618ED_Kontrol := true
if low <= F2EY
F2618EY_Kontrol := true
if high >= F2618ED
F314ED_Kontrol := true
if low <= F2618EY
F314EY_Kontrol := true
if high >= F314ED
F3618ED_Kontrol := true
if low <= F314EY
F3618EY_Kontrol := true
if high >= F3618ED
F4236ED_Kontrol := true
if low <= F3618EY
F4236EY_Kontrol := true
//plot(EY ? enyuksek : na , title = 'Highest Line', color = EYRenk)
//plot(ED ? endusuk : na , title = 'Lowest Line', color = EDRenk)
//F786EDCizgi = plot(F786 ? F786ED : na, title ='Upper F.786 Line', color = F786RenkED)
// = plot(F786 ? F786EY : na, title ='Lower F.786 Line', color = F786RenkEY)
//F618EDCizgi = plot(F618 ? F618ED : na, title ='Upper F.618 Line', color = F618RenkED)
//F618EYCizgi = plot(F618 ? F618EY : na, title ='Lower F.618 Line', color = F618RenkEY)
//plot(F1272 ? F1272ED : otomatikgoster ? F1272ED_Kontrol ? F1272ED : na : na, title ='Upper F.1272 Line', color = F1272RenkED,style = plot.style_linebr)
//plot(F1272 ? F1272EY : otomatikgoster ? F1272EY_Kontrol ? F1272EY : na : na, title ='Lower F.1272 Line', color= F1272RenkEY,style = plot.style_linebr)
//plot(F1618 ? F1618ED : otomatikgoster ? F1618ED_Kontrol ? F1618ED : na : na, title ='Upper F.1618 Line', color = F1618RenkED,style = plot.style_linebr)
//plot(F1618 ? F1618EY : otomatikgoster ? F1618EY_Kontrol ? F1618EY : na : na, title ='Lower F.1618 Line', color = F1618RenkEY,style = plot.style_linebr)
//plot(F2 ? F2ED : otomatikgoster ? F2ED_Kontrol ? F2ED : na : na, title ='Upper F.2 Line', color = F2RenkED,style = plot.style_linebr)
//plot(F2 ? F2EY : otomatikgoster ? F2EY_Kontrol ? F2EY : na : na, title ='Lower F.2 Line', color = F2RenkEY,style = plot.style_linebr)
//plot(F2618 ? F2618ED : otomatikgoster ? F2618ED_Kontrol ? F2618ED : na : na, title ='Upper F.2618 Line', color = F2618RenkED,style = plot.style_linebr)
//plot(F2618 ? F2618EY : otomatikgoster ? F2618EY_Kontrol ? F2618EY : na : na, title ='Lower F.2618 Line', color = F2618RenkEY,style = plot.style_linebr)
//plot(F314 ? F314ED : otomatikgoster ? F314ED_Kontrol ? F314ED : na : na, title ='Upper F.314 Line', color = F314RenkED,style = plot.style_linebr)
//plot(F314 ? F314EY : otomatikgoster ? F314EY_Kontrol ? F314EY : na : na, title ='Lower F.314 Line', color = F314RenkEY,style = plot.style_linebr)
//plot(F3618 ? F3618ED : otomatikgoster ? F3618ED_Kontrol ? F3618ED : na : na, title ='Upper F.3618 Line', color = F3618RenkED,style = plot.style_linebr)
//plot(F3618 ? F3618EY : otomatikgoster ? F3618EY_Kontrol ? F3618EY : na : na, title ='Lower F.3618 Line', color = F3618RenkEY,style = plot.style_linebr)
//plot(F4236 ? F4236ED : otomatikgoster ? F4236ED_Kontrol ? F4236ED : na : na, title ='Upper F.4236 Line', color = F4236RenkED,style = plot.style_linebr)
//plot(F4236 ? F4236EY : otomatikgoster ? F4236EY_Kontrol ? F4236EY : na : na, title ='Lower F.4236 Line', color = F4236RenkEY,style = plot.style_linebr)
//fill(F786EDCizgi,F618EDCizgi,color = DDAlangoster ? DDAlan_Direnc_Renk : na,title = 'Resistance Zone color')
//fill(F618EYCizgi,F786EYCizgi,color = DDAlangoster ? DDAlan_Destek_Renk : na,title = 'Support Zone color')
if tablogoster
var SeviyelerTB = table.new(position = position.middle_left, columns = 2, rows = 21, bgcolor = tabloBGColor,border_width = tabloBorderWidth, border_color = tabloBorderColor,frame_color = tabloFrameColor,frame_width = tabloFrameWidth)
if barstate.islast
table.cell(table_id = SeviyelerTB, column = 0, row = 0, text = "Levels",text_halign = text.align_center,text_size = size.small,text_color = tabloTxtColor)
table.merge_cells(SeviyelerTB,0,0,1,0)
table.cell(table_id = SeviyelerTB, column = 0, row = 1, text = "Highest :",text_halign = text.align_right,text_size = size.small,bgcolor = EYRenk,text_color = EYYaziRenk)
table.cell(table_id = SeviyelerTB, column = 1, row = 1, text = str.tostring(enyuksek,format.mintick),text_size = size.small,bgcolor = EYRenk,text_color = EYYaziRenk)
table.cell(table_id = SeviyelerTB, column = 0, row = 2, text = "Lowest :",text_halign = text.align_right,text_size = size.small,bgcolor = EDRenk,text_color = EDYaziRenk)
table.cell(table_id = SeviyelerTB, column = 1, row = 2, text = str.tostring(endusuk,format.mintick),text_size = size.small,bgcolor = EDRenk,text_color = EDYaziRenk)
table.cell(table_id = SeviyelerTB, column = 0, row = 3, text = "Upper 0.618 :",text_halign = text.align_right,text_size = size.small,bgcolor = F618RenkED,text_color = F618YaziRenkED)
table.cell(table_id = SeviyelerTB, column = 1, row = 3, text = str.tostring(F618ED,format.mintick),text_size = size.small,bgcolor = F618RenkED,text_color = F618YaziRenkED)
table.cell(table_id = SeviyelerTB, column = 0, row = 4, text = "Lower 0.618 :",text_halign = text.align_right,text_size = size.small,bgcolor = F618RenkEY,text_color = F618YaziRenkEY)
table.cell(table_id = SeviyelerTB, column = 1, row = 4, text = str.tostring(F618EY,format.mintick),text_size = size.small,bgcolor = F618RenkEY,text_color = F618YaziRenkEY)
table.cell(table_id = SeviyelerTB, column = 0, row = 5, text = "Upper 0.786 :",text_halign = text.align_right,text_size = size.small,bgcolor = F786RenkED,text_color = F786YaziRenkED)
table.cell(table_id = SeviyelerTB, column = 1, row = 5, text = str.tostring(F786ED,format.mintick),text_size = size.small,bgcolor = F786RenkED,text_color = F786YaziRenkED)
table.cell(table_id = SeviyelerTB, column = 0, row = 6, text = "Lower 0.786 :",text_halign = text.align_right,text_size = size.small,bgcolor = F786RenkEY,text_color = F786YaziRenkEY)
table.cell(table_id = SeviyelerTB, column = 1, row = 6, text = str.tostring(F786EY,format.mintick),text_size = size.small,bgcolor = F786RenkEY,text_color = F786YaziRenkEY)
table.cell(table_id = SeviyelerTB, column = 0, row = 7, text = "Upper 1.272 :",text_halign = text.align_right,text_size = size.small,bgcolor = F1272RenkED,text_color = F1272YaziRenkED)
table.cell(table_id = SeviyelerTB, column = 1, row = 7, text = str.tostring(F1272ED,format.mintick),text_size = size.small,bgcolor = F1272RenkED,text_color = F1272YaziRenkED)
table.cell(table_id = SeviyelerTB, column = 0, row = 8, text = "Lower 1.272 :",text_halign = text.align_right,text_size = size.small,bgcolor = F1272RenkEY,text_color = F1272YaziRenkEY)
table.cell(table_id = SeviyelerTB, column = 1, row = 8, text = str.tostring(F1272EY,format.mintick),text_size = size.small,bgcolor = F1272RenkEY,text_color = F1272YaziRenkEY)
table.cell(table_id = SeviyelerTB, column = 0, row = 9, text = "Upper 1.618 :",text_halign = text.align_right,text_size = size.small,bgcolor = F1618RenkED,text_color = F1618YaziRenkED)
table.cell(table_id = SeviyelerTB, column = 1, row = 9, text = str.tostring(F1618ED,format.mintick),text_size = size.small,bgcolor = F1618RenkED,text_color = F1618YaziRenkED)
table.cell(table_id = SeviyelerTB, column = 0, row = 10, text = "Lower 1.618 :",text_halign = text.align_right,text_size = size.small,bgcolor = F1618RenkEY,text_color = F1618YaziRenkEY)
table.cell(table_id = SeviyelerTB, column = 1, row = 10, text = str.tostring(F1618EY,format.mintick),text_size = size.small,bgcolor = F1618RenkEY,text_color = F1618YaziRenkEY)
table.cell(table_id = SeviyelerTB, column = 0, row = 11, text = "Upper 2.0 :",text_halign = text.align_right,text_size = size.small,bgcolor = F2RenkED,text_color = F2YaziRenkED)
table.cell(table_id = SeviyelerTB, column = 1, row = 11, text = str.tostring(F2ED,format.mintick),text_size = size.small,bgcolor = F2RenkED,text_color = F2YaziRenkED)
table.cell(table_id = SeviyelerTB, column = 0, row = 12, text = "Lower 2.0 :",text_halign = text.align_right,text_size = size.small,bgcolor = F2RenkEY,text_color = F2YaziRenkEY)
table.cell(table_id = SeviyelerTB, column = 1, row = 12, text = str.tostring(F2EY,format.mintick),text_size = size.small,bgcolor = F2RenkEY,text_color = F2YaziRenkEY)
table.cell(table_id = SeviyelerTB, column = 0, row = 13, text = "Upper 2.618 :",text_halign = text.align_right,text_size = size.small,bgcolor = F2618RenkED,text_color = F2618YaziRenkED)
table.cell(table_id = SeviyelerTB, column = 1, row = 13, text = str.tostring(F2618ED,format.mintick),text_size = size.small,bgcolor = F2618RenkED,text_color = F2618YaziRenkED)
table.cell(table_id = SeviyelerTB, column = 0, row = 14, text = "Lower 2.618 :",text_halign = text.align_right,text_size = size.small,bgcolor = F2618RenkEY,text_color = F2618YaziRenkEY)
table.cell(table_id = SeviyelerTB, column = 1, row = 14, text = str.tostring(F2618EY,format.mintick),text_size = size.small,bgcolor = F2618RenkEY,text_color = F2618YaziRenkEY)
table.cell(table_id = SeviyelerTB, column = 0, row = 15, text = "Upper 3.14 :",text_halign = text.align_right,text_size = size.small,bgcolor = F314RenkED,text_color = F314YaziRenkED)
table.cell(table_id = SeviyelerTB, column = 1, row = 15, text = str.tostring(F314ED,format.mintick),text_size = size.small,bgcolor = F314RenkED,text_color = F314YaziRenkED)
table.cell(table_id = SeviyelerTB, column = 0, row = 16, text = "Lower 3.14 :",text_halign = text.align_right,text_size = size.small,bgcolor = F314RenkEY,text_color = F314YaziRenkEY)
table.cell(table_id = SeviyelerTB, column = 1, row = 16, text = str.tostring(F314EY,format.mintick),text_size = size.small,bgcolor = F314RenkEY,text_color = F314YaziRenkEY)
table.cell(table_id = SeviyelerTB, column = 0, row = 17, text = "Upper 3.618 :",text_halign = text.align_right,text_size = size.small,bgcolor = F3618RenkED,text_color = F3618YaziRenkED)
table.cell(table_id = SeviyelerTB, column = 1, row = 17, text = str.tostring(F3618ED,format.mintick),text_size = size.small,bgcolor = F3618RenkED,text_color = F3618YaziRenkED)
table.cell(table_id = SeviyelerTB, column = 0, row = 18, text = "Lower 3.618 :",text_halign = text.align_right,text_size = size.small,bgcolor = F3618RenkEY,text_color = F3618YaziRenkEY)
table.cell(table_id = SeviyelerTB, column = 1, row = 18, text = str.tostring(F3618EY,format.mintick),text_size = size.small,bgcolor = F3618RenkEY,text_color = F3618YaziRenkEY)
table.cell(table_id = SeviyelerTB, column = 0, row = 19, text = "Upper 4.236 :",text_halign = text.align_right,text_size = size.small,bgcolor = F4236RenkED,text_color = F4236YaziRenkED)
table.cell(table_id = SeviyelerTB, column = 1, row = 19, text = str.tostring(F4236ED,format.mintick),text_size = size.small,bgcolor = F4236RenkED,text_color = F4236YaziRenkED)
table.cell(table_id = SeviyelerTB, column = 0, row = 20, text = "Lower 4.236 :",text_halign = text.align_right,text_size = size.small,bgcolor = F4236RenkEY,text_color = F4236YaziRenkEY)
table.cell(table_id = SeviyelerTB, column = 1, row = 20, text = str.tostring(F4236EY,format.mintick),text_size = size.small,bgcolor = F4236RenkEY,text_color = F4236YaziRenkEY)
var etiket_EY = etiketgoster ? EY ? label.new(x = na,y = na,color=EYRenk,textcolor = EYYaziRenk,style = label.style_label_left,size=etiketbuyuklukSecenek) : na : na
var etiket_ED = etiketgoster ? ED ? label.new(x = na,y = na,color=EDRenk,textcolor = EDYaziRenk,style = label.style_label_left,size=etiketbuyuklukSecenek) : na : na
label.set_text(etiket_EY,text = "Highest : " + str.tostring(enyuksek,format.mintick))
label.set_xy(etiket_EY,x = bar_index+1,y = enyuksek)
label.set_text(etiket_ED,text = "Lowest : " + str.tostring(endusuk,format.mintick))
label.set_xy(etiket_ED,x = bar_index+1,y = endusuk)
var etiket_F618ED = etiketgoster ? F618 ? label.new(x = na,y = na,color=F618RenkED,textcolor=F618YaziRenkED,style = label.style_label_left,size=etiketbuyuklukSecenek) : na : na
var etiket_F618EY = etiketgoster ? F618 ? label.new(x = na,y = na,color=F618RenkEY,textcolor=F618YaziRenkEY,style = label.style_label_left,size=etiketbuyuklukSecenek) : na : na
label.set_text(etiket_F618ED,text = "Upper 0.618 : " + str.tostring(F618ED,format.mintick) )
label.set_xy(etiket_F618ED,x = bar_index+1,y = F618ED)
label.set_text(etiket_F618EY,text = "Lower 0.618 : "+ str.tostring(F618EY,format.mintick))
label.set_xy(etiket_F618EY,x = bar_index+1,y = F618EY)
var etiket_F786ED = etiketgoster ? F786 ? label.new(x = na,y = na,color=F786RenkED,textcolor=F786YaziRenkED,style = label.style_label_left,size=etiketbuyuklukSecenek) : na : na
var etiket_F786EY = etiketgoster ? F786 ? label.new(x = na,y = na,color=F786RenkEY,textcolor=F786YaziRenkEY,style = label.style_label_left,size=etiketbuyuklukSecenek) : na : na
label.set_text(etiket_F786ED,text = "Upper 0.786 : " + str.tostring(F786ED,format.mintick))
label.set_xy(etiket_F786ED,x = bar_index+1,y = F786ED)
label.set_text(etiket_F786EY,text = "Lower 0.786 : " + str.tostring(F786EY,format.mintick))
label.set_xy(etiket_F786EY,x = bar_index+1,y = F786EY)
var etiket_F1272ED = etiketgoster ? label.new(x = na,y = na,color=F1272RenkED,textcolor=F1272YaziRenkED,style = label.style_label_left,size=etiketbuyuklukSecenek) : na
var etiket_F1272EY = etiketgoster ? label.new(x = na,y = na,color=F1272RenkEY,textcolor=F1272YaziRenkEY,style = label.style_label_left,size=etiketbuyuklukSecenek) : na
if F1272 == true or (otomatikgoster == true and (F1272ED_Kontrol == true or F1272EY_Kontrol == true))
if F1272ED_Kontrol or F1272
label.set_text(etiket_F1272ED,text = "Upper 1.272 : " + str.tostring(F1272ED,format.mintick) )
label.set_xy(etiket_F1272ED,x = bar_index+1,y = F1272ED)
if F1272EY_Kontrol or F1272
label.set_text(etiket_F1272EY,text = "Lower 1.272 : "+ str.tostring(F1272EY,format.mintick))
label.set_xy(etiket_F1272EY,x = bar_index+1,y = F1272EY)
else
label.set_text(etiket_F1272ED,na)
label.set_x(etiket_F1272ED,na)
label.set_y(etiket_F1272ED,na)
label.set_text(etiket_F1272EY,na)
label.set_x(etiket_F1272EY,na)
label.set_y(etiket_F1272EY,na)
var etiket_F1618ED = etiketgoster ? label.new(x = na,y = na,color=F1618RenkED,textcolor=F1618YaziRenkED,style = label.style_label_left,size=etiketbuyuklukSecenek) : na
var etiket_F1618EY = etiketgoster ? label.new(x = na,y = na,color=F1618RenkEY,textcolor=F1618YaziRenkEY,style = label.style_label_left,size=etiketbuyuklukSecenek) : na
if F1618 == true or (otomatikgoster == true and (F1618ED_Kontrol == true or F1618EY_Kontrol == true))
if F1618ED_Kontrol or F1618
label.set_text(etiket_F1618ED,text = "Upper 1.618 : " + str.tostring(F1618ED,format.mintick) )
label.set_xy(etiket_F1618ED,x = bar_index+1,y = F1618ED)
if F1618EY_Kontrol or F1618
label.set_text(etiket_F1618EY,text = "Lower 1.618 : "+ str.tostring(F1618EY,format.mintick))
label.set_xy(etiket_F1618EY,x = bar_index+1,y = F1618EY)
else
label.set_text(etiket_F1618ED,na)
label.set_x(etiket_F1618ED,na)
label.set_y(etiket_F1618ED,na)
label.set_text(etiket_F1618EY,na)
label.set_x(etiket_F1618EY,na)
label.set_y(etiket_F1618EY,na)
var etiket_F2ED = etiketgoster ? label.new(x = na,y = na,color=F2RenkED,textcolor=F2YaziRenkED,style = label.style_label_left,size=etiketbuyuklukSecenek) : na
var etiket_F2EY = etiketgoster ? label.new(x = na,y = na,color=F2RenkEY,textcolor=F2YaziRenkEY,style = label.style_label_left,size=etiketbuyuklukSecenek) : na
if F2 == true or (otomatikgoster == true and (F2ED_Kontrol == true or F2EY_Kontrol == true))
if F2ED_Kontrol or F2
label.set_text(etiket_F2ED,text = "Upper 2.0 : " + str.tostring(F2ED,format.mintick) )
label.set_xy(etiket_F2ED,x = bar_index+1,y = F2ED)
if F2EY_Kontrol or F2
label.set_text(etiket_F2EY,text = "Lower 2.0 : "+ str.tostring(F2EY,format.mintick))
label.set_xy(etiket_F2EY,x = bar_index+1,y = F2EY)
else
label.set_text(etiket_F2ED,na)
label.set_x(etiket_F2ED,na)
label.set_y(etiket_F2ED,na)
label.set_text(etiket_F2EY,na)
label.set_x(etiket_F2EY,na)
label.set_y(etiket_F2EY,na)
var etiket_F2618ED = etiketgoster ? label.new(x = na,y = na,color=F2618RenkED,textcolor=F2618YaziRenkED,style = label.style_label_left,size=etiketbuyuklukSecenek) : na
var etiket_F2618EY = etiketgoster ? label.new(x = na,y = na,color=F2618RenkEY,textcolor=F2618YaziRenkEY,style = label.style_label_left,size=etiketbuyuklukSecenek) : na
if F2618 == true or (otomatikgoster == true and (F2618ED_Kontrol == true or F2618EY_Kontrol == true))
if F2618ED_Kontrol or F2618
label.set_text(etiket_F2618ED,text = "Upper 2.618 : " + str.tostring(F2618ED,format.mintick) )
label.set_xy(etiket_F2618ED,x = bar_index+1,y = F2618ED)
if F2618EY_Kontrol or F2618
label.set_text(etiket_F2618EY,text = "Lower 2.618 : "+ str.tostring(F2618EY,format.mintick))
label.set_xy(etiket_F2618EY,x = bar_index+1,y = F2618EY)
else
label.set_text(etiket_F2618ED,na)
label.set_x(etiket_F2618ED,na)
label.set_y(etiket_F2618ED,na)
label.set_text(etiket_F2618EY,na)
label.set_x(etiket_F2618EY,na)
label.set_y(etiket_F2618EY,na)
var etiket_F314ED = etiketgoster ? label.new(x = na,y = na,color=F314RenkED,textcolor=F314YaziRenkED,style = label.style_label_left,size=etiketbuyuklukSecenek) : na
var etiket_F314EY = etiketgoster ? label.new(x = na,y = na,color=F314RenkEY,textcolor=F314YaziRenkEY,style = label.style_label_left,size=etiketbuyuklukSecenek) : na
if F314 == true or (otomatikgoster == true and (F314ED_Kontrol == true or F314EY_Kontrol == true))
if F314ED_Kontrol or F314
label.set_text(etiket_F314ED,text = "Upper 3.14 : " + str.tostring(F314ED,format.mintick) )
label.set_xy(etiket_F314ED,x = bar_index+1,y = F314ED)
if F314EY_Kontrol or F314
label.set_text(etiket_F314EY,text = "Lower 3.14 : "+ str.tostring(F314EY,format.mintick))
label.set_xy(etiket_F314EY,x = bar_index+1,y = F314EY)
else
label.set_text(etiket_F314ED,na)
label.set_x(etiket_F314ED,na)
label.set_y(etiket_F314ED,na)
label.set_text(etiket_F314EY,na)
label.set_x(etiket_F314EY,na)
label.set_y(etiket_F314EY,na)
var etiket_F3618ED = etiketgoster ? label.new(x = na,y = na,color=F3618RenkED,textcolor=F3618YaziRenkED,style = label.style_label_left,size=etiketbuyuklukSecenek) : na
var etiket_F3618EY = etiketgoster ? label.new(x = na,y = na,color=F3618RenkEY,textcolor=F3618YaziRenkEY,style = label.style_label_left,size=etiketbuyuklukSecenek) : na
if F3618 == true or (otomatikgoster == true and (F3618ED_Kontrol == true or F3618EY_Kontrol == true))
if F3618ED_Kontrol or F3618
label.set_text(etiket_F3618ED,text = "Upper 3.618 : " + str.tostring(F3618ED,format.mintick) )
label.set_xy(etiket_F3618ED,x = bar_index+1,y = F3618ED)
if F3618EY_Kontrol or F3618
label.set_text(etiket_F3618EY,text = "Lower 3.618 : "+ str.tostring(F3618EY,format.mintick))
label.set_xy(etiket_F3618EY,x = bar_index+1,y = F3618EY)
else
label.set_text(etiket_F3618ED,na)
label.set_x(etiket_F3618ED,na)
label.set_y(etiket_F3618ED,na)
label.set_text(etiket_F3618EY,na)
label.set_x(etiket_F3618EY,na)
label.set_y(etiket_F3618EY,na)
var etiket_F4236ED = etiketgoster ? label.new(x = na,y = na,color=F4236RenkED,textcolor=F4236YaziRenkED,style = label.style_label_left,size=etiketbuyuklukSecenek) : na
var etiket_F4236EY = etiketgoster ? label.new(x = na,y = na,color=F4236RenkEY,textcolor=F4236YaziRenkEY,style = label.style_label_left,size=etiketbuyuklukSecenek) : na
if F4236 == true or (otomatikgoster == true and (F4236ED_Kontrol == true or F4236EY_Kontrol == true))
if F4236ED_Kontrol or F4236
label.set_text(etiket_F4236ED,text = "Upper 4.236 : " + str.tostring(F4236ED,format.mintick) )
label.set_xy(etiket_F4236ED,x = bar_index+1,y = F4236ED)
if F4236EY_Kontrol or F4236
label.set_text(etiket_F4236EY,text = "Lower 4.236 : "+ str.tostring(F4236EY,format.mintick))
label.set_xy(etiket_F4236EY,x = bar_index+1,y = F4236EY)
else
label.set_text(etiket_F4236ED,na)
label.set_x(etiket_F4236ED,na)
label.set_y(etiket_F4236ED,na)
label.set_text(etiket_F4236EY,na)
label.set_x(etiket_F4236EY,na)
label.set_y(etiket_F4236EY,na)
var bitiscizgisi = BitisCizgisigoster ? line.new(na,na,na,na,extend = extend.both,color = BitisCizgisiRenk ): na
if BitisCizgisigoster
line.set_xy1(bitiscizgisi,bar_index+(Uzunluk-sayac),close)
line.set_xy2(bitiscizgisi,bar_index+(Uzunluk-sayac),close)
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Electrified (electrifiedtrading)
//@version=5
import Electrified/DataCleaner/7 as DC
import Electrified/Time/7
// Constants
CONFIRM = "Confirmation (Tolerance)", VOLATILITY = "Volatility", DEVIATION = "Deviation Measurement", DISPLAY = "Display", THEME = "Theme"
MINUTES = "Minutes", DAYS = "Days", BARS = "Bars"
UP = +1, DOWN = -1
clearColor = color.new(color.gray, 100)
// Parameters
volLen = math.min(4000, Time.spanToIntLen(
input.float(0.1, "", minval = 0.1, group=VOLATILITY, inline = VOLATILITY),
input.string(MINUTES, "", options=[BARS,MINUTES , DAYS], group=VOLATILITY, inline = VOLATILITY,
tooltip = "The amount of time/bars to measure the range of movement.")))
devMul = input.float(1, "Level", minval = 0.1, step = 0.1, group = DEVIATION,
tooltip = "The maximum deviation before a trend has been broken/reversed.")
devLen = Time.spanToIntLen(
input.float(100, "", minval = 0.1, group=DEVIATION, inline = DEVIATION),
input.string(BARS, "", options=[BARS, MINUTES, DAYS], group=DEVIATION, inline = DEVIATION,
tooltip = "The amount of time/bars to measure the deviation of the range."))
atrMul = input.float(0.5, "ATR Multiple", minval = 0, step = 0.5, group=CONFIRM,
tooltip="The tolerance to give confirmation based upon the weighted average true range.")
confirmBars = input.int(2, "Closed Bars", minval = 0, group=CONFIRM,
tooltip="The number of closed Bars that have to exceed the super-trend value before the trend reversal is confirmed.")
highlighting = input(true, "Show Highlighter ?", group=DISPLAY,
tooltip = "Paints the background depending on whether the trend is up or down.")
showLabels = input(false, title="Show Reversal Labels ?", group=DISPLAY,
tooltip = "Adds labels to identify the point of reversal.")
showMidpoint = input(false, "Show Middle Point ?", group=DISPLAY,
tooltip = "Displays the average of the upper and lower boundary.")
// Theme
upColor = input.color(color.green, "▲", group = THEME, inline = THEME)
dnColor = input.color(color.red, "▼", group = THEME, inline = THEME)
warnColor = input.color(color.yellow, "⚠", group = THEME, inline = THEME)
upPen = color.new(upColor, 25)
dnPen = color.new(dnColor, 25)
warnPen = color.new(warnColor, 25)
// Clamp/adjust lenghts that are too large
if(volLen>devLen)
devLen := volLen * 2
if(devLen > 4000)
devLen := 4000
// Determine the normalized true range (for Bars)
atr = ta.wma(DC.naOutliers(ta.tr, devLen, 2.5), devLen)
// Because the outliers become NA we need to carry over the tolerance from the previous bar
if na(atr)
atr := atr[1]
tolerance = atr * atrMul
calcDev(series float source) =>
ta.wma(source, devLen) + ta.wma(ta.stdev(source, math.min(devLen * 2, 4000)), devLen) * devMul
// Determine the range for the delta length
upDev = calcDev(math.max(high - low[volLen], 0))
dnDev = calcDev(math.max(high[volLen] - low, 0))
// Trend
var trend = 0
var upper = high
var lower = low
var brokenCount = 0
var wasTouched = false
warn = false
reversal = false
upperWarning = close > upper
lowerWarning = close < lower
upperBroken = close[1] - tolerance > upper
lowerBroken = close[1] + tolerance < lower
if trend == UP
// Touching the lower boundary resets the warning condition
if upperWarning
brokenCount := 0
wasTouched := false
if lowerWarning
wasTouched := true
warn := true
else
if lowerBroken
lower := low[1]
if upperBroken
brokenCount += 1
if trend == DOWN
// Touching the upper boundary resets the warning condition
if lowerWarning
brokenCount := 0
wasTouched := false
if upperWarning
wasTouched := true
warn := true
else
if upperBroken
upper := high[1]
if lowerBroken
warn := true
brokenCount += 1
if trend != UP
// If the low exceeds the threshold then confirmation is not required.
if brokenCount > confirmBars or low > upper + tolerance
trend := UP
upper := high[1]
reversal := true
else if trend != DOWN
// If the high exceeds the threshold then confirmation is not required.
if brokenCount > confirmBars or high < lower - tolerance
trend := DOWN
lower := low[1]
reversal := true
if reversal
wasTouched := false
brokenCount := 0
// Range adjustment
if low[1] + tolerance < upper - dnDev
upper := low[1] + dnDev
if high[1] - tolerance > lower + upDev
lower := high[1] - upDev
trendChange = ta.change(trend)
signalUp = trend == UP and trendChange > 0
signalDn = trend == DOWN and trendChange < 0
isTrendUp = trend[1] == UP
isTrendDn = trend[1] == DOWN
// Plots
upperPlot = plot(upper, "Upper ",
isTrendDn ? wasTouched[1] ? warnPen : dnPen : clearColor, 2, plot.style_linebr)
middle = (lower + upper) / 2
plot(middle, "Mid-Point",
isTrendUp ? upPen : isTrendDn ? dnPen : clearColor, 1, plot.style_circles,
display = showMidpoint ? display.all : display.status_line)
lowerPlot = plot(lower, "Lower",
isTrendUp ? wasTouched[1]?warnPen:upPen : clearColor, 2, plot.style_linebr)
// Labels
labelTextColor = showLabels ? color.black : clearColor
//plotshape(signalDn[1] ? upper[1] : na, "▼ Reversal", showLabels?shape.labeldown:shape.circle,
//location.absolute, dnColor, -1, "▼", labelTextColor, size=size.tiny, display = display.pane)
//plotshape(signalUp[1] ? lower[1] : na, "▲ Reversal", showLabels?shape.labelup:shape.circle,
//location.absolute, upColor, -1, "▲", labelTextColor, size=size.tiny, display = display.pane)
// Highlight
highlight = plot(highlighting ? ohlc4 : na, "OHLC4", clearColor, display=display.none)
//fill(highlight, upperPlot, upper, ohlc4, isTrendDn ? color.new(dnColor, 75) : clearColor, isTrendDn ? color.new(dnColor, 90) : clearColor, "▼ Highlight", display = highlighting ? display.all : display.none)
//fill(highlight, lowerPlot, lower, ohlc4, isTrendUp ? color.new(upColor, 75) : clearColor, isTrendUp ? color.new(upColor, 90) : clearColor, "▲ Highlight", display = highlighting ? display.all : display.none)
// Alerts
alertcondition(warn or reversal,
"1) Warning", message="Auto SuperTrend+ Warning ({{ticker}} {{interval}})")
alertcondition(reversal,
"2) Reversal", message="Auto SuperTrend+ Reversal ({{ticker}} {{interval}})")
alertcondition(isTrendUp ? close<middle : isTrendDn ? close>middle : false,
"3) Pullback", message="Auto SuperTrend+ Pullback ({{ticker}} {{interval}})")
alertcondition(signalUp,
"4) Up ▲ (+)", message="Auto SuperTrend+ Up ▲ (+) ({{ticker}} {{interval}})")
alertcondition(signalDn,
"5) Down ▼ (-)", message="Auto SuperTrend+ Down ▼ (-) ({{ticker}} {{interval}})")
/////////////////
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © RafaelZioni
//@version=5
src = input(close)
tf = input(100)
len = timeframe.isintraday and timeframe.multiplier >= 1 ? tf / timeframe.multiplier * 7 : timeframe.isintraday and timeframe.multiplier < 60 ? 60 / timeframe.multiplier * 24 * 7 : 7
ma = ta.ema(src * close, len) / ta.ema(close, len)
//
src1 = ma
z(src1, len) =>
n = 0.0
s = 0.0
for i = 0 to len - 1 by 1
wr = (len - i) * len
n += wr
s += src[i] * wr
s
s / n
hm = 2.0 * z(src1, math.floor(len / 2)) - z(src1, len)
zhma = z(hm, math.floor(math.sqrt(len)))
lineColor = zhma > zhma[2] ? color.lime : color.red
plot(zhma, title='ZHMA', color=lineColor, linewidth=2)
hColor = true
vis = true
hu = hColor ? zhma > zhma[2] ? #00ff00 : #ff0000 : #ff9800
vl = zhma[0]
ll = zhma[2]
//m1 = plot(vl, color=hu, linewidth=1, transp=60)
//m2 = plot(vis ? ll : na, color=hu, linewidth=2, transp=80)
//fill(m1, m2, color=hu, transp=70)
c5 = zhma
f1 = 1
f2 = 1000
//
up = c5 - f1 * math.log(f2)
dn = c5 + f1 * math.log(f2)
//
factor = input.float(title='Factor', defval=0.1, minval=0.001, maxval=5, step=0.01)
hb = 0.00
hb := nz(hb[1])
hl = 0.000
hl := nz(hl[1])
lb = 0.00
lb := nz(lb[1])
l1 = 0.000
l1 := nz(l1[1])
c = 0
c := nz(c[1]) + 1
trend22 = 0
trend := nz(trend[1])
n = dn
x = up
if barstate.isfirst
c := 0
lb := n
hb := x
l1 := c5
hl := c5
hl
if c == 1
if x >= hb[1]
hb := x
hl := c5
trend22 := 1
trend22
else
lb := n
l1 := c5
trend22 := -1
trend22
if c > 1
if trend22[1] > 0
hl := math.max(hl[1], c5)
if x >= hb[1]
hb := x
hb
else
if n < hb[1] - hb[1] * factor
lb := n
l1 := c5
trend22 := -1
trend22
else
l1 := math.min(l1[1], c5)
if n <= lb[1]
lb := n
lb
else
if x > lb[1] + lb[1] * factor
hb := x
hl := c5
trend22 := 1
trend22
v = trend22 == 1 ? hb : trend22 == -1 ? lb : na
//plot(v, color=trend == 1 ? color.blue : color.yellow, style=plot.style_circles, linewidth=1, title='trend', ****=true, transp=0)
//
long = trend22 == 1 and trend22[1] == -1
short = trend22 == -1 and trend22[1] == 1
//
last_long = 0.0
last_short = 0.0
last_long := long ? time : nz(last_long[1])
last_short := short ? time : nz(last_short[1])
buy = ta.crossover(last_long, last_short)
sell = ta.crossover(last_short, last_long)
/////////////// Plotting ///////////////
//plotshape(buy, title='buy', text='Buy', color=color.new(color.green, 0), style=shape.labelup, location=location.belowbar, size=size.small, textcolor=color.new(color.white, 0)) //plot for buy icon
//plotshape(sell, title='sell', text='Sell', color=color.new(color.red, 0), style=shape.labeldown, location=location.abovebar, size=size.small, textcolor=color.new(color.white, 0))
/////////////// Alerts ///////////////
alertcondition(buy, title='buy', message='Buy')
alertcondition(sell, title='sell', message='Sell')
////////////////////////
// Swing Bands
// Free for use. Header credits must be included when any form of the code included in this package is used.
// Any indicator built on this indicator needs to attribute the original author's work
// v1.0 - barbaros
//@version=5
pvtLenL = input.int(1, minval=1, title="Pivot Length Left Hand Side")
pvtLenR = input.int(1, minval=1, title="Pivot Length Right Hand Side")
maxcnt = input.int(2, minval=2, title="Max history")
var highs = array.new_float(0)
var lows = array.new_float(0)
pvthi = ta.pivothigh(high, pvtLenL, pvtLenR)
pvtlo = ta.pivotlow(low, pvtLenL, pvtLenR)
if not na(pvthi)
array.push(highs, pvthi)
if array.size(highs) > maxcnt
array.shift(highs)
if not na(pvtlo)
array.push(lows, pvtlo)
if array.size(lows) > maxcnt
array.shift(lows)
avghighs = array.avg(highs)
avglows = array.avg(lows)
midpoint = (avghighs + avglows) / 2
//p1 = plot(avghighs, offset = 0, color=color.green, title="Lead 1")
//p2 = plot(avglows, offset = 0, color=color.red, title="Lead 2")
//mid = plot(midpoint, offset = 0, color=color.white, title="Mid")
//fill(p1, p2, color.new(color.gray, 50))
direction = 0
direction := close > avghighs and close > open ? 1 : close < avglows and close < open ? -1 : direction[1]
barcolor(direction == 1 ? color.white : direction == -1 ? color.red : color.gray)
///////////////////////
//@version=5
// OHLC-Open High Low Close
// v1, 2022.10.06 — Shad Kearns - Twitter==>> @Shadlee26
TimeZone = input('GMT+3')
f_tickFormat() =>
string _s = str.tostring(syminfo.mintick)
_s := str.replace_all(_s, '25', '00')
_s := str.replace_all(_s, '5', '0')
_s := str.replace_all(_s, '1', '0')
_s
var string GP1 = 'viewing'
string i_tab1Ypos = input.string('bottom', 'Panel Pozisyon', inline='11', options=['top', 'middle', 'bottom'], group=GP1)
string i_tab1Xpos = input.string('center', '', inline='11', options=['left', 'center', 'right'], group=GP1)
var table tab1 = table.new(i_tab1Ypos + '_' + i_tab1Xpos, 2, 7, color.rgb(42, 46, 57), color.rgb(204, 204, 204), 1, color.rgb(204, 204, 204), 1)
table.cell(tab1, 0, 1, 'Açılış', text_halign=text.align_left, text_size=size.normal, text_color=color.white)
table.cell(tab1, 0, 2, 'Yüksek', text_halign=text.align_left, text_size=size.normal, text_color=color.white)
table.cell(tab1, 0, 3, 'Düşük', text_halign=text.align_left, text_size=size.normal, text_color=color.white)
table.cell(tab1, 0, 4, 'Kapanış', text_halign=text.align_left, text_size=size.normal, text_color=color.white)
table.cell(tab1, 0, 5, 'Değişim', text_halign=text.align_left, text_size=size.normal, text_color=color.white)
table.cell(tab1, 0, 6, '% Değişim ', text_halign=text.align_left, text_size=size.normal, text_color=color.white)
table.cell(tab1, 0, 0, str.tostring(year(timenow)), text_halign=text.align_center, text_size=size.normal, text_color=color.black, bgcolor=color.rgb(225, 204, 0))
table.cell(tab1, 1, 0, str.tostring(hour(timenow, TimeZone), '00:') + str.tostring(minute(timenow, TimeZone), '00:') + str.tostring(second(timenow, TimeZone), '00'), text_size=size.normal, text_color=color.black, bgcolor=color.rgb(225, 204, 0))
table.cell(tab1, 1, 1, str.tostring(open, f_tickFormat()), text_size=size.normal, text_color=color.white)
table.cell(tab1, 1, 2, str.tostring(high, f_tickFormat()), text_size=size.normal, text_color=color.rgb(9, 255, 0))
table.cell(tab1, 1, 3, str.tostring(low, f_tickFormat()), text_size=size.normal, text_color=color.red)
table.cell(tab1, 1, 4, str.tostring(close, f_tickFormat()), text_size=size.normal, text_color=color.white)
iff_1 = close[0] == close[1] ? color.rgb(42, 46, 57) : color.rgb(42, 46, 57)
iff_2 = close[0] < close[1] ? color.red : iff_1
table.cell(tab1, 1, 5, str.tostring(close[0] - close[1], f_tickFormat()), text_size=size.normal, text_color=color.white, bgcolor=close[0] > close[1] ? color.green : iff_2)
iff_3 = close[0] == close[1] ? color.rgb(42, 46, 57) : color.rgb(42, 46, 57)
iff_4 = close[0] < close[1] ? color.red : iff_3
table.cell(tab1, 1, 6, str.tostring((close[0] - close[1]) / open[0] * 100, '#.##') + ' %', text_size=size.normal, text_color=color.white, bgcolor=close[0] > close[1] ? color.green : iff_4)
/////////////////////////////
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// ©Misu
//@version=5
// import Fontiramisu/fontLib/86 as fontilab
import Fontiramisu/fontilab/11 as fontilab
// ] -------- Input --------------- [
src41 = input.source(close, "Source", group="Trend Settings")
len41 = input.int(5, "Length Atr", group = "Trend Settings")
mult41 = input.float(7.6, "Multiplier Atr", step = 0.1, group = "Trend Settings")
// To Remove.
colorbars = input.bool(true, "Color Bars", group = "UI Settings", inline="1")
showlmidbs = input.bool(true, "Show Label", group = "UI Settings", inline="1")
// Show table.
show_table = input.bool(true, "Show stats", group = "Table Settings")
show5min = input.bool(true, "Show 1m -------", group = "Table Settings", inline="2")
show15min = input.bool(true, "Show 5m", group = "Table Settings", inline="2")
show1h = input.bool(true, "Show 15m --------", group = "Table Settings", inline="3")
show4h = input.bool(true, "Show 1h", group = "Table Settings", inline="3")
show12h = input.bool(true, "Show 2h ------", group = "Table Settings", inline="4")
showD = input.bool(true, "Show 3h", group = "Table Settings", inline="4")
showW = input.bool(true, "Show 4h", group = "Table Settings", inline="5")
// ] -------- Vars --------------- [
// Period.
var string format = "{0,date,yyyy.MM.dd}"
var sTime = str.format(format, time_close)
eTime = str.format(format, time_close)
// Trend.
var utrendSum5m = 0, var dtrendSum5m = 0, var state5m = 99, utrendDom5m = 0.
var utrendSum15m = 0, var dtrendSum15m = 0, var state15m = 99, utrendDom15m = 0.
var utrendSum1h = 0, var dtrendSum1h = 0, var state1h = 99, utrendDom1h = 0.
var utrendSum4h = 0, var dtrendSum4h = 0, var state4h = 99, utrendDom4h = 0.
var utrendSum12h = 0, var dtrendSum12h = 0, var state12h = 99, utrendDom12h = 0.
var utrendSumD = 0, var dtrendSumD = 0, var stateD = 99, utrendDomD = 0.
var utrendSumW = 0, var dtrendSumW = 0, var stateW = 99, utrendDomW = 0.
// ] -------- Function ----------------- [
// @function: get trend dominance.
getTrendDom(midb, utrendSum, dtrendSum, state) =>
trendUp = nz(midb[1]) ? midb > midb[1] : false
trendDown = nz(midb[1]) ? midb < midb[1] : false
stateNew = trendUp ? 1 : trendDown ? -1 : state
utrendSumNew = state == 1 ? utrendSum + 1 : utrendSum
dtrendSumNew = state == -1 ? dtrendSum + 1 : dtrendSum
[utrendSumNew, dtrendSumNew, stateNew, math.round(utrendSum / (utrendSum + dtrendSum) * 100, 1)]
// ] -------- Dominance Trend Logic ----------------- [
// Get multi timeframe trend.
deltaAtr = mult41 * ta.atr(len41)
// Get Trend Doms.
// 5m.
[midb5m, upperb5m, lowerb5m] = request.security(syminfo.tickerid, "1", fontilab.getTrendBands(src41, deltaAtr), lookahead = barmerge.lookahead_on)
[utrendSum5mDup, dtrendSum5mDup, state5mDup, utrendDom5mDup] = getTrendDom(midb5m, utrendSum5m, dtrendSum5m, state5m)
utrendSum5m := utrendSum5mDup
dtrendSum5m := dtrendSum5mDup
state5m := state5mDup
utrendDom5m := utrendDom5mDup
// 15m.
[midb15m, upperb15m, lowerb15m] = request.security(syminfo.tickerid, "5", fontilab.getTrendBands(src41, deltaAtr), lookahead = barmerge.lookahead_on)
[utrendSum15mDup, dtrendSum15mDup, state15mDup, utrendDom15mDup] = getTrendDom(midb15m, utrendSum15m, dtrendSum15m, state15m)
utrendSum15m := utrendSum15mDup
dtrendSum15m := dtrendSum15mDup
state15m := state15mDup
utrendDom15m := utrendDom15mDup
// 1h.
[midb1h, upperb1h, lowerb1h] = request.security(syminfo.tickerid, "15", fontilab.getTrendBands(src41, deltaAtr), lookahead = barmerge.lookahead_on)
[utrendSum1hDup, dtrendSum1hDup, state1hDup, utrendDom1hDup] = getTrendDom(midb1h, utrendSum1h, dtrendSum1h, state1h)
utrendSum1h := utrendSum1hDup
dtrendSum1h := dtrendSum1hDup
state1h := state1hDup
utrendDom1h := utrendDom1hDup
// 4h.
[midb4h, upperb4h, lowerb4h] = request.security(syminfo.tickerid, "60", fontilab.getTrendBands(src41, deltaAtr), lookahead = barmerge.lookahead_on)
[utrendSum4hDup, dtrendSum4hDup, state4hDup, utrendDom4hDup] = getTrendDom(midb4h, utrendSum4h, dtrendSum4h, state4h)
utrendSum4h := utrendSum4hDup
dtrendSum4h := dtrendSum4hDup
state4h := state4hDup
utrendDom4h := utrendDom4hDup
// 12h.
[midb12h, upperb12h, lowerb12h] = request.security(syminfo.tickerid, "120", fontilab.getTrendBands(src41, deltaAtr), lookahead = barmerge.lookahead_on)
[utrendSum12hDup, dtrendSum12hDup, state12hDup, utrendDom12hDup] = getTrendDom(midb12h, utrendSum12h, dtrendSum12h, state12h)
utrendSum12h := utrendSum12hDup
dtrendSum12h := dtrendSum12hDup
state12h := state12hDup
utrendDom12h := utrendDom12hDup
// D.
[midbD, upperbD, lowerbD] = request.security(syminfo.tickerid, "180", fontilab.getTrendBands(src41, deltaAtr), lookahead = barmerge.lookahead_on)
[utrendSumDDup, dtrendSumDDup, stateDDup, utrendDomDDup] = getTrendDom(midbD, utrendSumD, dtrendSumD, stateD)
utrendSumD := utrendSumDDup
dtrendSumD := dtrendSumDDup
stateD := stateDDup
utrendDomD := utrendDomDDup
// W.
[midbW, upperbW, lowerbW] = request.security(syminfo.tickerid, "240", fontilab.getTrendBands(src41, deltaAtr), lookahead = barmerge.lookahead_on)
[utrendSumWDup, dtrendSumWDup, stateWDup, utrendDomWDup] = getTrendDom(midbW, utrendSumW, dtrendSumW, stateW)
utrendSumW := utrendSumWDup
dtrendSumW := dtrendSumWDup
stateW := stateWDup
utrendDomW := utrendDomWDup
// ] -------- Period Logic ----------------- [
// ] -------- Plot Part --------------- [
// var color colorTrend = na
// colorTrend := state == -1 ? color.red : state == 1 ? color.green : state == 99 ? color.gray : nz(colorTrend[1])
// barcolor(colorbars ? colorTrend : na)
// plot(upperb, "Upper Band", color = colorTrend, linewidth = 2)
// plot(lowerb, "Lower Band", color = colorTrend, linewidth = 2)
// ] -------- Alerts ----------------- [
// alertcondition(buyCond, title = "Long", message = "ATR Trend Bands [Misu]: Long\nSymbol: {{ticker}}\nPrice: {{close}}")
// alertcondition(sellCond, title = "Short", message = "ATR Trend Bands [Misu]: Short\nSymbol: {{ticker}}\nPrice: {{close}}")
// ] -------- Show results ----------------- [
// Period color.
pColor5m = not na(utrendDom5m) ? utrendDom5m >= 50 ? color.new(color.green, 20) : color.new(color.red, 20) : color.gray
pColor15m = not na(utrendDom15m) ? utrendDom15m >= 50 ? color.new(color.green, 20) : color.new(color.red, 20) : color.gray
pColor1h = not na(utrendDom1h) ? utrendDom1h >= 50 ? color.new(color.green, 20) : color.new(color.red, 20) : color.gray
pColor4h = not na(utrendDom4h) ? utrendDom4h >= 50 ? color.new(color.green, 20) : color.new(color.red, 20) : color.gray
pColor12h = not na(utrendDom12h) ? utrendDom12h >= 50 ? color.new(color.green, 20) : color.new(color.red, 20) : color.gray
pColorD = not na(utrendDomD) ? utrendDomD >= 50 ? color.new(color.green, 20) : color.new(color.red, 20) : color.gray
pColorW = not na(utrendDomW) ? utrendDomW >= 50 ? color.new(color.green, 20) : color.new(color.red, 20) : color.gray
// Last color.
lColor5m = state5m == 1 ? color.new(color.green, 20) : state5m == -1 ? color.new(color.red, 20) : color.gray
lColor15m = state15m == 1 ? color.new(color.green, 20) : state15m == -1 ? color.new(color.red, 20) : color.gray
lColor1h = state1h == 1 ? color.new(color.green, 20) : state1h == -1 ? color.new(color.red, 20) : color.gray
lColor4h = state4h == 1 ? color.new(color.green, 20) : state4h == -1 ? color.new(color.red, 20) : color.gray
lColor12h = state12h == 1 ? color.new(color.green, 20) : state12h == -1 ? color.new(color.red, 20) : color.gray
lColorD = stateD == 1 ? color.new(color.green, 20) : stateD == -1 ? color.new(color.red, 20) : color.gray
lColorW = stateW == 1 ? color.new(color.green, 20) : stateW == -1 ? color.new(color.red, 20) : color.gray
// // Last Text.
lTxt5m = state5m == 1 ? "▲" : state5m == -1 ? "▼" : "X"
lTxt15m = state15m == 1 ? "▲" : state15m == -1 ? "▼" : "X"
lTxt1h = state1h == 1 ? "▲" : state1h == -1 ? "▼" : "X"
lTxt4h = state4h == 1 ? "▲" : state4h == -1 ? "▼" : "X"
lTxt12h = state12h == 1 ? "▲" : state12h == -1 ? "▼" : "X"
lTxtD = stateD == 1 ? "▲" : stateD == -1 ? "▼" : "X"
lTxtW = stateW == 1 ? "▲" : stateW == -1 ? "▼" : "X"
// ▼
if show_table
var ATHtable = table.new(position.bottom_right, 10, 11, frame_color=#162815, frame_width=1, border_width=2, border_color=color.new(color.white, 100)) //table.new(position.top_right, 6, 41, frame_color=#151715, frame_width=1, border_width=2, border_color=color.new(color.white, 100))
// var table ATHtable = table.new(position.bottom_right, 10, 10, frame_color = color.gray, bgcolor = color.gray, border_width = 1, frame_width = 1, border_color = color.white)
// Header
table.cell(ATHtable, 0, 0, 'Period', bgcolor=color.new(color.gray, 40), text_color=color.white, text_size=size.small)
table.cell(ATHtable, 1, 0, str.tostring(sTime) + " - " + str.tostring(eTime), bgcolor = color.new(color.gray, 40), text_color=color.white, text_size=size.small)
table.cell(ATHtable, 2, 0, "last", bgcolor = color.new(color.gray, 40), text_color=color.white, text_size=size.small)
if show5min
table.cell(ATHtable, 0, 1, "1m", bgcolor=color.new(color.gray, 10), text_color=color.white, text_size=size.small)
table.cell(ATHtable, 1, 1, str.tostring(utrendDom5m) + "% / " + str.tostring(100 - utrendDom5m) + "%", bgcolor=pColor5m, text_color=color.white, text_size=size.small)
table.cell(ATHtable, 2, 1, lTxt5m, bgcolor=lColor5m, text_color=color.white, text_size=size.small)
if show15min
table.cell(ATHtable, 0, 2, '5m', bgcolor=color.new(color.gray, 10), text_color=color.white, text_size=size.small)
table.cell(ATHtable, 1, 2, str.tostring(utrendDom15m) + "% / " + str.tostring(100 - utrendDom15m) + "%", bgcolor=pColor15m, text_color=color.white, text_size=size.small)
table.cell(ATHtable, 2, 2, lTxt15m, bgcolor=lColor15m, text_color=color.white, text_size=size.small)
if show1h
table.cell(ATHtable, 0, 3, '15m', bgcolor=color.new(color.gray, 10), text_color=color.white, text_size=size.small)
table.cell(ATHtable, 1, 3, str.tostring(utrendDom1h) + "% / " + str.tostring(100 - utrendDom1h) + "%", bgcolor=pColor1h, text_color=color.white, text_size=size.small)
table.cell(ATHtable, 2, 3, lTxt1h, bgcolor=lColor1h, text_color=color.white, text_size=size.small)
if show4h
table.cell(ATHtable, 0, 4, '1h', bgcolor=color.new(color.gray, 10), text_color=color.white, text_size=size.small)
table.cell(ATHtable, 1, 4, str.tostring(utrendDom4h) + "% / " + str.tostring(100 - utrendDom4h) + "%", bgcolor=pColor4h, text_color=color.white, text_size=size.small)
table.cell(ATHtable, 2, 4, lTxt4h, bgcolor=lColor4h, text_color=color.white, text_size=size.small)
if show12h
table.cell(ATHtable, 0, 5, '2h', bgcolor=color.new(color.gray, 10), text_color=color.white, text_size=size.small)
table.cell(ATHtable, 1, 5, str.tostring(utrendDom12h) + "% / " + str.tostring(100 - utrendDom12h) + "%", bgcolor=pColor12h, text_color=color.white, text_size=size.small)
table.cell(ATHtable, 2, 5, lTxt12h, bgcolor=lColor12h, text_color=color.white, text_size=size.small)
if showD
table.cell(ATHtable, 0, 6, '3h', bgcolor=color.new(color.gray, 10), text_color=color.white, text_size=size.small)
table.cell(ATHtable, 1, 6, str.tostring(utrendDomD) + "% / " + str.tostring(100 - utrendDomD) + "%", bgcolor=pColorD, text_color=color.white, text_size=size.small)
table.cell(ATHtable, 2, 6, lTxtD, bgcolor=lColorD, text_color=color.white, text_size=size.small)
if showW
table.cell(ATHtable, 0, 7, '4h', bgcolor=color.new(color.gray, 10), text_color=color.white, text_size=size.small)
table.cell(ATHtable, 1, 7, str.tostring(utrendDomW) + "% / " + str.tostring(100 - utrendDomW) + "%", bgcolor=pColorW, text_color=color.white, text_size=size.small)
table.cell(ATHtable, 2, 7, lTxtW, bgcolor=lColorW, text_color=color.white, text_size=size.small)
// ]
16.07.2024 - 10.12.2024 https://chatgpt.com/g/g-uib6qYHGw-tr...ipt-v5-creator
https://tr.tradingview.com/script/8s...ctor-Rotation/
bu kod üzerinde çalışılıp...bıstte uygulanmalı.....
sektörel hareket...belirlenip....belirlenen sektörde....işlem yapılabilir....
sektör döngüleri belli olmuş olur....
16.07.2024 - 10.12.2024 https://chatgpt.com/g/g-uib6qYHGw-tr...ipt-v5-creator
https://tr.tradingview.com/u/Fontira...lished-scripts
bu yazarın kodlarından bir kombine yapacağım....
otomatik fibo kodu üzerinden kurarak geleceğim....
üzerine mtf fiboyu,
range, atr, pivot, trend ve ikili dip tepe ile birleştirelim bakalım....
nasıl bir şey çıkacak....
neden derseniz....https://tr.tradingview.com/script/jsr2Yo7O-fontilab/
bu kendi kütüphanesinden dolayı.....
16.07.2024 - 10.12.2024 https://chatgpt.com/g/g-uib6qYHGw-tr...ipt-v5-creator
bu otofibo https://www.tradingview.com/x/da3sXzj0/
bu mtf fibo saatlik https://www.tradingview.com/x/EvooYmGC/
ikisi beraber böyle....https://www.tradingview.com/x/kCbK4LFO/
dolayısıyla mft fibo ile başlayalım...
atrli görüntü bu....https://www.tradingview.com/x/9WTIcPYh/
bunun sadece bar renklendirmesini alalım....
birleşince böyle....https://www.tradingview.com/x/Slf770oQ/
bu demanın saatliği....https://www.tradingview.com/x/A9jJa9M8/
bu normal...https://www.tradingview.com/x/96YN87Cp/
kullanmaya gerek yok....
pivot kodu grafiği bozuyor gereksiz....https://www.tradingview.com/x/MARjQdEw/
range kodu da böyle....https://www.tradingview.com/x/atugNSfg/ gerek yok gibi....
vickof görüntü böyle....https://www.tradingview.com/x/rjb7VtGf/
https://www.tradingview.com/x/AAiLSx4W/ bu v pattaern kodu... görüntü
bu rsı https://www.tradingview.com/x/jNKKFdBs/
üstünr sürüklersek....https://www.tradingview.com/x/Ksb9Mcxh/
sonuç...
buna stratejiyi yazsak....
patlar....
likitede olup sıfırlanır....
Son düzenleme : @yörük@; 09-07-2023 saat: 19:39.
16.07.2024 - 10.12.2024 https://chatgpt.com/g/g-uib6qYHGw-tr...ipt-v5-creator
Yer İmleri