적응형 가격 영역 반전 거래 전략


생성 날짜: 2023-12-13 16:33:33 마지막으로 수정됨: 2023-12-13 16:33:33
복사: 0 클릭수: 653
avatar of ChaoZhang ChaoZhang
1
집중하다
1621
수행원

적응형 가격 영역 반전 거래 전략

전략 개요

이 정책은적응형 가격 영역 반전 거래 전략이 전략은 적응 가격 영역 (Adaptive Price Zone, APZ) 지표를 사용하여 가격 영역을 식별하고, 그 영역을 뚫면 거래 신호를 발생시킵니다. APZ 지표는 쌍 지수 이동 평균과 변동률 계산에 기초하여, 가격 영역의 경계를 밟습니다. 가격이 지역 경계를 뚫었을 때, 가격이 반전 될 수 있음을 나타냅니다.

이 전략은 주로 충격적인 상황, 특히 상환 상황에 적용된다. 그것은 하루 단선 거래 또는 자동 거래 시스템의 일부로 사용될 수 있으며, 모든 거래 가능한 자산에 적용된다. 전반적으로, 이 전략은 APZ 지표가 제공하는 보조 판단을 사용하여 가격 지역 경계 근처에서 역전 거래한다.

2. 전략 원칙

이 정책은 APZ 지표를 사용하여 가격 지역을 판단합니다. 구체적인 계산 방법은 다음과 같습니다.

  1. 최근 n주기 (기본 20주기) 의 최고 가격과 최저 가격의 차이를 xHL로 계산
  2. 이진 지수 이동 평균을 사용하여 평준화 후의 폐장값 xVal1과 xHL의 평준화 값 xVal2을 계산합니다. 계산 주기 제곱근 후의 정수 ((20의 제곱근은 4를 수 있습니다.)
  3. xVal1 + nBandPct * xVal2
  4. xVal1 - nBandPct * xVal2

이렇게 얻은 상하 궤도는 적응 가격 영역을 구성한다. 가격이 이 영역을 돌파하면 거래 신호가 발생한다. 돌파 신호 판단 규칙은 다음과 같다:

  1. 가격이 하락할 때 더 많은 신호를 보내라.
  2. 가격이 상행선보다 높을 때, 공백 신호를 둡니다.

또한, 이 전략은 역거래 스위치 파라미터 reverse를 제공합니다. 역거래를 열고, 상술한 규칙과 달리 더 많은 코카이징을 한다.

종합적으로, 이 전략은 APZ 지표를 사용하여 적응된 가격 영역을 판단하고, 가격이 지역 경계를 돌파했을 때 반전 거래 신호를 발생시킵니다.

세, 전략적 장점 분석

이 전략은 다음과 같은 장점을 가지고 있습니다.

  1. APZ 지표를 사용하여 가격 영역을 조정할 수 있으며, 인위적으로 지원 저항 지점을 설정하는 것을 피합니다.
  2. 가격 지역 경계를 뚫고 반전 거래, 단기 가격 조정 기회를 잡기
  3. 역거래 매개 변수를 사용하여 하향 거래가 가능합니다.
  4. 거래 빈도가 높아서 더 많은 단선 기회를 잡을 수 있습니다.
  5. 유연하게 위험 관리와 함께

4 전략적 위험 분석

이 전략에는 다음과 같은 몇 가지 측면에 초점을 맞춘 몇 가지 위험도 있습니다.

  1. APZ 파라미터를 잘못 설정하면 가격 반전의 기회를 놓칠 수 있습니다.
  2. 이번 지진으로 인해 여러 개의 가짜 돌파구가 발생할 가능성이 높습니다.
  3. 손해배상 전략의 부재로 인해 큰 손실이 발생할 수 있습니다.

대응방법은 다음과 같습니다.

  1. APZ 변수를 조정하여 적절한 평준화 주기를 찾습니다.
  2. 다른 지표와 함께 필터링 가짜 돌파구
  3. 단편 손실을 제어하기 위해 이동 상쇄를 늘립니다.

다섯째, 전략적 최적화

이 정책은 다음과 같은 부분에서 최적화될 수 있습니다.

  1. 하위권 구매, 상위권 매각을 결정하는 변동성 지표와 함께
  2. 대량 방출과 같은 범위를 돌파하는 강도 조건을 증가시킵니다.
  3. 특정 시간대에만 거래되는 미국시장
  4. 동선 시스템과 결합하여 대시장 트렌드 방향을 결정한다
  5. 가격 진입 구역을 설정하여 무용지물 거래를 피하십시오.

VI. 결론

이 전략은 전반적으로 단선 반전 전략에 속하며, APZ 지표를 통해 가격 영역을 포착하고, 영역 경계 근처에서 반전 거래를 한다. 전략의 장점은 거래 빈도가 높고, 더 많은 단선 기회를 포착할 수 있으며, 가격 영역을 조정할 수 있다. 그러나 특정 가짜 돌파의 위험이 있지만, 다른 도구를 사용하여 최적화를 해야 한다.

전략 소스 코드
/*backtest
start: 2023-12-05 00:00:00
end: 2023-12-11 08:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 15/01/2020
//
// The adaptive price zone (APZ) is a volatility-based technical indicator that helps investors 
// identify possible market turning points, which can be especially useful in a sideways-moving 
// market. It was created by technical analyst Lee Leibfarth in the article “Identify the 
// Turning Point: Trading With An Adaptive Price Zone,” which appeared in the September 2006 issue 
// of the journal Technical Analysis of Stocks and Commodities.
// This indicator attempts to signal significant price movements by using a set of bands based on 
// short-term, double-smoothed exponential moving averages that lag only slightly behind price changes. 
// It can help short-term investors and day traders profit in volatile markets by signaling price 
// reversal points, which can indicate potentially lucrative times to buy or sell. The APZ can be 
// implemented as part of an automated trading system and can be applied to the charts of all tradeable assets.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////

strategy(title="Adaptive Price Zone Backtest", shorttitle="APZ", overlay = true)
nPeriods = input(20, minval=1)
nBandPct = input(2, minval=0)
reverse = input(false, title="Trade reverse")
xHL = high - low
nP = ceil(sqrt(nPeriods))
xVal1 = ema(ema(close,nP), nP)
xVal2 = ema(ema(xHL,nP), nP)
UpBand = nBandPct * xVal2 + xVal1
DnBand = xVal1 - nBandPct * xVal2
pos = 0
pos := iff(low < DnBand , 1,
	   iff(high > UpBand, -1, pos[1])) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1 , 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )