이중 확인 반전 추세 추종 전략


생성 날짜: 2024-01-17 18:03:50 마지막으로 수정됨: 2024-01-17 18:03:50
복사: 0 클릭수: 593
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

이중 확인 반전 추세 추종 전략

개요

이중 확인 반전 트렌드 추적 전략은 123 형태 반전 전략과 지지 저항 지점 돌파 전략을 결합하여 가격 반전 신호의 이중 확인을 구현하여 일부 노이즈 거래 신호를 필터링하여 전략의 승률을 높입니다.

이 전략은 주로 중장선 거래에 적용된다. 이 전략은 가격이 역전 신호를 형성할 때, 동시에 중요한 지원 또는 저항 지점을 돌파했는지 검출하고, 이중 확인 후에 거래 신호를 생성한다.

전략 원칙

이중 확인 역전 추세 추적 전략은 두 부분으로 구성됩니다.

  1. 123 형태 역전 전략

앞의 두 K 선의 종결 가격을 비교하여 가격 반전이 발생했는지 판단한다. 그리고 무작위 지표와 결합하여 변동성을 판단하고, 잘못된 보고 기회를 필터링한다.

  1. 저항 지점 돌파 전략을 지원합니다.

1일 전의 최고 가격, 최저 가격, 그리고 종결 가격을 사용하여 지지점과 저항점을 계산한다. 가격이 이러한 핵심 지점을 돌파하는지 모니터링한다.

가격이 이 두 전략의 거래 신호를 동시에 충족시키면, 반전 신호가 두 번 확인되어 최종 거래 지시를 생성한다.

전략적 이점

  • 이중 신호 확인, 더 높은 신뢰성
  • 역전 추적, 전환 기회를 잡기
  • 무작위 지표 보조, 효과적인 필터링 가짜 돌파구

전략적 위험

  • 이중인증으로 인해 몇 가지 기회가 필터링됩니다.
  • 큰 흐름의 역전 실패 위험

매개 변수를 통해 최적화하여, 이중 확인의 엄격성을 조정하고, 전략의 승률과 수익 횟수를 균형을 잡을 수 있다.

전략 최적화

  • 스토카스틱 변수를 조정하고, 흔들림 필터를 최적화합니다.
  • 다른 일선 계산의 지지 저항 지점을 테스트
  • 더 많은 손실을 방지하고, 큰 추세에서 역전될 위험을 낮추는 전략

요약하다

이중 확인 반전 트렌드 추적 전략은 반전 형태와 핵심 지점의 돌파구를 성공적으로 결합하여 신호 품질을 향상시키는 동시에 거래 횟수를 보장하는 전략이며 중·장기 트렌드 거래에 적합한 전략입니다. 변수 조정 및 스톱 손실 전략의 추가는 전략의 안정성과 실용성을 더욱 향상시킬 수 있습니다.

전략 소스 코드
/*backtest
start: 2023-12-17 00:00:00
end: 2024-01-16 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 15/09/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
// The name ‘Floor-Trader Pivot,’ came from the fact that Pivot points can 
// be calculated quickly, on the fly using price data from the previous day 
// as an input. Although time-frames of less than a day can be used, Pivots are 
// commonly plotted on the Daily Chart; using price data from the previous day’s 
// trading activity. 
//
// 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


FPP() =>
    pos = 0
    xHigh  = security(syminfo.tickerid,"D", high[1])
    xLow   = security(syminfo.tickerid,"D", low[1])
    xClose = security(syminfo.tickerid,"D", close[1])
    vPP = (xHigh+xLow+xClose) / 3
    vR1 = (vPP * 2) - xLow
    vS1 = (vPP * 2) - xHigh
    pos := iff(close > vR1, 1,
             iff(close < vS1, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Floor Pivot Points", shorttitle="Combo", overlay = true)
Length = input(15, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posFPP = FPP()
pos = iff(posReversal123 == 1 and posFPP == 1 , 1,
	   iff(posReversal123 == -1 and posFPP == -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 )