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

전략에 따른 다중 주문 파업 트렌드

저자:차오장, 날짜: 2024-07-30 17:18:11
태그:ATRBBEMASAR

img

전반적인 설명

멀티 오더 브레이크아웃 트렌드 포워킹 전략 (Multi-Order Breakout Trend Following Strategy) 은 기술 분석 지표에 기반한 양적 거래 전략으로, 유리한 조건에서 시장 트렌드를 포착하고 여러 번 포지션을 입력하도록 설계되었습니다. 이 전략은 여러 조건 스크리닝을 통해 입점 및 출구 지점을 결정하기 위해 볼링거 밴드, 평균 진실 범위 (ATR), 파라볼릭 SAR 및 기하급수적 이동 평균 (EMA) 를 포함한 여러 지표를 결합합니다. 핵심 아이디어는 가격이 상위 볼링거 밴드를 넘어서 다른 조건을 충족 할 때 긴 포지션을 열고, 역동적인 포지션 사이징과 고정된 비율의 스톱 손실을 사용하여 위험을 제어하는 것입니다. 또한 전략은 과도한 위험 농도를 피하기 위해 개방된 포지션의 수에 최대 한도를 설정합니다.

전략 원칙

  1. 입국 조건:

    • 상부 볼링거 밴드 이상의 가격 파업
    • 가격은 SAR 지표 이상입니다.
    • 가격은 EMA보다 높습니다.
    • ATR은 100주기 간단한 이동 평균보다 높습니다.
    • 현재 오픈 포지션의 수는 허용된 최대보다 적습니다.
  2. 출입 조건:

    • 가격은 중간 볼링거 밴드 아래로 떨어집니다.
    • 가격은 SAR 지표 아래로 떨어집니다.
  3. 위치 관리:

    • 계정 자금, 거래당 위험 및 스톱-러스 비율에 기초한 동적 위치 크기를 사용합니다.
    • 오픈 포지션의 최대 제한을 설정합니다.
  4. 위험 관리:

    • 각 명령에 대해 고정된 비율의 스톱 로스를 적용합니다.
    • 낮은 변동성 시장 조건을 필터링하기 위해 ATR 지표를 사용합니다.
  5. 표시기 적용:

    • 볼링거 밴드: 가격 브레이크와 리트레이싱을 판단하는 데 사용됩니다.
    • SAR: 트렌드 방향 및 출구 시기를 결정하는 데 도움을 줍니다.
    • EMA: 중장기 동향을 확인합니다.
    • ATR: 시장 변동성을 판단하고 낮은 변동성을 필터링합니다.

전략적 장점

  1. 다중 확인 메커니즘: 여러 가지 기술 지표를 결합함으로써 입국 신호의 신뢰성을 높이고 거짓 브레이크의 위험을 줄입니다.

  2. 동적 포지션 크기: 계좌 자금, 위험 용도 및 시장 변동성에 따라 포지션 크기를 동적으로 조정하여 유리한 시장 조건에서 더 큰 이익을 허용하면서 위험을 효과적으로 제어합니다.

  3. 트렌드 추적과 리스크 통제 사이의 균형: 전략은 트렌드를 추적하고 스톱 로스 및 최대 포지션 제한을 통해 리스크를 제어하여 수익과 리스크 사이의 균형을 달성합니다.

  4. 높은 적응력: 매개 변수 설계를 통해 전략은 다양한 시장 환경과 거래자의 위험 선호도에 따라 유연하게 조정 될 수 있습니다.

  5. 변동성 필터링: ATR 지표를 사용하여 낮은 변동성 시장 조건을 필터링하여 시장 방향이 명확하지 않은 경우 빈번한 거래를 피하는 데 도움이됩니다.

  6. 다중 진입 기회: 같은 트렌드에 여러 개의 진입을 허용하며, 강한 트렌드 움직임에서 더 많은 이익을 얻는 데 유리합니다.

전략 위험

  1. 과잉 거래 위험: 변동 시장에서 빈번한 잘못된 브레이크 아웃 신호는 과잉 거래 및 거래 비용 증가로 이어질 수 있습니다.

  2. 미끄러짐 및 유동성 위험: 빠르게 변화하는 시장에서 심각한 미끄러짐 또는 불충분한 유동성 문제는 전략 실행 효과에 영향을 줄 수 있습니다.

  3. 트렌드 역전 위험: 스톱 로스가 설정되어 있지만 심각한 트렌드 역전 시에도 상당한 손실이 발생할 수 있습니다.

  4. 매개 변수 민감성: 전략 성능은 매개 변수 설정에 민감할 수 있으며, 다른 시장 환경에서 빈번한 조정이 필요할 수 있습니다.

  5. 시스템적 위험: 동시에 여러 개의 고조연 관계를 가진 지위를 보유하면 극심한 시장 변동성 동안 전략이 시스템적 위험에 노출 될 수 있습니다.

  6. 마감 위험: 장기적인 측면 또는 변동 시장에서 전략은 상당한 마감 위험에 직면 할 수 있습니다.

