이 전략은 이동 평균 컨버전스 디버전스 (MACD) 표시를 기반으로 한 고급 양적 거래 시스템으로, 동적 배경 표시 및 여러 미리 설정된 매개 변수 조합을 통해 거래 결정을 향상시킵니다. 전략의 핵심은 MACD 크로스오버 신호를 통해 시장 트렌드 전환 지점을 캡처하고 시장 조건을 시각적으로 표시하는 데 있습니다.
이 전략은 표준 (12,26,9), 단기 (5,35,5), 장기 (19,39,9) 등 10 가지 다른 MACD 매개 변수 미리 설정을 사용하여 다른 시장 환경과 거래 스타일에 적응합니다. 이 시스템은 MACD 라인이 신호 라인 (황금 십자) 위를 넘을 때 구매 신호를 생성하고 신호를 넘을 때 판매 신호를 생성합니다. 이 전략은 시장 추세를 더 잘 파악하는 데 도움이되는 동적 배경 색상 변화 (승향, 하락에 빨간색) 를 통해 시각 인식을 향상시킵니다.
이것은 MACD 전략의 잘 구성된 논리적으로 건전한 고급 버전입니다. 여러 매개 변수 미리 설정 및 동적 시각 피드백을 통해 전략의 실용성과 작동성을 크게 향상시킵니다. 내재적인 위험이 존재하지만 전략은 제안된 최적화로 견고한 거래 시스템으로 변할 가능성이 있습니다. 거래자는 라이브 구현 전에 철저한 백테스팅을 수행하고 특정 시장 조건에 따라 적절한 매개 변수 설정을 선택하는 것이 좋습니다.
/*backtest start: 2024-10-12 00:00:00 end: 2024-11-11 00:00:00 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Hanzo - Top 10 MACD Strategy", overlay=false) // MACD in a separate pane // Define dropdown options for MACD settings macdOption = input.string(title="Select MACD Setting", defval="Standard (12, 26, 9)", options=["Standard (12, 26, 9)", "Short-Term (5, 35, 5)", "Long-Term (19, 39, 9)", "Scalping (3, 10, 16)", "Cryptocurrency (20, 50, 9)", "Forex (8, 17, 9)", "Conservative (24, 52, 18)", "Trend-Following (7, 28, 7)", "Swing Trading (5, 15, 5)", "Contrarian (15, 35, 5)"]) // MACD setting based on user selection var int fastLength = 12 var int slowLength = 26 var int signalLength = 9 switch macdOption "Standard (12, 26, 9)" => fastLength := 12 slowLength := 26 signalLength := 9 "Short-Term (5, 35, 5)" => fastLength := 5 slowLength := 35 signalLength := 5 "Long-Term (19, 39, 9)" => fastLength := 19 slowLength := 39 signalLength := 9 "Scalping (3, 10, 16)" => fastLength := 3 slowLength := 10 signalLength := 16 "Cryptocurrency (20, 50, 9)" => fastLength := 20 slowLength := 50 signalLength := 9 "Forex (8, 17, 9)" => fastLength := 8 slowLength := 17 signalLength := 9 "Conservative (24, 52, 18)" => fastLength := 24 slowLength := 52 signalLength := 18 "Trend-Following (7, 28, 7)" => fastLength := 7 slowLength := 28 signalLength := 7 "Swing Trading (5, 15, 5)" => fastLength := 5 slowLength := 15 signalLength := 5 "Contrarian (15, 35, 5)" => fastLength := 15 slowLength := 35 signalLength := 5 // MACD Calculation [macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalLength) macdHist = macdLine - signalLine // Buy and Sell conditions based on MACD crossovers enterLong = ta.crossover(macdLine, signalLine) exitLong = ta.crossunder(macdLine, signalLine) // Execute buy and sell orders with price labels in the comments if (enterLong) strategy.entry("Buy", strategy.long, comment="Buy at " + str.tostring(close, "#.##")) if (exitLong) strategy.close("Buy", comment="Sell at " + str.tostring(close, "#.##")) // Plot the signal price using plotchar for buy/sell prices //plotchar(enterLong ? close : na, location=location.belowbar, color=color.green, size=size.small, title="Buy Price", offset=0) //plotchar(exitLong ? close : na, location=location.abovebar, color=color.red, size=size.small, title="Sell Price", offset=0) // Background highlighting based on bullish or bearish MACD isBullish = macdLine > signalLine isBearish = macdLine < signalLine // Change background to green for bullish periods and red for bearish periods bgcolor(isBullish ? color.new(color.green, 90) : na, title="Bullish Background") bgcolor(isBearish ? color.new(color.red, 90) : na, title="Bearish Background") // Plot the MACD and Signal line in a separate pane plot(macdLine, title="MACD Line", color=color.blue, linewidth=2) plot(signalLine, title="Signal Line", color=color.orange, linewidth=2) hline(0, "Zero Line", color=color.gray) plot(macdHist, title="MACD Histogram", style=plot.style_histogram, color=color.red)