이 문서에서는 다르바스 박스와 25주기 이동 평균 (MA25) 을 결합한 트렌드 다음 거래 시스템을 소개합니다. 이 전략은 박스 형성을 통해 가격 통합 구역을 식별하고 브레이크오웃 중에 강력한 시장 움직임을 포착하기 위해 이동 평균으로 트렌드를 확인합니다. 시스템 설계는 트렌드 연속과 가짜 브레이크오웃 필터링을 철저히 고려하여 거래자에게 시장 진입과 출입에 대한 완전한 틀을 제공합니다.
이 전략은 세 가지 핵심 요소로 구성되어 있습니다.
이 전략은 고전적인 다르바스 박스 이론과 이동 평균 추세를 따르는 것을 결합하여 견고한 거래 시스템을 구축합니다. 주요 장점은 여러 필터링 메커니즘을 통해 위험을 제어하면서 트렌딩 시장을 효과적으로 포착하는 데 있습니다. 일부 내재된 지연이 있지만 전략은 적절한 매개 변수 최적화 및 위험 관리로 트렌딩 시장에서 안정적인 성능을 달성 할 수 있습니다. 거래자는 시장 환경 선택에 집중하고 전략을 구현 할 때 실제 조건에 따라 매개 변수를 동적으로 조정하는 것이 좋습니다.
/*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")