
Esta estrategia calcula el indicador RSI y el promedio móvil rápido y lento para determinar el momento de comprar y vender. Cuando el RSI sube 5 puntos y está por debajo de 70; y cuando cruza el promedio móvil de 50 días por encima del promedio móvil de 9 días; y cuando cruza el promedio móvil de 9 días por debajo del promedio móvil de 50 días.
Esta estrategia utiliza principalmente una combinación de indicadores RSI y promedios móviles. El RSI puede mostrar si una acción o moneda digital está sobrevalorada o infravalorada. Cuando el RSI está por debajo de 30 se considera una sobreventa, y cuando está por encima de 70 se considera una sobreventa.
Las medias móviles son ampliamente utilizadas para determinar la dirección de la tendencia. Las medias móviles rápidas capturan los cambios de precios más rápidamente, mientras que las medias móviles lentas filtran las brechas falsas. Cuando una media móvil lenta se cruza en una media móvil rápida, se inicia una tendencia alcista; por el contrario, una media móvil baja representa una tendencia descendente.
La mayor ventaja de esta estrategia es que el indicador RSI determina si hay zonas de sobreventa y evita las compras altas; y se puede obtener una mayor rentabilidad utilizando el filtro de brechas falsas de las medias móviles lentas y rápidas para bloquear la dirección de la tendencia.
Al mismo tiempo, la estrategia incluye la condición de que el RSI suba 5 puntos consecutivos, lo que evita aún más las compras innecesarias en las zonas de sobrecompra. Además, la estrategia adopta un método de negociación de posiciones parciales, lo que reduce considerablemente el riesgo de pérdidas en una sola operación.
El mayor riesgo de esta estrategia es que tanto el indicador RSI como las medias móviles pueden sufrir un retraso. Cuando los precios cambian drásticamente, sus señales pueden retrasarse, lo que lleva al riesgo de comprar altos o vender bajos.
Para evitar este riesgo, se incluyen en la estrategia las medias móviles rápidas, que utilizan su capacidad de responder más rápidamente a los cambios en los precios para reducir la posibilidad de retrasos. Además, la negociación de posiciones parciales también puede reducir las pérdidas de las operaciones individuales.
Esta estrategia puede ser optimizada en los siguientes aspectos:
Prueba de los parámetros del indicador RSI en diferentes períodos para encontrar la combinación óptima de parámetros
Prueba más combinaciones de medias móviles rápidas y lentas para obtener mejores resultados de filtración
Optimizar el tamaño de la posición y probar diferentes parámetros de posición
Aumentar las condiciones de stop loss para bloquear las ganancias
Esta estrategia es muy adecuada para el comercio de tendencias en general. Evite las zonas de sobreventa a través del indicador RSI, junto con las medias móviles lentos para determinar la dirección de la tendencia y la resistencia de soporte importante. Al mismo tiempo, se puede obtener una mayor ganancia y rentabilidad al realizar operaciones de posición parcial.
/*backtest
start: 2023-11-12 00:00:00
end: 2023-12-12 00:00:00
period: 1h
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/
// © Coinrule
//@version=5
strategy("RSI with Slow and Fast MA Crossing Strategy (by Coinrule)",
overlay=true,
initial_capital=10000,
process_orders_on_close=true,
default_qty_type=strategy.percent_of_equity,
default_qty_value=30,
commission_type=strategy.commission.percent,
commission_value=0.1)
showDate = input(defval=true, title='Show Date Range')
timePeriod = time >= timestamp(syminfo.timezone, 2020, 1, 1, 0, 0)
notInTrade = strategy.position_size <= 0
// RSI
length = input(14)
vrsi = ta.rsi(close, length)
// Moving Averages for Buy Condition
buyFastEMA = ta.ema(close, 9)
buySlowEMA = ta.ema(close, 50)
buyCondition1 = ta.crossover(buyFastEMA, buySlowEMA)
increase = 5
if ((vrsi > vrsi[1]+increase) and buyCondition1 and vrsi < 70 and timePeriod)
strategy.entry("Long", strategy.long)
// Moving Averages for Sell Condition
sellFastEMA = ta.ema(close, 9)
sellSlowEMA = ta.ema(close, 50)
plot(request.security(syminfo.tickerid, "60", sellFastEMA), color = color.blue)
plot(request.security(syminfo.tickerid, "60", sellSlowEMA), color = color.green)
condition = ta.crossover(sellSlowEMA, sellFastEMA)
//sellCondition1 = request.security(syminfo.tickerid, "60", condition)
strategy.close('Long', when = condition and timePeriod)