이동 회전 프로필을 기반으로 한 변동성 밴드 브레이크아웃 전략


생성 날짜: 2023-09-19 13:29:51 마지막으로 수정됨: 2023-09-19 13:29:51
복사: 0 클릭수: 626
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

개요

이 전략은 파동 반지 지표에 기초하여, 이동 전환 윤곽을 도입하여 잠재적인 트렌드 브레이크 지점을 찾습니다. 그것은 앞으로 움직이는 파동 반지를 계산하여, 가격이 앞으로 움직이는 파동 반지를 뚫을 때 거래 신호를 냅니다. 이 전략은 파동 반지의 강력한 트렌드 식별 능력과 이동 전환 윤곽이 제공하는 조기 경고 기능을 결합하여 더 효과적인 입점 지점을 발견하기 위해 고안되었습니다.

전략 원칙

  1. 일반 파동대의 중간선, 상선, 하선 계산
  2. 파동역의 중선, 상선, 하선 전향으로 일정 주기 이동
  3. 가격이 아래에서 위로 넘어가면 구매 신호를 발산합니다.
  4. 가격이 상향에서 하향으로 내려가면 판매 신호를 발송합니다.
  5. 진입 후 역동적인 진동선을 이용한 중지 위치

우위 분석

  1. 모바일 변동 지표는 트렌드 전환을 더 일찍 감지할 수 있는 조기 경고를 제공합니다.
  2. 파동대 지표 자체의 트렌드 식별 능력과 결합하여 신호의 정확도를 향상시킵니다.
  3. 미리 스톱 포지션을 설정하여 위험을 효과적으로 제어합니다.
  4. 트렌드와 파동을 결합하여 포지션을 구축할 수 있습니다.

위험 분석

  1. 잘못 설정된 파라미터가 너무 많은 오류 신호를 유발할 수 있습니다.
  2. 이동 회전 윤곽은 Preis를 뚫고 중간 정지상태를 형성할 수 있다
  3. 추세 판단을 더 많이 접목하여 불안한 시장에서 벗어나야 합니다.
  4. 이 모든 것은, 우리가 지금 이 순간의 변화를 완전히 파악할 수 없는 지연의 현상입니다.

최적화 방향

  1. 다른 가격 데이터와 변수 조합을 테스트합니다.
  2. 추가적인 필터링 조건을 추가하여 가짜 돌파구를 방지합니다.
  3. 트렌드 지표와 함께 큰 방향을 결정하고, 속임수를 피하십시오.
  4. 시장에 따라 중단량을 조정하는 손실 전략을 최적화하십시오.
  5. 다른 종과 다른 주기에 대한 실험
  6. 다른 지표와 결합하여 더 정확한 입점 위치를 찾을 수 있습니다.

요약하다

이 전략은 파동대 자체의 장점을 최대한 활용하고, 이동 전환 모형을 통해 입점의 시간 효율을 향상시킵니다. 최적화된 파라미터 조합, 추가된 필터링 조건, 그리고 추세 상황을 추가적으로 고려하는 것을 기반으로, 이 전략은 더 강력한 브레이크 시스템이 될 수 있습니다. 전체적으로 이 전략은 간단하고 실용적이며, 더 나은 피드백과 실장 결과를 얻기 위해 추가 테스트 및 최적화를 할 가치가 있습니다.

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

//@version=4
strategy("LAGging span leaves Bollinger Bands strategy" , shorttitle="LagBB" , overlay=true)
source = input( hl2 )
length = input(20, minval=1)
mult = input( 1.0, minval=0.0, maxval=50)
x_offset = input( 26 ,minval=0 , maxval=244 )

basis = sma(source, length)
dev = mult * stdev(source, length)
upper = basis + dev
lower = basis - dev
buyEntry = crossover(source, upper[x_offset] )
sellEntry = crossunder(source, lower[x_offset] )
if (crossover(source, upper[x_offset] ))
    strategy.entry("LE", strategy.long, stop=lower, oca_name="BollingerBands",  comment="LE")
else
    strategy.cancel(id="LE")
if (crossunder(source, lower[x_offset] ))
    strategy.entry("SE", strategy.short, stop=upper, oca_name="BollingerBands",  comment="SE")
else
    strategy.cancel(id="SE")
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)
plot( upper , color=#cccc00 , transp=50 , offset=x_offset )
plot( basis , color=#cccc00 , offset=x_offset )
plot( lower , color=#cccc00 , transp=50 , offset=x_offset )