이중 지표 가벼운 반전 거래 전략

저자:차오장, 날짜: 2023-10-17 15:45:09
태그:

img

전반적인 설명

이중 지표 가벼운 반전 거래 전략은 단기 거래를 위해 동력과 트렌드 추종 지표를 결합합니다. 이 전략은 먼저 반전 지표를 사용하여 거래 신호를 생성하고 더 신뢰할 수있는 신호를 생성하기 위해 트렌드 추종 지표와 결합합니다. 중장기 트렌드의 맥락에서 단기 가격 반전을 포착하는 것을 목표로합니다.

원칙

이 전략은 두 가지 하위 전략으로 구성됩니다.

첫 번째는 123 리버스 전략이다. 피크 리버스 패턴이 발생하는지 모니터링합니다. 구체적으로, 이전 두 날의 종료 가격이 하락하고 현재 종료 가격이 이전 종료 가격보다 높고 스토카스틱 슬로우 라인이 50 이하인 경우 긴 신호를 생성합니다.

두 번째는 에르고딕 지표 (Ergodic indicator) 이다. 이는 중장기 트렌드의 방향을 파악하는 트렌드 추종 지표이다. 이 지표는 이동 평균과 MACD의 아이디어를 통합하여 단일 기하급수적인 평형 이동 평균과 MACD의 빠르고 느린 라인 크로스오버를 사용하여 거래 신호를 생성한다.

이 전략은 두 가지 하위 전략의 신호를 결합합니다. 두 가지 하위 전략이 일관된 신호를 생성 할 때만 위치를 열 것입니다. 즉, 중장기 트렌드와 함께 단기적 경미한 반전이있을 때만 거래됩니다.

장점

  • 여러 지표를 결합하면 잘못된 신호를 효과적으로 필터링하고 신뢰성을 향상시킬 수 있습니다.

  • 역전과 트렌드 추종을 결합하면 단기적인 기회를 제공하며 트렌드 반대 거래를 피합니다.

  • 스토카스틱 매개 변수 설정은 윙사브를 줄이기 위해 상당히 강력합니다.

  • 에르고딕 지표의 평형 매개 변수는 추세를 더 잘 식별하기 위해 합리적으로 설정됩니다.

  • 거래 빈도는 적당하고, 과도한 거래 없이 적절한 기회를 포착합니다.

  • 유연한 시간 프레임으로 중장기 거래에 적합합니다.

위험성

  • 반전 신호는 잘못된 신호를 생성할 수 있으며 트렌드 지표로부터 검증이 필요합니다.

  • 거래 빈도가 낮기 때문에 단기적인 기회를 놓칠 수도 있습니다.

  • 회전 후 회전이 발생할 수 있고, 적시에 스톱 로스를 요구할 수 있습니다.

  • 부적절한 매개 변수 설정은 결과에 상당한 영향을 줄 수 있습니다.

  • 기술 지표에 너무 의존하면 과도하게 적응할 위험이 있습니다.

강화

  • 하위 전략을 최적화하기 위해 다른 매개 변수 설정을 테스트합니다.

  • 더 많은 지표를 도입하여 다중 요소 모델을 구축합니다.

  • 동적 매개 변수 최적화를 위해 기계 학습을 적용합니다.

  • 위험을 통제하기 위해 다른 스톱 로스 방법을 연구하십시오.

  • 기회 비용을 연구하고 전략 거래 빈도를 조정합니다.

  • 다양한 시장 체제에서 전략의 견고성을 테스트합니다.

결론

이중 지표 가벼운 반전 거래 전략은 반전 및 트렌드 추종 지표의 조합을 사용하여 중장기 시간 프레임에서 단기 반전 기회를 포착하려고 시도합니다. 이는 잘못된 신호를 효과적으로 필터링하고 어느 정도 위험을 제어 할 수 있습니다. 그러나 단기 기회의 누락, 매개 변수 민감성 및 과도한 위험과 같은 문제가 남아 있습니다. 더 많은 지표를 통합하고 매개 변수를 최적화하고 거래 빈도를 조정하고 시장을 통해 테스트함으로써 안정성과 수익성을 더욱 향상시킬 수 있습니다. 전반적으로 전략은 탐색하고 적용할 가치가있는 간단하고 실용적인 수치적 접근 방식을 나타냅니다.


/*backtest
start: 2023-10-09 00:00:00
end: 2023-10-16 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 28/07/2020
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The 
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close 
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. 
// The strategy sells at market, if close price is lower than the previous close price 
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// This is one of the techniques described by William Blau in his book "Momentum,
// Direction and Divergence" (1995). If you like to learn more, we advise you to
// read this book. His book focuses on three key aspects of trading: momentum, 
// direction and divergence. Blau, who was an electrical engineer before becoming 
// a trader, thoroughly examines the relationship between price and momentum in 
// step-by-step examples. From this grounding, he then looks at the deficiencies 
// in other oscillators and introduces some innovative techniques, including a 
// fresh twist on Stochastics. On directional issues, he analyzes the intricacies 
// of ADX and offers a unique approach to help define trending and non-trending periods. 
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
    vFast = sma(stoch(close, high, low, Length), KSmoothing) 
    vSlow = sma(vFast, DLength)
    pos = 0.0
    pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
	         iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) 
	pos


EMDI(r,s,u,SmthLen) =>
    pos = 0
    xEMA = ema(close, r)
    xEMA_S = close - xEMA
    xEMA_U = ema(ema(xEMA_S, s), u)
    xSignal = ema(xEMA_U, u)
    pos := iff(xEMA_U > xSignal, 1,
    	     iff(xEMA_U < xSignal, -1, nz(pos[1], 0)))
    pos

strategy(title="Combo Backtest 123 Reversal & Ergodic MDI", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
r = input(32, minval=1)
s = input(5, minval=1)
u = input(5, minval=1)
SmthLen = input(3, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posEMDI = EMDI(r,s,u,SmthLen)
pos = iff(posReversal123 == 1 and posEMDI == 1 , 1,
	   iff(posReversal123 == -1 and posEMDI == -1, -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)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )

더 많은