이동 평균 vs 모멘텀 캔들스틱 추세 추종 시스템

SMA MA200 动量指标 趋势跟踪 蜡烛体积分析 风险管理
생성 날짜: 2025-04-16 16:01:57 마지막으로 수정됨: 2025-04-16 16:01:57
복사: 0 클릭수: 376
avatar of ianzeng123 ianzeng123
2
집중하다
319
수행원

이동 평균 vs 모멘텀 캔들스틱 추세 추종 시스템 이동 평균 vs 모멘텀 캔들스틱 추세 추종 시스템

개요

이 전략은 200 기간 이동 평균 ((MA200) 과 동력 형태 분석을 결합한 트렌드 추적 거래 시스템이다. 그것은 주로 장기적인 추세에 대한 가격의 위치와 차트에 대한 동력 변화를 식별하여 거래 기회를 찾는다. 이 전략은 4 시간 이상의 시간 주기에 적용되며, 반복 입장을 방지하는 메커니즘을 내장하고, 이미 평준화되지 않은 상태에서 다시 입장을 열지 않도록 하며, 포지션 위험을 효과적으로 제어한다.

전략 원칙

이 전략의 핵심 원리는 두 가지 중요한 요소에 기반합니다: 가격의 위치와 장기적 추세에 대한 판단과 탄소 부피의 동적 분석.

우선, 전략은 200기 간단한 이동 평균 ((SMA) 을 장기적인 경향의 참조 지표로 사용합니다. 가격이 MA200 위에있을 때 상승 추세에 있다고 간주하고, 가격이 MA200 아래에있을 때 하락 추세에 있다고 간주합니다.

둘째, 전략은 동력 의 개념을 도입했다. 즉, 현재 과 이전 의 개체 크기를 비교하여 시장 동력을 판단한다. 현재 의 개체가 이전 의 개체보다 커지면 더 강한 동력이 있다고 여겨진다.

구체적인 입력 신호 생성 논리는 다음과 같다:

  • 구매 신호: 마이너스 200 (상승 추세) 이상으로 마이너스 200 (상승 추세) 이상으로 마이너스 200 (상승 추세) 이상으로 마이너스 200 (상승 추세) 이상으로 마이너스 200 (상승 추세) 이상으로 마이너스 200 (상승 추세) 이상으로 마이너스 200 (상승 추세) 이상으로 마이너스 200 (상승 추세) 이상으로 마이너스 200 (상승 추세) 이상으로 마이너스 200 (상승 추세) 이상으로 마이너스 200 (상승 추세) 이상으로 마이너스 200 (상승 추세) 이상으로 마이너스 200 (상승 추세) 이상으로 마이너스 200 (상승 추세) 이상으로 마이너스 200 (상승 추세) 이상으로 마이너스 200 (상승 추세)
  • 팔기 신호: 마이너스 200 (하향 추세) 이하의 종결 가격과 현재 하향 운동량으로 (개시 가격보다 낮은 종결 가격과 현재 주체가 이전 주체보다 큰)

이 전략은 또한 중요한 위험 제어 메커니즘을 포함합니다. 새로운 입문 신호는 포지션이 아직 청산되지 않은 경우에만 실행되며, 반복적으로 포지션을 열 때 발생하는 과도한 위험 노출을 효과적으로 방지합니다.

스톱로스 및 스톱 스톱 설정은 파라미터를 통해 사용자 정의 할 수 있으며, 각각 50점과 100점을 기본으로 설정하여, 시장이 역으로 움직일 때 손실을 제한하고, 가격이 예상된 방향으로 움직일 때 수익을 잠금 할 수 있도록 도와줍니다.

전략적 이점

이 전략의 코드 구현을 심층적으로 분석하면 다음과 같은 몇 가지 분명한 장점을 요약할 수 있습니다.

  1. 트렌드 확인과 동력 결합:이 전략은 장기 트렌드 지표 ((MA200) 와 단기 동력 지표 (( 부피 비교)) 를 결합하여, 낮은 품질의 신호를 효과적으로 필터링하여, 트렌드 방향이 명확하고 충분한 동력이 있을 때만 진입한다.

  2. 반복 입학 방지 장치:현재 미완성 포지션이 있는지 확인함으로써, 전략은 이미 포지션이 있는 상태에서 계속 코딩하는 것을 피하고, 재무 위험을 효과적으로 제어한다.

  3. 유연한 위험 관리:사용자는 자신의 위험 선호에 따라 중지 및 중지 지점을 설정할 수 있으며, 또한 다른 거래 스타일에 적응하기 위해 중지 및 중지 기능을 완전히 종료 할 수 있습니다.

  4. 시각적 신호:전략은 시각화 된 구매 및 판매 신호 표시를 제공하여 거래자가 입시 지점을 직관적으로 식별할 수 있도록 해 전략의 사용성을 향상시킵니다.

  5. 변수 조정 가능:MA 주기, 손해 중지 지점 비트와 같은 핵심 매개 변수는 사용자 정의 할 수 있으며, 전략의 적응성을 강화합니다.

  6. 이 사진의 제목은 “미국”입니다.현재 엔티티가 이전 엔티티보다 크기를 요구함으로써, 전략은 가속동력있는 시장 움직임을 포착하는 데 초점을 맞추고, 신호 품질을 향상시킵니다.

전략적 위험

이 전략은 합리적으로 설계되었지만, 다음과 같은 잠재적인 위험들이 있습니다.

  1. 이동 평균의 뒤처짐:200기 이동 평균은 장기적인 경향 지표로서 명백한 지연성이 있으며, 트렌드 반전의 초기에는 여전히 오래된 경향과 일치하는 잘못된 신호가 발생할 수 있습니다. 해결책은 단기 이동 평균을 보조 확인 지표로 도입하는 것을 고려하는 것입니다.

  2. 고정 손실 리스크:전략은 고정 점수를 손실 설정으로 사용하고, 시장의 변동성에 대한 변화를 고려하지 않으며, 높은 변동성 기간에 조기 중단으로 이어질 수 있습니다. 개선 방향은 ATR (평균 실제 파도) 과 같은 동적 지표를 사용하여 손실 수준을 조정하는 것을 고려하는 것입니다.

  3. 단독 입학 조건:전략은 추세와 동력을 결합하지만, 입시 조건은 비교적 간단하며, 특정 시장 환경에서 과도한 가짜 신호를 일으킬 수 있습니다. 거래량 확인이나 다른 기술 지표의 보조 신호와 같은 추가 필터링 조건을 추가하는 것이 좋습니다.

  4. 시장 환경 인식 부족:전략은 서로 다른 시장 환경을 구분하지 않는다 (예: 흔들림 시장과 트렌드 시장) 그리고 시장의 종합에서 좋지 않은 성능을 발휘할 수 있다. 시장 환경 판단 논리를 추가하고, 다른 환경에서 전략 매개 변수를 조정하거나 거래를 중지하는 것을 고려할 수 있다.

  5. 재정 관리의 부진:전략은 고정된 포지션 비율을 설정하지만, 다른 거래의 승률이나 위험에 따라 포지션 크기를 조정하지 않습니다. 케일리 공식이나 고정 위험 모델과 같은 더 복잡한 자금 관리 알고리즘을 구현하는 것이 좋습니다.

전략 최적화 방향

위와 같은 분석을 바탕으로, 이 전략은 다음과 같은 방향으로 최적화될 수 있습니다.

  1. 다주기 분석을 소개합니다.현재 전략은 단일 시간 주기에서만 작동하며, 여러 주기 확인 메커니즘을 추가하는 것을 고려할 수 있습니다. 예를 들어, 일선과 4 시간 주기 경향이 일치하는 경우에만 포지션을 열면 신호 품질을 향상시킬 수 있습니다.

  2. 역동적인 손해 방지 장치:고정 점수 스톱을 ATR 기반의 동적 스톱으로 바꾸어 시장의 변동성에 더 잘 적응한다. 예를 들어, 스톱을 ATR의 2 배로 설정하여 낮은 변동기간에 스톱 범위를 축소하고 높은 변동기간에 스톱 범위를 확장 할 수 있다.

  3. 신호 필터를 추가합니다.추가적인 기술 지표의 도입을 확인으로, 예를 들어 RSI 과잉 구매 과잉 판매, MACD 기둥 도표 방향, 거래량 확인 등으로, 가짜 신호의 발생 가능성을 줄인다.

  4. 이동식 상쇄 기능을 추가합니다.트레일링 스톱 (Trailing Stop) 기능을 구현하여 가격이 유리한 방향으로 이동할 때 자동으로 스톱 위치를 조정하여 수익의 일부를 고정하고 가격에 충분한 호흡 공간을 제공합니다.

  5. 자금 관리의 최적화:거래당 리스크에 기반한 자금 관리를 구현합니다. 고정 리스크 모델처럼 ((각 거래의 리스크는 계좌 자금의 1%로 고정) 또는 신호 강도에 따라 위치 크기를 동적으로 조정합니다.

  6. 시장 상태 판단에 참여하세요:시장 환경 인식 모듈을 개발하여, 흔들리는 시장에서 거래를 중지하거나 더 보수적인 파라미터 설정으로 조정할 수 있습니다.

  7. 동량 판단 논리를 강화합니다.현재 동력의 판단은 단지 개체 크기의 간단한 비교에 기초하여, 연속 N 근 의 개체 변화 경향을 고려하는 것과 같이 더 복잡한 동력의 모델을 도입하는 것을 고려할 수 있다.

요약하다

이동 평균과 이동 양 트렌드 추적 시스템은 장기 트렌드 판단과 단기 동 분석을 결합한 거래 전략이다. 200주기 이동 평균을 통해 시장의 전반적인 트렌드 방향을 결정하고, 동시에 양 부피의 변화를 활용하여 역동적인 시장 움직임을 포착한다. 전략에는 반복 입출금 방지 메커니즘과 선택적 인 손실 중지 기능이 내장되어 있으며, 이는 좋은 위험 관리 의식을 나타낸다.

이 전략의 주요 장점은 간결하고 효과적인 신호 생성 논리, 그리고 동향과 동력의 이중 확인 요구 사항이 낮은 품질의 신호를 필터링하는 데 도움이된다는 것입니다. 그러나, 이 전략에는 이동 평균의 지연성 및 고정 스톱의 잠재적인 위험과 같은 몇 가지 제한이 있습니다.

이 전략은 다중 주기 분석, 동적 상쇄, 강화된 신호 필터링 및 최적화된 자금 관리와 같은 개선 조치를 도입함으로써 더욱 최적화될 수 있으며, 다양한 시장 환경에서 안정적인 성과와 수익성을 향상시킬 수 있다. 트렌드 추적 거래를 추구하는 투자자에게는 고려할 가치가 있는 기본 전략 프레임워크이며, 개인의 요구에 따라 사용자 정의 및 확장할 수 있다.

전략 소스 코드
/*backtest
start: 2024-04-16 00:00:00
end: 2025-04-15 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"TRX_USD"}]
*/

//@version=5
strategy("MA200 + Momentum Candle Strategy (No Duplicate Entry)", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// === Input
maLength = input.int(200, title="MA Period")
showSignals = input.bool(true, title="Tampilkan Sinyal")
useSLTP = input.bool(true, title="Gunakan SL/TP?")
slPips = input.int(50, title="Stop Loss (pips)")
tpPips = input.int(100, title="Take Profit (pips)")

// === Perhitungan MA dan candle body
ma200 = ta.sma(close, maLength)
prevBody = math.abs(close[1] - open[1])
currBody = math.abs(close - open)

// === Momentum candle logic
isBullishMomentum = close > open and currBody > prevBody
isBearishMomentum = close < open and currBody > prevBody

// === Syarat entry
isBuySignal = close > ma200 and isBullishMomentum
isSellSignal = close < ma200 and isBearishMomentum

// === SL/TP
pipSize = syminfo.mintick * 10
sl = slPips * pipSize
tp = tpPips * pipSize

// === Cek apakah ada posisi terbuka
noOpenTrade = strategy.opentrades == 0

// === Eksekusi entry jika belum ada posisi terbuka
if isBuySignal and noOpenTrade
    strategy.entry("Buy", strategy.long)
    if useSLTP
        strategy.exit("Exit Buy", from_entry="Buy", stop=close - sl, limit=close + tp)

if isSellSignal and noOpenTrade
    strategy.entry("Sell", strategy.short)
    if useSLTP
        strategy.exit("Exit Sell", from_entry="Sell", stop=close + sl, limit=close - tp)

// === Plot MA dan sinyal visual
plot(ma200, color=color.orange, title="MA 200")

plotshape(showSignals and isBuySignal and noOpenTrade, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="Buy")
plotshape(showSignals and isSellSignal and noOpenTrade, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="Sell")