RSI 양적 거래 전략


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

RSI 양적 거래 전략

개요

이 전략은 상대적으로 강한 지표 (RSI) 를 기반으로 한 정량 거래 전략이다. 이 전략은 RSI 지표를 사용하여 시장의 과매매 및 과매매 상태를 판단하고 적절한 시간에 구매 및 판매 작업을 수행한다. 이 전략은 마팅겔 시스템의 개념을 도입하여 조건이 충족되면 거래의 위치를 확대한다.

이 전략의 주요 내용은 다음과 같습니다.

  1. RSI의 값을 계산한다.
  2. RSI 지표가 오버소드 영역에서 위쪽으로 넘어가면 매수; RSI 지표가 오버소드 영역에서 아래쪽으로 넘어가면 매수.
  3. 스톱과 스톱로스 레벨을 설정하고, 가격이 이 레벨에 도달했을 때 청산한다.
  4. 마틴겔 시스템을 도입하여, 지난 거래가 손실되었을 때, 다음 거래의 입지를 1배로 곱한다.

전략 원칙

  1. RSI 지표의 계산: ta.rsi 함수를 사용하여 RSI 지표의 값을 계산하고, RSI의 주기를 설정해야 합니다 (기본 14).
  2. 구매 조건: RSI 지표가 초과 수준 (기본 30) 보다 낮은 곳에서 상향으로 넘어가면 구매 작업을 수행합니다.
  3. 판매 조건: RSI 지표가 초과 구매 수준 (기본 70) 에서 아래로 넘어가면 판매 작업을 수행합니다.
  4. 정지 및 손실: 정지 및 손실의 비율을 각각 설정합니다 (%가 기본입니다) 그리고 가격이 이러한 수준에 도달하면 포지션을 종료합니다.
  5. 마틴겔 시스템: 초기 포지션을 설정하고 마틴겔 배수를 설정합니다. 마지막 거래가 손실되면 다음 거래의 포지션은 마틴겔 배수로 곱합니다.

전략적 이점

  1. RSI 지표는 시장의 과매매와 과매매 상태를 효과적으로 판단하여 거래 결정을 위한 근거를 제공하는 널리 사용되는 기술적 지표입니다.
  2. 이 전략의 논리는 명확하고, 이해하기 쉽고, 실행하기 쉽습니다.
  3. 마팅거 시스템을 도입하면 전략의 수익성을 어느 정도 높일 수 있다. 시장에서 연속적인 손실이 발생했을 때, 포지션을 늘려 더 큰 수익을 추구한다.
  4. 이 전략은 시장의 특성과 개인의 위험 선호에 따라 RSI의 주기를, 과매매 수준을 초과하고, 스톱 스톱 손실 비율과 같은 파라미터를 유연하게 조정할 수 있습니다.

전략적 위험

  1. RSI 지표는 때때로 신호 실패가 발생할 수 있습니다. 특히 시장 추세가 강할 때 RSI 지표는 시장 가격이 계속 상승하거나 하락하는 동안 오랫동안 과매매 또는 과매매 상태에있을 수 있습니다.
  2. 마팅거 시스템은 전략의 수익성을 증가시킬 수 있지만 동시에 전략의 위험을 증가시킵니다. 시장이 연속적으로 손실을 입었을 때 전략의 위치가 급격히 증가하여 포지션 폭발의 위험이 발생할 수 있습니다.
  3. 이 전략은 스톱로즈와 스톱 퍼센티지를 설정하지 않았으며, 이는 전략이 포지션을 개시한 후 적극적으로 스톱로즈나 스톱을 하지 않는다는 것을 의미한다. 이것은 전략이 시장의 급격한 변동이 있을 때 더 큰 위험을 감수하게 만들 수 있다.

전략 최적화 방향

  1. 전략의 신호 품질과 신뢰성을 높이기 위해 이동 평균 (MA), 브린 밴드 (Bollinger Bands) 와 같은 다른 기술 지표를 도입하는 것을 고려하십시오. 이러한 지표는 RSI 지표와 결합하여 더 복잡한 거래 조건을 형성 할 수 있습니다.
  2. 마팅겔 시스템을 최적화한다. 최대 포지션을 설정하여 포지션이 무한히 증가하지 않도록 한다. 또한 연속으로 손실이 일정 횟수를 달성한 후 마팅겔 시스템을 사용하는 것을 중단하여 위험을 통제할 수 있다.
  3. 합리적인 스톱 및 스톱 손실 비율을 설정하십시오. 스톱 손실은 전략이 너무 큰 손실을 피하기 위해 적시에 중단되도록 도와줍니다. 스톱 은 전략이 적시에 수익을 고정하고 수익 회귀를 피하도록 도와줍니다.
  4. RSI 지표의 매개 변수를 최적화한다. 재검토와 매개 변수 최적화를 통해 현재 시장과 기준에 가장 적합한 RSI 주기를 찾을 수 있다.

요약하다

이 전략은 RSI 지표를 기반으로 한 양적 거래 전략이며 마팅겔 시스템을 도입했다. 전략의 장점은 RSI 지표의 유효성과 전략 논리의 명확성이다. 그러나 전략에는 RSI 지표의 실패, 마팅겔 시스템 과장 위험 등과 같은 위험이 있습니다.

전략 소스 코드
/*backtest
start: 2024-04-01 00:00:00
end: 2024-04-30 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Cloudexp1

//@version=5
strategy("RSI Martingale Strategy", overlay=true)

// RSI settings
rsi_length = input(14, title="RSI Length")
overbought_level = input(70, title="Overbought Level")
oversold_level = input(30, title="Oversold Level")

// Martingale settings
initial_quantity = input(1, title="Initial Quantity")
martingale_multiplier = input(2, title="Martingale Multiplier")

// Calculate RSI
rsi = ta.rsi(close, rsi_length)

// Entry conditions
buy_condition = ta.crossover(rsi, oversold_level)
sell_condition = ta.crossunder(rsi, overbought_level)

// Take profit and stop loss
take_profit_percent = 0
stop_loss_percent = 0

// Strategy logic
strategy.entry("Buy", strategy.long, when = buy_condition)
strategy.entry("Sell", strategy.short, when = sell_condition)

// Calculate take profit and stop loss levels
take_profit_level = close * (1 + take_profit_percent / 100)
stop_loss_level = close * (1 - stop_loss_percent / 100)

// Exit conditions
strategy.exit("Exit Buy", "Buy", limit = take_profit_level, stop = stop_loss_level)
strategy.exit("Exit Sell", "Sell", limit = take_profit_level, stop = stop_loss_level)

// Martingale logic
var float last_quantity = na
if (buy_condition)
    last_quantity := initial_quantity
if (sell_condition)
    last_quantity := initial_quantity

if (strategy.position_size > 0)
    strategy.entry("Buy Martingale", strategy.long, qty = last_quantity * martingale_multiplier)
if (strategy.position_size < 0)
    strategy.entry("Sell Martingale", strategy.short, qty = last_quantity * martingale_multiplier)