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.
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:
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.
Para reducir los riesgos, optimizar en los siguientes aspectos:
Los siguientes aspectos pueden optimizarse para la estrategia:
Optimizar la configuración de parámetros atravesando diferentes valores.
Añadir condiciones de filtro en la entrada para evitar señales falsas.
Optimice los métodos de stop loss como el stop loss de seguimiento.
Optimizar las formas de obtener ganancias como la adaptación de obtener ganancias.
Añadir beneficios automáticos cerca de los niveles clave para evitar la retirada.
Optimizar la gestión de fondos ajustando el tamaño de la posición por riesgo.
Prueba y optimiza los parámetros y los niveles de stop/profit basados en diferentes instrumentos y plazos.
Manejar eventos extremos como evitar las operaciones durante las noticias o cortar pérdidas rápidas.
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)