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

Estrategia de optimización de operaciones dinámicas de múltiples indicadores

El autor:¿ Qué pasa?, Fecha: 2024-12-20 16:31:21
Las etiquetas:CCIIndicador de riesgoFinanciamiento por cuenta ajenaLa WMATIF

img

Resumen general

Esta estrategia es un sistema de negociación basado en múltiples indicadores técnicos, que integra los indicadores CCI, RSI, Estocástico y MFI con suavizado exponencial para construir un marco integral de análisis de mercado.

Principio de la estrategia

El núcleo de la estrategia es proporcionar señales comerciales más confiables a través de la fusión de múltiples indicadores.

  1. Calcular y normalizar los indicadores CCI, RSI, estocástico y de las IFM
  2. Aplicar el suavizado de WMA a los valores del indicador
  3. Convertir valores a un intervalo unificado mediante IFT
  4. Calcular la media de los cuatro indicadores transformados como señal final
  5. Generar señales largas cuando se cruza -0.5 y señales cortas cuando se cruza 0.5
  6. Establecer un stop-loss del 0,5% y un take-profit del 1% para el control del riesgo

Ventajas estratégicas

  1. La fusión de múltiples indicadores proporciona una perspectiva de mercado completa
  2. La transformación IFT garantiza la coherencia de los resultados de los indicadores
  3. El suavizado de WMA reduce eficazmente las señales falsas
  4. En el caso de las entidades de crédito, el valor de las pérdidas se calculará de acuerdo con el método de cálculo de las pérdidas.
  5. Mecanismo claro de generación de señal para depuración y optimización

Riesgos estratégicos

  1. Muchos indicadores pueden retrasarse en mercados volátiles
  2. Los parámetros fijos de stop-loss y take-profit pueden no adaptarse a todas las condiciones de mercado
  3. La suavización de WMA podría causar retrasos en la señal
  4. Los parámetros de los indicadores deben optimizarse para diferentes mercados Sugerencias: Implementar una gestión dinámica del riesgo, introducir indicadores de volatilidad, optimizar los parámetros de suavización

Direcciones de optimización

  1. Introducir mecanismos adaptativos de detención de pérdidas y obtención de beneficios
  2. Añadir filtro de entorno de mercado
  3. Optimizar la síntesis de señales con promedios ponderados
  4. Implementar mecanismos ponderados por volumen y ajustados a la volatilidad
  5. Desarrollar un sistema de optimización automática de parámetros

Resumen de las actividades

La estrategia construye un sistema comercial relativamente completo a través de la fusión de múltiples indicadores y la optimización de señales. Sus fortalezas se encuentran en la fiabilidad de la señal y el control integral del riesgo, pero los parámetros aún necesitan optimización basada en las características del mercado. A través de las direcciones de optimización sugeridas, la estrategia tiene el potencial de rendir mejor en varios entornos de mercado.


/*backtest
start: 2024-11-19 00:00:00
end: 2024-12-18 08:00:00
period: 4h
basePeriod: 4h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy('wombocombo', overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// IFTCOMBO Hesaplamaları
ccilength = input.int(5, 'CCI Length')
wmalength = input.int(9, 'Smoothing Length')
rsilength = input.int(5, 'RSI Length')
stochlength = input.int(5, 'STOCH Length')
mfilength = input.int(5, 'MFI Length')

// CCI
v11 = 0.1 * (ta.cci(close, ccilength) / 4)
v21 = ta.wma(v11, wmalength)
INV1 = (math.exp(2 * v21) - 1) / (math.exp(2 * v21) + 1)

// RSI
v12 = 0.1 * (ta.rsi(close, rsilength) - 50)
v22 = ta.wma(v12, wmalength)
INV2 = (math.exp(2 * v22) - 1) / (math.exp(2 * v22) + 1)

// Stochastic
v1 = 0.1 * (ta.stoch(close, high, low, stochlength) - 50)
v2 = ta.wma(v1, wmalength)
INVLine = (math.exp(2 * v2) - 1) / (math.exp(2 * v2) + 1)

// MFI
source = hlc3
up = math.sum(volume * (ta.change(source) <= 0 ? 0 : source), mfilength)
lo = math.sum(volume * (ta.change(source) >= 0 ? 0 : source), mfilength)
mfi = 100.0 - 100.0 / (1.0 + up / lo)
v13 = 0.1 * (mfi - 50)
v23 = ta.wma(v13, wmalength)
INV3 = (math.exp(2 * v23) - 1) / (math.exp(2 * v23) + 1)

// Ortalama IFTCOMBO değeri
AVINV = (INV1 + INV2 + INVLine + INV3) / 4

// Sinyal çizgileri
hline(0.5, color=color.red, linestyle=hline.style_dashed)
hline(-0.5, color=color.green, linestyle=hline.style_dashed)

// IFTCOMBO çizgisi
plot(AVINV, color=color.red, linewidth=2, title='IFTCOMBO')

// Long Trading Sinyalleri
longCondition = ta.crossover(AVINV, -0.5) 
longCloseCondition = ta.crossunder(AVINV, 0.5) 

// Short Trading Sinyalleri
shortCondition = ta.crossunder(AVINV, 0.5) 
shortCloseCondition = ta.crossover(AVINV, -0.5) 

// Stop-loss seviyesi (%0.5 kayıp)
stopLoss = strategy.position_avg_price * (1 - 0.005) // Long için
takeProfit = strategy.position_avg_price * (1 + 0.01) // Long için


// Long Strateji Kuralları
if longCondition
    strategy.entry('Long', strategy.long)
    strategy.exit('Long Exit', 'Long', stop=stopLoss, limit=takeProfit) // Stop-loss eklendi


if longCloseCondition
    strategy.close('Long')

// Stop-loss seviyesi (%0.5 kayıp)
stopLossShort = strategy.position_avg_price * (1 + 0.005) // Short için
takeProfitShort = strategy.position_avg_price * (1 - 0.01) // Short için

// Short Strateji Kuralları
if shortCondition
    strategy.entry('Short', strategy.short)
    strategy.exit('Short Exit', 'Short', stop=stopLossShort, limit=takeProfitShort) // Stop-loss eklendi


if shortCloseCondition
    strategy.close('Short')

// Sinyal noktalarını plotlama
plotshape(longCondition, title='Long Signal', location=location.belowbar, color=color.purple, size=size.small)
plotshape(shortCondition, title='Short Signal', location=location.abovebar, color=color.yellow, size=size.small)

Relacionados

Más.