
이 전략은 여러 기술 지표의 조합을 사용하여 거래 신호를 생성한다. 그것은 이동 지표 ((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)