결함없는 승리의 DCA 동력 및 변동성 전략

저자:차오장, 날짜: 2024-03-22 10:54:40
태그:

img

전략 개요

결함없는 승리의 DCA 모멘텀 및 변동성 전략은 모멘텀 지표 RSI와 변동성 지표 볼링거 밴드를 DCA (달러 비용 평균) 와 함께 결합한 양적 거래 전략입니다. 이 전략은 시장 모멘텀과 변동성을 포착하는 동시에 스톱 로스 및 수익 수준을 통해 위험을 관리하는 것을 목표로합니다.

전략 원칙

이 전략은 두 가지 기술 지표: RSI 및 볼링거 밴드 (Bollinger Bands) 를 사용합니다. RSI는 가격 움직임의 속도와 변화를 측정하는 데 사용되는 모멘텀 오시레이터이며 전략에서 사용되는 길이는 14입니다. 볼링거 밴드는 간단한 이동 평균 (SMA) 과 두 개의 표준 편차 곡선으로 구성된 변동성 지표입니다.

전략의 주요 논리는 다음과 같습니다.

  1. 가격이 낮은 볼링거 밴드 아래와 RSI가 과잉 판매 임계 (42) 를 넘으면 구매 신호가 발사됩니다.
  2. DCA가 활성화되고 시간 조건이 충족되면 (모든 지정된 시간 수), 구매 조건에 따라 긴 포지션이 입력됩니다.
  3. 가격이 상부 볼링거 밴드 (Bollinger Band) 를 넘고 RSI가 과잉 매수 기준 (70) 을 넘으면 판매 신호가 발사됩니다.
  4. 판매 조건이 충족되면 전략은 긴 포지션을 종료하고 Stop Loss 및 Take Profit 레벨을 설정합니다.

전체적으로, 전략은 RSI 및 볼링거 밴드와 같은 기술적 지표를 입점, 출구 및 잠재적 인 달러 비용 평균화 조건적 논리로 결합합니다. 목표는 스톱 로스 및 수익 수준을 통해 위험을 관리하면서 시장 추진력과 변동성을 활용하는 것입니다.

전략적 장점

  1. 동력과 변동성의 조합: 전략은 시장 동력과 변동성을 모두 고려하여 시장 상황을 보다 포괄적으로 파악할 수 있습니다.
  2. 달러 비용 평균화: 전략은 DCA 옵션을 제공하며 가격 하락 시 점진적 위치 구축을 허용하여 평균 보유 비용을 줄입니다.
  3. 리스크 관리: 전략은 명확한 스톱 로스를 설정하고 수익 수준을 취하여 잠재적 인 손실을 제어하고 실현 된 수익을 차단하는 데 도움이됩니다.
  4. 유연한 매개 변수 설정: 전략은 다양한 시장 조건과 위험 선호도에 따라 사용자 정의를 허용하는 스톱 손실 비율, 수익 비율, DCA 간격 등 여러 조정 가능한 입력 매개 변수를 제공합니다.

위험 분석

  1. 매개 변수 민감성: 전략의 성능은 입력 매개 변수 (RSI 임계, 볼링거 밴드 곱셈자 등) 에 민감할 수 있으며, 부적절한 매개 변수 설정으로 인해 최적의 성능이 떨어질 수 있습니다.
  2. 변화하는 시장 조건: 전략은 특정 기술 지표에 의존하고 특정 시장 조건 (시장 변화 또는 트렌드 역전 등) 에 잘 적응하지 않을 수 있습니다.
  3. 과잉 거래: DCA 간격이 너무 짧게 설정되면 과도하게 빈번한 거래로 인해 거래 비용이 증가하고 전략 수익에 영향을 줄 수 있습니다.
  4. 스톱 로스 및 트레이프 포스팅: 스톱 로스 및 트레이프 포스팅 레벨의 포스팅은 전략의 전반적인 성과에 영향을 줄 수 있습니다. 너무 긴 설정은 조기 중지로 이어질 수 있으며 너무 느슨한 설정은 잠재적 인 수익 침식으로 이어질 수 있습니다.

