Esta estratégia é adaptada dos artigos de Enrico Malverti. usa principalmente a média móvel simples (SMA) e o índice de força relativa (RSI) para identificar sinais de entrada e saída longos.
O sinal de entrada é acionado quando o preço de fechamento cruza a linha SMA de período mais longo.
Os sinais de saída incluem:
A linha SMA de stop loss e a linha SMA de take profit também são representadas.
As vantagens desta estratégia:
Há alguns riscos:
Soluções:
A estratégia pode ser melhorada:
A idéia geral é simples e clara. Com indicadores básicos e controle, ele se adapta ao comércio de médio e longo prazo. Mas ajuste de parâmetros e filtragem de indicadores exigem muitos testes e otimização para tornar a estratégia mais sólida e confiável. Ideias simples exigem enormes esforços na otimização e combinação para formar sistemas de negociação realmente utilizáveis.
/*backtest start: 2022-12-11 00:00:00 end: 2023-12-17 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version= 4 // form the original idea of Enrico Malverti www.enricomalverti.com , trading system 2015 // https://sauciusfinance.altervista.org strategy(title="MAs & RSI strategy long only", overlay = true, max_bars_back=500) ///********FROM EMAS TO SIMPLE MA ***** // NON AGGIUNTO SCHAFF INDICATOR, che serve per discriminare quali titoli scegliere dallo screener (segnale già aperto o il primo o, a parità, //quello più alto) ==> Tolte le bande di Bollinger (che filtrano "poco") // INPUTS emapf = input(14, title ="Ma periodo veloce", minval=1, step = 1) emapl = input(14, title ="Ma periodo lungo", minval=1, step = 1) emaps = input(7, title ="Ma periodi stop", minval=1, step = 1) rsi_period = input(14, title="RSI period", minval = 1, step = 1) // CALCULATIONS maf = sma(close, emapf) mal = sma(close, emapl) // rsi myrsi = rsi(close, rsi_period) //ema stop long ed ema stop short //Ema7 messo da "massimo" a "chiusura" come target per posizioni short. Il limite è, in questo caso, sempre ema20 (più restringente - asimmetria) // in questo t.s., lo short viene soltanto indicato come "rappresentazione grafica", non agito mass = sma(close, emaps) masl = sma(low, emaps) ma200=sma(close,200) /// Entry strategy.entry("Long", true, when = crossover(close,mal)) rsi1 = crossunder(myrsi,70) rsi2 = myrsi > 75 // previously, 80 st_loss_long = crossunder(close,masl)// **chiusura sotto EMA7** target_long= crossunder(close,maf) //* Chiusura sotto EMA14* // exits. *RSI**Long: Target if over bandamax, loss if under bandamin. Viceversa, for short strategy.close("Long", when = rsi1, comment="crossunder RSI") strategy.close("Long", when = rsi2, comment ="RSI MAX") strategy.close("Long", when = st_loss_long, comment = "Stop loss") strategy.close("Long", when = target_long, comment = "target_long" ) plot(masl, title="ma stop long", color=#363A45, linewidth= 1, style=plot.style_cross) plot(maf, title="MA FAST", color=#FF0000, linewidth= 1) plot(mal, title="MA SLOW", color=#0000FF, linewidth= 2) plot(mass, title="ma stop short", color=#787B86,linewidth= 1, style=plot.style_cross) plot(ma200, title="ma200", color=color.black, linewidth= 1)