Estrategia de negociación a corto plazo basada en la tendencia siguiente

El autor:¿ Qué pasa?, Fecha: 2023-09-27 16:56:34
Las etiquetas:

Resumen general

Esta estrategia identifica tendencias fuertes y un momento favorable para el comercio a corto plazo con control de pérdidas.

Estrategia lógica

  1. Cálculo de las medias móviles simples de varios períodos

    • Establecimiento de las SMA de 9 días, 50 días y 100 días

    • La SMA corta cruzando la SMA larga indica la dirección de la tendencia

  2. Evaluación de los niveles de sobrecompra/sobreventa utilizando el índice de rentabilidad

    • La duración del RSI es de 14 períodos.

    • RSI por encima de 70 es sobrecompra, por debajo de 30 es sobreventa

  3. Entrar en operaciones cuando el precio rompe la SMA de 9 días

    • Ir largo cuando el precio se rompe por encima de la SMA de 9 días

    • Ir corto cuando el precio se rompe por debajo de la SMA de 9 días

  4. Establecimiento de stop loss/take profit basado en las divergencias del RSI

    • Divergencia del RSI para el stop loss

    • Obtener ganancias cuando el índice RSI alcance niveles preestablecidos

Análisis de ventajas

  • Captura las tendencias a corto plazo, adecuadas para el comercio de alta frecuencia

  • Las combinaciones de SMA filtran las señales de tendencia, evitando las malas operaciones

  • El RSI ayuda a determinar el momento, controlar los riesgos de manera efectiva

  • Las operaciones de liquidación de pérdidas y ganancias a corto plazo

  • La combinación de indicadores mejora la estabilidad

Análisis de riesgos

  • Un juicio inexacto de la tendencia a corto plazo causa persecución

  • Las señales falsas de RSI aumentan las pérdidas

  • El valor de las pérdidas se calculará en función de las pérdidas que se hayan producido durante el período de referencia.

  • La alta frecuencia de negociación aumenta los costes y el deslizamiento

  • Parámetros ineficaces y estrategia de impacto anormal de los mercados

  • Optimizar los parámetros, estrictas pérdidas de parada, gestionar los costes

Direcciones de optimización

  • Prueba de diferentes combinaciones de SMA para mejorar el juicio de tendencia

  • Considere indicadores adicionales como STOCH para verificar las señales de RSI

  • Emplear el aprendizaje automático para determinar breakouts válidos

  • Ajuste de parámetros para diferentes productos y sesiones

  • Optimizar la lógica stop loss/take profit para el seguimiento dinámico

  • Explora los mecanismos de ajuste automático de parámetros

Conclusión

Esta estrategia combina SMA y RSI para un enfoque comercial conservador a corto plazo. Los parámetros de ajuste fino, la validación de señales, el control de riesgos lo hacen más robusto y adaptable. Hay margen de mejora al explorar más combinaciones de SMA, agregar modelos de aprendizaje automático, etc. La optimización continua conducirá a una mayor madurez.


/*backtest
start: 2023-08-27 00:00:00
end: 2023-09-26 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/
// © Coinrule

//@version=4
strategy(shorttitle='Maximized Scalping On Trend',title='Maximized Scalping On Trend (by Coinrule)', overlay=true, initial_capital = 1000, 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)

//Backtest dates
fromMonth = input(defval = 1,    title = "From Month",      type = input.integer, minval = 1, maxval = 12)
fromDay   = input(defval = 10,    title = "From Day",        type = input.integer, minval = 1, maxval = 31)
fromYear  = input(defval = 2019, 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()  => true      // create function "within window of time"

//MA inputs and calculations
movingaverage_fast = sma(close, input(9))
movingaverage_mid= sma(close, input(50))
movingaverage_slow = sma(close, input (100))


//Trend situation
Bullish= cross(close, movingaverage_fast)

Momentum = movingaverage_mid > movingaverage_slow

// RSI inputs and calculations
lengthRSI = 14
RSI = rsi(close, lengthRSI)

//Entry
strategy.entry(id="long", long = true, when = Bullish and Momentum and RSI > 50)

//Exit

TP = input(70)
SL =input(30)
longTakeProfit  = RSI > TP
longStopPrice = RSI < SL

strategy.close("long", when = longStopPrice or longTakeProfit and window())

plot(movingaverage_fast, color=color.black, linewidth=2 )
plot(movingaverage_mid, color=color.orange, linewidth=2)
plot(movingaverage_slow, color=color.purple, linewidth=2)


Más.