전략에 따라 RSI와 이동 평균 크로스오버 트렌드

저자:차오장, 날짜: 2023-12-13 17:50:34
태그:

img

전반적인 설명

이 전략은 RSI 지표와 빠른 / 느린 이동 평균을 사용하여 입점 및 출구 지점을 결정합니다. RSI가 5 지점 상승하고 70 이하일 때 긴 거리로 이동합니다. 그리고 9 일 MA가 50 일 MA를 넘을 때. 50 일 MA가 9 일 MA를 넘을 때 종료됩니다.

전략 논리

이 전략은 주로 RSI 지표와 이동 평균의 조합을 사용합니다. RSI 지표는 주식 또는 암호화폐가 과소매 또는 과소매인지 보여줍니다. 30 이하의 값은 과소매로 간주되며 70 이상의 값은 과소매로 간주됩니다. 이 전략은 RSI를 사용하여 이러한 극단적 영역 밖에서 적절한 입구 지점을 결정합니다.

이동 평균은 트렌드 방향을 식별하는 데 널리 사용됩니다. 빠른 이동 평균은 가격 변화에 더 빠르게 반응하고 느린 MA는 잘못된 브레이크오웃을 필터합니다. 빠른 MA가 느린 MA를 넘을 때 상승 추세가 시작됩니다. 반대는 하락 추세를 나타냅니다. 이 전략은 9 일 및 50 일 MAs 및 그 교차를 사용하여 트렌드와 입출 / 출출을 결정합니다.

이점 분석

이 전략의 가장 큰 장점은 RSI를 사용하여 극심한 과잉 구매 수준을 피하고 빠른 / 느린 MAs 조합을 사용하여 잘못된 브레이크를 필터링하고 더 높은 수익성을 위해 트렌드 방향으로 잠금하는 것입니다.

5개의 연속적인 RSI 포인트 상승의 추가 조건은 과잉 매입 구역에서 불필요한 구매를 방지합니다. 또한 부분적인 포지션 사이징은 거래당 손실 위험을 크게 감소시킵니다.

위험 과 예방

가장 큰 위험은 RSI와 MAs의 신호가 급격한 가격 변동 중에 뒤떨어지고, 상위권에서 구매하거나 하위권에서 판매하는 것입니다.

이를 방지하기 위해 더 빠른 MA를 사용하여 가격 변화를 더 빠르게 파악하고 지연을 줄입니다. 또한 부분 사이징은 거래당 손실을 줄입니다.

최적화 방향

가능한 최적화 경로:

  1. 최적의 매개 변수를 위한 RSI 테스트 기간

  2. 더 나은 필터링을 위해 더 많은 빠른 / 느린 MA 조합을 테스트하십시오.

  3. 다른 매개 변수로 위치 크기를 최적화

  4. 수익을 잠금하기 위해 스톱 로스 조건을 추가

결론

전체적으로 이 전략은 트렌드 트레이딩에 잘 적합하다. 그것은 RSI와 과잉 구매/ 과잉 판매 영역을 피하고 트렌드 및 지원/ 저항 검출을 위해 빠른/ 느린 MAs를 사용한다. 부분 사이징은 높은 승률과 수익성을 가능하게 한다. 추가 매개 변수 최적화와 위험 관리는 성능을 향상시킬 수 있다.


/*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)






더 많은