Estrategia de compra y venta de múltiples indicadores

El autor:¿ Qué pasa?, Fecha: 2023-10-18 11:36:38
Las etiquetas:

img

Resumen general

Esta estrategia combina indicadores de promedio móvil, sobrecompra-sobreventa y tasa de volatilidad para comprar en caídas cuando se sobreventa y vender en alzas cuando se sobreventa, con el fin de rastrear las tendencias.

Estrategia lógica

Tome posiciones cuando el RSI y el Stoch estén ambos en zonas de sobreventa/sobredacción y el oscilador AO muestre una señal de reversión. En concreto, vaya largo cuando el RSI y el Stoch estén bajos (por debajo de 30 y 20) y el AO pase de negativo a positivo; vaya corto cuando el RSI y el Stoch estén altos (por encima de 70 y 80) y el AO pase de positivo a negativo. Establezca el stop loss y tome ganancias basado en el valor ATR para ajustar los niveles de pérdida/ganancia de acuerdo con la volatilidad del mercado.

La estrategia utiliza principalmente cuatro indicadores:

  • Oscilador AO: refleja el impulso de los precios, puede utilizarse para identificar la inversión de tendencia.
  • RSI: refleja los niveles de sobrecompra/sobreventa.
  • Las acciones: reflejan las zonas de sobrecompra/sobreventa.
  • ATR: refleja la reciente volatilidad de los precios.

Cuando el AO muestra una señal de reversión y el RSI y el Stoch están ambos en zonas de sobreventa / sobrecompra, el precio puede revertirse. Tome posiciones en este momento. Utilice ATR para establecer precios de stop loss y take profit para evitar quedar atrapado ajustando el rango de pérdida / ganancia basado en la volatilidad.

Ventajas

  • Utilice múltiples indicadores para confirmar las señales, evitando operaciones incorrectas desde un solo indicador.
  • Establecer el stop loss/profit basado en la volatilidad para controlar la pérdida única.
  • Lógica simple y clara, fácil de entender e implementar.
  • Aprovechar las situaciones de sobrecompra/sobreventa para capturar las reversiones.

Riesgos y soluciones

  • AO puede generar señales falsas. Necesita combinarse con RSI y Stoch para evitar operaciones incorrectas.
  • Los parámetros fijos pueden no adaptarse a los cambios del mercado, por lo que es necesario optimizarlos.
  • El stop loss demasiado cercano puede desencadenar paradas frecuentes. Puede aflojar el rango de stop o utilizar estrategias de salida.
  • Las ganancias fijas pueden salir demasiado temprano o tarde. Puede utilizar ganancias adaptativas o salidas parciales.

Para reducir los riesgos, optimizar en los siguientes aspectos:

  1. Optimizar los parámetros para adaptarse a los diferentes períodos e instrumentos.
  2. Mejorar los métodos de stop loss como el trailing stop, las salidas parciales.
  3. Optimice las reglas de entrada para evitar señales falsas.
  4. Optimizar las formas de obtener ganancias como la adaptación de obtener ganancias, segmentado por tendencias.

Direcciones de optimización

Los siguientes aspectos pueden optimizarse para la estrategia:

  1. Optimizar la configuración de parámetros atravesando diferentes valores.

  2. Añadir condiciones de filtro en la entrada para evitar señales falsas.

  3. Optimice los métodos de stop loss como el stop loss de seguimiento.

  4. Optimizar las formas de obtener ganancias como la adaptación de obtener ganancias.

  5. Añadir beneficios automáticos cerca de los niveles clave para evitar la retirada.

  6. Optimizar la gestión de fondos ajustando el tamaño de la posición por riesgo.

  7. Prueba y optimiza los parámetros y los niveles de stop/profit basados en diferentes instrumentos y plazos.

  8. Manejar eventos extremos como evitar las operaciones durante las noticias o cortar pérdidas rápidas.

Resumen de las actividades

Esta estrategia combina los sistemas de promedio móvil, sobrecompra sobreventa y volatilidad para comprar bajo y vender alto, con una fuerte tendencia después de la capacidad. Pero existen algunos problemas como parámetros fijos y stop loss inadecuados. Podemos optimizar desde varios aspectos como ajuste de parámetros, mejorar el stop loss, agregar filtros para hacerlo más robusto. En el comercio real, es necesario probar y optimizar basado en instrumentos y períodos específicos para maximizar su eficacia y rentabilidad.


/*backtest
start: 2023-09-17 00:00:00
end: 2023-10-17 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4

strategy("Buy&Sell Strategy depends on AO+Stoch+RSI+ATR by SerdarYILMAZ", shorttitle="Buy&Sell Strategy")
// Created by Serdar YILMAZ
// This strategy is just for training, its purpose is just learning code in pine script.
// Don't make buy or sell decision with this strategy.
// Bu strateji sadece pine script'te kodlamanın nasıl yapildigini ogrenmek icindir.
// Bu stratejiye dayanarak, kesinlikle al-sat islemleri yapmayin.

//AO

fast=input(title="Fast Length",type=input.integer,defval=5)
slow=input(title="Slow length",type=input.integer,defval=34)

awesome=(sma(hl2,fast)-sma(hl2,slow))*1000

plot(awesome, style=plot.style_histogram, color=(awesome>awesome[1]?color.green:color.red))

//Stoch

K=input(title="K",type=input.integer,defval=14)
D=input(title="D",type=input.integer,defval=3)
smooth=input(title="smooth",type=input.integer,defval=3)

k=sma(stoch(close,high,low,K),D)
d=sma(k,smooth)

hline(80)
hline(20)

plot(k,color=color.blue)

//RSI

rsisource=input(title="rsi source",type=input.source,defval=close)
rsilength=input(title="rsi length",type=input.integer,defval=10)

rsi=rsi(rsisource,rsilength)

hline(70,color=color.orange)
hline(30,color=color.orange)

plot(rsi,color=color.orange)

//ATR

atrlen=input(title="ATR Length", type=input.integer,defval=14)

atrvalue=rma(tr,atrlen)

plot(atrvalue*1000,color=color.green)

LongCondition=k<20 and rsi<30 and awesome>awesome[1]
ShortCondition=k>80 and rsi>70 and awesome<awesome[1]
if (LongCondition)
    stoploss=low-atrvalue
    takeprofit=close+atrvalue
    strategy.entry("Long Position", strategy.long)
    strategy.exit("TP/SL",stop=stoploss,limit=takeprofit)
    
if (ShortCondition)
    stoploss=high+atrvalue
    takeprofit=close-atrvalue
    strategy.entry("Short Position",strategy.short)
    strategy.exit("TP/SL",stop=stoploss,limit=takeprofit)
    
    

    
    




Más.