완벽한 승리 DCA 모멘텀 및 변동성 전략


생성 날짜: 2024-03-22 10:54:40 마지막으로 수정됨: 2024-03-22 10:54:40
복사: 0 클릭수: 672
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

완벽한 승리 DCA 모멘텀 및 변동성 전략

전략 개요

Flawless Victory DCA 동력과 변동률 전략은 동력 지표 RSI와 변동률 지표 브린 밴드를 기반으로 DCA (Dollar Cost Averaging, 달러 비용 평균법) 을 결합한 양적 거래 전략이다. 이 전략은 시장의 동력과 변동률을 포착하는 동시에 스톱로스 및 스톱 스톱 레벨을 통해 위험을 관리하는 것을 목표로 한다.

전략 원칙

이 전략은 두 가지 기술적 인 지표를 사용합니다: RSI와 부린 밴드. RSI는 가격 변화의 속도와 변화의 폭을 측정하는 동적 진동 지표이며, 전략은 14의 RSI를 사용합니다. 부린 밴드는 간단한 이동 평균 (SMA) 과 두 개의 표준 차차 곡선 (SMA) 으로 구성된 변동률 지표입니다.

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

  1. 가격이 브린의 하락선 아래로 떨어지고 RSI가 초상가한 경계를 넘어서면 구매 신호를 니다.
  2. DCA를 활성화하고 시간 조건을 충족하면 구매 조건에 따라 더 많은 포지션을 열 수 있습니다.
  3. 가격이 브린 반지대 (Brin Belt) 를 넘어서고 RSI가 초상구매 경계를 넘어서면 팔기 신호를 니다.
  4. 판매 조건이 충족되면, 전략은 다중 상위 포지션을 평행하고, 스톱로스 및 스톱 레벨을 설정한다.

전체적으로 이 전략은 RSI와 브린 벨트와 같은 기술 지표와 DCA의 조건 논리를 결합하여 입출장, 출장 및 잠재적인 달러 비용 평균에 기초하고 있습니다. 목표는 시장의 운동과 변동성을 활용하는 동시에 스톱 및 스톱 레벨을 통해 위험을 관리하는 것입니다.

전략적 이점

  1. 동력과 변동률을 결합: 이 전략은 시장의 동력과 변동률을 종합적으로 고려하여 시장의 상황을 더 포괄적으로 파악할 수 있습니다.
  2. 달러 비용 평균법: 전략은 DCA의 옵션을 제공하여 가격이 떨어질 때 단계적으로 포지션을 구축하여 포지션 보유 비용을 줄일 수 있습니다.
  3. 위험 관리: 전략은 잠재적인 손실을 통제하고 이미 달성 된 이익을 잠금하는 데 도움이되는 명확한 중지 및 중지 수준을 설정합니다.
  4. 유연한 변수 설정: 전략은 여러 조정 가능한 입력 변수를 제공 합니다. 예를 들어, 중지 손실 비율, 중지 비율, DCA 간격 등은 다른 시장 조건과 위험 선호도에 따라 조정할 수 있습니다.

위험 분석

  1. 매개 변수 민감성: 전략의 성능은 입력 매개 변수 (RSI 미지수, 브린 띠 곱하기 등) 에 민감할 수 있으며, 부적절한 매개 변수 설정은 전략의 성능이 좋지 않을 수 있다.
  2. 시장 조건의 변화: 전략은 특정 기술 지표에 기반하며, 특정 시장 조건 (예를 들어, 흔들리는 시장 또는 추세 역전) 에 잘 적응하지 못할 수 있습니다.
  3. 과도한 거래: DCA 간격이 너무 짧게 설정되면 과도한 거래 빈도가 발생할 수 있으며 거래 비용이 증가하고 전략 수익에 영향을 미칠 수 있습니다.
  4. 중지 및 중지 위치: 중지 및 중지 레벨의 설정은 전략의 전반적인 성능에 영향을 줄 수 있습니다. 너무 단단하게 설정하면 조기 중단이 발생할 수 있으며 너무 느리게 설정하면 잠재적인 수익이 손실 될 수 있습니다.

최적화 방향

  1. 파라미터 최적화: 전략의 핵심 파라미터 (RSI 미지수, 브린 밴드 곱하기, DCA 간격 등) 에 대한 최적화 및 민감성 분석을 통해 최적의 파라미터 조합을 찾습니다.
  2. 다른 지표를 추가: 신호의 신뢰성과 안정성을 높이기 위해 다른 기술 지표를 추가하는 것을 고려하십시오.
  3. 동적 스톱 및 스톱: 시장 조건에 따라 동적으로 스톱 및 스톱 레벨을 조정합니다. 예를 들어, 트레일링 스톱을 사용하여 수익을 보호합니다.
  4. 시장 환경 필터링을 추가합니다. 시장 환경 (예: 트렌드, 흔들림 등) 에 따라 전략을 필터링하여 다른 시장 상태에 적응합니다.
  5. 자금 관리 최적화: 전략을 최적화하는 자금 관리 규칙, 예를 들어 위험 조정 된 수익률에 따라 포지션 크기를 결정한다.

요약하다

Flawless Victory DCA 동력 및 변동률 전략은 동력 지표 RSI, 변동률 지표 브린밴드 및 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!")