고급 이중 이동 평균 모멘텀 추세 추종 거래 시스템

SMA MA EMD
생성 날짜: 2024-11-27 16:54:54 마지막으로 수정됨: 2024-11-27 16:54:54
복사: 0 클릭수: 381
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

고급 이중 이동 평균 모멘텀 추세 추종 거래 시스템

이 전략은 양평선 시스템을 기반으로 한 동적 트렌드 추적 전략으로, 빠른 평균선과 느린 평균선의 교차 신호를 결합하고, 필터링 된 평균선을 도입하여 진입 시기를 최적화하고, 자금 관리 및 위험 통제를 통해 안정적인 거래 효과를 달성합니다.

전략 원칙

전략은 11주기 및 31주기 간단한 이동 평균 ((SMA) 을 주요 신호 시스템으로 채택하고, 5주기 평균선을 필터로 사용한다. 빠른 선 ((SMA11) 에 느린 선 ((SMA31)) 을 통과하고 가격이 필터 평균선 위에 있을 때, 시스템은 여러 신호를 생성한다. 빠른 선 아래에 느린 선을 통과할 때, 시스템은 평소한다. 전략은 고정된 자본량을 설정하여 각 거래의 규모를 제어하여, 위험 관리를 실현한다.

전략적 이점

  1. 신호 시스템은 간단하고 명확하며 이해하기 쉽고 실행이 가능합니다.
  2. 다수의 평균선 확인, 가짜 신호를 효과적으로 필터링하는 방법
  3. 일정한 금액으로 거래하고, 위험을 조절할 수 있습니다.
  4. 좋은 트렌드 추적 능력
  5. 출전과 출전 논리가 명확하고, 의사결정 망설임이 없도록 한다.
  6. 다양한 시장 환경에 적응할 수 있습니다.

전략적 위험

  1. 시장의 흔들림으로 인해 거래가 빈번해질 수 있습니다.
  2. 평균선 시스템은 다소 뒤떨어져 있습니다.
  3. 고정자금 거래는 자금 효율성을 충분히 활용하지 못할 수 있습니다.
  4. 시장의 변동률에 대한 고려 없이
  5. “지상 제약 장치가 없어서 철수 위험이 더 커질 수 있다”

전략 최적화 방향

  1. 시장의 변동에 따라 동적으로 조정하는 적응형 평균주기를 도입합니다.
  2. 변동율 필터를 추가하여 높은 변동율 환경에서 포지션을 조정합니다.
  3. 동적인 자금 관리 시스템을 설계하여 자금 사용 효율성을 높여라
  4. 단편 거래 위험을 제어하기 위해 스톱 및 스톱 메커니즘을 추가합니다.
  5. 트렌드 강도 지표 도입을 고려하고 진입 시기를 최적화하십시오.
  6. 거래 시간 필터를 추가하여 불리한 시간에 거래하는 것을 피하십시오.

요약하다

이 전략은 다중 평평선 시스템을 통해 비교적 안정적인 트렌드 추적 시스템을 구축한다. 일부 고유 한 한계가 있지만, 합리적인 최적화 및 개선으로 전략의 안정성과 수익성을 더욱 향상시킬 수 있다. 상인은 실장 적용 시 시장의 특정 상황에 따라 파라미터를 타겟 조정하는 것이 좋습니다.

전략 소스 코드
/*backtest
start: 2024-10-01 00:00:00
end: 2024-10-31 23:59:59
period: 3h
basePeriod: 3h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5

strategy('Nifty 30m SMA Crossover Long', overlay=true)

start = timestamp(2020, 1, 1, 0, 0)
end = timestamp(2024, 12, 31, 0, 0)

SlowSma = ta.sma(close, 31)
FastSma = ta.sma(close, 11)
FilterSma = ta.sma(close, 5)

plot(SlowSma, title='Sma 31', color=color.new(color.green, 0))
plot(FastSma, title='Sma 11', color=color.new(color.red, 0))
plot(FilterSma, title='Filter Sma 5', color=color.new(color.black, 0))

// strategy 
LongEntry = FastSma > SlowSma and close > FilterSma
LongExit = FastSma < SlowSma

MyQty = 10000000 / close

// // Plot signals to chart
// plotshape(not LongExit and strategy.position_size > 0 and bIndicator, title='Hold', location=location.abovebar, color=color.new(color.blue, 0), style=shape.square, text='Hold', textcolor=color.new(color.blue, 0))
// plotshape(LongExit and bIndicator and strategy.position_size > 0, title='Exit', location=location.belowbar, color=color.new(color.red, 0), style=shape.triangledown, text='Sell', textcolor=color.new(color.red, 0))
// plotshape(LongEntry and strategy.position_size == 0 and bIndicator, '', shape.arrowup, location.abovebar, color.new(color.green, 0), text='Buy', textcolor=color.new(color.green, 0))
// plotshape(not LongEntry and strategy.position_size == 0 and bIndicator, '', shape.circle, location.belowbar, color.new(color.yellow, 0), text='Wait', textcolor=color.new(color.black, 0))


if time >= start and time < end
    strategy.entry('Enter Long', strategy.long, qty=1, when=LongEntry)
    strategy.close('Enter Long', when=LongExit)