
La estrategia de inversión de la horquilla de doble movimiento es una estrategia de comercio cuantitativa típica de seguimiento de tendencias. La estrategia utiliza la línea 9 y la línea 14 de los dos indicadores de media móvil para construir señales de compra y venta.
La estrategia se basa principalmente en las señales de la horquilla dorada y la horquilla muerta de dos indicadores de la media móvil. En la media móvil, la línea de 9 días representa la tendencia a corto plazo, la línea de 14 días representa la tendencia a mediano plazo, y su cruce es un indicador técnico eficaz para determinar el giro de la tendencia del mercado. Cuando la línea de tendencia a corto plazo se fortalece desde abajo para formar una horquilla dorada, se considera una señal de compra; cuando se rompe desde arriba para formar una horquilla muerta, se debilita y se considera una señal de venta.
Además, la estrategia también introduce la línea de 50 días para filtrar señales engañosas. La compra se produce solo cuando el precio está por encima de la línea de 50 días; la venta se produce solo cuando el precio está por debajo de la línea de 50 días. La línea de 50 días representa la tendencia a medio y largo plazo, y solo se realiza una operación a corto plazo si la tendencia a medio y largo plazo está de acuerdo.
La lógica del código central es la siguiente:
// 买入条件:9日线上穿14日线 且 当前价格高于50日线
buyCondition = ta.crossover(sma9, sma14) and close > sma50
// 卖出条件:9日线下穿14日线 且 当前价格低于50日线
sellCondition = ta.crossunder(sma9, sma14) and close < sma50
Las ventajas de la estrategia de doble línea media móvil son evidentes:
La estrategia de doble línea media móvil también tiene ciertos riesgos:
En cuanto a los riesgos, se puede optimizar de la siguiente manera:
La estrategia de doble línea media móvil puede ser optimizada en los siguientes aspectos:
La estrategia de doble línea de equilibrio móvil es, en general, una estrategia de eficiencia y ganancias. Puede ser rentable de forma gradual y continua; al mismo tiempo, existe un cierto riesgo que requiere una mejora adicional. El efecto de la estrategia puede ser mejorado aún más a través de la optimización de los parámetros, el método de parada de pérdidas y la combinación de estrategias.
/*backtest
start: 2022-11-24 00:00:00
end: 2023-11-30 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("smaCrossReverse", shorttitle="smaCrossReverse", overlay=true)
// Define the length for the SMAs
sma9Length = input(9, title="SMA 9 Length")
sma14Length = input(14, title="SMA 14 Length")
sma50Length = input(50, title="SMA 50 Length") // Add input for SMA 50
// Calculate SMAs
sma9 = ta.sma(close, sma9Length)
sma14 = ta.sma(close, sma14Length)
sma50 = ta.sma(close, sma50Length) // Calculate SMA 50
// Buy condition: SMA 9 crosses above SMA 14 and current price is above SMA 50
buyCondition = ta.crossover(sma9, sma14) and close > sma50
// Sell condition: SMA 9 crosses below SMA 14 and current price is below SMA 50
sellCondition = ta.crossunder(sma9, sma14) and close < sma50
// Track the time since position was opened
var float timeElapsed = na
if (buyCondition)
timeElapsed := 0
else
timeElapsed := na(timeElapsed[1]) ? timeElapsed[1] : timeElapsed[1] + 1
// Close the buy position after 5 minutes
if (timeElapsed >= 5)
strategy.close("Buy")
// Track the time since position was opened
var float timeElapsedSell = na
if (sellCondition)
timeElapsedSell := 0
else
timeElapsedSell := na(timeElapsedSell[1]) ? timeElapsedSell[1] : timeElapsedSell[1] + 1
// Close the sell position after 5 minutes
if (timeElapsedSell >= 5)
strategy.close("Sell")
// Plot the SMAs on the chart
plot(sma9, title="SMA 9", color=color.blue)
plot(sma14, title="SMA 14", color=color.red)
plot(sma50, title="SMA 50", color=color.green) // Plot SMA 50 on the chart
// Strategy entry and exit conditions using if statements
if (buyCondition)
strategy.entry("Buy", strategy.long)
if (sellCondition)
strategy.entry("Sell", strategy.short)