이동평균선 교차 동적 손절매 및 손절매 전략

EMA MA RR
생성 날짜: 2024-09-26 14:47:09 마지막으로 수정됨: 2024-09-26 14:47:09
복사: 7 클릭수: 525
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

이동평균선 교차 동적 손절매 및 손절매 전략

개요

이동 평균 교차 동적 중지 손실 전략은 기술 분석에 기반한 정량 거래 방법이며, 주로 단기 및 장기 이동 평균의 교차를 사용하여 시장 추세를 식별하고 거래합니다. 이 전략은 이동 평균 교차, 동적 중지 손실 및 고정 위험 수익률과 같은 여러 핵심 요소를 결합하여 시장 추세를 포착하면서 위험을 효과적으로 제어합니다.

전략의 핵심 아이디어는 단기 이동 평균 (EMA) 과 장기 이동 평균 (EMA) 의 상대적인 위치 변화를 관찰하여 시장 추세의 전환을 판단하는 것입니다. 단기 EMA가 아래에서 장기 EMA를 통과하면 다중 신호로 간주되며, 반대로 단기 EMA가 위에서 장기 EMA를 통과하면 마이너스 신호로 간주됩니다. 전략의 신뢰성과 수익성을 높이기 위해 전략은 동적 중지 장치와 고정된 위험 이득 비율을 도입했습니다.

전략 원칙

  1. 이동 평균의 크로스:

    • 9주기 및 21주기 지수 이동 평균을 이용한 EMA
    • 9주기 EMA 위에 21주기 EMA를 뚫을 때, 다중 신호가 생성된다.
    • 9주기 EMA 아래에서 21주기 EMA를 뚫을 때, 공백 신호를 생성한다
  2. 입력 논리:

    • 이동 평균의 교차를 확인한 후 즉시 입점
    • 현재 시장 가격으로 입점할 때
    • 현재 시장 가격으로 입점합니다.
  3. 손해 방지 설정:

    • 동적 중지 메커니즘
    • 더 많이 할 때, 최근 5 주기의 최저치로 스톱로스를 설정합니다.
    • 공백을 할 때, 최근 5주기의 최고치로 스톱로드를 설정합니다.
  4. 수익 목표:

    • 고정 위험 수익률 (RR) 은 1:3입니다
    • 이윤을 얻기 위한 목표값 = 입시 가격 + (입시 가격 - 중지 가격) * 3
    • 이윤 목표 = 입시 가격 - (정지 가격 - 입시 가격) * 3
  5. 포지션 관리:

    • 매번 거래 신호가 발생하면 기존 역전 포지션을 평행합니다 (만약 있다면)
    • 매 거래마다 새로운 포지션이 열립니다.
  6. 손실 추적:

    • 수익을 고정하고 시장의 변동에 적응하기 위해 추적 중지 장치를 도입합니다.
    • 트래킹 스톱 손실의 오차량은 입력 파라미터를 통해 조정할 수 있습니다.

전략적 이점

  1. 트렌드 추적 능력: 이동 평균의 교차를 사용하여, 전략은 시장 추세의 변화를 효과적으로 포착하여 거래자가 큰 추세에 따라 거래 할 수 있도록합니다. 이 방법은 거래자가 수평선이나 흔들리는 시장에서 자주 거래하는 것을 피하도록 도와서 불필요한 손실을 줄일 수 있습니다.

  2. 위험 관리: 전략은 역동적인 중지 메커니즘을 채택하고, 가장 가까운 변동 극치에 중지 지점을 설정합니다.이 방법은 시장의 실제 변동 상황에 따라 중지 위치를 조정할 수 있으며, 위험을 효과적으로 제어 할 수 있으며, 시장의 변동에 의해 너무 일찍 흔들리지 않습니다.

  3. 수익을 극대화하기 위해: 1: 3의 리스크 수익 비율을 설정함으로써, 전략은 위험을 통제하면서도 각 거래에 대해 높은 수익 목표를 설정합니다. 이 방법은 승률이 높지 않더라도 충분한 거래 횟수만 있으면 전체적인 수익을 얻을 수 있습니다.

  4. 적응력: 전략은 상대적으로 일반적인 기술 지표와 거래 원칙을 사용하여 다른 시장과 시간 주기에도 적용할 수 있습니다. 이동 평균의 주기 및 기타 매개 변수를 조정하여 거래자는 자신의 거래 스타일과 목표 시장에 따라 전략을 최적화 할 수 있습니다.

  5. 자동화 가능성은: 전략의 논리는 명확하고, 프로그래밍이 쉽고, 강력한 자동화 잠재력을 가지고 있습니다. 이것은 인간의 감정적 인 방해를 제거 할뿐만 아니라 7*24시간 시장 감시와 거래 집행.

  6. “이런 일이 벌어질 수 있습니다. 도입된 추적 중지 메커니즘은 전략이 시장이 지속적으로 우호적인 방향으로 발전할 때 더 많은 이익을 잠금 할 수있게 해 주며, 시장이 역전될 때 적시에 중단되는 것은 전략의 수익성과 위험 관리 수준을 크게 향상시킵니다.

