리소스 로딩... 로딩...

RSI 다이내믹 드라다운 스톱 로스 전략

저자:차오장, 날짜: 2024-06-07 15:47:51
태그:RSIMA

img

전반적인 설명

이 전략은 와이코프 방법론에 기초하고 있으며, 상대 강도 지수 (RSI) 와 볼륨 이동 평균 (Volume MA) 를 결합하여 시장의 축적 및 유통 단계를 식별하여 구매 및 판매 신호를 생성합니다. 또한 전략은 최대 유출 한계치를 설정하여 위험을 제어하기 위해 동적 인 유출 중지 손실 메커니즘을 사용합니다.

전략 원칙

  1. RSI 지표와 볼륨 이동 평균을 계산합니다.
  2. RSI가 과잉 판매 부위를 넘어서서 부피가 부피 MA보다 크면 시장의 축적 단계를 식별하고 구매 신호를 생성합니다.
  3. RSI가 과잉 매수 영역 아래를 넘어서서 부피가 부피 MA보다 크면 시장의 분포 단계를 식별하고 판매 신호를 생성합니다.
  4. 이 전략은 동시에 계좌의 최대 자금과 현재 유출을 추적합니다. 현재 유출이 설정된 최대 유출 한계를 초과하면 전략은 모든 포지션을 닫습니다.
  5. 매수 포지션은 분배 단계 또는 마감이 최대 마감을 초과할 때 닫히고 매수 포지션은 축적 단계 또는 마감이 최대 마감을 초과할 때 닫힌다.

전략적 장점

  1. RSI와 부피 지표를 결합함으로써 전략은 시장의 축적 및 유통 단계를 더 정확하게 포착 할 수 있습니다.
  2. 동적 마감 스톱 로스 메커니즘은 전략의 최대 마감을 효과적으로 제어하여 전체 전략 위험을 줄입니다.
  3. 5분 동안의 고주파 데이터에 적합하며 시장 변화에 신속한 반응과 적시에 위치 조정이 가능합니다.

전략 위험

  1. RSI 및 부피 지표는 특정 시장 조건에서 잘못된 신호를 생성하여 전략의 잘못된 거래 결정으로 이어질 수 있습니다.
  2. 최대 유출 기준값의 설정은 시장 특성과 개인의 위험 선호도에 따라 조정되어야 합니다. 부적절한 설정은 조기 포지션 종료 또는 과도한 위험 취득으로 이어질 수 있습니다.
  3. 이 전략은 불안정한 시장에서 빈번한 거래 신호를 생성하여 거래 비용을 증가시킬 수 있습니다.

전략 최적화 방향

  1. 전략의 신호의 정확성을 향상시키기 위해 MACD, 볼링거 밴드 등과 같은 다른 기술 지표를 도입하는 것을 고려하십시오.
  2. 다른 시장 조건에 적응하기 위해 RSI 및 부피 지표의 매개 변수를 최적화합니다. 예를 들어 RSI의 길이를 조정하고, 과소 구매/ 과소 판매 기준 등을 조정합니다.
  3. 마감 스톱-러스 이외에도 후속 스톱-러스 또는 이익 보호 메커니즘을 포함하여 위험을 더 통제하고 이익을 고정하십시오.

요약

RSI 동적 인하 스톱-손실 전략은 리스크를 제어하기 위해 동적 인하 스톱-손실 메커니즘을 사용하는 동시에 RSI 및 볼륨 지표를 결합하여 시장의 축적 및 분배 단계를 식별합니다. 전략은 시장 추세와 리스크 관리 모두를 고려하여 어느 정도 실용화됩니다. 그러나 전략의 성능은 지표 매개 변수와 시장 특성에 따라 선택되며 안정성과 수익성을 향상시키기 위해 지속적인 최적화와 조정이 필요합니다.


/*backtest
start: 2024-05-07 00:00:00
end: 2024-06-06 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Wyckoff Methodology Strategy with Max Drawdown", overlay=true)

// Define input parameters
length = input(14, title="RSI Length")
overbought = input(70, title="RSI Overbought Level")
oversold = input(30, title="RSI Oversold Level")
volume_length = input(20, title="Volume MA Length")
initial_capital = input(10000, title="Initial Capital")
max_drawdown = input(500, title="Max Drawdown")

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

// Calculate Volume Moving Average
vol_ma = ta.sma(volume, volume_length)

// Identify Accumulation Phase
accumulation = ta.crossover(rsi, oversold) and volume > vol_ma

// Identify Distribution Phase
distribution = ta.crossunder(rsi, overbought) and volume > vol_ma

// Plot RSI
hline(overbought, "Overbought", color=color.red)
hline(oversold, "Oversold", color=color.green)
plot(rsi, title="RSI", color=color.blue)

// Plot Volume and Volume Moving Average
plot(volume, title="Volume", color=color.orange, style=plot.style_histogram)
plot(vol_ma, title="Volume MA", color=color.purple)

// Variables to track drawdown
var float max_equity = initial_capital
var float drawdown = 0.0

// Update max equity and drawdown
current_equity = strategy.equity
if (current_equity > max_equity)
    max_equity := current_equity
drawdown := max_equity - current_equity

// Generate Buy and Sell Signals
if (accumulation and drawdown < max_drawdown)
    strategy.entry("Buy", strategy.long)
if (distribution and drawdown < max_drawdown)
    strategy.entry("Sell", strategy.short)

// Plot Buy and Sell signals on chart
plotshape(series=accumulation, location=location.belowbar, color=color.green, style=shape.labelup, title="Buy Signal", text="BUY")
plotshape(series=distribution, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell Signal", text="SELL")

// Close positions if drawdown exceeds max drawdown
if (drawdown >= max_drawdown)
    strategy.close_all("Max Drawdown Exceeded")

// Set strategy exit conditions
strategy.close("Buy", when=distribution or drawdown >= max_drawdown)
strategy.close("Sell", when=accumulation or drawdown >= max_drawdown)

// Display drawdown on chart
plot(drawdown, title="Drawdown", color=color.red, linewidth=2, style=plot.style_stepline)





관련

더 많은