La estrategia de ganancias efectivas es una estrategia comercial cuantitativa diseñada para capturar oportunidades rentables en los mercados financieros a mediano plazo mediante la integración de principios de negociación de swing e indicadores de impulso. La estrategia utiliza una combinación de indicadores técnicos, incluidos promedios móviles, señales de cruce y análisis de volumen para generar señales de compra y venta.
La señal de compra está determinada por múltiples factores incluyendo A1, A2, A3, XG y WeeklySlope.
A1 Condición: Verifica las relaciones de precios específicas, verificando que la relación entre el precio más alto y el precio de cierre es inferior a 1.03, la relación entre el precio de apertura y el precio más bajo es inferior a 1.03, y la relación entre el precio más alto y el precio de cierre anterior es mayor a 1.06.
A2 Condición: verifica las relaciones de precios relacionadas con el precio de cierre, verificando que la relación entre el precio de cierre y el precio de apertura es superior a 1,05 o que la relación entre el precio de cierre y el precio de cierre anterior es superior a 1,05.
A3 Condición: se centra en el volumen, comprobando si el volumen actual supera el volumen más alto en los últimos 60 períodos.
Condición XG: Combina las condiciones A1 y A2 y verifica si son ciertas tanto para las barras actuales como para las anteriores. También verifica la relación entre el precio de cierre y los cruces de la EMA de 5 períodos por encima de la SMA de 9 períodos de la misma relación. Esta condición ayuda a identificar señales de compra potenciales cuando múltiples factores se alinean, lo que indica un fuerte impulso alcista y un posible punto de entrada.
Factor de tendencia semanal: Calcula la pendiente de la SMA de 50 períodos en un marco de tiempo semanal. Comprueba si la pendiente es positiva, indicando una tendencia general al alza semanal. Esta condición proporciona una confirmación adicional de que el stock está en una tendencia al alza.
Cuando se cumplen todas estas condiciones, se activa la condición de compra, lo que indica un momento favorable para entrar en una posición larga.
La condición de venta es relativamente simple en la estrategia:
La condición de venta simplemente comprueba si el precio de cierre cruza por debajo de la EMA de 10 períodos. Cuando se cumple esta condición, indica una posible inversión o debilitamiento del impulso al alza del precio y se genera una señal de venta.
La estrategia de ganancias efectivas de Momentum Swing integra los principios de negociación de swing e indicadores de impulso a través de la optimización de parámetros e integración de condiciones, logrando ganancias considerables en backtests. Captura bien las tendencias a mediano plazo, pero debe ser consciente de los riesgos de inversión de tendencia.
/*backtest start: 2022-10-26 00:00:00 end: 2023-11-01 00:00:00 period: 1d basePeriod: 1h 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/ // © fzj20020403 //@version=5 strategy("Slight Swing Momentum Strategy.", overlay=true) // Position Status Definition var inPosition = false // Moving Average Definition ma60 = ta.sma(close, 60) // A1 Condition Definition A1 = high / close < 1.03 and open / low < 1.03 and high / close[1] > 1.06 // A2 Condition Definition A2 = close / open > 1.05 or close / close[1] > 1.05 // A3 Condition Definition highestVol = ta.highest(volume, 60) A3 = ta.crossover(volume, highestVol[1]) // B1 Condition Definition ema5 = ta.ema(close, 5) B1 = close / ema5 // XG Condition Definition A1andA2 = (A1 and A2) and (A1[1] and A2[1]) XG = ta.crossover(B1, ta.sma(B1, 9)) // Weekly Trend Factor Definition weeklyMa = ta.sma(close, 50) weeklySlope = (weeklyMa - weeklyMa[4]) / 4 > 0 // Buy Signal using XG Condition buySignal = A1 and close > ma60 or A2 and A3 and XG and close > ma60 and weeklySlope // Sell Signal Condition sellSignal = close < ta.ema(close, 10) // Buy and Sell Conditions buyCondition = buySignal and not inPosition sellCondition = sellSignal and inPosition // Execute Buy and Sell Operations if (buyCondition) strategy.entry("Buy", strategy.long) inPosition := true if (sellCondition) strategy.close("Buy") inPosition := false // Stop Loss and Take Profit Levels stopLoss = strategy.position_avg_price * 0.5 takeProfit = strategy.position_avg_price * 1.30 // Apply Stop Loss and Take Profit Levels if inPosition strategy.exit("Long Stop Loss", "Buy", stop=stopLoss) strategy.exit("Long Take Profit", "Buy", limit=takeProfit) // Plot Buy and Sell Signal Shapes plotshape(buyCondition, style=shape.arrowdown, location=location.belowbar, color=color.green, size=size.small) plotshape(sellCondition, style=shape.arrowup, location=location.abovebar, color=color.red, size=size.small) // EMA Variable Definition ema = ta.ema(close, 5) // Plot Indicator Line plot(ema, color=color.green, title="EMA")