
이 전략의 핵심 아이디어는 빠른 이동 평균과 느린 이동 평균의 교차를 통해 입문 신호를 식별하는 동시에 장기 이동 평균을 트렌드 필터로 사용하여 거래 방향이 전체 시장 추세와 일치하도록하는 것입니다. 또한, 전략은 ATR 지표의 동적인 설정 중지 손실 및 중지 수준을 사용하여 시장의 변동성에 따라 자동으로 리스크 관리 매개 변수를 조정할 수 있습니다.
이 전략의 핵심에는 다음과 같은 핵심 요소들이 포함되어 있습니다.
다중 이동 평균 시스템전략은 동시에 3개의 이동 평균을 사용한다. 즉, 빠른 MA ((5주기), 느린 MA ((13주기) 및 트렌드 MA ((50주기) 이다. 빠른 평균선 교차는 거래 신호를 제공하며, 트렌드 평균선은 전체 시장 방향을 결정한다.
트렌드 확인 메커니즘이 전략은 가격이 트렌드평균선 위에 있을 때만 다단계 거래를 하고, 트렌드평균선 아래에 있을 때만 공백 거래를 요구하며, 이는 역동적인 거래 신호를 효과적으로 필터링한다.
ATR 기반의 위험 관리: 14주기 ATR을 사용하여 시장의 변동성을 계산하고, 곱하기 ((1.5) 를 통해 스톱로스 위치를 설정한다. 이 방법은 스톱로스 수준을 시장의 실제 변동 상황에 따라 자동으로 조정할 수 있도록 하며, 고정 점수 스톱로스의 결함을 피한다.
동적 수익 목표: ATR와 수익 목표 곱하기 ((2.0) 의 곱셈을 사용하여 스톱 레벨을 설정합니다. 이것은 전략이 다양한 변동 환경에서 예상 수익을 조정할 수 있도록합니다.
시간 필터전략: 특정 기간의 불리한 시장 조건을 피하는 데 도움이되는 설정된 거래 시간 (제1일 2023년 ~ 12월 31일 2025) 에만 거래 신호를 실행하십시오.
손해 방지 메커니즘 추적이 전략은 ATR 기반의 추적 상쇄를 구현하여 가격의 유리한 방향으로 이동할 때 수익의 일부를 잠금 할 수 있으며 가격에 충분한 호흡 공간을 제공합니다.
이 전략의 코드에 대한 깊은 분석은 다음과 같은 중요한 장점을 요약할 수 있습니다.
추세와 동력이 전략은 트렌드 추적 (트렌드 MA를 통해) 과 동력 거래 (빠르거나 느린 평균선 교차를 통해) 을 교묘하게 결합하여 강력한 트렌드에 유리한 입문점을 잡는 데 도움이됩니다.
자율적 위험 관리ATR 기반의 중지 및 정지 설정은 전략이 시장의 변동성에 따라 자동으로 위험 매개 변수를 조정할 수 있도록 해줍니다. 이것은 고정 점수 설정보다 더 똑똑하며 다양한 시장 환경에 적응할 수 있습니다.
완전한 거래 시스템전략은 명확한 입출장 조건과 위험 관리 규칙을 포함하고 있으며, 거래자의 주관적 판단을 필요로하지 않고 완전한 거래 시스템을 형성합니다.
변수 조정 가능전략은 평균주기, ATR 곱하기 및 수익 목표 곱하기와 같은 여러 가지 조정 가능한 매개 변수를 제공하여 다른 시장 특성 또는 개인 위험 선호도에 따라 최적화 할 수 있습니다.
시간 필터 기능: 특정 거래 시기를 설정함으로써, 전략은 역사적으로 좋지 않은 기간 동안 거래하는 것을 피할 수 있으며, 이는 효과적인 위험 제어 조치입니다.
시각화 지원전략: 모든 중요한 이동 평균을 차트에 그려서 거래자가 현재의 시장 구조와 잠재적인 신호를 직관적으로 이해할 수 있도록합니다.
이 전략은 합리적으로 설계되었지만 다음과 같은 위험과 한계가 있습니다.
평균선 뒤떨어짐이동 평균을 기반으로 한 모든 전략에는 신호 지연 문제가 있습니다. 급격한 역전 시에는 큰 철회 또는 초기 움직임을 놓칠 수 있습니다.
가짜 침입 위험급속한 평균선 교차는 가짜 돌파 신호를 일으킬 수 있으며, 특히 변동성이 낮은 평준화 시장에서 더욱 분명하다.
매개변수 민감도: 전략 성능은 선택된 변수 값에 매우 민감할 수 있으며, 평균선 주기 또는 ATR 곱수의 미세한 변화는 현저하게 다른 결과를 초래할 수 있다.
잠재적인 과도한 최적화: 특정 히스토리 데이터를 위해 최적화 된 매개 변수는 미래 시장에서 똑같이 잘 작동하지 않을 수 있으며, 과도한 적합성의 위험이 있습니다.
시장환경의존성이 전략은 강한 추세 시장에서 잘 작동할 수 있지만, 불안정한 시장이나 낮은 변동성 환경에서 손실 거래가 자주 발생할 수 있습니다.
단일 시간 프레임 제한전략은 단일 시간 프레임에 대한 데이터에만 기반하고, 여러 시간 프레임에 대한 확인이 부족하며, 더 큰 주기의 중요한 시장 구조를 놓칠 수 있습니다.
이러한 위험에는 다음과 같은 해결책이 있습니다.
코드의 심층적인 분석을 바탕으로, 이 전략은 다음과 같은 방향으로 최적화될 수 있습니다:
다중 시간 프레임 분석: 더 높은 시간 프레임의 트렌드 확인 신호를 통합하여 거래 품질을 향상시킬 수 있습니다. 예를 들어, 일선 트렌드 방향이 현재 거래 시간 프레임과 일치하는 경우에만 거래를 수행합니다.
변동율 필터: 변동율 필터 조건을 추가하여, ATR 값이 특정 값보다 높을 때만 거래를 실행하면, 낮은 변동 환경에서의 가짜 신호를 피한다.
동적 변수 조정: 시장 조건에 따라 ATR 곱셈과 수익 목표 곱셈을 자동으로 조정합니다. 예를 들어, 과도한 변동성 환경에서 ATR 곱셈을 증가시켜 조기 중단을 피합니다.
수량 확인: 거래량 지표를 입시 조건에 통합하여 거래량이 뒷받침되는 경우에만 거래 신호를 실행하면 가짜 돌파의 위험을 줄일 수 있다.
지능형 창고 관리: ATR 기반의 동적 포지션 관리 시스템을 구현하여 높은 변동성 환경에서 포지션 크기를 줄이고 낮은 변동성 환경에서 적절하게 증가시킵니다.
출전 메커니즘을 최적화: 시장 구조나 지표의 역전에 기반한 출전 조건을 추가하는 것을 고려하고, 단지 스톱로스 및 스톱스 레벨에 의존하지 않는다.
계절 분석: 특정 시장의 계절적 패턴을 연구하여 거래 시간 설정을 더욱 최적화 할 수 있습니다.
이러한 최적화는 전략의 안정성을 강화하고, 회수량을 줄이고, 전반적인 리스크 조정 수익을 향상시킬 수 있다.
다중 평균선과 ATR 동적 변동 전략은 트렌드 추적과 동적 거래의 원칙을 능숙하게 결합한 정형화된 양적 거래 시스템이며, 적응 가능한 위험 관리 메커니즘을 갖추고 있다. ATR 지표의 동적으로 사용함으로써 트렌드를 식별하고 거래 신호를 생성하기 위해 다양한 주기의 이동 평균을 사용하며, 다른 시장 환경의 변동성에 적응할 수 있다.
이 전략은 평평선 지연과 가짜 브레이크와 같은 고유한 위험에 직면하지만, 전체 거래 규칙과 위험 관리 프레임 워크는 거래자에게 작동 가능하고 확장 가능한 시스템을 제공합니다. 다중 시간 프레임 분석, 변동율 필터링 및 지능형 포지션 관리와 같은 최적화 조치를 추가함으로써 전략의 안정성과 장기적인 수익성을 더욱 향상시킬 수 있습니다.
전반적으로, 이것은 신호 생성과 위험 통제의 균형을 이루는 전략이며, 명확한 거래 규칙을 따르면서 시장의 변화에 적응하기 위해 약간의 유연성을 유지하려는 거래자에게 특히 적합합니다. 이 전략은 기술적 분석의 핵심 원칙을 반영하는 것뿐만 아니라, 수량 거래의 체계화 된 특성을 보여주며, 장기간 일관성있는 거래에 대한 견고한 토대를 제공합니다.
/*backtest
start: 2024-07-30 00:00:00
end: 2025-03-25 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=6
// Copyright 2025 Rouvonn Wales
strategy("Bitcoin King V1", overlay=true)
// Input parameters
fast_length = input(5, title="Fast MA Length")
slow_length = input(13, title="Slow MA Length")
atr_length = input(14, title="ATR Length")
atr_multiplier = input(1.5, title="ATR Multiplier")
trend_length = input(50, title="Trend MA Length")
profit_target_multiplier = input(2.0, title="Profit Target Multiplier")
// Calculate moving averages
fast_ma = ta.sma(close, fast_length)
slow_ma = ta.sma(close, slow_length)
trend_ma = ta.sma(close, trend_length)
// Calculate ATR for stop loss and take profit levels
atr = ta.atr(atr_length)
// Plot moving averages
plot(fast_ma, color=color.green, title="Fast MA")
plot(slow_ma, color=color.red, title="Slow MA")
plot(trend_ma, color=color.blue, title="Trend MA")
// Entry conditions with trend filter
long_condition = ta.crossover(fast_ma, slow_ma) and close > trend_ma
short_condition = ta.crossunder(fast_ma, slow_ma) and close < trend_ma
// Execute trades with stop loss and take profit
if (long_condition)
strategy.entry("Long", strategy.long, stop=close - atr * atr_multiplier, limit=close + atr * profit_target_multiplier)
if (short_condition)
strategy.entry("Short", strategy.short, stop=close + atr * atr_multiplier, limit=close - atr * profit_target_multiplier)
// Exit conditions with trailing stop and additional criteria
if (strategy.position_size > 0)
strategy.exit("Exit Long", "Long", stop=close - atr * atr_multiplier, limit=close + atr * profit_target_multiplier, trail_offset=atr * atr_multiplier)
if (strategy.position_size < 0)
strategy.exit("Exit Short", "Short", stop=close + atr * atr_multiplier, limit=close - atr * profit_target_multiplier, trail_offset=atr * atr_multiplier)