Parabolic SAR + Linear Regression Channel
//Created by CRT Trader [https://x.com/bapiserv] //@version=6 indicator("Parabolic SAR with LRC", "PSAR LRC", overlay=true) // User Inputs slow_sar_set = input.float(0.03, 'Slow SAR', minval = 0.01, maxval = 0.1, group = 'SAR Settings') sar_set = input.float(0.02, 'Normal SAR', minval = 0.01, maxval = 0.1, group = 'SAR Settings') fast_sar_set = input.float(0.01, 'Fast SAR', minval = 0.01, maxval = 0.1, group = 'SAR Settings') max_sar_set = input.float(0.2, 'Max SAR', minval = 0.1, maxval = 0.4, group = 'SAR Settings') show_ma = input.bool(false, "Show MA", group = 'SAR Settings') sar_avg_length = input.int(14, 'MA Length', minval = 1, group = 'SAR Settings') show_lrc = input.bool(true, "LRC Göster", group="LRC Band Settings") lrc_low_length = input.int(300, title="Low Band Length", group="LRC Band Settings") lrc_high_length = input.int(300, title="High Band Length", group="LRC Band Settings") showBuySell = input.bool(true, 'Show Signals', group = "Labels") // Calculations fast_sar = ta.sar(fast_sar_set, fast_sar_set, max_sar_set) sar = ta.sar(sar_set, sar_set, max_sar_set) slow_sar = ta.sar(slow_sar_set, slow_sar_set, max_sar_set) // Moving Average sar_avg = ta.sma(sar, sar_avg_length) // User Interface plot(fast_sar, title="Fast SAR", color=close > fast_sar ? #00ff00 : #FFBBBA, style=plot.style_circles, linewidth=1) plot(sar, title="Parabolic SAR", color=close > sar ? #00b800 : #FF0103, style=plot.style_circles, linewidth=1) plot(slow_sar, title="Slow SAR", color=close > slow_sar ? #145715 : #AA0000, style=plot.style_circles, linewidth=1) plot(show_ma ? sar_avg : na, title="SAR Ortalama", color=color.blue, style=plot.style_line, linewidth=2) // LRC a = ta.linreg(high, lrc_high_length, 0) b = ta.linreg(low, lrc_low_length, 0) c = -ta.dev(low, lrc_low_length) + b d = ta.dev(high, lrc_high_length) + a plot(show_lrc ? a : na, title="High Regression", color=color.new(color.orange, 0)) plot(show_lrc ? b : na, title="Low Regression", color=color.new(color.orange, 0)) plot(show_lrc ? c : na, title="Lower Channel", color=c < close ? color.green : color.red) plot(show_lrc ? d : na, title="Upper Channel", color=d < close ? color.green : color.red) // Signals var bool buy_trig = false var bool sell_trig = false bool buySignal = not(buy_trig) and close > fast_sar and close > sar and close > slow_sar bool sellSignal = not(sell_trig) and close < fast_sar and close < sar and close < slow_sar if (buySignal) buy_trig := true sell_trig := false else if (sellSignal) buy_trig := false sell_trig := true if (showBuySell) if (buySignal and not(buySignal[1])) label.new(x=bar_index, y=low, text="BUY", style=label.style_label_up, color=color.green, textcolor=color.white) if (sellSignal and not(sellSignal[1])) label.new(x=bar_index, y=high, text="SELL", style=label.style_label_down, color=color.red, textcolor=color.white)
Kopyala