RSI 상승 암호화 트렌드 전략

저자:차오장, 날짜: 2023-10-17 17:08:31
태그:

img

전반적인 설명

RSI Rising Crypto Trending 전략은 암호화폐 및 주식 시장에서 더 긴 시간 (4h+) 을 위해 설계된 트렌드 거래 전략입니다.

RSI를 활용하여 상승 및 하락 트렌드를 식별하고 볼링거 밴드 및 ROC와 결합하여 옆 시장에서 거래를 피합니다. 테스트에서, 그것은 피아트보다 암호화폐에 대한 암호화폐 거래가 더 잘 작동하는 것으로 보입니다.

전략 논리

이 전략은 다음의 지표를 사용합니다.

  • RSI - 상승/하락 추세를 식별하기 위해
  • 볼링거 밴드 - 옆시장을 식별하기 위해
  • ROC - 트렌드 방향 확인

구체적인 거래 규칙은 다음과 같습니다.

입국 규칙

긴 엔트리: RSI 상승 및 BB 및 ROC에 대한 측면 시장이 아닙니다. 짧은 항목: RSI 하락 및 BB 및 ROC에 대한 측면 시장이 아닙니다.

출입규칙

반대 신호가 발사되면 출구

이점 분석

  • RSI를 사용하여 트렌드 전환점을 일찍 포착합니다.
  • BB를 사용하여 옆 시장에 갇히지 않도록합니다.
  • ROC는 더 강력한 신호를 위한 트렌드 방향을 확인합니다
  • 더 긴 시간 프레임 거래 및 트렌드를 포착하는 데 좋습니다.
  • 피아트 노출을 피하기 위해 암호화폐와 암호화폐 쌍이 더 낫습니다.

위험 분석

  • 스톱 로즈가 없으니 큰 손실의 위험이 높습니다.
  • BB와 ROC 매개 변수 부진은 놓친 거래 또는 나쁜 신호로 이어질 수 있습니다.
  • 순수하게 기술적인 이유로 블랙 스완의 주요 행사를 놓치고

스톱 로스를 늘리고 BB/ROC 매개 변수를 최적화하고 근본 분석을 포함합니다.

더 나은 기회

이 전략을 개선할 수 있는 몇 가지 방법:

  1. 리스크 관리 및 거래당 최대 손실을 설정하기 위해 스톱 로스를 추가합니다.

  2. 최고의 설정을 찾기 위해 역 테스트를 통해 BB와 ROC 매개 변수를 최적화합니다.

  3. MACD, KD와 같은 추가 지표를 포함합니다. 다중 지표 신호 신뢰성을 위해.

  4. 유동성 모형을 구축하여 함정을 피하기 위해 변동성 스파이크 중에 거래를 중단합니다.

  5. 기계 학습을 사용하여 매개 변수와 신호 가중을 자동으로 최적화합니다.

  6. 거래소 유동성 및 자금 흐름과 같은 체인 데이터를 통합하여 더 많은 적응력을 제공합니다.

요약

RSI 상승 암호화 트렌드 전략은 RSI와 BB 및 ROC를 사용하여 더 긴 시간 프레임 암호화 트렌드를 포착합니다. 장점은 트렌드 반전을 빠르게 파악하고 함정을 피하는 것입니다. 약점은 스톱 손실 및 매개 변수 의존성입니다. 스톱 손실, 최적화, 기계 학습과 같은 개선은 더 견고하게 만들 수 있습니다.


/*backtest
start: 2023-09-16 00:00:00
end: 2023-10-16 00:00:00
period: 2h
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/
// © exlux99

//@version=4
strategy(title = "RSI Rising", overlay = true, initial_capital = 100, default_qty_type= strategy.percent_of_equity, default_qty_value = 100, slippage=0,commission_type=strategy.commission.percent,commission_value=0.03)

/////////////////////
source          = close
bb_length       = 20
bb_mult         = 1.0
basis           = sma(source, bb_length)
dev             = bb_mult * stdev(source, bb_length)
upperx           = basis + dev
lowerx           = basis - dev
bbr             = (source - lowerx)/(upperx - lowerx)
bbr_len         = 21
bbr_std         = stdev(bbr, bbr_len)
bbr_std_thresh  = 0.1
is_sideways     = (bbr > 0.0 and bbr < 1.0) and bbr_std <= bbr_std_thresh


////////////////
fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2010, title = "From Year", minval = 1970)
 //monday and session 
// To Date Inputs
toDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2021, title = "To Year", minval = 1970)

startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true


sourcex = close
length = 2
pcntChange = 1

roc = 100 * (sourcex - sourcex[length])/sourcex[length]
emaroc = ema(roc, length/2)
isMoving() => emaroc > (pcntChange / 2) or emaroc < (0 - (pcntChange / 2))


periods = input(19)
smooth = input(14, title="RSI Length" )
src = input(low, title="Source" )


rsiClose = rsi(ema(src, periods), smooth)
long=rising(rsiClose,2) and not is_sideways and isMoving()
short=not rising(rsiClose,2) and not is_sideways and isMoving()


if(time_cond)
    strategy.entry('long',1,when=long)
    strategy.entry('short',0,when=short)


더 많은