
Die Strategie basiert auf einem Artikel von Enrico Malverti und verwendet hauptsächlich einfache Moving Averages (SMA) und relativ starke Indikatoren (RSI) zur Identifizierung von mehrfachen Einstiegs- und Positionssignalen.
Ein Eintrittssignal ist ein Positionseröffnungsschlag, wenn der Schlusskurs eine länger andauernde SMA-Durchschnittslinie durchläuft.
Es gibt verschiedene Arten von Gleichgewichtssignalen:
Gleichzeitig werden die Stop-Loss-SMA-Mittellinie und die Stop-SMA-Mittellinie dargestellt.
Diese Strategie hat folgende Vorteile:
Die Strategie birgt auch einige Risiken:
Die Methode:
Die Strategie kann auch in folgenden Richtungen optimiert werden:
Die Strategie ist übersichtlich, benutzt grundlegende Kennzahlen, ist sehr steuerbar und eignet sich für mittlere und längere Linien. Die Parameter-Einstellungen und Kennzahlen-Filter müssen jedoch immer wieder getestet und optimiert werden, um die Strategie stabiler und zuverlässiger zu machen. Einfache Strategien erfordern auch eine große Menge an Optimierungen und Anpassungen und eine reichhaltige Kombination, um ein wirklich nutzbares Handelssystem zu bilden.
/*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)