В этой статье представлена торговая стратегия, которая сочетает в себе два технических индикатора: MACD и Supertrend. Стратегия использует перекрестные сигналы индикатора MACD и направление тренда индикатора Supertrend для определения точек входа и выхода, направленные на получение прибыли от трендовых рынков. Основная идея стратегии заключается в том, чтобы пойти в длинный курс, когда MACD пересекает линию сигнала, и Supertrend зеленый, и идти в короткий, когда MACD пересекает линию сигнала, и Supertrend красный.
Стратегия использует индикатор MACD и индикатор Supertrend для генерации торговых сигналов. MACD рассчитывается путем вычитания медленной скользящей средней (по умолчанию 26 периодов) от быстрой скользящей средней (по умолчанию 12 периодов), а затем вычисляет 9-периодную скользящую среднюю MACD в качестве сигнальной линии. Бычий кроссовер происходит, когда линия MACD пересекает линию сигнала, указывая на длинный сигнал, в то время как медвежий кроссовер происходит, когда линия MACD пересекает линию сигнала, указывая на короткий сигнал.
Эта статья представляет торговую стратегию, основанную на индикаторе MACD и индикаторе Supertrend. Стратегия торгуется на трендовых рынках с использованием суждения о тренде MACD и фильтрации направления Supertrend, используя перекрестки сигнальных линий для своевременного выхода из позиций для контроля снижения. Преимущества стратегии заключаются в простой логике и сильной способности улавливать тренд, но она также сталкивается с такими рисками, как применимость параметров, задержка сигналов и частая торговля. В будущем стратегия может быть усовершенствована в таких аспектах, как оптимизация параметров, фильтрация сигналов, управление позициями, временные рамки и выбор активов, чтобы добиваться более стабильной доходности.
/*backtest start: 2024-05-01 00:00:00 end: 2024-05-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy(title="MACD + Supertrend Strategy", overlay=true) // MACD Calculation fastLength = 12 slowLength = 26 signalSmoothing = 9 macdSrc = close // MACD Line fastMA = ta.ema(macdSrc, fastLength) slowMA = ta.ema(macdSrc, slowLength) macdLine = fastMA - slowMA // MACD Signal Line signalMA = ta.ema(macdLine, signalSmoothing) // MACD Histogram histogram = macdLine - signalMA // Supertrend Calculation supertrendATRLength = 10 supertrendFactor = 3.0 [supertrend, _] = ta.supertrend(supertrendFactor, supertrendATRLength) // Entry and Exit Conditions longCondition = (macdLine > signalMA) and (supertrend < close) shortCondition = (signalMA > macdLine) and (supertrend > close) // Long Entry if longCondition strategy.entry("Long", strategy.long) // Long Exit (Sell) if signalMA > macdLine strategy.close("Long") // Short Entry if shortCondition strategy.entry("Short", strategy.short) // Short Exit (Cover) if macdLine > signalMA strategy.close("Short") // Close Long Position if short condition is met if shortCondition strategy.close("Long") // Close Short Position if long condition is met if longCondition strategy.close("Short") // Plotting plotshape(series=longCondition, title="Long Entry Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="Long") plotshape(series=shortCondition, title="Short Entry Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="Short") // Alerts alertcondition(longCondition, title='Long Entry Signal', message='MACD crossover and Supertrend below close price') alertcondition(signalMA > macdLine, title='Long Exit Signal', message='MACD signal line crosses above MACD line') alertcondition(shortCondition, title='Short Entry Signal', message='MACD crossunder and Supertrend above close price') alertcondition(macdLine > signalMA, title='Short Exit Signal', message='MACD line crosses above MACD signal line')