
이 전략은 RSI와 EMA 지표에 기반한 트렌드 추적 및 트렌드 브레이크 트레이딩 전략이다. 이 전략은 RSI-EMA 트렌드 브레이크 전략이라고 한다.
전략은 5일 EMA, 20일 EMA, 50일 EMA를 사용하여 공백 트렌드 프레임워크를 구축한다. 5일 EMA 위에 20일 EMA를 통과하고, 이 두 EMA가 50일 EMA 위에 있을 때, 최근 공백 트렌드 브레이크가 발생했음을 확인하고, 공백을 만든다. 5일 EMA 아래 20일 EMA를 통과하고, 이 두 EMA가 50일 EMA 아래에 있을 때, 최근 공백 트렌드 브레이크가 발생했음을 확인하고, 공백을 만든다.
동시에, 전략은 RSI 지표가 과잉 오버 바이 또는 오버 세 지역인지 여부를 판단하는 RSI와 결합한다. RSI는 오버 바이 오버 세 상황을 효과적으로 식별하여 트렌드 정점이나 조정이 될 때 잘못된 신호를 방지 할 수 있습니다. RSI 지표가 오버 바이 영역에서 중립 영역으로 진입 할 때, 다중 스톱 ; RSI 지표가 오버 세 영역에서 중립 영역으로 진입 할 때, 빈 스톱 .
이 전략은 EMA와 RSI 지표와 결합하여 중장선 트렌드를 포착하고 트렌드 끝의 위험을 피할 수 있으며, 매우 좋은 위험/이익 특성을 가지고 있습니다. 주요 장점은 다음과 같습니다.
이 전략에는 다음과 같은 위험도 있습니다.
이러한 위험을 줄이기 위해, 우리는 거래 중지, RSI 변수를 조정하거나 다른 지표와 함께 확인 할 수 있습니다.
이 전략에는 더 많은 최적화 가능성이 있습니다:
RSI-EMA의 트렌드 전략은 트렌드 추적과 진입 시기를 고려하여 트렌드 수익을 얻기 위해 위험을 통제하는 매우 실용적인 중장선 전략입니다. 우리는 변수를 최적화하고 다른 지표를 추가하는 방법을 통해 전략의 안정성과 수익률을 더욱 향상시킬 수 있습니다.
/*backtest
start: 2023-11-19 00:00:00
end: 2023-12-19 00:00:00
period: 1h
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/
// © BrendanW98
//@version=4
strategy("My Strategy", overlay=true)
ema5 = ema(close, 9)
ema20 = ema(close, 21)
ema50 = ema(close, 55)
//RSI Signals
// Get user input
rsiSource = close
rsiLength = 14
rsiOverbought = 70
rsiOversold = 30
rsiMid = 50
// Get RSI value
rsiValue = rsi(rsiSource, rsiLength)
//See if RSI crosses 50
doBuy = crossover(rsiValue, rsiOversold) and rsiValue < 50
doSell = crossunder(rsiValue, rsiOverbought) and rsiValue > 50
emacrossover = crossover(ema5, ema20) and ema5 > ema50 and ema20 > ema50 and close > ema50
emacrossunder = crossunder(ema5, ema20) and ema5 < ema50 and ema20 < ema50 and close < ema50
//Entry and Exit
longCondition = emacrossover
closelongCondition = doSell
strategy.entry("Long", strategy.long, 1, when=longCondition)
strategy.close("Long", when=closelongCondition)
shortCondition = emacrossunder
closeshortCondition = doBuy
strategy.entry("Short", strategy.short, 1, when=shortCondition)
strategy.close("Short", when=closeshortCondition)