Lineare Regression ++

Schriftsteller:ChaoZhang, Datum: 24.05.2022
Tags:DEV

Die öffentliche Nachfrage

Lineare Regressionsformel Ausgeschraubte Berechnungen mit Warnungen

Hier ist das Lineare Regressions-Skript für Trader, die reiche Funktionen lieben

Eigenschaften ++ Multi-Zeitrahmen -> Quellregression aus einem anderen Diagramm ++ angepasste Farben -> Dies beinhaltet die Kiefernlinien ++ Glättung -> Erlaubt gefilterte Regression; Hinweis: Mit 1 Defaults zur ursprünglichen Zeile. ++ Warnmeldungen bei Überschreitung des Kanals/der Reichweite

Verwendung ++ Verwenden Sie dies für Ausfälle und Umkehrungen ++ Dieses Skript darf nicht unabhängig verwendet werden

Risiken Bitte beachten Sie, dass dieses Skript ähnlich wie Bollinger-Bänder ist und ein Risiko eines Rückgangs in einen Trendbereich birgt. Die Signale können in die gleiche Richtung laufen, während der Markt umkehrt.

Anträge Wenn Sie irgendwelche Feature-Anfragen haben, kommentieren Sie unten oder schreiben Sie mir eine Mail. Fühlen Sie sich frei, dies auf Ihrem Diagramm zu verwenden und teilen Sie Ihre Ideen

Für Entwickler, die dies auf ihrem Diagramm verwenden möchten, bitte verwenden Sie dieses Skript Die ursprüngliche Berechnungsformel ist dort veröffentlicht.

Ich hoffe es gefällt euch.

Zurückprüfung

img


/*backtest
start: 2022-04-23 00:00:00
end: 2022-05-22 23:59:00
period: 45m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © LucemAnb
// User Version

//@version=4
study("Linear Regression ++ [Lucem Anb]", "Lin Reg ++ [Lucem Anb]", overlay=true)


source      = input(close)
length      = input(100, minval=1)
offset      = input(0, minval=0)
dev         = input(2.0, "Deviation")
smoothing   = input(1, minval=1)
mtf_val     = input("", "Resolution", input.resolution)
line_thick  = input(4, "S&R Thickness", minval=1, maxval=4)
signals     = input("Recent", "Signals Display", options=["Recent", "All"])
p           = input("Lime", "Up Color", options=["Red", "Lime", "Orange", "Teal", "Yellow", "White", "Black"])
q           = input("Red", "Down Color", options=["Red", "Lime", "Orange", "Teal", "Yellow", "White", "Black"])
goto        = input(0, "End At Bar Index")

cc(x) => x=="Red"?color.red:x=="Lime"?color.lime:x=="Orange"?color.orange:x=="Teal"?
 color.teal:x=="Yellow"?color.yellow:x=="Black"?color.black:color.white
data(x) => sma(security(syminfo.tickerid, mtf_val!="" ? mtf_val : timeframe.period, x), smoothing)

linreg = data(linreg(source, length, offset))
linreg_p = data(linreg(source, length, offset+1))
plot(linreg, "Regression Line", cc(linreg>linreg[1]?p:q), editable=false)

x = bar_index
slope = linreg - linreg_p
intercept = linreg - x*slope
deviationSum = 0.0
for i=0 to length-1
    deviationSum:= deviationSum + pow(source[i]-(slope*(x-i)+intercept), 2)  
deviation = sqrt(deviationSum/(length))
x1 = x-length
x2 = x
y1 = slope*(x-length)+intercept
y2 = linreg

updating = goto <= 0 or x < goto



dm_current = -deviation*dev + y2
dp_current = deviation*dev + y2
buy = crossunder(close, dm_current)
sell = crossover(close, dp_current)
alertcondition(buy, "Buy Lin Reg", "Crossing On the Lower Regression Channel")
alertcondition(sell, "Sell Lin Reg", "Crossing On the Higher Regression Channel")

plotshape(buy, "BUY", shape.labelup, location.belowbar, color.lime, text='BUY', textcolor=color.black, show_last=signals=="All"?99999999:length)
plotshape(sell, "SELL", shape.labeldown, location.abovebar, color.red, text='SELL', textcolor=color.white, show_last=signals=="All"?99999999:length)
    
plot(x, "Bar Index", color.aqua, line_thick, plot.style_cross, display=display.none)

if buy
    strategy.entry("Enter Long", strategy.long)
else if sell
    strategy.entry("Enter Short", strategy.short)

Verwandt

Mehr