이 전략은 거래 신호를 생성하기 위해 여러 기술적 지표의 조합을 이용한다. 이 전략은 구매 및 판매 기회를 결정하기 위해 상품 채널 지표 (CCI), 방향 움직임 지표 (DMI), 이동 평균 컨버전스 디버전스 (MACD), 평균 방향 지표 (ADX) 를 결합한다. CCI, DMI, MACD, ADX의 결합 조건이 충족되면 전략은 구매 또는 판매 신호를 생성한다. 이 전략은 추진력과 변동성 요인을 고려하면서 시장 추세를 포착하는 것을 목표로 한다.
이 전략은 CCI, DMI, MACD 및 ADX를 포함한 여러 기술적 지표를 결합하여 시장 트렌드를 파악하고 거래 기회를 잡는 것을 목표로 구매 및 판매 신호를 생성합니다. 전략의 장점은 다중 지표 조합, 트렌드 추적 및 변동성 고려에 있습니다. 그러나 매개 변수 민감성, 시장 적응력 및 거래 비용과 같은 위험에 직면합니다. 향후 개선은 매개 변수 최적화, 추가 지표의 포함, 위험 관리 최적화 및 적응성 최적화를 통해 전략의 안정성과 수익성을 향상시킬 수 있습니다. 전반적으로이 전략은 양적 거래에 대한 시장 분석을 위해 다차원적 접근 방식을 제공하지만 실제로는 지속적인 최적화와 정밀화를 요구합니다.
/*backtest start: 2023-04-23 00:00:00 end: 2024-04-28 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("CCI, DMI, MACD, and ADX Strategy", overlay=true) // Define inputs cci_length = input(14, title="CCI Length") overbought_level = input(100, title="Overbought Level") oversold_level = input(-100, title="Oversold Level") adx_threshold = input(20, title="ADX Threshold") macd_fast_length = input(24, title="MACD Fast Length") macd_slow_length = input(52, title="MACD Slow Length") macd_signal_length = input(9, title="MACD Signal Length") // Calculate CCI cci_value = ta.cci(close, cci_length) // Calculate DMI [di_plus, di_minus, adx_line] = ta.dmi(14, 14) // Calculate MACD [macd_line, signal_line, _] = ta.macd(close, macd_fast_length, macd_slow_length, macd_signal_length) // Define buy and sell conditions buy_signal = ta.crossover(cci_value, oversold_level) and di_plus > di_minus and macd_line > signal_line and adx_line > adx_threshold sell_signal = ta.crossunder(cci_value, overbought_level) and di_minus > di_plus and macd_line < signal_line and adx_line > adx_threshold // Define exit conditions buy_exit_signal = ta.crossover(cci_value, overbought_level) sell_exit_signal = ta.crossunder(cci_value, oversold_level) // Execute trades based on conditions strategy.entry("Buy", strategy.long, when=buy_signal) strategy.close("Buy", when=buy_exit_signal) strategy.entry("Sell", strategy.short, when=sell_signal) strategy.close("Sell", when=sell_exit_signal) // Plot CCI plot(cci_value, title="CCI", color=color.blue) // Plot DMI plot(di_plus, title="DI+", color=color.green) plot(di_minus, title="DI-", color=color.red) // Plot MACD and Signal lines plot(macd_line, title="MACD", color=color.orange) plot(signal_line, title="Signal", color=color.purple) // Plot ADX line plot(adx_line, title="ADX", color=color.yellow) // Plot overbought and oversold levels hline(overbought_level, "Overbought", color=color.red) hline(oversold_level, "Oversold", color=color.green) // Plot ADX threshold hline(adx_threshold, "ADX Threshold", color=color.gray)