최적화 방향

  1. 매개 변수 최적화: 최적의 매개 변수 조합을 찾기 위해 전략의 주요 매개 변수 (RSI 임계, 볼링거 밴드 곱, DCA 간격 등) 에 대한 최적화 및 민감성 분석을 수행합니다.
  2. 추가 지표 포함: 신호 신뢰성 및 안정성을 높이기 위해 다른 기술적 지표 (MACD, ATR 등) 를 포함하는 것을 고려하십시오.
  3. 동적 스톱 로스 및 영업 취득: 수익을 보호하기 위해 후속 스톱을 사용하는 것과 같은 시장 조건에 따라 동적으로 스톱 로스 및 영업 취득 수준을 조정합니다.
  4. 시장 환경 필터링: 다른 시장 상태에 적응하기 위해 시장 환경 (트렌드, 범위 등) 에 기반한 전략에 필터를 적용합니다.
  5. 자금 관리 최적화: 위험 조정 수익을 기반으로 포지션 크기를 결정하는 것과 같은 전략의 자금 관리 규칙을 최적화합니다.

결론

결함없는 승리의 DCA 모멘텀 및 변동성 전략 (Flawless Victory DCA Momentum and Volatility Strategy) 은 모멘텀 지표 RSI, 변동성 지표 볼링거 밴드 (Bollinger Bands) 및 DCA를 결합한 양적 거래 전략이다. 전략의 주요 장점은 시장 모멘텀과 변동성, DCA 옵션, 명시적인 리스크 관리 조치 (손실 중지 및 수익 취득) 을 모두 고려하는 데 있다. 그러나 전략에는 매개 변수 설정에 대한 민감성 및 변화하는 시장 조건에 적응하는 등 일부 잠재적 위험도 있다. 미래 최적화 방향에는 매개 변수 최적화, 추가 지표의 포함, 동적 스톱 손실 및 수익 취득, 시장 환경 필터링 및 자금 관리 최적화 등이 포함될 수 있다. 전반적으로, 결함없는 승리의 DCA 모멘텀 및 변동성 전략은 모멘텀 및 변동성 기반의 양적 거래 접근 방식을 제공하지만 실제 시장 조건에 적용될 때 특정 위험 및 선호도에 대한 적절한 조정과 최적화를 요구한다.


/*backtest
start: 2023-03-16 00:00:00
end: 2024-03-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//FOR BUY STRATGY : @Suameer
//Create by zipix


//@version=4
strategy(overlay=true, shorttitle=" DCA Strategy", default_qty_type = strategy.percent_of_equity, initial_capital = 100000, default_qty_value = 100, pyramiding = 0, title="Flawless Victory DCA Strategy", currency = 'USD')

////////// ** Inputs ** //////////

// Stoploss and Profits Inputs
stoploss_input = input(6.604, title='Stop Loss %', type=input.float, minval=0.01)/100
takeprofit_input = input(2.328, title='Take Profit %', type=input.float, minval=0.01)/100
stoploss_level = strategy.position_avg_price * (1 - stoploss_input)
takeprofit_level = strategy.position_avg_price * (1 + takeprofit_input)

// DCA Settings
dca_enabled = input(false, title="Enable DCA")
dca_interval = input(1, title="DCA Interval (hours)", type=input.integer)

////////// ** Indicators ** //////////

// RSI
len = 14
src = close
up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - 100 / (1 + up / down)

// Bollinger Bands
length = 20
mult = 1.0
basis = sma(src, length)
dev = mult * stdev(src, length)
upper = basis + dev
lower = basis - dev

////////// ** Triggers and Guards ** //////////

// Strategy Parameters
RSILowerLevel = 42
RSIUpperLevel = 70
BBBuyTrigger = src < lower
BBSellTrigger = src > upper
rsiBuyGuard = rsi > RSILowerLevel
rsiSellGuard = rsi > RSIUpperLevel

//////////** Strategy Signals ** //////////

// Entry Condition
buy_condition = BBBuyTrigger and rsiBuyGuard

// DCA Logic
if dca_enabled and (hour % dca_interval == 0)
    strategy.entry("DCA Long", strategy.long, when = buy_condition, alert_message = "DCA - Buy Signal!")
else
    strategy.entry("Long", strategy.long, when = buy_condition, alert_message = "Buy Signal!")

// Exit Condition
sell_condition = BBSellTrigger and rsiSellGuard
strategy.exit("Stoploss/TP", "Long", stop = stoploss_level, limit = takeprofit_level, when = sell_condition, alert_message = "Sell Signal!")


더 많은