Estrategia de ruptura de tendencia basada en el MA adaptativo y las líneas de tendencia

El autor:¿ Qué pasa?, Fecha: 2023-09-19 15:49:37
Las etiquetas:

Resumen general

Esta estrategia utiliza una media móvil adaptativa y breakouts de tendencia para entradas, y RSI para salidas.

Estrategia lógica

  1. Calcula el MA adaptativo de 99 períodos para determinar la tendencia general.

  2. Calcula los máximos locales de 14 períodos para la resistencia superior de la línea de tendencia.

  3. Va largo cuando el cierre se rompe por encima de la línea de tendencia y no hay orden este mes.

  4. Calcula el RSI de 14 períodos y sale en un RSI superior a 70 (sobrecomprado).

  5. Rastrea el último mes de entrada para garantizar una transacción por mes.

Análisis de ventajas

  1. El MA adaptativo sigue de forma dinámica los cambios de tendencia.

  2. Las rupturas de tendencia mejoran la precisión de entrada.

  3. El RSI evalúa efectivamente los niveles de sobrecompra/sobreventa para el control del riesgo.

  4. Una transacción al mes reduce la frecuencia y las tarifas.

  5. Lógica simple y clara, fácil de entender y ejecutar.

Análisis de riesgos

  1. Los parámetros incorrectos pueden causar entradas perdidas.

  2. Los indicadores de salida fijos no pueden adaptarse a los mercados a tiempo.

  3. Posibilidad de retiros.

  4. No hay control de riesgos durante largos períodos de retención.

  5. Demasiados filtros pueden impedir las entradas.

Direcciones de optimización

  1. Prueba diferentes parámetros para obtener la configuración óptima.

  2. Añadir filtros para mejorar la robustez de la estrategia.

  3. Desarrollar estrategias dinámicas y de detención.

  4. Optimice la lógica de entrada para identificar las fugas más fuertes.

  5. Prueba instrumentos y plazos adecuados.

  6. Añadir un filtro de tendencia para evitar falsas rupturas.

Resumen de las actividades

Esta estrategia integra el análisis de tendencias y osciladores para un efecto de seguimiento de tendencias constante. Las optimizaciones adicionales en parámetros, salidas dinámicas, etc. pueden convertirlo en un sistema cuántico confiable. En general, tiene una buena operabilidad y vale la pena mejorar y verificar.


/*backtest
start: 2023-09-11 00:00:00
end: 2023-09-18 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy('Bannos Strategy', shorttitle='Bannos', overlay=true)

//The provided script is an indicator for TradingView written in Pine Script version 5. The indicator is used to determine entry and exit points for a trading strategy. Here's a detailed breakdown of what the script does:

// Strategy Definition:

// Bannos Strategy is the full name, with a short title Bannos.
// The overlay=true option indicates that the strategy will be overlayed on the price chart.
// Tracking Entry Month:

// A variable lastEntryMonth is set up to track the month of the last entry.
// currentMonth identifies the current month.
// Trend Regularity Adaptive Moving Average (TRAMA):

// It takes an input of length 99 as default.
// It uses adaptive calculations to track trend changes.
// Trendlines with Breaks:

// Identifies local peaks over a given period (in this case, 14) and calculates a slope based on these peaks.
// Relative Strength Index (RSI):

// Uses a length of 14 (default) to calculate the RSI.
// RSI is an oscillation indicator that indicates overbought or oversold conditions.
// Strategy Logic for Long Entry:

// A long position is opened if:
// The close price is above the TRAMA.
// There's a crossover of the close price and the upper trendline.
// The position is taken only once per month.
// Strategy Logic for Long Exit:

// The long position is closed if the RSI exceeds 70, indicating an overbought condition.
// Plotting:

// The TRAMA is plotted in red on the chart.
// A horizontal line is also drawn at 70 to indicate the RSI's overbought zone.
// In summary, this strategy aims to enter a long position when certain trend and crossover conditions are met, and close the position when the market is considered overbought as per the RSI. Additionally, it ensures entries only occur once a month.
//



// Variable pour suivre le mois de la dernière entrée
var float lastEntryMonth = na
currentMonth = month(time)

// Parameters for Trend Regularity Adaptive Moving Average (TRAMA)
length_trama = input(99)
src_trama = close
ama = 0.
hh = math.max(math.sign(ta.change(ta.highest(length_trama))), 0)
ll = math.max(math.sign(ta.change(ta.lowest(length_trama)) * -1), 0)
tc = math.pow(ta.sma(hh or ll ? 1 : 0, length_trama), 2)
ama := nz(ama[1] + tc * (src_trama - ama[1]), src_trama)

// Parameters for Trendlines with Breaks
length_trend = 14
mult = 1.0
ph = ta.pivothigh(length_trend, length_trend)
upper = 0.
slope_ph = 0.
slope_ph := ph ? mult : slope_ph
upper := ph ? ph : upper - slope_ph

// Parameters for RSI
rsiLength = 14
up = ta.rma(math.max(ta.change(close), 0), rsiLength)
down = ta.rma(-math.min(ta.change(close), 0), rsiLength)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))

// Strategy Logic for Long Entry
longCondition = close > ama and ta.crossover(close, upper) and (na(lastEntryMonth) or lastEntryMonth != currentMonth)
if (longCondition)
    lastEntryMonth := currentMonth
    strategy.entry('Long', strategy.long)

// Strategy Logic for Long Exit
exitCondition = rsi > 70
if (exitCondition)
    strategy.close('Long')

// Plotting
plot(ama, 'TRAMA', color=color.red)
hline(70, 'Overbought', color=color.red)


Más.