Esta estrategia se basa en la forma de la horquilla dorada de tres promedios móviles. Haga más cuando atraviesa la línea de media velocidad sobre la media móvil rápida y la línea de media velocidad sobre la línea de media velocidad; y haga vacío cuando atraviesa la línea de media velocidad por debajo de la media móvil rápida y la línea de media velocidad por debajo de la línea de media velocidad.
En concreto, la estrategia utiliza el cruce entre tres medias móviles de diferentes períodos para operar. La línea rápida representa la tendencia actual a corto plazo, la línea media representa la tendencia a mediano plazo y la línea lenta representa la tendencia a largo plazo.
El riesgo se puede administrar mediante el ajuste de la duración de la posición, la optimización de los parámetros de la línea media, la introducción de estrategias de stop loss, etc.
Esta estrategia se basa en la dirección de la tendencia de la posición de la línea de tres cruces. La ventaja es que las señales de negociación son simples, claras y configurables. La desventaja es que es fácil de retrasarse y requiere optimización de parámetros.
/*backtest
start: 2023-08-21 00:00:00
end: 2023-09-20 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// © DaynTrading
//@version=4
// strategy(
// title="Simple Moving Average Cross",
// overlay=true,
// initial_capital=5000,
// default_qty_type=strategy.percent_of_equity,
// default_qty_value=2,
// commission_type=strategy.commission.percent,
// commission_value=0.075,
// pyramiding=0
// )
sma_top_input = input(title="SMA Top", type=input.integer, defval=20)
sma_mid_input = input(title="SMA Mid", type=input.integer, defval=50)
sma_low_input = input(title="SMA Low", type=input.integer, defval=200)
bars_long = input(title="Long: After trigger, how many bars to wait?", type=input.integer, defval=5)
bars_short = input(title="Short: After trigger, how many bars to wait?", type=input.integer, defval=5)
sma_top = sma(close, sma_top_input)
sma_mid = sma(close, sma_mid_input)
sma_low = sma(close, sma_low_input)
long = sma_top > sma_mid and sma_mid > sma_low
short = sma_top < sma_mid and sma_mid < sma_low
long_condition = long and long[bars_long] and not long[bars_long + 1]
short_condition = short and short[bars_short] and not short[bars_short + 1]
close_long = sma_top < sma_mid and sma_mid < sma_low and not long[bars_long + 1]
close_short = sma_top > sma_mid and sma_mid > sma_low and not short[bars_short + 1]
plot(sma_top, title="SMA Top", color=#95f252, linewidth=2)
plot(sma_mid, title="SMA Mid", color=#FF1493, linewidth=2)
plot(sma_low, title="SMA Low", color=#6a0dad, linewidth=2)
strategy.entry("LongPosition", strategy.long, when = long_condition)
strategy.entry("ShortPosition", strategy.short, when = short_condition)
strategy.close("LongPosition", when = close_short)
strategy.close("ShortPosition", when = close_long)