Esta estrategia se basa en el indicador Wavetrend y establece posiciones largas cuando el precio alcanza múltiples niveles de sobreventa y sobrecompra. Cierra posiciones para obtener ganancias cuando el precio rebota al nivel de sobrecompra.
La estrategia Wavetrend Large Amplitude Oversold Rebound Grid Trading es una estrategia cuantitativa basada en señales de sobreventa y sobrecompra. Trata de capturar oportunidades de rebote después de una fuerte caída a través de la construcción de posiciones de lote y la obtención automática de ganancias, con el objetivo de beneficiarse de la diferencia de precio. La ventaja de esta estrategia radica en su fuerte adaptabilidad y ajuste flexible de parámetros. Sin embargo, también enfrenta riesgos como la continua disminución del mercado y la configuración inadecuada de parámetros. En aplicaciones prácticas, se pueden considerar métodos de filtrado de tendencias, posicionamiento dinámico, obtención de ganancias y optimización de stop-loss para mejorar la estabilidad y la rentabilidad de la estrategia. Sin embargo, aún hay que tener en cuenta que esta estrategia es una estrategia de alto riesgo que requiere un estricto control de la posición y un uso cauteloso.
/*backtest start: 2024-03-25 00:00:00 end: 2024-04-24 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 // © And Isaac, all rights reserved. If there is any piracy, please call the police immediately. strategy(title='wavetrend',shorttitle='DCA-High win rate quantitative trading') n1 = input(40,'channel length') n2 = input(60,'average length') Oblevel1 = input(40,'over bought level 1') Oblevel2 = input(50,'over bought level 1') Oblevel3 = input(70,'over bought level 1') Oblevel4 = input(80,'over bought level 1') Oblevel5 = input(100,'over bought level 2') oslevel1 = input(-40,'over sold level 1') oslevel2 = input(-45,'over sold level 1') oslevel3 = input(-50,'over sold level 1') oslevel4 = input(-55,'over sold level 1') oslevel5 = input(-65,'over sold level 1') oslevel6 = input(-75,'over sold level 1') oslevel7 = input(-85,'over sold level 1') oslevel8 = input(-100,'over sold level 2') ap = input(title="source",defval=hlc3) esa =ta.ema(ap, n1) d =ta.ema(math.abs(ap - esa),n1) ci = (ap - esa)/ (0.015 * d) tci = ta.ema(ci,n2) wt1 = tci wt2 = ta.sma(wt1, 4) plot(0,color=color.new(#787b86, 0 )) plot(Oblevel1, color=color.new(#89ff52, 53), linewidth = 2) plot(oslevel1, color=color.new(#89ff52, 53), linewidth = 2) plot(oslevel2, color=color.new(#89ff52, 53), linewidth = 2) plot(oslevel3, color=color.new(#89ff52, 53), linewidth = 2) plot(oslevel4, color=color.new(#89ff52, 53), linewidth = 2) plot(oslevel5, color=color.new(#89ff52, 53), linewidth = 2) plot(oslevel6, color=color.new(#89ff52, 53), linewidth = 2) plot(oslevel7, color=color.new(#89ff52, 53), linewidth = 2) plot(oslevel8, color=color.new(#89ff52, 53), linewidth = 2) plot(oslevel2, color=color.new(#89ff52, 53), linewidth = 2) plot(wt1, color=color.new(#ff5252,0)) plot(wt2, color=color.new(#ffffff,0)) plot(wt1 - wt2, color=color.new(#00bcd4, 30),style=plot.style_area) plot(ta.cross(wt1, wt2) ? wt2 : na, color=color.new(#ff5252,0) , style=plot.style_circles, linewidth=4 ) // barcolor(cross(wt1, wt2) ? (wt2 - wt1 > 0 ? aqua : yellow) : na) barcolor(ta.cross(wt1, wt2) ? (wt2 - wt1 > 0 ? color.new(#ffffff,0) : color.new(#89ff52, 53)) : na) ///////////// Long1 = wt2 < oslevel1 and wt1 < oslevel1 and wt1>wt2 and wt2 > oslevel3 and wt1>oslevel3 Long5 = wt2 < oslevel5 and wt1 < oslevel5 and wt1>wt2 and wt2 > oslevel6 and wt1>oslevel6 Long7 = wt2 < oslevel7 and wt1 < oslevel7 and wt1>wt2 and wt2 > oslevel8 and wt1>oslevel8 Long8 = wt2 < oslevel8 and wt1 < oslevel8 and wt1>wt2 LS1 = wt2 > Oblevel1 and wt1 > Oblevel1 and wt1<wt2 if Long1 strategy.entry("L",strategy.long,comment = "做多1") if Long5 strategy.entry("L",strategy.long,comment = "做5") if Long7 strategy.entry("L",strategy.long,comment = "做多7") if Long8 strategy.entry("L",strategy.long,comment = "做多8") if LS1 strategy.close("L", qty_percent = 70,comment = "平多")