디트렌디드 합성 가격을 기반으로 한 더블 이동 평균 거래 전략


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

개요

이 전략은 디트렌드 합성 가격 (Detrended Synthetic Price, DSP) 에 기반한 쌍평선 거래 전략이다. DSP는 실제 가격 지배 주기와 동기화 된 함수이며, 1/4주기 EMA를 1/2주기 EMA를 어 계산함으로써 얻는다. DSP가 궤도를 오르내리거나 아래로 오르내리면 일방 거래한다.

전략 원칙

  1. 가격을 계산한 1/2주기 HL 평균값 xHL2。

  2. xHL2의 1/4주기 EMA ((xEMA1) 와 1/2주기 EMA ((xEMA2) 를 길이 변수에 따라 계산한다.

  3. xEMA1 빼기 xEMA2을 계산하여 DSP의 동향 합성 가격을 얻는다.

  4. DSP 상의 로켓이 로켓에 올라갈 때 로켓을 더하고, 로켓이 로켓에 내려갈 때 로켓을 비워라 하는 상하 로켓 파라미터를 설정한다.

  5. 리버스 변수 스위치로 더 많은 공백 방향을 할 수 있다.

우위 분석

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

  1. DSP는 가격 지배적 순환을 포착하여 2차 순환의 오해를 피할 수 있다.

  2. 이중 EMA 설계는 주관 순환 변화를 효과적으로 추적한다.

  3. 이 트레이드들은 매우 간편하고, 과도한 거래가 없도록 만들어졌습니다.

  4. 다양한 시장 환경에 적응하기 위해 여러 방향의 공백을 편리하게 전환 할 수 있습니다.

  5. 복잡한 매개 변수 최적화가 필요없고, 간단하고 실용적입니다.

위험 분석

이 전략의 주요 위험은 다음과 같습니다.

  1. DSP 주기가 잘못 설정되어 있고, 주류 순환을 놓칠 수 있다.

  2. 위아래의 궤도 폭을 최적화해야 하며, 그렇지 않으면 너무 자주 거래될 수 있다.

  3. 고정 주기 설계, 급격한 변화 시장에 대한 적응력이 떨어진다.

  4. DSP 거래만 기반으로 하면, 시장의 흔들림으로 인해 반복되는 교차 착각에 빠질 수 있습니다.

  5. 하지만, 이 경우에도, 그 위험은 매우 크다.

최적화 방향

이 전략은 다음과 같은 방향으로 최적화될 수 있습니다.

  1. 최적화 변수, 최적의 주기 변수 조합을 찾는다.

  2. 변동율에 기반한 동적 상하 레일 설정이 추가되었다.

  3. 트렌드, 변동률 지표와 함께 필터링을 통해 가짜 신호를 줄여줍니다.

  4. 이동 상쇄 또는 추적 상쇄를 추가하여 위험을 제어하십시오.

  5. 다중 품종 파라미터 조정, 보편성을 평가한다.

  6. 기계 학습 알고리즘을 추가하여 DSP 사이클의 적응 최적화를 구현한다.

요약하다

이 전략은 전체적으로 매우 간결하고 실용적인 양평선 거래 전략이다. 이 전략은 합리적인 주기적 분석에 기초하여, DSP를 통해 지배적 순환을 효과적으로 추적한다. 매개 변수 최적화, 손해 중지 장치, 필터 조건 등의 측면에서 개선하면, 보다 신뢰할 수 있는 정량화 거래 전략이 될 수 있다.

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

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 20/03/2017
// Detrended Synthetic Price is a function that is in phase with the 
// dominant cycle of real price data. This DSP is computed by subtracting 
// a half-cycle exponential moving average (EMA) from the quarter cycle 
// exponential moving average.
// See "MESA and Trading Market Cycles" by John Ehlers pages 64 - 70. 
//
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="D_DSP (Detrended Synthetic Price)", shorttitle="D_DSP")
Length = input(14, minval=1)
SellBand = input(25)
BuyBand = input(-25)
reverse = input(false, title="Trade reverse")
hline(0, color=blue, linestyle=line)
hline(SellBand, color=red, linestyle=line)
hline(BuyBand, color=green, linestyle=line)
xHL2 = hl2
xEMA1 = ema(xHL2, Length)
xEMA2 = ema(xHL2, 2 * Length)
xEMA1_EMA2 = xEMA1 - xEMA2
pos = iff(xEMA1_EMA2 > SellBand, 1,
	     iff(xEMA1_EMA2 < BuyBand, -1, nz(pos[1], 0))) 
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)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(xEMA1_EMA2, color=blue, title="D_DSP")