Esta estrategia construye una estrategia simple de doble empuje basada en el indicador SMA. Se va largo cuando el precio cruza por encima del SMA más alto de 20 períodos y se va corto cuando el precio cruza por debajo del SMA más bajo de 20 períodos.
Esta estrategia utiliza el SMA de 20 períodos del precio más alto y el precio más bajo para determinar la dirección para la negociación. Cuando el precio cruza por encima del SMA más alto, se considera una tendencia alcista, por lo que se va largo. Cuando el precio cruza por debajo del SMA más bajo, se considera una tendencia bajista, por lo que se va corto.
Específicamente, la estrategia primero calcula la SMA de 20 períodos de los precios más altos y más bajos, y traza las líneas del indicador.
Entrada larga: el precio de cierre se cruza por encima de la SMA más alta
Salida larga: el precio de cierre se cruza por debajo de 0,99 * SMA más alta
Entrada corta: el precio de cierre se cruza por debajo de la SMA más baja
Salida corta: el precio de cierre se cruza por encima de 1,01 * SMA más baja
Así que se construye una tendencia siguiendo la estrategia de doble empuje.
Esta estrategia tiene las siguientes ventajas:
También hay algunos riesgos con esta estrategia:
Estos riesgos pueden controlarse y reducirse mediante la combinación de otros indicadores, la configuración de stop loss, el ajuste de parámetros, etc.
Esta estrategia también puede mejorarse en los siguientes aspectos:
La lógica general de esta estrategia es clara y fácil de implementar. Mediante el uso de SMA para determinar la dirección de la tendencia y establecer reglas de entrada / salida razonables, se pueden lograr buenos resultados.
/*backtest start: 2023-11-14 00:00:00 end: 2023-11-21 00:00:00 period: 10m 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/ // © AlanAntony //@version=4 strategy("ma 20 high-low",overlay=true) //compute the indicators smaH = sma(high, 20) smaL = sma(low, 20) //plot the indicators plot(smaH,title="smaHigh", color=color.green, linewidth=2) plot(smaL,title="smaLow", color=color.red, linewidth=2) //trading logic enterlong = crossover(close,smaH) //positive ema crossover exitlong = crossunder(close,0.99*smaH) //exiting long entershort = crossunder(close,smaL) //negative EMA Crossover exitshort = crossover(close,1.01*smaH) //exiting shorts notintrade = strategy.position_size<=0 bgcolor(notintrade ? color.red:color.green) //execution logic start = timestamp(2015,6,1,0,0) //end = timestamp(2022,6,1,0,0) if time >= start strategy.entry( "long", strategy.long,1, when = enterlong) strategy.entry( "short", strategy.short,1, when = entershort) strategy.close("long", when = exitlong) strategy.close("short", when = exitshort) //if time >= end // strategy.close_all()