더블 이동 평균 교차 전략


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

더블 이동 평균 교차 전략

개요

이중 이동 평균 크로스 전략은 일반적인 양적 거래 전략이다. 그것은 빠른 이동 평균과 느린 이동 평균의 크로스를 구매 및 판매 신호로 사용합니다. 빠른 이동 평균이 아래에서 느린 이동 평균을 통과하면 구매 신호가 발생하고 빠른 이동 평균이 위에서 아래로 느린 이동 평균을 통과하면 판매 신호가 발생한다.

전략 원칙

이 전략의 핵심 논리는 두 개의 이동 평균을 계산하는 것입니다. 하나는 10 일 파라미터의 빠른 이동 평균이고, 다른 하나는 30 일 파라미터의 느린 이동 평균입니다. 빠른 이동 평균은 가격 변화에 더 빨리 반응하며, 느린 이동 평균은 장기 추세를 더 잘 나타냅니다. 빠른 이동 평균 위에 느린 이동 평균을 통과하면 단기 가격이 장기 추세를 돌파하기 시작하면 금 포크 신호에 속하며, 구매합니다.

이 전략은 동시에 중지 및 중지 메커니즘을 설정한다. 중지 손실은 구매 가격의 일정한 비율보다 낮은 가격으로 설정되어 중지됩니다. 중지 중지 가격의 일정한 비율보다 높은 가격으로 설정되어 중지됩니다.

우위 분석

이중 이동 평균 교차 전략은 다음과 같은 장점이 있다:

  1. 이 아이디어는 간단하고, 이해하기 쉽고, 실행할 수 있습니다.

  2. 시장에 맞게 사용자 정의 가능한 속속 평균 변수;

  3. 손실을 제한할 수 있는 Stop Loss과 Stop Stop 설정을 포함하고 있습니다.

  4. 트렌드 시티와 지역 시티에서 좋은 효과를 얻을 수 있다.

위험 분석

이중 이동 평균의 크로스 전략에는 다음과 같은 위험도 있습니다.

  1. 이중 평균선 교차로 신호를 생성할 때, 거짓으로 돌파될 수 있고, 손실 위험이 있다.

  2. 잘못된 스톱로스 및 스톱 매개 변수 설정으로 인해 과도한 손실이 발생할 수 있으며 예상 수익이 감소할 수 있습니다.

  3. 기술적인 지표에 의존하고 기본적인 요소를 고려하지 않습니다.

대응방법:

  1. 다른 기술 지표와 함께 신호를 필터링합니다.

  2. 테스트 및 최적화 손해 차단 매개 변수;

  3. 기본적 분석과 함께

최적화 방향

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

  1. 다른 변수들의 평균 조합을 테스트하여 최적의 변수를 찾습니다.

  2. 가격확인 지표를 늘리고 가짜 돌파구를 피하십시오.

  3. “이런 식으로, 우리는 ‘파괴’를 ‘파괴’로 바꾸고, ‘파괴’를 ‘파괴’로 바꾸고,

  4. 거래량 변화, 거래량 변화 등의 지표와 함께 최적화하십시오.

요약하다

쌍 이동 평균 교차 전략은 전체적으로 간단하고 실용적인 양적 거래 전략이다. 그것은 이해하기 쉽고 구현할 수 있으며, 안정적인 수익을 얻을 수 있으며, 대부분의 시장 환경에 적용된다. 매개 변수를 최적화하고, 신호 필터링과 동적 스톱을 추가함으로써, 이 전략을 더 신뢰할 수 있고 수익을 올릴 수 있다.

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

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

// Define input parameters
fast_length = input(10, title="Fast MA Length")
slow_length = input(30, title="Slow MA Length")
stop_loss_percent = input(1.0, title="Stop Loss (%)", minval=0.1, maxval=10, step=0.1)
take_profit_percent = input(2.0, title="Take Profit (%)", minval=0.1, maxval=10, step=0.1)

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

// Entry conditions
long_condition = crossover(fast_ma, slow_ma)
short_condition = crossunder(fast_ma, slow_ma)

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

// Strategy orders
strategy.entry("Long", strategy.long, when=long_condition)
strategy.entry("Short", strategy.short, when=short_condition)

// Set stop loss and take profit levels
stop_loss_price = close * (1 - stop_loss_percent / 100)
take_profit_price = close * (1 + take_profit_percent / 100)
strategy.exit("Take Profit/Stop Loss", from_entry="Long", stop=stop_loss_price, limit=take_profit_price)
strategy.exit("Take Profit/Stop Loss", from_entry="Short", stop=take_profit_price, limit=stop_loss_price)