이중 역전 추적 전략

저자:차오장, 날짜: 2023-12-01 15:36:34
태그:

img

전반적인 설명

이중 역전 추적 전략은 가격의 이중 역전 지점을 추적하여 거래 신호를 생성합니다. 가격이 새로운 고점을 형성 할 때 짧은 지점을 열고 가격이 새로운 낮은 지점을 형성 할 때 긴 지점을 열 것입니다. 가격 역전의 실시간 추적은 시장 동력의 변화를 적시에 파악 할 수 있습니다.

전략 논리

이중 반전 추적 전략은 높은 구매 반전 패턴 (HHS) 과 낮은 판매 반전 패턴 (LLB) 을 포함한 두 가지 패턴 판단을 사용하여 거래 신호를 생성합니다. 판단 공식은 다음과 같습니다.

  1. HHS 패턴: 가까운[0] < 가까운[1] 그리고 높은[0] > 높은[1]
  2. LLB 패턴: 근[0] > 근[1] 및 낮[0] < 낮[1]

위 조건이 충족되면 HHS와 LLB의 바 인덱스와 가격이 각각 기록됩니다. 그 후 전략은 가격이 기록된 반전 가격을 깨는지 실시간으로 모니터링합니다. 가격이 HHS 반전 고점을 깨면 가격 패턴이 하락 추세로 뒤집어졌음을 나타내고 전략이 짧은 지위를 열 것입니다. 반대로 가격이 LLB 반전 낮은 지점을 깨면 가격 패턴이 상승 추세로 뒤집어졌음을 나타내고 전략이 긴 지위를 열 것입니다. 이러한 방식으로, 이중 반전 추적 전략은 가격 반전 기회를 동적으로 포착 할 수 있습니다.

전략이 실행될 때, HHS, LLB 패턴 및 브레이크아웃 상황을 표시 및 배경 색상을 통해 시각적으로 표시할 것입니다. 이것은 시장 조건을 직관적으로 판단하고 전략을 검증하는 데 매우 유용합니다. 요약하자면, 이중 역전 추적 전략은 가격 역전 지점을 동적으로 추적하여 거래를 실현하여 가격 역전 기회를 효과적으로 포착 할 수 있습니다.

이점 분석

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

  1. 가격 반전을 실시간으로 추적하면 시장 반전 기회를 빠르게 파악 할 수 있습니다. 이동 평균 및 다른 기술적 지표를 추적하는 다른 전략과 비교하면이 전략은 더 민첩한 반응을 가지고 있습니다.

  2. 그것은 가격 역전 기능에서 너무 많은 매개 변수를 최적화하지 않고 직접 거래 신호를 생성합니다. 구현은 간단하고 간단합니다.

  3. 패턴과 브레이크아웃의 표시는 전략 운영 시각화를 가능하게 하며, 전략 성과 검증을 매우 쉽게 합니다.

  4. 전략의 코드 베이스는 작고 이해하기 쉽고 사용자 정의 할 수 있습니다. 그것은 학습을위한 입문 양적 거래 전략으로 사용될 수 있습니다.

요약하자면, 단순하지만, 이중 반전 추적 전략은 가격 반전을 효과적으로 포착 할 수 있으며 신속한 반전 전략으로 사용 할 가치가 있습니다.

위험 분석

이중 반전 추적 전략은 또한 몇 가지 위험을 가지고 있습니다. 주로:

  1. 가격 반전 판단은 단일 포인트 정보에 의존하며, 잘못된 판단의 확률이 높습니다. 가격 파업 후 유효한 추적 문턱을 설정함으로써 잘못된 판단의 확률을 줄일 수 있습니다.

  2. 주요 트렌드를 고려하지 않으며, 주요 상승 트렌드 중에 여전히 잘못된 짧은 신호를 생성 할 수 있습니다. 이러한 위험을 피하기 위해 트렌드 필터링을 도입 할 수 있습니다.

  3. 단일 거래 손실을 제어하는 스톱 로스 메커니즘은 없습니다. 적당한 스톱 로스 전략은 허용 가능한 수준으로 손실을 제어하기 위해 라이브 거래에 설정해야합니다.

  4. 백테스트 데이터는 최적화 편차를 가질 수 있으며 라이브 성능은 백테스트보다 떨어질 수 있습니다. 라이브 검증이 중요합니다.

일반적으로, 빠른 추적 역전 전략으로서, 이 전략은 간단한 구현을 가지고 있지만 또한 잘못된 판단의 어느 정도 가능성을 가지고 있습니다. 트렌드 필터링, 스톱 로스 및 기타 모듈을 도입함으로써 위험은 효과적으로 감소하여 안정적이고 신뢰할 수있는 라이브 거래 전략이 될 수 있습니다.

개선 영역

