트리플 인디케이터 충돌 전략 (Triple Indicator Collision Strategy) 은 매우 고전적인 양적 거래 전략이다. 그것은 세 가지 고전적인 기술 지표 - 이동 평균, MACD 지표 및 RSI 지표를 결합한다. 세 가지 지표가 동시에 구매 또는 판매 신호를 생성할 때 거래 신호를 생성한다.
이 전략은 20일 EMA, MACD ((12, 26, 9) 및 14일 RSI를 모두 사용합니다. 구체적인 논리는 다음과 같습니다.
가격이 20일 EMA를 넘을 때 MACD 히스토그램이 신호 라인의 위를 넘고 RSI가 20일 EMA를 넘을 때, 장가가 됩니다. 가격이 20일 EMA를 넘을 때 MACD 히스토그램이 신호 라인의 아래를 넘고 RSI가 20일 EMA를 넘을 때, 단가가 됩니다.
세 가지 지표가 모두 일치할 때만 생성되는 거래 신호로, 이것은 일부 잘못된 신호를 필터링하고 전략을 더 견고하고 신뢰할 수 있습니다.
세 가지 지표 충돌 전략은 다음과 같은 장점을 가지고 있습니다.
잡음 필터링 및 잘못된 신호를 줄이기. 단일 지표는 시장 잡음과 잘못된 신호에 취약합니다. 세 개의 지표를 사용하면 효과적으로 잡음을 필터링하고 신호를 더 신뢰할 수 있습니다.
트렌드의 인플렉션 포인트를 포착한다. 다른 지표들은 가격 변동에 다르게 반응한다. 세 개의 지표가 단기적으로 일치하면 종종 트렌드 반전을 의미한다. 이것은 인플렉션 포인트를 포착할 수 있는 가능성을 제공한다.
여러 차원에서 시장을 판단합니다. 세 가지 지표는 다른 각도에서 시장을 분석하고 서로 확인하여 시장 추세를 더 포괄적이고 정확하게 판단합니다.
포지션 리스크를 낮추는 방법: 여러 가지 지표로 필터링하면 비효율적인 거래 시간 및 불필요한 펀드 매출을 줄여 리스크 통제에 도움이 됩니다.
이 전략에는 몇 가지 위험도 있습니다.
매개 변수 최적화 위험. 이동 평균 길이, MACD 매개 변수, RSI 매개 변수 등의 매개 변수는 모두 전략 성능에 영향을 줄 수 있습니다. 부적절한 매개 변수 조합은 시장 트렌드에서 나쁜 전략 성능으로 이어질 수 있습니다. 따라서 최적의 매개 변수 조합을 찾기 위해 포괄적인 테스트와 최적화가 필요합니다.
트리플 인디케이터 전략은 상대적으로 보수적이며 일부 거래 기회를 놓칠 수 있습니다. 주요 트렌드를 파악하지 못하면 전략 수익성에 해를 끼칠 수 있습니다.
라이브 트레이딩에서 슬리퍼지 제어. 라이브 트레이딩에서 트랜잭션 비용과 슬리퍼지는 또한 어느 정도 전략에 영향을 미칩니다. 거래 빈도는 거래 비용보다 더 큰 수익 마진을 보장하기 위해 제어되어야합니다.
이 전략은 다음과 같은 측면에서 최적화 될 수 있습니다.
이동 평균, MACD 매개 변수, RSI 매개 변수 등을 변경하여 최적의 매개 변수를 찾기 위해 다른 매개 변수 조합을 테스트하십시오.
스톱 로스 메커니즘을 추가합니다. 스톱 로스를 이동하거나 대기 주문 스톱 로스를 이동하면 단일 거래 손실을 효과적으로 제어 할 수 있습니다.
신호를 필터하기 위해 다른 지표를 결합하십시오. 볼링거 밴드, KDJ 등을 신호를 확인하고 잘못된 신호를 필터하는 데 사용할 수 있습니다.
다른 제품 및 시간 프레임에 기반한 매개 변수를 조정합니다. 매개 제품 및 시간 프레임에 따라 매개 변수를 최적화 할 수 있습니다.
트리플 인디케이터 충돌 전략은 이동 평균, MACD 및 RSI의 거래 신호를 모두 활용하여 장기 및 단기 결정을 내릴 수 있습니다. 그것은 효과적으로 잡음을 필터링하고 트렌드의 잠재적 인 전환점을 식별하여 거래 신호를 더 신뢰할 수 있습니다. 매개 변수를 최적화하고, 스톱 로스를 설정하고, 신호를 필터링하여이 전략을 지속적으로 개선하여 더 명확한 신호와 더 신뢰할 수있는 이익을 창출 할 수 있습니다.
/*backtest start: 2023-12-29 00:00:00 end: 2024-01-28 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © fangdingjun //@version=4 strategy("MACD_RSI strategy", overlay=false) _ema_len = input(20, title="EMA length") _macd_fast = input(12, title="MACD Fast") _macd_slow = input(26, title="MACD Slow") _macd_signal_len = input(20, title="MACD Signal length") _rsi_len = input(14, title="RSI length") _rsi_signal_len = input(20, title="RSI signal length") _ema = ema(close, _ema_len) _macd = ema(close, _macd_fast) - ema(close, _macd_slow) _macd_signal = ema(_macd, _macd_signal_len) _rsi = rsi(close, _rsi_len) _rsi_signal = ema(_rsi, _rsi_signal_len) plot(_rsi, color=color.orange) plot(_rsi_signal, color=color.purple) longCondition = close > _ema and _macd > _macd_signal and _rsi > _rsi_signal if (longCondition) strategy.entry("Buy", strategy.long) shortCondition = close < _ema and _macd < _macd_signal and _rsi < _rsi_signal if (shortCondition) strategy.entry("Sell", strategy.short)