Esta estratégia combina crossover de média móvel e indicador RSI duplo para identificar a direção da tendência e situações de sobrecompra / sobrevenda.
Quando a média móvel rápida de 9 períodos cruza acima da média móvel lenta de 50 períodos, ela sinaliza uma tendência de alta em um período de tempo mais curto se sobrepondo a uma tendência de alta em um período de tempo mais longo, o que é um sinal de alta típico.
Quando a média móvel rápida de nove períodos cruza abaixo da média móvel lenta de 50 períodos, sinaliza o início de um mercado de baixa e as posições longas existentes devem ser fechadas.
Esta estratégia utiliza duplo cruzamento de média móvel para determinar a direção e o RSI para evitar perseguir tops e bottoms. Pode efetivamente montar tendências de médio a longo prazo para lucros constantes. Mas a natureza atrasada dos sinais de cruzamento e ajuste dos parâmetros do RSI deve ser observada. Também precisa correlacionar o preço com o volume. Com testes e otimização contínuos, esta estratégia mostra promessa para resultados ainda melhores.
/*backtest start: 2022-11-14 00:00:00 end: 2023-11-20 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © joshuajcoop01 //@version=5 strategy("Bitpanda Coinrule Template", overlay=true, initial_capital=1000, process_orders_on_close=true, default_qty_type=strategy.percent_of_equity, default_qty_value=30, commission_type=strategy.commission.percent, commission_value=0.1) showDate = input(defval=true, title='Show Date Range') timePeriod = time >= timestamp(syminfo.timezone, 2020, 1, 1, 0, 0) notInTrade = strategy.position_size <= 0 // RSI length = input(14) vrsi = ta.rsi(close, length) // Moving Averages for Buy Condition buyFastEMA = ta.ema(close, 9) buySlowEMA = ta.ema(close, 50) buyCondition1 = ta.crossover(buyFastEMA, buySlowEMA) increase = 5 if ((vrsi > vrsi[1]+increase) and buyCondition1 and vrsi < 70 and timePeriod) strategy.entry("Long", strategy.long) // Moving Averages for Sell Condition sellFastEMA = ta.ema(close, 9) sellSlowEMA = ta.ema(close, 50) plot(request.security(syminfo.tickerid, "60", sellFastEMA), color = color.blue) plot(request.security(syminfo.tickerid, "60", sellSlowEMA), color = color.green) condition = ta.crossover(sellSlowEMA, sellFastEMA) //sellCondition1 = request.security(syminfo.tickerid, "60", condition) strategy.close('Long', when = condition and timePeriod)