Strategi ini diadaptasi dari artikel oleh Enrico Malverti. Strategi ini terutama menggunakan Simple Moving Average (SMA) dan Relative Strength Index (RSI) untuk mengidentifikasi sinyal masuk dan keluar yang panjang.
Sinyal masuk dipicu ketika harga penutupan melintasi garis SMA jangka panjang.
Sinyal keluar termasuk:
Garis SMA stop loss dan garis SMA take profit juga digambarkan.
Keuntungan dari strategi ini:
Ada beberapa risiko:
Solusi:
Strategi dapat dioptimalkan lebih lanjut:
Ide keseluruhan sederhana dan jelas. Dengan indikator dasar dan kontrol, itu cocok untuk perdagangan jangka menengah dan panjang. Tetapi penyesuaian parameter dan penyaringan indikator membutuhkan banyak pengujian dan optimasi untuk membuat strategi lebih solid dan dapat diandalkan. Ide sederhana membutuhkan upaya besar pada optimasi dan kombinasi untuk membentuk sistem perdagangan yang benar-benar dapat digunakan.
/*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)