모멘텀 이동 평균 교차 양적 전략


생성 날짜: 2024-01-26 11:39:26 마지막으로 수정됨: 2024-01-26 11:39:26
복사: 0 클릭수: 587
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

모멘텀 이동 평균 교차 양적 전략

개요

이 전략은 이동 평균과 거래량이라는 두 가지 핵심 기술 지표를 결합하여, 장점과 단점의 입점과 퇴출 규칙을 설계하여 완전한 양적 거래 전략을 형성한다.

전략 원칙

주요 지표

  1. 이동 평균: 빠른 이동 평균 ((파란 선) 과 느린 이동 평균 ((붉은 선)
  2. 거래량: 24시간 거래량 (紫色) 과 7일 평균 거래량 (線)

정책 조건

장점 입점 조건:

  1. 빠른 이동 평균을 통해 천천히 이동 평균을 가로질러
  2. 24시간 거래량이 7일 평균 거래량의 50% 이하

단기 입점 조건:
빠르게 움직이는 평균 아래로 천천히 움직이는 평균을 가로질러

입국과 퇴출

“이봐, 이봐, 이봐.장점 입시 조건을 충족할 때 더 많이 한다.

단기 입점:단위 입점 조건을 만족할 때 공백

정지 및 손실: 더 많은 일을 한 후의 중지 위치와 중지 위치를 표시합니다

우위 분석

  1. 가격 지표와 거래량 지표를 결합하여 가짜 돌파구를 피하십시오.
  2. 명확한 출입 및 출입 규칙
  3. 제압장치로 위험을 통제할 수 있습니다.

위험 분석

  1. 이중 일률 전략은 빈번한 거래를 유도합니다.
  2. 거래량 데이터 품질은 보장되지 않습니다.
  3. 매개 변수 최적화 과잉 최적화 위험

개선 방법:

  1. 평균선 변수를 적절하게 조정하여 거래 빈도를 줄이십시오.
  2. 더 많은 데이터 소스 검증과 함께 양적 신호
  3. 과잉 최적화를 방지하기 위한 엄격한 재검토

최적화 방향

  1. 다른 지표 필터링 신호를 추가
  2. 동적으로 조정된 스톱 스톱 손실
  3. 다중 시간 프레임 분석, 안정성 향상

요약하다

이 전략은 이동 평균 지표와 거래량 지표를 통합하여 쌍 확인 메커니즘을 통해 완전한 양적 거래 전략을 설계했습니다. 입시 조건이 명확하고, 스톱 로즈가 있고, 간단하게 작동 할 수 있는 장점이 있습니다. 또한 쌍 평행 전략의 빈번한 거래 문제를 방지하고, 거래량 데이터 품질에 관심을 기울이고, 파라미터의 과도한 최적화를 방지합니다.

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

//@version=5
strategy("MA and Volume Strategy", overlay=true)

// Input parameters
fastLength = input(9, title="Fast MA Length")
slowLength = input(21, title="Slow MA Length")
volumePercentageThreshold = input(50, title="Volume Percentage Threshold")

// Calculate moving averages
fastMA = ta.sma(close, fastLength)
slowMA = ta.sma(close, slowLength)

// Calculate 24-hour volume and weekly volume average
dailyVolume = request.security(syminfo.tickerid, "D", volume)
weeklyVolumeAvg = ta.sma(request.security(syminfo.tickerid, "W", volume), 7)

// Strategy conditions
longCondition = ta.crossover(fastMA, slowMA) and dailyVolume < (weeklyVolumeAvg * volumePercentageThreshold / 100)
shortCondition = ta.crossunder(fastMA, slowMA)

// Set take profit and stop loss levels
takeProfitLong = close * 1.50
stopLossLong = close * 0.90

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

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

// Plot 24-hour volume and weekly volume average
plot(dailyVolume, color=color.purple, title="24-Hour Volume", transp=0)
plot(weeklyVolumeAvg, color=color.orange, title="Weekly Volume Average")

// Plot entry signals
plotshape(series=longCondition, title="Buy Signal", color=color.green, style=shape.triangleup, size=size.small)
plotshape(series=shortCondition, title="Sell Signal", color=color.red, style=shape.triangledown, size=size.small)

// Plot take profit and stop loss levels only when a valid trade is active
plotshape(series=longCondition, title="Take Profit Long", color=color.green, style=shape.triangleup, size=size.small)
plotshape(series=longCondition, title="Stop Loss Long", color=color.red, style=shape.triangledown, size=size.small)