모멘텀 볼린저 밴드 더블 이동 평균 DCA 전략


생성 날짜: 2024-01-31 14:20:11 마지막으로 수정됨: 2024-01-31 14:20:11
복사: 0 클릭수: 780
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

모멘텀 볼린저 밴드 더블 이동 평균 DCA 전략

개요

동력 부린 띠 쌍평선 DCA 전략은 낮은 위험, 긴 선을 가진 고정 투자 전략이다. 부린 띠 지표를 사용하여 가격이 하락했는지 판단하고 RSI 지표가 초매 지역에 있는지 판단하고, 쌍평선 시장 움직임을 판단하고, 부린 띠 하락하고 RSI가 50보다 낮을 때 투자 구매, 특정 자본 규모를 사용하여, 예를 들어 $500.

전략 원칙

이 전략은 주로 브린 밴드 지표와 RSI 지표에 기반하며, 쌍평평선으로 시장 움직임을 판단한다. 브린 밴드는 정상적인 분산 통계 이론에 따라 주식 가격 관련성과 변동률을 계산하여 주식 가격의 범위를 구성한다. 가격이 하향으로 떨어지면 주식이 상대적으로 낮은 가격 영역에 진입하는 것을 의미한다. RSI 지표는 가격이 초매 지역에 있는지 판단한다. 쌍평선으로 시장의 단기 및 중기 움직임을 판단한다.

이 전략의 거래 논리는: 주가 가격이 부린 반도를 넘어선 후 RSI가 50보다 낮을 때 매매를 하는 것으로, 주가 상대적으로 낮은 위치에 있고 약간의 반동력이 있다는 것을 나타냅니다. 쌍평준선은 시장의 움직임을 판단하여 시장이 계속 하락할 때 매매를 하는 것을 피할 수 있습니다.

우위 분석

이 전략의 가장 큰 장점은 위험이 낮고 조작이 쉽다는 것입니다. 고정 투자 전략을 채택하여 특정 구매 시점에 관심을 기울이지 않고, 조건만 충족하면 구매하여 거래 빈도를 줄입니다. 브린 밴드 지표가 가격 하락을 판단하는 것은 낮은 가격 영역에 진입하는 것을 의미합니다. 구매 후 상승 공간은 큽니다. RSI가 50 미만으로 판단되면 과매 지역에 진입하여 반전이 예상됩니다.

위험 분석

이 전략의 주요 위험은 1) 시장의 바닥을 확인 할 수 없으며 주식 시장이 크게 떨어지면 손실 위험이 있습니다. 2) RSI 지표는 항상 초판 지역의 끝을 판단 할 수 없으며 가격이 계속 떨어질 수 있습니다.

위험을 제어하기 위해, 지수 ETF와 같은 상대적으로 낮은 위험 자산을 선택하여 작업을 수행하십시오. 전체 대장 상하 경로에있을 때 너무 자주 구입하는 것을 피하십시오. 또한 RSI 파라미터를 조정하여 과매매 영역의 끝을 최대한 필터링 할 수있는 시점을 고려 할 수 있습니다.

최적화 방향

이 전략은 다음과 같은 부분에서 최적화될 수 있습니다.

  1. 구매 시점을 판단하기 위해 더 많은 지표를 사용하십시오. 예를 들어 MACD, KD 지표와 같은 과매도 지역에 있는지 판단하십시오.

  2. 손실을 막는 전략을 추가하십시오. 가격이 계속 하락하면 손실을 막고 과도한 손실을 피하십시오.

  3. 부린띠 변수를 조정한다. 시장의 변동이 커지면 부린띠 통로를 적절하게 확장하여 너무 자주 구매하는 것을 피할 수 있다.

  4. 거래량 지표와 함께. 예를 들어, 에너지 유조 지표, 낮은 양의 지역에서 구입하는 것을 피하십시오.

  5. 알고리즘을 사용하여 RSI 파라미터를 자동으로 최적화한다. RSI 파라미터를 실시간으로 업데이트하여 과매도 영역의 끝점을 최대한 판단한다.

요약하다

동력 부린带双均线 DCA 전략은 부린带判断价格相对低位, RSI判断超卖区以及双均线判断市场走势를 통합하여, 저위험의 고정투자 구매 전략을 구현한다. 다른 고정투자 전략에 비해 이 전략은 구매 시점 선택에 더 많은 관심을 갖는다. 손실을 완전히 피할 수는 없지만, 손실의 폭은 제한되어 있으며, 긴 줄을 보유하는 수익은 눈에 띄다.

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

//@version=4
strategy("Bollinger DCA v1", overlay=false)

//user inputs
contribution = input(title="Contribution (USD)",type=input.integer,minval=1,maxval=1000000,step=1,defval=500,confirm=false)
length = input(title="Bollinger (Period)", defval=20, step=1, minval=1)
mult = input(title="Deviations (Float)", defval=2.0, step=0.001, minval=0.001, maxval=50)
rsi_period = input(title="RSI (Period)", defval=14, step=1, minval=1)

//compute bollinger bands
source = close
basis = sma(source, length)
dev = mult * stdev(source, length)
upper = basis + dev
lower = basis - dev

//compute moving averages
ma50 = sma(close,50)
ma100 = sma(close,100)
ma150 = sma(close,150)
ma200 = sma(close,200)
//up_trend = ma50 > ma100 and ma100 > ma150 and ma150 > ma200
//dn_trend = ma50 < ma100 and ma100 < ma150 and ma150 < ma200

//compute rsi
strength = rsi(close, rsi_period)

//plot indicators
//p1 = plot(upper, color=color.gray)
//p2 = plot(lower, color=color.gray)
//fill(p1, p2)
//p3 = plot(ma50, color=color.red)
//p4 = plot(ma100, color=color.blue)
//p5 = plot(ma150, color=color.green)
//p6 = plot(ma200, color=color.orange)

//units to buy
units = contribution / close

//long signal
if (close < lower and strength < 50)
    strategy.order("Long", strategy.long, units)

//close long signal
//if (close > upper and strength > 50 and strategy.position_size > 0)
    //strategy.order("Close Long", strategy.short, units)
    
//plot strategy equity
plot(strategy.openprofit, color=color.blue, linewidth=2, title="Open Profit")