
La estrategia utiliza el cruce de dos promedios móviles de diferentes períodos para operar, y pertenece a la estrategia de seguimiento de tendencias. La estrategia utiliza las señales de compra y venta cruzadas de promedios móviles a corto y largo plazo para operar en la tendencia.
La estrategia utiliza un SMA de movimiento a corto plazo de 9 períodos y un LMA de movimiento a largo plazo de 50 períodos. Se genera una señal de compra cuando la media móvil a corto plazo atraviesa la media móvil a largo plazo desde abajo; se genera una señal de venta cuando la media móvil a corto plazo atraviesa la media móvil a largo plazo desde arriba hacia abajo.
Al mismo tiempo, la estrategia también introduce el indicador RSI para determinar la fuerza de la tendencia. La señal de negociación se genera solo cuando el RSI es mayor que el umbral establecido (el 55 por defecto). Esto evita que el RSI genere una señal errónea cuando se encuentra en el rango de sobreventa.
Estrategia: El capital por transacción representa el 30% del capital total, y solo se realiza una orden por transacción. Se tiene en cuenta el 0.1% de los gastos de transacción.
Se puede reducir el riesgo mediante la optimización de los parámetros, la combinación de otros indicadores para determinar la oportunidad de obtener ganancias, la gestión estricta de fondos y la configuración de stop loss.
La estrategia capta oportunidades de tendencia a través de un simple sistema de cruce de medias móviles. Los parámetros predeterminados se optimizan, los beneficios son estables y son adecuados para el comercio automático. La estrategia puede mejorar aún más la estabilidad y la rentabilidad mediante la introducción de otros indicadores auxiliares, parámetros de optimización y la mejora del stop loss. En general, la estrategia utiliza señales de cruce de tendencia para operar y funciona mejor en mercados con una tendencia evidente.
/*backtest
start: 2023-09-16 00:00:00
end: 2023-10-16 00:00:00
period: 2h
basePeriod: 15m
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/
// © relevantLeader16058
//@version=4
strategy(shorttitle='Maximized Moving Average Crossing ',title='Maximized Moving Average Crossing (by Coinrule)', overlay=true, initial_capital=1000, default_qty_type = strategy.percent_of_equity, default_qty_value = 30, commission_type=strategy.commission.percent, commission_value=0.1)
//Backtest dates
fromMonth = input(defval = 1, title = "From Month", type = input.integer, minval = 1, maxval = 12)
fromDay = input(defval = 1, title = "From Day", type = input.integer, minval = 1, maxval = 31)
fromYear = input(defval = 2020, title = "From Year", type = input.integer, minval = 1970)
thruMonth = input(defval = 1, title = "Thru Month", type = input.integer, minval = 1, maxval = 12)
thruDay = input(defval = 1, title = "Thru Day", type = input.integer, minval = 1, maxval = 31)
thruYear = input(defval = 2112, title = "Thru Year", type = input.integer, minval = 1970)
showDate = input(defval = true, title = "Show Date Range", type = input.bool)
start = timestamp(fromYear, fromMonth, fromDay, 00, 00) // backtest start window
finish = timestamp(thruYear, thruMonth, thruDay, 23, 59) // backtest finish window
window() => time >= start and time <= finish ? true : false // create function "within window of time"
//MA inputs and calculations
inlong=input(50, title='MA long period')
inshort=input(9, title='MA short period')
MAlong = sma(close, inlong)
MAshort= sma(close, inshort)
// RSI inputs and calculations
lengthRSI = (14)
RSI = rsi(close, lengthRSI)
RSI_Signal = input(55, title = 'RSI Trigger', minval=1)
//Entry and Exit
bullish = crossover(MAshort, MAlong)
bearish = crossunder(MAshort, MAlong)
strategy.entry(id="long", long = true, when = bullish and RSI > RSI_Signal and window())
strategy.close(id="long", when = bearish and window())
plot(MAshort, color=color.purple, linewidth=2)
plot(MAlong, color=color.red, linewidth=2)