시장 트렌드 가이드와 함께 향상된 이동 평균 크로스오버 전략은 시장 트렌드 및 거래 신호를 결정하기 위해 다른 기간의 세 이동 평균을 사용합니다. 먼저 빠른 라인, 느린 라인 및 트렌드 라인을 계산합니다. 구매 및 판매 신호는 빠른 라인과 느린 라인의 황금 십자가 및 죽음의 십자가를 기반으로 생성됩니다. 또한 전반적인 시장 트렌드 방향을 판단하기 위해 트렌드 라인을 도입합니다. 트렌드 트렌드를 피하기 위해 트렌드 방향으로만 거래됩니다.
핵심 논리는 신호 발생을 위해 세 가지 이동 평균 - 빠른 라인, 느린 라인 및 트렌드 라인을 사용합니다. 세 가지 이동 평균의 기간은 입력 매개 변수로 정의됩니다. 금색 십자 (빠른 라인이 느린 라인 위에 넘는다) 및 죽음의 십자 (빠른 라인이 느린 라인 아래에 넘는다) 는 각각 빠른 라인과 느린 라인 사이에 구매 및 판매 신호를 생성합니다. 이것은 고전적인 이중 이동 평균 크로스 오버 시스템을 기반으로합니다.
이 개선은 시장 트렌드 방향을 결정하기 위해 세 번째 이동 평균 트렌드 라인을 도입함으로써 발생합니다. 트렌드 방향이 신호를 선호할 때 골든 크로스 상에서 구매 신호만 받고, 트렌드 방향이 신호를 선호할 때 죽음의 크로스 상에서 판매 신호를 사용합니다. 예를 들어, 트렌드가 상승할 때 골든 크로스 상에서 구매 신호만 받고, 트렌드가 하락할 때 죽음의 크로스 상에서 판매 신호를 사용합니다. 이것은 역 트렌드 거래를 피하고 위험을 줄이는 데 도움이됩니다.
간단한 이중 이동 평균 전략에 비해 이 개선된 전략은 다음과 같은 장점을 가지고 있습니다.
시장 트렌드 가이딩은 트렌드 반대 거래를 피하고 잠재적으로 손실을 초래할 수 있는 거래를 필터링하고 위험을 줄여줍니다.
여러 이동 평균의 조합은 신호 신뢰성과 승률을 향상시킵니다.
유연한 매개 변수 조정
단순하고 명확한 규칙은 복잡한 머신러닝 모델보다 쉽게 구현할 수 있습니다.
강력한 이론적 기초와 신뢰성을 가진 검증된 지표와 논리
이중 MA 전략에 비해 개선된 상황에도 불구하고 몇 가지 위험을 고려해야 합니다.
세 개의 이동 평균에서 추가 복잡성은 최적화 어려움과 열악한 매개 변수 조정의 위험을 초래합니다.
이동 평균의 지연 성격은 신호를 둔화하거나 지연을 일으킬 수 있습니다.
주관적 추세 결정은 추세를 판단하는 오류의 위험을 초래합니다. 반대 추세 거래는 완전히 피할 수 없습니다.
포지션 크기와 리스크 관리 기능이 없습니다. 전체 포지션 크기로 기본 설정됩니다.
규칙 기반 시스템은 기계 학습 모델처럼 적응할 수 없습니다. 변화하는 시장에 대한 견고성이 부족합니다.
이러한 위험은 엄격한 백테스팅, 최적화 및 스톱 손실, 포지션 사이즈, 머신 러닝 적응 등과 같은 개선 사항을 도입함으로써 잠재적으로 줄일 수 있습니다. 그러나 위험은 완전히 제거 될 수 없습니다.
이 전략이 더 향상될 수 있는 몇 가지 방법:
거래당 손실을 제어하기 위해 가격 기반 또는 변동성 기반의 스톱 로스 메커니즘을 포함합니다.
부수, 자본 사용 등에 따라 포지션을 동적으로 조정하는 포지션 사이징 모듈을 추가합니다.
여러 시간 프레임 (일일, 60 분 등) 을 통해 견고성을 테스트합니다.
그리드 검색, 유전 알고리즘 등을 통해 매개 변수 최적화. 앙상블 모델은 여러 모델의 신호를 결합할 수도 있습니다.
기계 학습 기술은 자동으로 매개 변수와 적응력을 향상시키기 위해 강화 학습과 같은 것입니다.
유도 신호를 줄이기 위해 부피, 가격 스프레드, 변동성 등에 기반한 필터를 추가합니다.
결론적으로,이 향상된 이동 평균 크로스오버 전략은 역동 트렌드 거래를 피하기 위해 전체 시장 트렌드 방향으로 거래를 안내합니다. 이것은 간단한 이중 이동 평균 크로스오버 전략보다 위험 조정 수익을 향상시키는 것을 약속합니다. 그러나 포지션 사이즈링, 기계 학습 적응 등을 통해 추가 개선이 추가 최적화에 도움이 될 수 있습니다. 이동 평균을 사용하여 트렌드를 따르는 핵심 원칙은 건전해 보입니다.
/*backtest start: 2023-11-28 00:00:00 end: 2023-12-01 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Improved Moving Average Crossover Strategy", overlay=true) // Define input variables fast_length = input(9, title="Fast MA Length") slow_length = input(21, title="Slow MA Length") trend_length = input(50, title="Trend MA Length") src = close // Calculate moving averages fast_ma = ta.sma(src, fast_length) slow_ma = ta.sma(src, slow_length) trend_ma = ta.sma(src, trend_length) // Plot moving averages on the chart plot(fast_ma, color=color.blue, title="Fast MA") plot(slow_ma, color=color.red, title="Slow MA") plot(trend_ma, color=color.green, title="Trend MA") // Define trend direction is_uptrend = ta.crossover(slow_ma, trend_ma) is_downtrend = ta.crossunder(slow_ma, trend_ma) // Define buy and sell conditions buy_condition = ta.crossover(fast_ma, slow_ma) and is_uptrend sell_condition = ta.crossunder(fast_ma, slow_ma) and is_downtrend // Execute trades based on conditions if (buy_condition) strategy.entry("Buy", strategy.long) if (sell_condition) strategy.close("Buy") if (sell_condition) strategy.entry("Sell", strategy.short) if (buy_condition) strategy.close("Sell")