이 전략은 엔리코 말베르티의 기사를 통해 개발되었다. 이 전략은 주로 간단한 이동 평균 (SMA) 과 상대 강도 지표 (RSI) 를 사용하여 긴 입출 신호를 식별한다. 이 전략은 길지만 짧지 않다.
엔트리 신호는 클로저가격이 더 긴 기간 SMA 라인을 넘을 때 발사됩니다.
출구 신호는 다음과 같습니다.
또한 스톱 로스 SMA 라인과 리프트 리프트 SMA 라인도 그래프화되어 있습니다.
이 전략의 장점:
몇 가지 위험 요소가 있습니다.
해결책:
전략은 더 이상 최적화 될 수 있습니다.
전체적인 아이디어는 간단하고 명확합니다. 기본 지표와 제어 가능성으로 중장기 거래에 적합합니다. 그러나 매개 변수 조정 및 지표 필터링은 전략을 더 견고하고 신뢰할 수 있도록 많은 테스트와 최적화를 필요로합니다. 간단한 아이디어는 실제 사용 가능한 거래 시스템을 형성하기 위해 최적화 및 조합에 대한 엄청난 노력이 필요합니다.
/*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)