전략 최적화 방향

  1. 시장 체제 인식 도입: 시장 상태 인식 모듈을 개발하여 전략 매개 변수를 동적으로 조정하거나 다른 시장 환경 (트렌딩, 오스실레이션, 높은 변동성 등) 에 따라 거래 방식을 전환합니다.

  2. 출구 메커니즘을 최적화: 수익을 더 잘 확보하고 시장 변동에 적응하기 위해 후속 중지 또는 ATR 기반 동적 중지 손실을 도입하는 것을 고려하십시오.

  3. 거래 시간 필터를 추가하십시오: 효율적이지 않은 거래 시간을 피하고 전반적인 전략 효율성을 향상시키기 위해 다른 기간 동안 시장 특성을 분석합니다.

  4. 역동 트렌드 거래를 포함: 주요 트렌드 전략을 바탕으로, 낮은 볼링거 반도를 만질 때 역동 트렌드를 고려하는 것과 같은 단기 역전을 포착하는 기능을 추가합니다.

  5. 포지션 관리 개선: 트렌드 강도에 따라 포지션을 동적으로 조정하고, 더 강한 트렌드에서 포지션을 증가시키고, 약한 트렌드에서 포지션을 줄이는 것을 고려하십시오.

  6. 기본 요소를 통합: 기본 지표 (경제 데이터 발표, 주요 이벤트 등) 를 결합하여 거래 신호를 필터링하거나 강화합니다.

  7. 멀티 타임프레임 분석: 더 큰 시간 프레임에서 트렌드 조화를 보장하기 위해 멀티 타임프레임 분석을 도입하십시오.

  8. 상관관계 관리: 더 나은 위험 다양화를 위해 다른 거래 도구 간의 상관관계를 모니터링하고 관리하는 모듈을 개발합니다.

  9. 기계 학습 최적화: 매개 변수 선택 및 신호 생성 프로세스를 최적화하기 위해 기계 학습 알고리즘을 활용하여 전략 적응성과 성능을 향상시킵니다.

결론

멀티 오더 브레이크아웃 트렌드 다음 전략 (Multi-Order Breakout Trend Following Strategy) 은 여러 가지 기술적 지표를 결합한 양적 거래 시스템으로, 엄격한 진입 조건과 위험 관리 조치를 통해 시장 추세를 파악하고 위험을 제어하는 것을 목표로 한다. 이 전략의 핵심 장점은 여러 가지 확인 메커니즘, 동적인 위치 관리 및 시장 변동성에 적응력이다. 그러나 과잉 거래, 매개 변수 민감성 및 시스템 위험과 같은 과제에도 직면한다.

시장 체제 인정을 도입하고 출구 메커니즘을 개선하고 거래 시간 필터를 추가하는 것과 같은 추가 최적화를 통해 전략의 견고성과 수익성이 향상 될 수 있습니다. 또한 근본적인 요소를 통합하고 기계 학습 기술을 활용하면 전략을 다른 시장 환경에 더 잘 적응시킬 수 있습니다.

전체적으로, 이 전략은 트렌드를 따라 거래하는 데 좋은 출발점을 제공합니다. 지속적인 모니터링, 백테스팅 및 최적화를 통해 신뢰할 수있는 양적 거래 전략이 될 가능성이 있습니다. 그러나 이 전략을 사용하는 투자자는 여전히 자신의 위험 관용을 신중하게 평가하고 라이브 거래 전에 철저한 시뮬레이션 테스트를 수행해야합니다.


/*backtest
start: 2024-06-29 00:00:00
end: 2024-07-29 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Multi-Order Breakout Strategy", overlay=true)

// Parameters
risk_per_trade = input.float(1.0, "Risk Per Trade")
lookback = input(20, "Lookback Period")
breakout_mult = input.float(2.0, "Breakout Multiplier")
stop_loss_percent = input.float(2.0, "Stop Loss Percentage")
max_positions = input(5, "Maximum Open Positions")
atr_period = input(14, "ATR Period")
ma_len = input(100, "MA Length")

// Calculate Bollinger Bands and other indicators
[middle, upper, lower] = ta.bb(close, lookback, breakout_mult)
atr = ta.atr(atr_period)
sar = ta.sar(0.02, 0.02, 0.2)

ma = ta.ema(close, ma_len)
plot(ma, color=color.white)

// Entry conditions
long_condition = close > upper and close > sar and close > ma

// Exit conditions
exit_condition = ta.crossunder(close, middle) or ta.crossunder(close, sar)

// Count open positions
var open_positions = 0

// Dynamic position sizing
position_size = (strategy.equity * risk_per_trade/100) / (close * stop_loss_percent / 100)


// Strategy execution
if (long_condition and open_positions < max_positions and atr > ta.sma(atr, 100) and position_size > 0)
    strategy.entry("Long " + str.tostring(open_positions + 1), strategy.long, qty=position_size)
    open_positions := open_positions + 1

// Apply fixed stop loss to each position
for i = 1 to max_positions
    strategy.exit("SL " + str.tostring(i), "Long " + str.tostring(i), stop=strategy.position_avg_price * (1 - stop_loss_percent/100))

// Close all positions on exit condition
if (exit_condition and open_positions > 0)
    strategy.close_all()
    open_positions := 0

// Plot
plot(upper, "Upper BB", color.blue)
plot(lower, "Lower BB", color.blue)
plot(middle, "Middle BB", color.orange)
plot(sar, "SAR", color.purple, style=plot.style_cross)

관련

더 많은