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

이동 평균 트렌드 확인 거래 시스템으로 동적 Darvas 박스 브레이크오웃

저자:차오장, 날짜: 2024-11-18 16:00:53
태그:MA25SMA

img

전반적인 설명

이 문서에서는 다르바스 박스와 25주기 이동 평균 (MA25) 을 결합한 트렌드 다음 거래 시스템을 소개합니다. 이 전략은 박스 형성을 통해 가격 통합 구역을 식별하고 브레이크오웃 중에 강력한 시장 움직임을 포착하기 위해 이동 평균으로 트렌드를 확인합니다. 시스템 설계는 트렌드 연속과 가짜 브레이크오웃 필터링을 철저히 고려하여 거래자에게 시장 진입과 출입에 대한 완전한 틀을 제공합니다.

전략 원칙

이 전략은 세 가지 핵심 요소로 구성되어 있습니다.

  1. 다르바스 박스 건설: 시스템은 5 기간 동안 가장 높고 가장 낮은 가격을 계산하여 박스 경계를 결정합니다. 상위 박스는 새로운 최고로 결정되며 바닥은 해당 범위 내의 가장 낮은 지점으로 설정됩니다.
  2. 이동 평균 트렌드 확인: 25 기간 간 간단한 이동 평균은 트렌드 필터로 도입되며, 가격이 MA25보다 높을 때만 포지션을 고려합니다.
  3. 무역 신호 생성:
    • 사기 신호: 상위 상위 상위 상위 상위 상위 MA25
    • 판매 신호: 상자 바닥 아래로 가격 파업

전략적 장점

  1. 능력에 따른 강한 추세:
    • 박스 브레이크로 트렌드 시작을 캡처합니다.
    • MA25 필터링은 주요 트렌드 방향으로 거래를 보장합니다.
  2. 신호 품질 최적화:
    • 이중 확인 메커니즘은 거짓 유출 위험을 줄여줍니다.
    • 명확한 입국 및 출입 조건은 주관적인 판단을 피합니다.
  3. 포괄적 인 위험 관리:
    • 상자 밑부분은 자연스럽게 스톱 로스 레벨을 형성합니다.
    • MA25는 추가 트렌드 보호 기능을 제공합니다.

전략 위험

  1. 시장 위험:
    • 빈번한 파업으로 인해 연속적으로 중단 될 수 있습니다
    • 강한 트렌드 시장에서 사용하는 것이 좋습니다.
  2. 지연 위험:
    • 박스 형성은 시간이 필요하고 초기 움직임을 놓칠 수 있습니다.
    • 중장기 평균으로 MA25는 고유한 지연을 가지고 있습니다.
  3. 돈 관리 위험:
    • 트레이드별로 자본의 적절한 할당을 요구합니다.
    • 변동성에 따라 포지션 크기를 동적으로 조정하는 것이 제안됩니다.

전략 최적화 방향

  1. 매개 변수 최적화
    • 시장 특성에 따라 조정할 수 있는 상자 기간
    • MA 기간은 시장 주기의 특성에 따라 조정될 수 있습니다.
  2. 신호 강화:
    • 볼륨 확인 메커니즘을 추가할 수 있습니다
    • 동적 스톱 로스 구현을 고려합니다.
  3. 위험 관리 강화:
    • 변동성 필터를 추가합니다
    • 동적 위치 크기를 구현

요약

이 전략은 고전적인 다르바스 박스 이론과 이동 평균 추세를 따르는 것을 결합하여 견고한 거래 시스템을 구축합니다. 주요 장점은 여러 필터링 메커니즘을 통해 위험을 제어하면서 트렌딩 시장을 효과적으로 포착하는 데 있습니다. 일부 내재된 지연이 있지만 전략은 적절한 매개 변수 최적화 및 위험 관리로 트렌딩 시장에서 안정적인 성능을 달성 할 수 있습니다. 거래자는 시장 환경 선택에 집중하고 전략을 구현 할 때 실제 조건에 따라 매개 변수를 동적으로 조정하는 것이 좋습니다.


/*backtest
start: 2024-10-01 00:00:00
end: 2024-10-31 23:59:59
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("DARVAS BOX with MA25 Buy Condition", overlay=true, shorttitle="AEG DARVAS")

// Input for box length
boxp = input.int(5, "BOX LENGTH")

// Calculate 25-period moving average
ma25 = ta.sma(close, 25)

// Lowest low and highest high within the box period
LL = ta.lowest(low, boxp)
k1 = ta.highest(high, boxp)
k2 = ta.highest(high, boxp - 1)
k3 = ta.highest(high, boxp - 2)

// New high detection
NH = ta.valuewhen(high > k1[1], high, 0)

// Logic to detect top and bottom of Darvas Box
box1 = k3 < k2
TopBox = ta.valuewhen(ta.barssince(high > k1[1]) == boxp - 2 and box1, NH, 0)
BottomBox = ta.valuewhen(ta.barssince(high > k1[1]) == boxp - 2 and box1, LL, 0)

// Plot the top and bottom Darvas Box lines
plot(TopBox, linewidth=3, color=color.green, title="Top Box")
plot(BottomBox, linewidth=3, color=color.red, title="Bottom Box")
plot(ma25, color=#2195f31e, linewidth=2, title="ma25")

// --- Buy and Sell conditions ---

// Buy when price breaks above the Darvas Box AND MA15
buyCondition = ta.crossover(close, TopBox) and close > ma25

// Sell when price drops below the Darvas Box
sellCondition = ta.crossunder(close, BottomBox)

// --- Buy and Sell Signals ---

// Plot BUY+ and SELL labels
plotshape(series=buyCondition, title="Buy+ Signal", location=location.abovebar, color=#72d174d3, style=shape.labeldown, text="BUY")
plotshape(series=sellCondition, title="Sell Signal", location=location.belowbar, color=color.rgb(234, 62, 62, 28), style=shape.labelup, text="SELL")

// --- Strategy execution ---

if (buyCondition)
    strategy.entry("Buy", strategy.long)

if (sellCondition)
    strategy.close("Buy")


관련

더 많은