El valor de referencia de las operaciones de inversión se calcula en función de las posiciones de las operaciones de inversión.

El autor:¿ Qué pasa?, Fecha: 2023-10-08 12:14:36
Las etiquetas:

Resumen general

Esta estrategia se basa en los indicadores Simple Moving Average (SMA) y Relative Strength Index (RSI). Se corta cuando el RSI cruza por encima del nivel de entrada y el precio de cierre está por debajo del SMA; Cierra posiciones cuando aparecen señales de stop loss o take profit. El doble filtro ayuda a evitar operaciones ineficaces.

Principios

La estrategia evalúa el mercado basándose principalmente en dos indicadores:

  1. El valor de la inversión en el sector de la inversión se calcula en función de la media móvil simple de los precios de cierre de los últimos 200 días, representando las tendencias a medio y largo plazo.

  2. El índice RSI se calcula sobre la base de la fortaleza relativa de los precios de cierre en los últimos 14 días, representando niveles de sobrecompra/sobreventa a corto plazo.

Cuando el RSI cruza por encima de 51 en la zona de sobrecompra y está por encima de la línea SMA, indica que las tendencias a corto y mediano plazo están divergiendo, por lo que se abre una posición corta.

Después de eso, se establecen las líneas de stop loss y take profit. La posición se cierra cuando el RSI cae por debajo de 32 para take profit, o cuando el RSI cruza por encima de 54 o se alcanza el stop loss para stop loss.

Los puntos fuertes

  1. El doble filtro de indicadores aumenta la precisión de las señales de entrada. RSI determina los niveles de sobrecompra a corto plazo y SMA determina las señales bajistas a medio y largo plazo, combinando los dos hace que las señales sean más confiables.

  2. El trailing stop bloquea las ganancias de acuerdo con la acción del precio, evitando devolver las ganancias.

  3. La lógica es simple y directa, fácil de entender y modificar.

Los riesgos

  1. No tiene en cuenta factores como el volumen de operaciones o la volatilidad.

  2. Los parámetros del RSI son fijos y pueden no adaptarse a todos los productos y plazos.

  3. No tiene en cuenta los costes de negociación como el deslizamiento y las comisiones.

  4. La estrategia es muy simple y tiene un espacio limitado para la expansión.

Áreas de mejora

  1. Prueba y optimiza los parámetros de RSI y SMA para encontrar la mejor combinación.

  2. Agregue más tipos de métodos de toma de pérdidas / ganancias, como paradas de seguimiento, paradas basadas en porcentajes.

  3. Agregue indicadores de filtro de tendencia como MACD para evitar el comercio contra la tendencia.

  4. Considere los indicadores de volumen para filtrar las falsas rupturas con bajo volumen.

Resumen de las actividades

La estrategia tiene una lógica clara y cierto valor práctico. Pero sus parámetros son fijos y no se adaptan a los cambios del mercado. También hay algunos detalles que se pueden mejorar. En general, puede servir como un ejemplo para que los principiantes aprendan estrategias de filtrado de indicadores dobles, pero necesita más pruebas y mejoras para el comercio real.


/*backtest
start: 2023-09-07 00:00:00
end: 2023-10-07 00:00:00
period: 3h
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/
// © abdllhatn

//@version=5
// strategy("Alpha Short SMA and RSI Strategy", overlay=true, initial_capital=10000, default_qty_value=100)

// Inputs
sma_length = input(200, title="SMA Length")
rsi_length = input(14, title="RSI Length")
rsi_entry = input(51, title="RSI Entry Level")
rsi_stop = input(54, title="RSI Stop Level")
rsi_take_profit = input(32, title="RSI Take Profit Level")

// Indicators
sma_value = ta.sma(close, sma_length)
rsi_value = ta.rsi(close, rsi_length)

var float trailingStop = na
var float lastLow = na

// Conditions
shortCondition = ta.crossover(rsi_value, rsi_entry) and close < sma_value
if (shortCondition)
    strategy.entry("Sell", strategy.short)
    trailingStop := na
    lastLow := na

if (strategy.position_size < 0)
    if (na(lastLow) or close < lastLow)
        lastLow := close
        trailingStop := close

if not na(trailingStop) and close > trailingStop
    strategy.close("Sell")

if (rsi_value >= rsi_stop)
    strategy.close("Sell")

if (rsi_value <= rsi_take_profit)
    strategy.close("Sell")

// Plot
plot(sma_value, color=color.red, linewidth=2)




Más.