Esta estratégia opera com base na cruz de ouro e cruz morta de 3 médias móveis simples. Vai longo quando o SMA rápido cruza acima do SMA médio e o SMA médio cruza acima do SMA lento; Vai curto quando ocorre o crossover inverso.
Especificamente, ele utiliza os cruzamentos entre 3 SMAs de períodos diferentes para negociar. O SMA rápido representa a tendência de curto prazo, o SMA médio representa a tendência de médio prazo e o SMA lento representa a tendência de longo prazo. Quando os três SMAs cruzam para cima em sequência, ele sinaliza uma tendência de alta para ir longo. Quando ocorre um cruzamento descendente, ele sinaliza uma tendência de queda para ir curto.
Os riscos podem ser geridos através do dimensionamento das posições, otimização da SMA, estratégias de stop loss, etc.
Esta estratégia detém posições baseadas em 3 crossovers de SMA para determinar a direção da tendência. Os prós são sinais simples e claros e configurabilidade; os contras são sinais atrasados e dependência de parâmetros. O desempenho pode ser melhorado e os riscos controlados através de otimização de parâmetros, stop loss etc. Ele ajuda os comerciantes a dominar o uso de SMA e estratégias de crossover.
/*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)