유동평균에 기반한 트렌드를 따르는 전략

저자:차오장, 날짜: 2023-10-31 14:00:47
태그:

img

전반적인 설명

이중 이동 평균 크로스오버 전략은 이동 평균에 기반한 트렌드를 따르는 전략이다. 이 전략은 다른 기간의 이동 평균을 계산하고 크로스오버를 식별함으로써 거래 신호를 생성한다. 이 전략은 신호를 형성하기 위해 빠른 이동 평균과 느린 이동 평균을 사용합니다. 빠른 MA가 느린 MA 위에 넘어가면 상승 입장을 취하고 구매합니다. 빠른 MA가 느린 MA 아래에 넘어가면 하향 입장을 취하고 판매합니다.

전략 논리

이 전략은 주로 MA 크로스오버에 의존하여 거래 신호를 생성합니다. 구체적으로 다음 단계를 포함합니다.

  1. 빠른 MA와 느린 MA를 계산합니다. 빠른 MA 기간은 10, 느린 MA 기간은 50입니다.

  2. MA 관계를 식별한다. 빠른 MA가 느린 MA를 넘을 때 구매 신호가 생성된다. 빠른 MA가 느린 MA를 넘을 때 판매 신호가 생성된다.

  3. 구매 및 판매 신호를 발행합니다. 구매 신호가 발생했을 때 긴 이동합니다. 판매 신호가 발생했을 때 짧은 이동합니다.

  4. 스톱 로스를 설정하고 이윤을 취합니다. 무역에 들어가면 입력 비율에 따라 스톱 로스를 설정하고 리스크를 관리하기 위해 이윤을 취하십시오.

이 전략은 다른 시간 프레임에서 가격 트렌드 변화를 비교하여 시장이 현재 상승 추세 또는 하락 추세인지 결정합니다. 이것은 전형적인 트렌드 추종 전략입니다. MAs는 시장 소음을 필터링하고 더 신뢰할 수있는 거래 신호를 생성합니다.

장점

  • 중장기 동향을 효과적으로 포착합니다.

  • 간단하고 명확한 크로스오버 신호를 구현하기 쉽습니다.

  • 매개 변수 최적화를 위해 빠르고 느린 기간을 사용자 정의 할 수 있습니다.

  • 스톱 로스를 통해 개별 거래에서 손실을 제한합니다.

위험성

  • 시장에서 과잉 거래가 가능해

  • MAs는 지연이 있고 단기적인 기회를 놓칠 수 있습니다.

  • 급격한 추락 소식과 같은 갑작스러운 사건을 고려하지 않습니다.

  • 리스크 관리 메커니즘이 없어서 리스크 허용 이상으로 손실을 초래할 수 있습니다.

위험 관리:

  1. 매개 변동 기간을 최적화하여 통합 중 잘못된 신호를 줄이십시오.

  2. MA 지연을 해결하기 위해 필터로 다른 지표를 추가합니다.

  3. 뉴스 분석을 위한 보충제

  4. 손실을 제한하기 위해 스톱 로즈와 포지션 사이즈를 구현합니다.

개선

  • 채널과 패턴과 같은 다른 분석 도구와 결합하여 신호 품질을 향상시킵니다.

  • 가장 좋은 조합을 찾기 위해 빠르고 느린 MA 매개 변수를 최적화하십시오. 빠른 MA를 위해 10-30 일과 느린 MA를 위해 20-120 일 종종 잘 작동합니다.

  • 포지션 사이징 규칙을 추가합니다. 고정 분수 포지션 사이징은 트렌드에서 이익을 향상시킬 수 있습니다.

  • 주요 하락 소식에 따라 거래를 중단하는 것과 같은 갑작스러운 사건을 처리하기 위해 논리를 포함합니다.

  • 백테스트 및 종이 거래 성과를 평가하고 시스템을 지속적으로 개선하기 위해

요약

이중 이동 평균 크로스오버 전략은 빠른 MA 크로스오버와 느린 MA 크로스오버를 비교하여 트렌드 방향을 파악합니다. 이것은 간단하고 실용적인 트렌드 추후 접근법입니다. 효과적이지만 매개 변수 조정, 필터 추가 및 기타 도구 통합과 같은 최적화로 해결할 수있는 몇 가지 한계가 있습니다. 적절한 위험 통제와 함께이 전략은 좋은 수익을 얻을 수 있습니다.


/*backtest
start: 2023-09-30 00:00:00
end: 2023-10-30 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Simple Moving Average Crossover", overlay=true)

// Input parameters
fast_length = input(10, title="Fast MA Length")
slow_length = input(50, title="Slow MA Length")
stop_loss_pct = input(1, title="Stop Loss Percentage", minval=0, maxval=5) / 100

// Calculate moving averages
fast_ma = sma(close, fast_length)
slow_ma = sma(close, slow_length)

// Plot moving averages
plot(fast_ma, color=color.blue, title="Fast MA")
plot(slow_ma, color=color.red, title="Slow MA")

// Strategy logic
long_condition = crossover(fast_ma, slow_ma)
short_condition = crossunder(fast_ma, slow_ma)

// Execute trades
if (long_condition)
    strategy.entry("Long", strategy.long)

if (short_condition)
    strategy.entry("Short", strategy.short)

// Set stop loss
long_stop_price = close * (1 - stop_loss_pct)
short_stop_price = close * (1 + stop_loss_pct)

strategy.exit("Stop Loss/Profit", from_entry="Long", stop=long_stop_price)
strategy.exit("Stop Loss/Profit", from_entry="Short", stop=short_stop_price)


더 많은