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

저자:차오장, 날짜: 2024-02-22 17:44:13
태그:

img

전반적인 설명

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

전략 논리

전략은 먼저 14일 RSI 값을 계산합니다. 그 다음 RSI 값이 30 이하인 경우, 과잉 판매 라인을 판단합니다. 그렇다면 구매 신호가 생성됩니다. RSI가 70을 초과하면, 과잉 구매 라인을 판매 신호가 생성됩니다.

RSI 값이 과잉 판매 라인을 넘을 때, 긴 포지션은 닫습니다. 과잉 구매 라인을 넘을 때, 짧은 포지션은 닫습니다.

이점 분석

  • 전략 논리는 간단하고 명확하며 이해하기 쉽고 실행하기 쉽습니다.
  • 성숙한 RSI 지표를 사용하여 시장 조건을 판단합니다.
  • 사용자 정의 가능한 매개 변수는 다른 시장 환경에 적합합니다
  • 상대적으로 적은 적립 위험

위험 분석

  • 시장 사건은 일시적인 장애를 일으킬 수 있습니다.
  • 고정된 매개 변수는 과잉 거래로 이어질 수 있습니다.
  • 단 하나의 지표에 의존하면 잘못된 신호가 발생할 수 있습니다.

위의 위험은 매개 변수를 동적으로 조정하고 여러 지표를 통합하고 스톱 로스를 설정함으로써 완화 될 수 있습니다.

최적화 방향

전략은 다음 측면에서 최적화 될 수 있습니다:

  1. 이동 평균과 다른 지표와 결합하여 여러 확인을 형성합니다.

  2. 트렌드 판단 규칙을 추가하여 불안정한 시장을 피합니다.

  3. 거래 규모 또는 스톱 로스 규칙을 설정하여 리스크를 제어합니다.

  4. RSI 매개 변수를 최적화하여 암호화 거래의 고주파 성격에 맞게 조정합니다.

요약

전체적으로 이것은 매우 기본적인 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)

더 많은