MACD-RSI 이중 확인 거래 전략을 따르는 모멘텀 트렌드

MACD RSI TS MA DUAL
생성 날짜: 2024-12-12 16:16:54 마지막으로 수정됨: 2024-12-12 16:16:54
복사: 0 클릭수: 353
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

MACD-RSI 이중 확인 거래 전략을 따르는 모멘텀 트렌드

개요

이 전략은 MACD와 RSI의 두 가지 기술 지표를 결합한 트렌드 추적 방식의 거래 시스템이다. MACD 지표를 통해 가격 트렌드의 변화를 포착하고, RSI 지표를 사용하여 오버 바이 오버 세를 확인하고, 이중 신호 검증을 구현한다. 전략은 고정 자금 관리 방식을 사용하여 포지션을 제어하고, 수익을 보호하기 위해 이동 손실 장치를 갖추고 있다.

전략 원칙

전략의 핵심 논리는 다음과 같은 핵심 요소에 기초합니다.

  1. MACD 신호 시스템은 짧은 주기 ((6,13,5) 설정을 채택하여 시장 반응에 대한 민감성을 높인다. MACD 라인에서 신호선을 통과하면 상승 추세가 나타날 수 있음을 나타냅니다.
  2. RSI 지표는 보조 확인 도구로 30을 초매한 지점으로 설정한다. RSI 값이 30보다 크거나 같을 때만 구매 신호를 유발하여 초매한 지역에서 자주 거래되는 것을 피한다.
  3. 자금 관리는 고정 금액 전략을 채택하고, 거래 당 110 개의 계정 화폐를 투입하고, 현재 가격 동력에 따라 보유량을 계산한다.
  4. 모바일 스톱 메커니즘은 2%의 추적 거리로 설정되어 수익을 효과적으로 고정하고 철회 위험을 제어합니다.

전략적 이점

  1. 이중 기술 지표 확인 메커니즘은 거래 신호의 신뢰성을 높이고 가짜 신호의 간섭을 줄여줍니다.
  2. 짧은 주기의 MACD 설정을 사용하면 시장 변화에 대한 전략의 민감성과 반응 속도가 향상됩니다.
  3. 고정 금액 거래 방식은 자금 관리를 간소화하여 위험을 통제하고 수익을 계산하는 데 도움이됩니다.
  4. 모바일 스톱 메커니즘은 스톱 포지션을 자동으로 조정하여 수익을 보호하면서 가격에 충분한 변동 공간을 제공합니다.
  5. 전략 논리는 명확하고 간단하며, 이해하기 쉽고 유지 관리할 수 있으며, 확장성이 좋습니다.

전략적 위험

  1. MACD 단기 설정은 불안한 시장에서 과도한 거래 신호를 발생시키고 거래 비용을 증가시킬 수 있습니다.
  2. RSI 오버 소매 시한부 설정은 30에서 몇 가지 중요한 트렌드 시작 기회를 놓칠 수 있습니다.
  3. 고정금액 거래 방식은 계좌 자금을 충분히 활용하지 못하여 전체 수익률에 영향을 미칠 수 있습니다.
  4. 2%의 이동식 중지 거리는 높은 변동성 시장에서 너무 가깝고 흔들림에 취약할 수 있다.
  5. 이 전략은 여러 거래만을 지원하며, 하향 추세에서는 수익을 얻지 못합니다.

전략 최적화 방향

  1. 다양한 시장 주기적 동성에 따라 MACD 파라미터를 조정하여 전략의 적응성을 높이는 것이 좋습니다.
  2. 이동 상쇄 거리를 동적으로 조정하여 상쇄의 효율성을 높이기 위해 변동률 지표 (ATR와 같은) 를 도입할 수 있다.
  3. 이 전략이 양방향에서 수익을 창출할 수 있도록 하이라이트 메커니즘을 추가하는 것을 고려하십시오.
  4. 시장 거래량 지표와 결합하여 신호 확인의 신뢰성을 높일 수 있다.
  5. 동적 포지션 관리 메커니즘을 추가하여 계좌의 순가치와 시장의 위험도에 따라 거래 규모를 자동으로 조정하는 것이 좋습니다.

요약하다

이것은 고전적인 기술 지표에 기초한 트렌드 추적 전략이며, MACD와 RSI의 결합된 사용으로, 비교적 신뢰할 수 있는 거래 신호 생성 메커니즘을 구현한다. 전략 전체 설계는 간결하고 실용적이며, 실전에서의 좋은 가치 있다. 합리적인 매개 변수 최적화와 기능 확장으로 이 전략은 다양한 시장 환경에서 안정적인 거래 성능을 얻을 수 있을 것으로 보인다.

전략 소스 코드
/*backtest
start: 2024-11-11 00:00:00
end: 2024-12-11 00:00:00
period: 4h
basePeriod: 4h
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/
// © cryptohitman09

//@version=6
strategy("MACD + RSI 交易系统 - 110 美金买入", overlay=true)

// MACD 設定
fastLength = input.int(6, title="MACD Fast Length")
slowLength = input.int(13, title="MACD Slow Length")
signalSmoothing = input.int(5, title="MACD Signal Smoothing")
[macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalSmoothing)

// RSI 設定
rsiLength = input.int(14, title="RSI Length")  // RSI 計算週期
rsiValue = ta.rsi(close, rsiLength)  // 計算 RSI 值
rsiThresholdHigh = input.int(70, title="RSI 超買閾值")  // RSI 超買閾值
rsiThresholdLow = input.int(30, title="RSI 超賣閾值")  // RSI 超賣閾值

// 做多信号条件:MACD 線突破信号線,且 RSI 不低於 30
buySignal = (macdLine > signalLine) and (rsiValue >= rsiThresholdLow) // 只有 RSI 大於或等於 30 時才觸發買入

// 计算每次交易的仓位(每次交易目标为 110 美金的买入金额)
tradeAmount = 20010  // 每次买入110 美金
orderSize = tradeAmount / close  // 根据当前价格计算仓位大小

// 移动止损(Trailing Stop)
enableTrailingStop = input.bool(true, title="启用移动止损")
trailingStopDistance = input.float(2, title="移动止损距离 (%)") / 89500  // 增加移动止损的距离
longTrailingStop = strategy.position_avg_price * (1 - trailingStopDistance)

// 交易逻辑:仅做多
if buySignal
    strategy.entry("买入", strategy.long, qty=orderSize)
    if enableTrailingStop
        strategy.exit("卖出", from_entry="买入", trail_price=longTrailingStop, trail_offset=trailingStopDistance * close)                                                                               

// 绘制 MACD 指标
plot(macdLine, color=color.blue, title="MACD Line")
plot(signalLine, color=color.red, title="Signal Line")

// 绘制 RSI 值
plot(rsiValue, color=color.orange, title="RSI Value")
hline(rsiThresholdHigh, "RSI 超买", color=color.red)
hline(rsiThresholdLow, "RSI 超卖", color=color.green)

// 绘制买入信号
plotshape(series=buySignal, location=location.belowbar, color=color.green, style=shape.labelup, title="买入信号", text="BUY")

// 如果触发买入信号,则发送警报
if buySignal
    alert('{"secret": "eyJhbGciOiJIUzI1NiJ9.eyJzaWduYWxzX3NvdXJjZV9pZCI6MTAwMDAyfQ.G1wLNjNyUPlTqYWsIqXSWnn_M4pRCKerBm7eTpyCiH8", "max_lag": "300", "timestamp": "{{timenow}}", "trigger_price": "{{close}}", "tv_exchange": "{{exchange}}", "tv_instrument": "{{ticker}}", "action": "{{strategy.order.action}}", "bot_uuid": "493b76f0-8a3c-4633-8b2b-90c02659dd4d", "strategy_info": {"market_position": "{{strategy.market_position}}", "market_position_size": "{{strategy.market_position_size}}", "prev_market_position": "{{strategy.prev_market_position}}", "prev_market_position_size": "{{strategy.prev_market_position_size}}"}, "order": {"amount": "{{strategy.order.contracts}}", "currency_type": "base"}}', alert.freq_once_per_bar_close)