이동평균 볼린저 밴드 퓨전 트레이딩 전략


생성 날짜: 2023-09-18 16:08:43 마지막으로 수정됨: 2023-09-18 16:08:43
복사: 0 클릭수: 683
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

개요

이 전략은 이동 평균과 부린 밴드의 조합을 통해 이중 지표 검증 신호를 사용하여 트렌드를 판단하고 거래한다. 전략은 빠른 및 느린 이동 평균의 금 포크를 더하고, 죽은 포크를 공백으로 이용한다. 동시에 부린 밴드의 경로를 돌파하는 것은 보조 검증 신호로 전략의 안정성을 높인다.

전략 원칙

빠른 선과 느린 선의 이동 평균을 계산하고, 빠른 선이 느린 선을 통과할 때 다중 신호를 생성하고, 하단 선이 공백 신호를 생성한다. 부린 대역의 상단 및 하단 신호를 동시에 계산한다. 가격이 동시에 부린 대역의 상단 또는 하단 궤도를 돌파할 때만 이동 평균의 거래 신호를 확인한다. 이렇게 하면 가짜 돌파가 걸리지 않도록 한다.

우위 분석

  • 이중 메커니즘 검증, 가짜 신호를 피하기
  • 이동 평균은 주요 트렌드 방향을 판단합니다.
  • 브린 벨트 보조 확인 돌파 질
  • 동시에 더 많은 일을 할 수 있고, 다양한 상황에 대해 유연하게 대처할 수 있습니다.

위험 분석

  • 이동 평균과 브린 밴드 모두 지연되어 있습니다.
  • 이중 조건은 거래 빈도를 제한하고, 고주파 거래에는 적합하지 않습니다.
  • 트렌드 전환점을 정확히 판단할 수 없습니다.
  • 잘못된 매개 변수 설정으로 거래 기회를 놓칠 수 있습니다.

평균과 브린 벨트 주기를 적절히 줄일 수 있고, 위험을 제어하기 위해 파라미터 조합을 최적화할 수 있다.

최적화 방향

  • 급속도로 평균선과 브린 띠의 다른 변수 조합을 테스트합니다.
  • 손실을 조절하는 전략에 대해 생각해보세요.
  • 이중 검증을 최적화하는 논리 규칙
  • 다양한 품종에서 테스트 파라미터 강도

요약하다

이 전략은 이중 지표 검증 신호를 통합하여 가짜 신호를 줄일 수 있으며, 중·장기 라인 보유에 적합하다. 매개 변수 최적화 등으로 더 나은 효과를 얻을 수 있다.

전략 소스 코드
/*backtest
start: 2023-08-18 00:00:00
end: 2023-09-17 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("MA-Zorrillo",overlay=true)

ma_short= sma(close,8)
ma_long= sma(close,89)

entry_ma = crossover (ma_short,ma_long)
exit_ma = crossunder (ma_short,ma_long) 


BBlength = input(24, minval=1,title="Bollinger Period Length")
BBmult = 2 // input(2.0, minval=0.001, maxval=50,title="Bollinger Bands Standard Deviation")
BBbasis = sma(close, BBlength)
BBdev = BBmult * stdev(close, BBlength)
BBupper = BBbasis + BBdev
BBlower = BBbasis - BBdev

source = close
entry_bb = crossover(source, BBlower)
exit_bb = crossunder(source, BBupper)


vs_entry = false
vs_exit = false
for i = 0 to 63
    if (entry_bb[i])
        vs_entry :=  true
    if (exit_bb[i])
        vs_exit :=  true
        

entry = entry_ma and vs_entry
exit =  exit_ma and vs_exit

strategy.entry(id="long_ma",long=true,when=entry)
strategy.close(id="long_ma", when=exit)

strategy.entry(id="short_ma",long=false,when=exit)
strategy.close(id="short_ma",when=entry)