잘못된 판단의 확률을 줄이고 안정성을 향상시키기 위해 전략은 다음 측면으로 향상될 수 있습니다.

  1. 효율적인 브레이크아웃 검증을 추가합니다. 예를 들어 포지션을 열기 전에 가격이 반전점을 몇 퍼센트로 깨도록 요구하는 것과 같은 것입니다.

  2. 주요 트렌드 판단 모듈을 추가하여 주요 상승 트렌드 중에 잘못된 짧은 신호를 피할 수 있습니다. 이동 평균 지표가 트렌드를 결정하는 데 사용될 수 있습니다.

  3. 특정 한계 내에서 단일 거래 손실을 제어하기 위해 후속 스톱 손실 및 구역 스톱 손실과 같은 스톱 손실 전략을 실행하십시오.

  4. 포지션 사이즈 알고리즘을 최적화하여 시장 변동성에 따라 포지션 크기를 조정하여 높은 변동성 환경에서 단일 포지션 크기를 줄이십시오.

  5. 실시간 데이터의 더 긴 시간 프레임을 테스트하여 매개 변수 안정성을 평가하고 여러 라운드 최적화 반복을 수행합니다.

위의 측면을 통해 조정을 통해 이 전략의 실시간 성능과 안정성에 상당한 개선이 이루어질 수 있습니다.

결론

이중 리버설 추적 전략은 가격 리버설 포인트를 실시간 모니터링함으로써 리버설 기회를 포착한다. 간단한 논리, 간편한 실행을 가지고 있으며, 리버설 트렌드를 따라 빠르게 포지션을 열 수 있다. 그러나 잘못된 판단의 가능성도 있다. 트렌드 필터링, 스톱 로스 전략 및 매개 변수 최적화를 도입함으로써, 잘못된 판단 위험을 효과적으로 줄여 라이브 트레이딩에 안정적이고 효율적인 전략으로 만들 수 있다. 특히 빠른 추적 리버설 전략으로 적합하다.


/*backtest
start: 2023-10-31 00:00:00
end: 2023-11-30 00:00:00
period: 6h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title="Rev. FO", shorttitle="Rev. FO", overlay=true, pyramiding=0,calc_on_order_fills=true,calc_on_every_tick=true,default_qty_type=strategy.percent_of_equity,default_qty_value=50,initial_capital=1000,currency="USD",commission_type=strategy.commission.percent,commission_value=0.2,process_orders_on_close=false)

HHS = close[0] < close[1] and high[0] > high[1]
LLB = close[0] > close[1] and low[0] < low[1]

var trade_long = false
var text_status = "Awaiting Trade..."
var index_hhs = 0
var index_llb = 0
var price_hhs = 0.0
var price_llb = 0.0

if (HHS)
    trade_long := false
    text_status := "Trade in Short"
    index_hhs := bar_index
    price_hhs := high
if (LLB)
    trade_long := true
    text_status := "Trade in Long"
    index_llb := bar_index
    price_llb := low

plotshape(HHS, style=shape.labeldown, title="HHS", location=location.abovebar, color=color.red, text="HHS", textcolor=color.white,size=size.tiny)
plotshape(LLB, style=shape.labelup, title="LLB", location=location.belowbar, color=color.white, text="LLB", textcolor=color.white,size=size.tiny)

// HHS_top = line.new(index_hhs-1,price_hhs,bar_index,price_hhs,extend=extend.right,style=line.style_solid,width=1,color=color.red)
// LLB_bot = line.new(index_llb-1,price_llb,bar_index,price_llb,extend=extend.right,style=line.style_solid,width=1,color=color.white)
// line.delete(HHS_top[1])
// line.delete(LLB_bot[1])

//Calculates how far the signal is painted to right. 
hours = 5
lapos_x = timenow+1000*60*60*hours
lapos_y = highest(20)

// lb = label.new(lapos_x, lapos_y, text=text_status,color=trade_long?color.white:color.red,xloc = xloc.bar_time,style=label.style_diamond,textcolor=trade_long?color.white:color.red,size=size.small)
// label.delete(lb[1])

breakout_hhs = crossover(high,price_hhs)
breakout_llb = crossunder(low,price_llb)

bgcolor(breakout_hhs?color.lime:na,transp=50,title="BO HHS")
bgcolor(breakout_llb?color.maroon:na,transp=50,title="BO LLB")

long_condition = breakout_hhs
long_close = close < price_hhs or breakout_llb
short_condition = breakout_llb
short_close = close > price_llb or breakout_hhs

strategy.entry(id="long",long=true,comment="L",when=long_condition)
strategy.close(id="long",when=long_close)
strategy.entry(id="short",long=false,comment="S",when=short_condition)
strategy.close(id="short",when=short_close)



더 많은