
이 전략은 RSI 지표와 빠른 느린 이동 평균을 계산하여 구매와 판매의 시간을 판단합니다. RSI가 5점 상승하고 70보다 낮을 때; 그리고 9일 이동 평균에서 50일 이동 평균을 통과하면 더 많이; 50일 이동 평균에서 9일 이동 평균을 통과하면 평점.
이 전략은 주로 RSI 지표와 이동 평균의 조합을 사용합니다. RSI 지표는 주식이나 디지털 화폐가 과대 평가되거나 과소 평가되는지 표시할 수 있습니다. RSI가 30보다 낮으면 과매매로 간주되며, 70보다 높으면 과매매로 간주됩니다.
이동 평균은 트렌드 방향을 판단하는 데 널리 사용됩니다. 빠른 이동 평균은 가격 변화를 더 빨리 포착 할 수 있으며, 느린 이동 평균은 가짜 돌파구를 필터링 할 수 있습니다. 빠른 이동 평균에 느린 이동 평균을 통과하면 상승 추세에 진입하는 것을 나타냅니다. 반대로, 하향으로 이동하면 하향 추세에 진입하는 것을 나타냅니다.
이 전략의 가장 큰 장점은 RSI 지표로 과매매 지역을 판단하여 고위 구매를 피하고, 빠른 느린 이동 평균 필터로 가짜 돌파구를 사용하여 트렌드 방향을 고정하여 높은 수익률을 얻을 수 있다는 것입니다.
동시에, 전략은 RSI 지표가 연속으로 5점 상승하는 조건을 추가하여 과매도 영역의 불필요한 구매를 더욱 피할 수 있습니다. 또한, 전략은 부분 포지션 거래 방식을 채택하여 단일 거래의 손실 위험을 크게 줄일 수 있습니다.
이 전략의 가장 큰 위험은 RSI 지표와 이동 평균이 모두 지연될 수 있다는 것입니다. 가격이 급격하게 변할 때, 그들의 신호는 지연될 수 있습니다.
이 위험을 방지하기 위해, 이 전략은 빠른 이동 평균을 추가하여 가격 변화에 더 빠르게 반응하는 특성을 사용하여 지연의 가능성을 줄입니다. 또한, 일부 포지션 거래는 단일 거래의 손실을 줄일 수 있습니다.
이 전략은 다음과 같은 부분에서 최적화될 수 있습니다.
RSI 지표 변수를 테스트하여 최적의 조합을 찾습니다.
더 나은 필터링 효과를 얻기 위해 더 많은 조합의 빠른 느린 이동 평균을 테스트하십시오.
포지션 크기를 최적화하고 다양한 포지션 변수를 테스트합니다.
이윤을 고정하기 위해 스톱로스 조건을 늘립니다.
이 전략은 전체적으로 트렌드 거래에 매우 적합하다. RSI 지표를 통해 과매매 지역을 피하고, 빠른 느린 이동 평균과 함께 트렌드 방향을 판단하고 중요한 지원 저항. 동시에 부분 포지션 거래를 하면, 더 높은 승률과 수익률을 얻을 수 있다. 후기에는 변수 최적화 및 풍력 제어 조건 최적화를 통해 더 나은 전략 효과를 얻을 수 있다.
/*backtest
start: 2023-11-12 00:00:00
end: 2023-12-12 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/
// © Coinrule
//@version=5
strategy("RSI with Slow and Fast MA Crossing Strategy (by Coinrule)",
overlay=true,
initial_capital=10000,
process_orders_on_close=true,
default_qty_type=strategy.percent_of_equity,
default_qty_value=30,
commission_type=strategy.commission.percent,
commission_value=0.1)
showDate = input(defval=true, title='Show Date Range')
timePeriod = time >= timestamp(syminfo.timezone, 2020, 1, 1, 0, 0)
notInTrade = strategy.position_size <= 0
// RSI
length = input(14)
vrsi = ta.rsi(close, length)
// Moving Averages for Buy Condition
buyFastEMA = ta.ema(close, 9)
buySlowEMA = ta.ema(close, 50)
buyCondition1 = ta.crossover(buyFastEMA, buySlowEMA)
increase = 5
if ((vrsi > vrsi[1]+increase) and buyCondition1 and vrsi < 70 and timePeriod)
strategy.entry("Long", strategy.long)
// Moving Averages for Sell Condition
sellFastEMA = ta.ema(close, 9)
sellSlowEMA = ta.ema(close, 50)
plot(request.security(syminfo.tickerid, "60", sellFastEMA), color = color.blue)
plot(request.security(syminfo.tickerid, "60", sellSlowEMA), color = color.green)
condition = ta.crossover(sellSlowEMA, sellFastEMA)
//sellCondition1 = request.security(syminfo.tickerid, "60", condition)
strategy.close('Long', when = condition and timePeriod)