전략적 위험

  1. 가짜 해킹 위험: 흔들리는 시장에서, 이동 평균은 자주 교차할 수 있으며, 이로 인해 많은 가짜 신호가 발생한다. 이것은 계정 자금을 소모하는 소액 손실의 일련의 결과를 초래할 수 있다. 해결 방법: 트렌드 강도 지표 또는 거래량 확인과 같은 추가 필터링 조건을 도입하는 것이 잘못된 신호의 영향을 줄일 수 있습니다.

  2. 지연 위험: 이동 평균은 본질적으로 뒤처진 지표이며, 트렌드가 종말에 가까워질 때 신호를 줄 수 있으며, 이로 인해 늦은 진입 또는 대부분의 거래가 빠질 수 있습니다. 해결 방법: 더 짧은 주기의 이동 평균을 사용하거나 다른 선도적 지표와 결합하여 진출 시간을 최적화 할 수 있습니다.

  3. 이 사진의 제목은 “미국”입니다. 주요 뉴스 또는 블랙 스 사건이 발생하면 시장이 급격히 상승하여 중단 효과가 사라지고 예상 이상의 손실이 발생할 수 있습니다. 해결 방법: 최대 손실 제한을 설정하고, 옵션과 같은 파생 상품을 사용하여 꼬리 위험을 차단하는 것이 좋습니다.

  4. 과도한 거래 위험: 일부 시장 조건에서, 전략은 과도한 거래 신호를 생성하여 거래 비용을 증가시키고 과도한 거래로 이어질 수 있습니다. 해결 방법: 거래 간격 제한을 설정하거나, 거래 빈도를 줄이기 위해 신호 확인 메커니즘을 추가할 수 있습니다.

  5. 변수 감수성 위험: 전략의 성능은 선택된 이동 평균 주기 및 다른 변수에 매우 민감할 수 있으며, 변수의 미세한 변화는 재검토 결과에서 눈에 띄는 차이를 초래할 수 있다. 해결 방법: 다양한 시장 조건에서 안정적인 성능을 발휘할 수 있는 파라미터 조합을 찾기 위해 광범위한 파라미터 최적화 및 안정성 테스트를 수행하는 것이 좋습니다.

  6. 시장 환경의 변화 위험: 전략은 트렌드 시장에서 더 잘 작동할 수 있지만, 간격적인 흔들림이나 높은 변동률 환경에서 더 잘 작동하지 않을 수 있습니다. 해결 방법: 시장 환경 식별 메커니즘을 도입하는 것을 고려하고, 다른 시장 상태에서 다른 거래 전략이나 파라미터 설정을 사용합니다.

전략 최적화 방향

  1. 트래픽 분석을 소개합니다. 거래량 지표를 전략에 포함시키는 것은 가격 움직임의 유효성을 확인하는 데 도움이 될 수 있습니다. 예를 들어, 이동 평균이 교차 할 때 거래량이 동시에 증가하도록 요구할 수 있습니다.

  2. 트렌드 강도 필터링: ADX (평균 트렌드 지표) 와 같은 트렌드 강도 지표를 도입하여 트렌드가 충분히 강할 때만 거래를 수행하십시오. 이것은 가로 위 또는 약한 트렌드 시장에서 과도한 거래를 피하고 전략의 전반적인 승률을 높이는 데 도움이 될 수 있습니다.

  3. 손해 방지 방법을 최적화합니다. ATR을 사용하여 동적 스톱로드를 설정하는 것을 고려하십시오. 이것은 스톱로드를 시장의 실제 변동 상황에 더 잘 적응시킬 수 있습니다. ATR은 시장의 변동성에 기반한 객관적인 척도를 제공하여 스톱로드 설정을 더 유연하고 효과적으로 할 수 있습니다.

  4. 시간 필터링: 다양한 시기의 시장 특성을 분석하여 최적의 거래 시간에 전략을 실행하십시오. 이것은 금융 시장이 다양한 시기의 변동성과 유동성 등의 다른 특성을 나타낼 수 있기 때문입니다.

  5. 기본 요소를 포함합니다. 순수 기술 분석을 기반으로 경제 데이터 발표, 중앙 은행 정책 변화 등과 같은 몇 가지 기본 요소를 도입하는 것을 고려하십시오. 이것은 중요한 사건이 발생하기 전과 후에 전략이 더 현명한 결정을 내릴 수 있도록 도와줍니다.

  6. 동적 변수 조정: 최근 시장 상황에 따라 전략 변수를 조정할 수 있는 메커니즘을 개발한다. 이것은 기계 학습 알고리즘을 통해 실현될 수 있으며, 이는 전략이 변화하는 시장 환경에 더 잘 적응할 수 있도록 한다.

  7. 다중 시간 프레임 분석을 추가합니다. 현재 시간 프레임에 기초하여 더 긴 시간 프레임에 대한 분석을 추가하십시오. 예를 들어, 일선 시스템에서 주파수 트렌드에 대한 고려를 추가하십시오. 이것은 거래 방향이 더 큰 시장 추세와 일치하는지 확인할 수 있습니다.

  8. 포지션 관리를 최적화: 더 복잡한 포지션 관리 전략, 예를 들어 계좌의 이익과 손실, 시장의 변동성 또는 신호의 강도에 따라 거래 규모를 동적으로 조정하는 것을 구현하십시오. 이것은 위험을 통제할 수 있도록하는 동시에 잠재적인 수익을 극대화하는 데 도움이 될 수 있습니다.

