
La estrategia se llama “estrategia de amplitud de fluctuación basada en diferencias y promedios móviles” y utiliza las diferencias de amplitud de fluctuación de las últimas 30 líneas K y los tres promedios móviles (MA5, MA15 y MA30) para tomar decisiones comerciales.
La idea principal de la estrategia es medir la volatilidad del mercado mediante el cálculo de la diferencia de la amplitud de las fluctuaciones de los precios y combinar las medias móviles de diferentes períodos para determinar la dirección de la tendencia. La estrategia realiza una operación de compra cuando la volatilidad es baja y la media a corto plazo está por encima de la media a largo plazo.
El principio de la estrategia puede dividirse en los siguientes pasos:
Las ventajas de esta estrategia incluyen:
Los principales riesgos de la estrategia son:
Para optimizar esta estrategia, se pueden considerar las siguientes direcciones:
En resumen, una “estrategia de amplitud de fluctuación basada en diferenciales y medias móviles” es una estrategia de negociación que combina volatilidad y indicadores de tendencia. Mide la volatilidad del mercado calculando la diferencia de la amplitud de fluctuación de los precios y combina las medias móviles de diferentes períodos para determinar la dirección de la tendencia y negociar en el entorno de mercado adecuado.
/*backtest
start: 2024-02-01 00:00:00
end: 2024-02-29 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Variance and Moving Averages Strategy", overlay=true)
// 计算MA5、MA15和MA30
ma5 = ta.sma(close, 5)
ma15 = ta.sma(close, 15)
ma30 = ta.sma(close, 30)
// 计算过去30根K线的波动幅度(最高价和最低价)的方差
variance = ta.variance((high - low) / close, 30) * 1000000
// 定义买入条件
buy_condition = variance < 35 and ma5 > ma15 and ma15 > ma30
// 定义止损条件 close < ma30 or ma5 < ma30
stop_loss_condition = true
// 定义止盈条件
take_profit_condition = variance > 500
// 执行交易逻辑
if (buy_condition)
strategy.entry("Long", strategy.long)
if (stop_loss_condition)
strategy.close("Long")
if (take_profit_condition)
strategy.close("Long")
// 绘制MA5、MA15和MA30
// plot(ma5, color=color.blue, title="MA5")
// plot(ma15, color=color.orange, title="MA15")
// plot(ma30, color=color.red, title="MA30")
// 绘制方差
hline(0.0004, color=color.green, linestyle=hline.style_dashed, title="Variance < 0.0004")
hline(0.0005, color=color.red, linestyle=hline.style_dashed, title="Variance > 0.0005")
plot(variance, color=color.white, title="Variance")