Regresión lineal ++

El autor:¿ Qué pasa?, Fecha: 24 de mayo de 2022 14:17:42
Las etiquetas:Ventajas de la energía

UE a la demanda del público

Fórmula de regresión lineal Cálculo borrado con alertas

Aquí está el guión de regresión lineal para los comerciantes que aman las características ricas

Características ++ Marco de tiempo múltiple -> Regresión de la fuente desde un gráfico diferente ++ colores personalizados -> Esto incluye las líneas de pino ++ Suavizado -> Permitir regresión filtrada; Nota: Usando 1 Defaults a la línea original. El valor predeterminado es 1 ++ Alertas sobre el cruce del canal/rango

Utilización ++ Utilice esto para las rupturas y reversiones ++ Este script no se puede usar de forma independiente

Los riesgos Tenga en cuenta que este guión es similar a las bandas de Bollinger y representa un riesgo de caída en un rango de tendencia. Las señales pueden seguir corriendo en la misma dirección mientras el mercado se invierte.

Las solicitudes Si tiene alguna solicitud de contenido, coméntenlo a continuación o envíeme un mensaje. Siéntase libre de utilizar esto en su gráfico y compartir sus ideas

Para los desarrolladores que quieran usar esto en su gráfico, por favor use este script La fórmula original para el cálculo se publica allí

¡Espero que te guste esto, desde mi corazón!

Prueba posterior

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)

Relacionados

Más.