RSI를 기반으로 한 간단한 암호화폐 거래 전략


생성 날짜: 2024-02-22 17:44:13 마지막으로 수정됨: 2024-02-22 17:44:13
복사: 0 클릭수: 582
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

RSI를 기반으로 한 간단한 암호화폐 거래 전략

개요

이것은 상대적으로 강한 지수 (RSI) 를 기반으로 한 간단한 암호화폐 거래 전략이다. RSI 값을 계산하여 시장이 과매매 또는 과매매 상태에 있는지 판단하여 거래 신호를 생성한다. 이 전략은 중장기 거래에 적합하다.

전략 원칙

이 전략은 먼저 14일 길이의 RSI 값을 계산한다. 그리고는 RSI 값이 30의 초상 판매 라인보다 낮다면 구매 신호를 발생시키고 70의 초상 구매 라인보다 높다면 판매 신호를 발생시킨다.

RSI 값이 오버셀 라인을 넘으면, 입구 포지션을 닫습니다. RSI 값이 오버셀 라인을 넘으면, 입구 포지션을 닫습니다.

우위 분석

  • 전략 논리는 간단하고 명확하며 이해하기 쉽고 구현하기 쉽습니다.
  • RSI를 통해 시장의 상황을 판단하는
  • 사용자 정의 가능한 매개 변수, 다른 시장 환경에 적응
  • 탈퇴 위험도 낮다

위험 분석

  • 시장의 갑작스러운 현상은 일시적인 실효로 이어질 수 있습니다.
  • 고정 변수는 과도한 거래를 유발할 수 있습니다.
  • 단 하나의 지표만으로도 잘못된 신호를 만들어 낼 수 있습니다.

동적으로 매개 변수를 조정하고, 여러 지표를 조합하고, 스톱로스를 설정하여 위와 같은 위험을 완화할 수 있다.

최적화 방향

이 전략은 다음과 같은 부분에서 최적화될 수 있습니다.

  1. 이동 평균과 같은 다른 지표들을 조합하여 다중확인을 형성합니다.

  2. 트렌드를 판단하는 규칙을 추가하고 음향시장을 피하십시오.

  3. 거래량이나 스톱로스 규칙에 대한 위험을 조절하기 위한 설정;

  4. RSI 파라미터를 최적화하여 암호화폐의 고주파 거래 특성에 더 적합하게 만듭니다.

요약하다

이 전략overall은 매우 기초적인 RSI 전략이며, 성숙한 지표에 의해 과매매 과매매를 판단하여 거래 신호를 형성한다. 장점은 간단하고 사용하기 쉽고, 실제 위험도 작다는 것이다. 그러나 단 하나의 지표만으로도 가짜 신호를 생성하는 것이 쉽다. 우리는 여러 가지 방법으로 이것을 확장하고 최적화하여 더 안정적이고 더 적응력을 갖출 수 있다.

전략 소스 코드
/*backtest
start: 2024-02-14 00:00:00
end: 2024-02-21 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Larry Williams Simple Crypto Strategy", overlay=true)

// Параметры стратегии
length = input(14, title="Length")
overboughtLevel = input(70, title="Overbought Level")
oversoldLevel = input(30, title="Oversold Level")

// Вычисление RSI
rsiValue = rsi(close, length)

// Определение условий для входа в позицию
enterLong = rsiValue < oversoldLevel
enterShort = rsiValue > overboughtLevel

// Открытие позиции
if enterLong
    strategy.entry("Buy", strategy.long)
if enterShort
    strategy.entry("Sell", strategy.short)

// Закрытие позиции
if enterLong and rsiValue > oversoldLevel
    strategy.close("Buy")
if enterShort and rsiValue < overboughtLevel
    strategy.close("Sell")

// Отрисовка уровней
hline(overboughtLevel, "Overbought", color=color.red)
hline(oversoldLevel, "Oversold", color=color.green)