
Strategi ini didasarkan pada artikel oleh Enrico Malverti, dan terutama menggunakan rata-rata bergerak sederhana (SMA) dan indikator relatif lemah (RSI) untuk mengidentifikasi sinyal masuk dan posisi yang lebih banyak. Strategi hanya melakukan lebih, tidak melakukan lebih sedikit.
Sinyal masuk adalah ketika harga close out berputar pada SMA rata-rata dengan periode yang lebih panjang.
Ada beberapa jenis sinyal:
Pada saat yang sama, stop loss SMA rata-rata dan stop loss SMA rata-rata digambarkan.
Strategi ini memiliki keuntungan sebagai berikut:
Strategi ini juga memiliki beberapa risiko:
Metode yang sesuai:
Strategi ini juga dapat dioptimalkan dari beberapa arah:
Strategi ini secara keseluruhan ide yang jelas dan mudah dipahami, menggunakan indikator dasar, kontrol yang kuat, cocok untuk operasi panjang dan menengah. Namun pengaturan parameter dan penyaringan indikator membutuhkan pengujian dan pengoptimalan berulang untuk membuat strategi lebih stabil dan dapat diandalkan. Strategi yang sederhana juga membutuhkan banyak penyesuaian dan pengoptimalan yang kaya 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)