En la carga de los recursos... Cargando...

Las operaciones de revalorización de las pérdidas de las operaciones de revalorización de las pérdidas de las operaciones de revalorización de las operaciones de revalorización de las operaciones de revalorización de las operaciones de revalorización de las operaciones de revalorización de las operaciones de revalorización de las operaciones de revalorización de las operaciones de revalorización de las operaciones de revalorización de las operaciones de revalorización de las operaciones de revalorización de las operaciones de revalorización de las operaciones de revalorización de las operaciones de revalorización de las operaciones de revalorización de las operaciones de revalorización de las operaciones de revalorización.

El autor:¿ Qué pasa?, Fecha: 2024-11-29 16:18:55
Las etiquetas:Indicador de riesgoLa SMAEl ATRTPSL

img

Resumen general

Esta estrategia es un sistema de negociación cuantitativo basado en señales de sobreventa de RSI y stop-loss dinámico de ATR. Utilizando datos diarios del marco de tiempo, combina señales de sobreventa de RSI con un filtro de tendencia promedio móvil de 200 días para capturar oportunidades de rebote en condiciones de mercado de sobreventa.

Principios de estrategia

La lógica central incluye los siguientes elementos clave:

  1. Señal de entrada: el sistema genera señales largas cuando el RSI ((5) cae por debajo del nivel de sobreventa de 30 y el precio está por encima del promedio móvil de 200 días.
  2. Mecanismo de stop-loss: Combina un stop-loss dinámico de 1,5x ATR ((20) con un stop-loss fijo del 25%.
  3. Objetivos de ganancias: establece tres objetivos de 5%, 10% y 15%, reduciendo la posición en 33%, 66% y 100%, respectivamente.
  4. Gestión de posiciones: se recomienda utilizar el tamaño de posición del 59,13% calculado según el criterio Kelly o el tamaño de posición del 75% conservador.

Ventajas estratégicas

  1. Confirmación de tendencia doble: Valida las operaciones tanto a través del índice de sobreventa RSI como de la tendencia de promedio móvil, mejorando la tasa de ganancia.
  2. Control de riesgos flexible: el stop-loss ATR dinámico se adapta a la volatilidad del mercado, mientras que el stop-loss fijo proporciona una protección máxima.
  3. Gestión inteligente de las ganancias: los objetivos triples con reducción gradual de las posiciones aseguran las ganancias manteniendo el potencial al alza.
  4. Gestión científica del capital: optimiza el tamaño de las posiciones utilizando el criterio Kelly, equilibrando el riesgo y la recompensa.

Riesgos estratégicos

  1. Dependencia de tendencia: La estrategia puede desencadenar paradas frecuentes en mercados variados. Sugerencia: Añadir filtros de oscilador para reducir las señales falsas.

  2. Las pérdidas por operaciones de tipo de interés de las operaciones de tipo de interés de tipo de interés de tipo de interés de tipo de interés de tipo de interés de tipo de interés de tipo de interés de tipo de interés de tipo de interés de tipo de interés de tipo de interés de tipo de interés de tipo de interés de tipo de interés de tipo de interés. Sugerencia: ajustar el porcentaje de stop-loss en función de la tolerancia personal al riesgo.

  3. Riesgo de reducción: la obtención escalonada de beneficios puede reducir las posiciones demasiado pronto en caso de tendencias fuertes. Sugerencia: Considere objetivos de ganancias dinámicas o retenga una porción para seguir la tendencia.

Direcciones para la optimización de la estrategia

  1. Optimización de la señal:
  • Añadir confirmación de volumen
  • Incorporar indicadores de tendencia como el MACD
  • Implementar filtros de volatilidad
  1. Optimización de pérdidas:
  • Implementar porcentajes dinámicos de stop-loss
  • Añadir paradas basadas en el tiempo
  • Incluir filtros de riesgo-recompensa
  1. Optimización para obtener beneficios:
  • Establecer objetivos dinámicos basados en el ATR
  • Implementar las paradas traseras
  • Optimizar las relaciones de reducción de posición

Resumen de las actividades

Esta estrategia construye un sistema comercial completo mediante la combinación de señales de sobreventa RSI con filtro de tendencia promedio móvil, complementado con objetivos dinámicos de stop-loss y triple ganancia ATR. Sus fortalezas se encuentran en el control flexible del riesgo y la gestión racional de ganancias, aunque es necesaria la optimización basada en las condiciones del mercado y la preferencia personal de riesgo.


/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-27 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This work is licensed under a Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA/4.0) https://creativecommons.org/licenses/by-nc-sa/4.0/
// © wielkieef

//@version=5
strategy("Simple RSI stock Strategy [1D] ", overlay=true, pyramiding=1, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=75, calc_on_order_fills=false, slippage=0, commission_type=strategy.commission.percent, commission_value=0.03)

// Rsi
oversoldLevel = input(30, title="Oversold Level")
overboughtLevel = input(70, title="Overbought Level")
rsi = ta.rsi(close, 5)
rsi_overbought = rsi > overboughtLevel  
rsi_oversold = rsi < oversoldLevel

// Sma 200
lenghtSMA = input(200, title = "SMA lenght")
sma200 = ta.sma(close, lenghtSMA)

// ATR stop-loss
atrLength = input.int(20, title="ATR Length")
atrMultiplier = input.float(1.5, title="ATR Multiplier")
atrValue = ta.atr(atrLength)
var float long_stop_level = na
var float short_stop_level = na
var float tp1_level = na
var float tp2_level = na
var float tp3_level = na

// Strategy entry
long = (rsi_oversold ) and close > sma200 

// Take Profit levels
tp_1 = input.float(5.0, "TP 1", minval=0.1, step=0.1)
tp_2 = input.float(10.0, "TP 2", minval=0.2, step=0.1)
tp_3 = input.float(15.0, "TP 3", minval=0.3, step=0.1)

if long
    strategy.entry('Long', strategy.long)
    long_stop_level := close - atrMultiplier * atrValue
    tp1_level := strategy.position_avg_price * (1 + tp_1 / 100)
    tp2_level := strategy.position_avg_price * (1 + tp_2 / 100)
    tp3_level := strategy.position_avg_price * (1 + tp_3 / 100)

// basic SL - this code is from author RafaelZioni, modified by wielkieef
sl = input.float(25.0, 'Basic Stop Loss %', step=0.1)
per(procent) =>
    strategy.position_size != 0 ? math.round(procent / 100 * strategy.position_avg_price / syminfo.mintick) : float(na)

// ATR SL
if (strategy.position_size > 0 and (close <= long_stop_level))
    strategy.close("Long")
    tp1_level := na
    tp2_level := na
    tp3_level := na
plot(long_stop_level, color=color.orange, linewidth=2, title="Long Stop Loss")

// TP levels
if (strategy.position_size > 0)
    if (not na(tp1_level) and close >= tp1_level)
        tp1_level := na
    if (not na(tp2_level) and close >= tp2_level)
        tp2_level := na
    if (not na(tp3_level) and close >= tp3_level)
        tp3_level := na

plot(strategy.position_size > 0 and not na(tp1_level) ? tp1_level : na, color=color.gray, style=plot.style_circles , linewidth=1, title="Take Profit 1")
plot(strategy.position_size > 0 and not na(tp2_level) ? tp2_level : na, color=color.gray, style=plot.style_circles , linewidth=1, title="Take Profit 2")
plot(strategy.position_size > 0 and not na(tp3_level) ? tp3_level : na, color=color.gray, style=plot.style_circles , linewidth=1, title="Take Profit 3")

// Strategy exit points for Take Profits
strategy.exit('TP 1', from_entry="Long", qty_percent=33, profit=per(tp_1), loss=per(sl))
strategy.exit('TP 2', from_entry="Long", qty_percent=66, profit=per(tp_2), loss=per(sl))
strategy.exit('TP 3', from_entry="Long", qty_percent=100, profit=per(tp_3), loss=per(sl))

// by wielkieef

Relacionados

Más.