Regresi linier ++

Penulis:ChaoZhang, Tanggal: 2022-05-24 14:17:42
Tag:DEV

UE untuk permintaan publik

Rumus Regresi Linear Perhitungan yang Dihapus Dengan Peringatan

Ini adalah skrip regresi linier untuk pedagang yang menyukai fitur yang kaya

Ciri-ciri ++ Multi timeframe -> Regresi Sumber dari Chart yang berbeda ++ Warna yang disesuaikan -> Ini termasuk garis pinus ++ Smoothing -> Allow Filtered Regression; Catatan: Menggunakan 1 Defaults ke baris asli. ++ Pemberitahuan Tentang Pambuka Saluran/Range

Penggunaan ++ Gunakan ini untuk BreakOuts dan Reversals ++ Script ini tidak dapat digunakan secara independen

Risiko Harap dicatat, skrip ini mirip dengan Bollinger Bands dan menimbulkan risiko jatuh dalam rentang tren. Sinyal mungkin terus berjalan ke arah yang sama sementara pasar berbalik.

Permintaan Jika Anda memiliki permintaan fitur, komentar di bawah ini atau dm saya. Saya akan menjawab ketika saya bisa. Jangan ragu untuk menggunakan ini pada grafik Anda dan berbagi ide Anda

Untuk pengembang yang ingin menggunakan ini pada grafik mereka, Silakan gunakan skrip ini Rumus asli untuk perhitungan diposting di sana

Aku harap kau suka ini.

backtest

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)

Berkaitan

Lebih banyak