요약하다

이동 평균 교차 동적 스톱 스톱 스로드는 여러 정교한 기술 분석 개념을 결합한 정량 거래 시스템이다. 이동 평균 교차를 통해 시장 추세를 포착하고, 동적 스톱 스로드와 고정 위험 수익 비율을 사용하여 위험과 수익을 관리하며, 시장 변동에 적응하기 위해 손실을 추적하는 스톱 스로드를 도입한다. 이 전략은 시장 추세를 포착하면서 위험을 효과적으로 제어하고 잠재적인 수익을 극대화하기 위해 설계되었다.

전략의 주요 장점은 트렌드 추적 능력, 엄격한 위험 제어, 명확한 수익 목표 설정 및 강력한 적응성 및 자동화 잠재력입니다. 그러나, 그것은 또한 가짜 돌파구, 지연, 대폭 폭파와 같은 잠재적인 위험에 직면합니다. 이러한 도전에 대응하고 전략의 성능을 더욱 향상시키기 위해, 우리는 거래량 분석을 도입하고, 트렌드 강도를 높이고, 스톱을 최적화하고, 시간 필터를 구현하고, 기본 요소를 포함하고, 동적 매개 변수를 조정하고, 다중 시간 프레임 분석을 추가하고, 포지션 관리를 최적화하는 등 여러 가지 최적화 방향을 제시했습니다.

전체적으로, 이 전략은 거래자에게 체계적이고, 측정 가능한 거래 방법을 제공하며, 다양한 시장 조건에서 안정적인 성과를 낼 수 있습니다. 그러나, 모든 거래 전략과 마찬가지로, 모든 것을 다룰 수 없습니다. 이 전략을 사용할 때, 거래자는 그 원칙을 충분히 이해하고, 잠재적인 위험을 인식하고, 자신의 위험 용량과 투자 목표에 따라 필요한 조정과 최적화를해야합니다.

전략 소스 코드
/*backtest
start: 2019-12-23 08:00:00
end: 2024-09-24 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("RAMZY CRYPTO-KING", overlay=true)

// Input for moving averages
shortMA = input(9, title="Short EMA Period")
longMA = input(21, title="Long EMA Period")
trailOffset = input(0, title="Trailing Drawdown Offset")

// Calculate moving averages
shortEMA = ta.ema(close, shortMA)
longEMA = ta.ema(close, longMA)

// Plot moving averages
plot(shortEMA, color=color.blue, title="Short EMA")
plot(longEMA, color=color.red, title="Long EMA")

// Identify recent swing high and low
swingHigh = ta.highest(high, 5)
swingLow = ta.lowest(low, 5)

// Buy condition: EMA crossover
longCondition = ta.crossover(shortEMA, longEMA)
if (longCondition)
    strategy.close("Short")  // Close any existing short position
    stopLoss = swingLow  // At swing low
    takeProfit = close + (3 * (close - stopLoss))  // 1:3 RR
    strategy.entry("Long", strategy.long)
    strategy.exit("TP/SL", "Long", limit=takeProfit, stop=stopLoss, trail_offset=trailOffset)

// Sell condition: EMA crossover
shortCondition = ta.crossunder(shortEMA, longEMA)
if (shortCondition)
    strategy.close("Long")  // Close any existing long position
    stopLoss = swingHigh  // At swing high
    takeProfit = close - (3 * (stopLoss - close))  // 1:3 RR
    strategy.entry("Short", strategy.short)
    strategy.exit("TP/SL", "Short", limit=takeProfit, stop=stopLoss, trail_offset=trailOffset)

// Debugging Labels
if (longCondition)
    label.new(bar_index, high, "Buy", style=label.style_label_down, color=color.green, textcolor=color.white)

if (shortCondition)
    label.new(bar_index, low, "Sell", style=label.style_label_up, color=color.red, textcolor=color.white)