리소스 로딩... 로딩...

다파동 트렌드 교차 위험 관리 수량 전략

저자:차오장, 날짜: 2024-12-13 10:51:31
태그:EMASMA

img

전반적인 설명

이 전략은 웨이브 트렌드 지표에 기반을 둔 양적 거래 시스템이며, 동적 리스크 관리 메커니즘을 통합합니다. 전략은 가격 변동을 통해 트렌드 강도를 계산하고, 과잉 구매 및 과잉 판매 지역의 신호를 필터하고, 스톱 로스, 취득 및 트레일링 스톱 메커니즘을 포함한 리스크 제어 조치를 적용합니다.

전략 원칙

이 전략의 핵심은 HLC3 가격을 사용하여 웨이브 트렌드 지표를 계산하는 데 있다. 먼저 n 1 기간 기하급수적 이동 평균 (EMA) 을 기본 라인으로 계산하고, 그 다음 이 기본 라인에서 가격 오차를 계산하여 0,015 계수로 정상화한다. 이것은 각각 빠른 라인과 느린 라인을 나타내는 wt1 및 wt2 두 개의 파도 라인을 생성한다. 이러한 라인을 기반으로 거래 신호가 생성되며 과소매와 과소매 수준을 넘어서며 다층 리스크 제어 시스템과 결합된다.

전략적 장점

  1. 신호 시스템은 두 가지 과잉 구매/ 과잉 판매 수준을 통해 향상된 신뢰성으로 우수한 트렌드 추적 능력을 보여줍니다.
  2. 일정한 스톱 로스, 취리 및 동적 트레일 스톱을 포함한 포괄적 인 리스크 관리 시스템
  3. 다양한 시장 조건에 최적화를 위해 매우 조정 가능한 매개 변수
  4. 변동성 적응 메커니즘을 통합하여 적응력을 향상시킵니다.
  5. 계층화된 신호 시스템 설계는 거짓 신호의 영향을 효과적으로 줄여줍니다.

전략 위험

  1. 매우 변동적인 시장에서 자주 스톱 로스가 발생할 수 있습니다.
  2. 부적절한 매개 변수 설정은 과도한 거래 비용으로 이어질 수 있습니다
  3. 다양한 시장에서 과도한 잘못된 신호를 생성 할 수 있습니다.
  4. 리스크/이익 균형을 유지하기 위해 스톱 로스 및 취리 리포트 비율을 신중하게 조정해야 합니다.
  5. 트래일링 스톱은 급격한 시장 전환 시 상당한 마감으로 이어질 수 있습니다.

최적화 방향

  1. 거래 신뢰성을 높이기 위해 신호 확인을 위한 부피 지표를 포함
  2. 다양한 시장 조건에 더 잘 적응하기 위해 후속 중지 매개 변수를 최적화
  3. 트렌드 강도 필터를 추가하여 다양한 시장에서 거래 빈도를 줄이십시오.
  4. 시장 변동성에 따라 자동으로 조정되는 동적 스톱 로스 메커니즘을 구현하는 것을 고려하십시오.
  5. 불리한 거래 기간 동안 포지션에 진입하는 것을 피하기 위해 시간 필터를 도입하십시오.

요약

이 전략은 웨이브트렌드 지표와 강력한 리스크 관리 시스템을 결합하여 포괄적인 양적 거래 접근 방식을 달성합니다. 이 전략의 핵심 강점은 적응력과 통제 된 리스크 노출에 있습니다. 그러나 거래자는 실제 시장 조건에 따라 매개 변수를 최적화하고 전략을 개선해야합니다. 지속적인 최적화와 정제로 인해이 전략은 실제 거래 환경에서 안정적인 수익을 달성하는 것을 약속합니다.


/*backtest
start: 2024-11-12 00:00:00
end: 2024-12-11 08:00:00
period: 3h
basePeriod: 3h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(title="WaveTrend [LazyBear] with Risk Management", shorttitle="WT_LB_RM", overlay=true)

// Input Parameters
n1 = input.int(10, "Channel Length")
n2 = input.int(21, "Average Length")
obLevel1 = input.int(60, "Over Bought Level 1")
obLevel2 = input.int(53, "Over Bought Level 2")
osLevel1 = input.int(-60, "Over Sold Level 1")
osLevel2 = input.int(-53, "Over Sold Level 2")

// Risk Management Inputs
stopLossPercent = input.float(50.0, "Stop Loss (%)", minval=0.1, maxval=100)
takeProfitPercent = input.float(5.0, "Take Profit (%)", minval=0.1, maxval=100)
trailingStopPercent = input.float(3.0, "Trailing Stop (%)", minval=0.1, maxval=100)
trailingStepPercent = input.float(2.0, "Trailing Stop Step (%)", minval=0.1, maxval=100)

// WaveTrend Calculation
ap = hlc3 
esa = ta.ema(ap, n1)
d = ta.ema(math.abs(ap - esa), n1)
ci = (ap - esa) / (0.015 * d)
tci = ta.ema(ci, n2)
 
wt1 = tci
wt2 = ta.sma(wt1, 4)

// Plotting Original Indicators
plot(0, color=color.gray)
plot(obLevel1, color=color.red)
plot(osLevel1, color=color.green)
plot(obLevel2, color=color.red, style=plot.style_line)
plot(osLevel2, color=color.green, style=plot.style_line)

plot(wt1, color=color.green)
plot(wt2, color=color.red, style=plot.style_line)
plot(wt1-wt2, color=color.blue, style=plot.style_area, transp=80)

// Buy and Sell Signals with Risk Management
longCondition = ta.crossover(wt1, osLevel1) or ta.crossover(wt1, osLevel2)
shortCondition = ta.crossunder(wt1, obLevel1) or ta.crossunder(wt1, obLevel2)

// Strategy Entry with Risk Management
if (longCondition)
    entryPrice = close
    stopLossPrice = entryPrice * (1 - stopLossPercent/100)
    takeProfitPrice = entryPrice * (1 + takeProfitPercent/100)
    
    strategy.entry("Long", strategy.long)
    strategy.exit("Long Exit", "Long", 
                  stop=stopLossPrice, 
                  limit=takeProfitPrice, 
                  trail_price=close * (1 + trailingStopPercent/100), 
                  trail_offset=close * (trailingStepPercent/100))

if (shortCondition)
    entryPrice = close
    stopLossPrice = entryPrice * (1 + stopLossPercent/100)
    takeProfitPrice = entryPrice * (1 - takeProfitPercent/100)
    
    strategy.entry("Short", strategy.short)
    strategy.exit("Short Exit", "Short", 
                  stop=stopLossPrice, 
                  limit=takeProfitPrice, 
                  trail_price=close * (1 - trailingStopPercent/100), 
                  trail_offset=close * (trailingStepPercent/100))

관련

더 많은