Esta estratégia é baseada em três médias móveis de ouro e forquilha para o comércio. Faça mais quando você atravessa a linha de velocidade média e a linha de velocidade média quando você atravessa a linha de velocidade média abaixo da média móvel rápida e a linha de velocidade média quando você atravessa a linha de velocidade lenta.
Especificamente, a estratégia usa o cruzamento entre três médias móveis de diferentes períodos para negociar. A linha rápida representa a tendência atual de curto prazo, a linha média representa a tendência de médio prazo e a linha lenta representa a tendência de longo prazo. Quando a sequência de três linhas médias e longas se cruza para cima, indica o início da tendência, fazendo mais; Quando ocorre um cruzamento para baixo, indica a reversão da tendência, fazendo vazio.
O risco pode ser gerenciado por meio de ajustes no tempo de posse, otimização dos parâmetros da linha média e introdução de estratégias de stop loss.
Esta estratégia baseia-se na direção da tendência. A vantagem é que os sinais de negociação são simples e claros e configuráveis; A desvantagem é que é fácil atrasar e precisar de otimização 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)