Эта стратегия представляет собой передовую количественную торговую систему, основанную на индикаторе Движущейся средней конвергенции дивергенции (MACD), улучшающую торговые решения с помощью динамического отображения фона и множества предварительно установленных комбинаций параметров.
Стратегия использует десять различных предварительных параметров MACD, включая стандартные (12,26,9), краткосрочные (5,35,5), долгосрочные (19,39,9), и т. Д., Чтобы адаптироваться к различным рыночным условиям и торговым стилям. Система генерирует сигналы покупки, когда линия 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)