이 문서에서는 주로 다중 기하급수적 이동 평균 (EMA) 및 상대 강도 지수 (RSI) 를 기반으로 Ravikant_sharma가 개발한 양적 거래 전략을 분석합니다. 이 전략은 가격 추세를 식별하고 다른 주기와 RSI의 값을 가진 EMA를 넘어서 입구 및 출구 지점을 결정합니다.
이 전략은 9일, 21일, 51일, 100일 및 200일 라인을 포함한 다양한 기간을 가진 5개의 EMA를 사용합니다. 코드에 첫 번째 4개의 EMA만이 그려져 있습니다. RSI 매개 변수는 14로 설정되어 있습니다.
구매하기 전에 다음 조건 중 하나가 충족되어야 합니다.
동시에, RSI는 65보다 높아야 강세를 나타냅니다.
포지션을 닫기 전에 다음 조건 중 하나가 충족되어야 합니다.
이것은 다음과 같은 강점을 가진 전략을 따르는 전형적인 경향입니다.
여전히 몇 가지 위험이 있습니다.
이 전략은 다음과 같은 방법으로 더 이상 최적화 될 수 있습니다.
결론적으로, 이것은 전반적으로 신뢰할 수 있고 구현하기 쉬운 트렌드 다음 전략입니다. 트렌드 방향에 대한 EMA 크로스오버와 잘못된 신호에 대한 RSI 필터와 함께, 좋은 백테스트 결과는 지속적인 이익을 얻기 위해 추가 매개 변수 및 모델 최적화를위한 견고한 토대를 제공합니다. 그러나 거래자는 여전히 급격한 반전과 위험을 초래하는 부적절한 매개 변수에 신중해야합니다.
/*backtest start: 2024-01-30 00:00:00 end: 2024-02-29 00:00:00 period: 3h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © Ravikant_sharma //@version=5 strategy('new', overlay=true) start = timestamp(1990, 1, 1, 0, 0) end = timestamp(2043, 12, 12, 23, 59) ema0 = ta.ema(close, 9) ema1 = ta.ema(close, 21) ema2 = ta.ema(close, 51) ema3 = ta.ema(close, 100) ema4 = ta.ema(close, 200) rsi2=ta.rsi(ta.sma(close,14),14) plot(ema0, '9', color.new(color.green, 0)) plot(ema1, '21', color.new(color.black, 0)) plot(ema2, '51', color.new(color.red, 0)) plot(ema3, '200', color.new(color.blue, 0)) //plot(ema4, '100', color.new(color.gray, 0)) //LongEntry = ( ta.crossover(ema0,ema3) or ta.crossover(ema0,ema2) or ta.crossunder(ema2,ema3) ) // ta.crossover(ema0,ema1) // LongEntry=false if ta.crossover(ema0,ema1) if rsi2>65 LongEntry:=true if ta.crossover(ema1,ema2) if rsi2>65 LongEntry:=true LongExit = ta.crossunder(ema0,ema2) or close >(strategy.position_avg_price*1.25) or rsi2 <40 or close < (strategy.position_avg_price*0.98) if time >= start and time <= end if(LongEntry and rsi2>60) strategy.entry('Long', strategy.long, 1) if(LongExit) strategy.close('Long')