Esta estrategia se basa en el Oscilador Estocástico Promedio para el juicio de señales comerciales y pertenece a una estrategia de seguimiento de tendencias. Calcula los valores promedio móviles de %K y %D del Oscilador Estocástico Promedio. Cuando ocurre la cruz dorada, vaya largo. Cuando ocurre la cruz de la muerte, vaya corto. Es una estrategia típica de seguimiento de tendencias.
Calcular los valores de %K y %D del Oscilador Estocástico Promedio. %K es la media móvil de valores aleatorios calculados sobre la base de los precios de cierre durante un determinado período, que refleja la posición relativa del precio actual a los precios más altos y más bajos durante un determinado período. %D es la media móvil de %K utilizada para confirmar la tendencia.
La media móvil exponencialmente lisa (EMA) se aplica a %K y %D respectivamente para obtener los valores medios _avg_k y _avg_d del oscilador estocástico medio.
Determinar las señales comerciales:
Señales de compra: cuando el _avg_k cruza el _avg_d y el _avg_d < 20, vaya largo.
Si el valor de la operación es inferior al valor de la operación, el valor de la operación será igual al valor de la operación.
Gestión de la posición:
Las pérdidas de cierre largas: cierre largo cuando _avg_d > 80
Pérdida de parada corta: cierre corto cuando _avg_d < 20
Permite un máximo de 3 órdenes en la misma dirección, que es una estrategia piramidal.
El uso de dos promedios móviles para determinar la cruz de oro y la cruz de la muerte puede filtrar eficazmente las falsas rupturas y mejorar la calidad de la señal.
La aplicación de un oscilador estocástico promedio puede rastrear eficazmente las tendencias de los precios.
La combinación de zonas de sobrecompra y sobreventa ayuda a evitar el comercio frecuente en el mercado de rango.
Permitir la pirámide puede obtener más ganancias en el mercado de tendencias.
La estrategia de stop loss controla una sola pérdida.
Las estrategias de negociación de medias móviles dobles tienden a generar operaciones frecuentes, lo que afectará a la rentabilidad si los costes de transacción son demasiado altos.
El uso de puntos de stop loss fijos puede detener la pérdida al salir demasiado pronto de la tendencia.
Demasiadas pirámides pueden aumentar la pérdida.
No puede determinar eficazmente los puntos de reversión de la tendencia y puede provocar grandes pérdidas cuando la tendencia se invierte.
Los períodos de parámetros deben optimizarse porque los diferentes períodos pueden dar lugar a resultados muy diferentes.
Considere la posibilidad de introducir indicadores de evaluación de tendencias para evitar el comercio contra tendencia.
Ajuste dinámicamente los puntos de stop loss para adaptarse mejor a la tendencia.
Optimizar la estrategia de pirámide, por ejemplo, aumentar el tamaño de la posición progresivamente.
Incorporar otros indicadores para juzgar temprano la inversión de tendencia y la ganancia de salida.
Optimización de parámetros de ensayo por separado para diferentes productos para mejorar la adaptabilidad.
En resumen, esta es una estrategia típica de seguimiento de tendencias. Utiliza el Oscilador Estocástico Promedio para determinar la dirección de la tendencia y las pirámides cuando ocurre la tendencia. La ventaja es la fuerte capacidad de seguimiento adecuada para el mercado de tendencias. Pero es importante evitar el comercio de contratrends. Se puede hacer una optimización adicional introduciendo el juicio de tendencias, optimizando la estrategia de stop loss, controlando los tiempos de pirámide, etc. Con la selección adecuada de parámetros, se pueden lograr buenos resultados de seguimiento.
/*backtest start: 2022-10-19 00:00:00 end: 2023-10-25 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 //1. AVG Stochastic Calculate //1.1 AVG %K is calculated by apply EMA with smooth K period on Average of Original Stochastic %k & %d //+ avg_k=ema((%k+%d)/2,smoothK) //1.2 AVG %D is calculated by apply EMA with %d period on AVG %K //+ avg_d=ema(avg_k,periodD) //2. Parameter //+ %K Length: 21 //+ %K Smoothing: 3 //+ %D Smoothing: 3 //+ Symbol: BTC/USDT //+ Timeframe: M30 //+ Pyramiding: Maximum 3 orders at the same direction. //3. Signal //3.1 Buy Signal //+ Entry: AVG %K crossover AVG %D and AVG %D < 20 //+ Exit: AVG %D > 80 //3.2 Sell Signal //+ Entry: AVG %K crossunder AVG %D and AVG %D > 80 //+ Exit: AVG %D < 20 strategy(title="AVG Stochastic Strategy [M30 Backtesting]", overlay=true, pyramiding=3) periodK = input.int(21, title="%K Length", minval=1) smoothK = input.int(3, title="%K Smoothing", minval=1) periodD = input.int(3, title="%D Smoothing", minval=1) k = ta.sma(ta.stoch(close, high, low, periodK), smoothK) d = ta.sma(k, periodD) _avg_k=ta.ema(math.avg(k,d),smoothK) _avg_d=ta.ema(_avg_k,periodD) up= _avg_k[1]<_avg_d[1] and _avg_k>_avg_d and _avg_d<20 dn= _avg_k[1]>_avg_d[1] and _avg_k<_avg_d and _avg_d>80 var arr_val=0 if up arr_val:=1 strategy.entry("Long", strategy.long) if dn arr_val:=-1 strategy.entry("Short", strategy.short) if up[1] or dn[1] arr_val:=0 plotarrow(arr_val,title="Signal",colorup=color.green,colordown=color.red) if _avg_d>80 strategy.close("Long") if _avg_d<20 strategy.close("Short") //EOF