Este indicador se basa en el indicador Aroon para identificar y rastrear tendencias en ambas direcciones. El indicador Aroon puede determinar efectivamente la dirección de las tendencias del mercado. Combinado con el indicador RSI, forma una estrategia de seguimiento relativamente completa.
Utilice el indicador Aroon para determinar la dirección de las tendencias de los precios.
Cuando el indicador Aroon cruza por encima de la línea 0 desde abajo, se activa una señal de compra.
Si ya tiene una posición, y el cierre es inferior al precio de compra, mientras que el RSI es inferior a 30, se considera sobreventa, se colocarán órdenes de compra adicionales.
Cuando el indicador de Aroon cruza por debajo de la línea 0 desde arriba, se activa una señal de salida completa.
Si la pérdida excede este punto, se activa una salida de stop loss.
El uso del indicador Aroon para determinar la dirección de la tendencia puede capturar eficazmente los puntos de rotación del mercado.
El indicador RSI ayuda a identificar áreas de sobrecompra y sobreventa, evitando perseguir nuevos máximos y vender mínimos durante los cambios de mercado.
El comercio en ambas direcciones permite obtener ganancias tanto en los mercados ascendentes como descendentes.
Establecer un stop loss ayuda a controlar los riesgos.
El indicador de Aroon tiene un efecto de retraso, que puede pasar por alto las reversiones a corto plazo y repentinas.
No puede manejar eficazmente los mercados de rango limitado, lo que conduce a operaciones innecesarias.
El comercio en ambas direcciones aumenta la frecuencia del comercio y los costos de comisión.
Los parámetros deben ajustarse adecuadamente para adaptarse a diferentes plazos y productos.
Combinar con otros indicadores para filtrar las señales y reducir los errores causados por el retraso.
Aumentar la investigación cuantitativa para optimizar los parámetros de los diferentes productos.
Agregue estrategias de obtención de ganancias para aumentar el factor de ganancia.
Considere sólo el comercio cuando la tendencia es clara para reducir las operaciones ineficaces.
Esta estrategia integra los indicadores de Aroon y RSI para formar un sistema de trading de tendencia bidireccional relativamente completo. Pero aún se necesita una mayor optimización de los parámetros y la combinación con otros indicadores de filtrado para reducir los errores.
/*backtest start: 2023-09-09 00:00:00 end: 2023-09-12 00:00:00 period: 1m basePeriod: 1m 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/ // © mohanee //@version=4 // strategy(title="Aroon Oscillator Strategy", overlay=false, pyramiding=2, initial_capital=10000, currency=currency.USD) //default_qty_value=10, default_qty_type=strategy.fixed, //variables BEGIN aroonLength=input(169,title="Aroon Length") //square root of 13 rsiLength=input(13, title="RSI Length") stopLoss = input(title="Stop Loss%", defval=5, minval=1) //variables END //RSI rsi13=rsi(close,rsiLength) // Drawings //Aroon oscillator arronUpper = 100 * (highestbars(high, aroonLength+1) + aroonLength)/aroonLength aroonLower = 100 * (lowestbars(low, aroonLength+1) + aroonLength)/aroonLength aroonOsc = arronUpper - aroonLower aroonMidpoint = 0 oscPlot = plot(aroonOsc, color=color.green) midLine= plot(aroonMidpoint, color=color.green) topLine = plot(90,style=plot.style_circles, color=color.green) bottomLine = plot(-90,style=plot.style_circles, color=color.red) fill(oscPlot, midLine, color=aroonOsc>0?color.green:color.red, transp=50) fill(topLine,bottomLine, color=color.blue) // RSI //plot(rsi13, title="RSI", linewidth=2, color=color.purple) //hline(50, title="Middle Line", linestyle=hline.style_dotted) //obLevel = hline(80, title="Overbought", linestyle=hline.style_dotted) //osLevel = hline(30, title="Oversold", linestyle=hline.style_dotted) //fill(obLevel, osLevel, title="Background", color=rsi13 >=30 ? color.green:color.purple, transp=65) // longTermRSI >=50 //Entry-- strategy.entry(id="Long Entry", comment="LE", long=true, when= crossover(aroonOsc,0) ) //crossover(close,ema34) //and close>ema34 //crossover(rsi5Val,rsiBuyLine) //Add if(strategy.position_size>=1 and close < strategy.position_avg_price and crossover(rsi13,30)) strategy.order(id="Long Entry", comment="Add", long=true ) //crossover(close,ema34) //and close>ema34 //crossover(rsi5Val,rsiBuyLine) -- stopLossVal= abs(strategy.position_size)>1 ? strategy.position_avg_price*(1-0.5) : 0.00 //close partial strategy.close(id="Long Entry", comment="Partial X", qty=strategy.position_size/3, when=abs(strategy.position_size)>=1 and crossunder(aroonOsc, 90) ) //close<ema55 and rsi5Val<20 //ema34<ema55 //close All strategy.close(id="Long Entry", comment="Exit All", when=abs(strategy.position_size)>=1 and crossunder(aroonOsc, 0) ) //close<ema55 and rsi5Val<20 //ema34<ema55 //close<ema89 //close All on stop loss strategy.close(id="Long Entry", comment="Stoploss X", when=abs(strategy.position_size)>=1 and close < stopLossVal ) //close<ema55 and rsi5Val<20 //ema34<ema55 //close<ema89