Esta estrategia está diseñada sobre la base de los principios de cruz de oro y cruz muerta del promedio móvil simple (SMA). La estrategia utiliza dos SMA, a saber, SMA rápido y SMA lento. Cuando el SMA rápido cruza por encima del SMA lento desde abajo, se genera una señal de compra. Cuando el SMA rápido cruza por debajo del SMA lento desde arriba, se genera una señal de venta.
La estrategia se basa principalmente en dos líneas de indicadores SMA. La SMA rápida tiene un período más corto y puede capturar los cambios de precio más rápido. La SMA lenta tiene un período más largo y puede filtrar algo de ruido. Cuando la SMA rápida cruza por encima de la SMA lenta desde abajo, indica que la velocidad de aumento a corto plazo es más rápida y genera una señal de compra. Cuando la SMA rápida cruza por debajo de la SMA lenta desde arriba, indica que la velocidad de caída a corto plazo es más rápida y genera una señal de venta.
Al establecer diferentes parámetros del período SMA, los parámetros de la estrategia se pueden ajustar hasta cierto punto para adaptarse a diferentes entornos de mercado.
Para hacer frente a los riesgos mencionados anteriormente, pueden adoptarse las siguientes medidas:
Esta es una estrategia típica de seguimiento de tendencias. Al aplicar el simple principio de doble cruce de promedios móviles, puede obtener buenos resultados de seguimiento cuando los parámetros se establecen adecuadamente. Sin embargo, la SMA en sí tiene un cierto efecto de retraso y no puede determinar el impulso de la tendencia. Por lo tanto, en la aplicación real, otras herramientas auxiliares deben introducirse para formar una combinación de indicadores y complementarse con medios automatizados de optimización de parámetros y control de riesgos, para hacer que la estrategia sea constantemente rentable.
/*backtest start: 2023-12-17 00:00:00 end: 2023-12-18 19:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 //strategy(title="MA Cross Entry & Exit w/Date Range", overlay=true, initial_capital=10000, currency='USD') strategy(title="SMA Cross Entry & Exit Strategy", overlay=true) // Credit goes to this developer for the "Date Range Code" // https://www.tradingview.com/script/62hUcP6O-How-To-Set-Backtest-Date-Range/ // === GENERAL INPUTS === // short ma maFastSource = input(defval = open, title = "Fast MA Source") maFastLength = input(defval = 36, title = "Fast MA Period", minval = 1) // long ma maSlowSource = input(defval = open , title = "Slow MA Source") maSlowLength = input(defval = 46, title = "Slow MA Period", minval = 1) // === SERIES SETUP === // a couple of ma's.. maFast = sma(maFastSource, maFastLength) maSlow = sma(maSlowSource, maSlowLength) // === PLOTTING === fast = plot(maFast, title = "Fast MA", color = red, linewidth = 2, style = line, transp = 30) slow = plot(maSlow, title = "Slow MA", color = green, linewidth = 2, style = line, transp = 30) // === INPUT BACKTEST RANGE === FromMonth = input(defval = 9, title = "From Month", minval = 1, maxval = 12) FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31) FromYear = input(defval = 2018, title = "From Year", minval = 2017) ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12) ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31) ToYear = input(defval = 9999, title = "To Year", minval = 2017) // === FUNCTION EXAMPLE === start = timestamp(FromYear, FromMonth, FromDay, 00, 00) // backtest start window finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) // backtest finish window window() => time >= start and time <= finish ? true : false // create function "within window of time" // === LOGIC === //enterLong = crossover(maFast, maSlow) //exitLong = crossover(maSlow, maFast) enterLong = crossover(maSlow, maFast) exitLong = crossover(maFast, maSlow) // Entry // strategy.entry(id="Long Entry", long=true, when=window() and enterLong) strategy.entry(id="Short Entry", long=false, when=window() and exitLong) // === FILL ==== fill(fast, slow, color = maFast > maSlow ? green : red)