
Swing Trading Strategy Based on Momentum, Oscillation and Moving Average Crossover) - это стратегия, использующая пересечение динамических показателей, шокирующих показателей и движущихся средних для получения сигналов о покупке и продаже. Она может использоваться для торговли в течение дня и в течение дня на рынках, таких как товары, иностранные валюты и т. д.
Эта стратегия использует одновременно движущиеся средние, относительно сильные индикаторы (RSI), MACD и Брин, а также четыре технических индикатора для идентификации сигналов покупки и продажи. Конкретная логика заключается в следующем:
Когда краткосрочная скользящая средняя носит долгосрочную скользящую среднюю, и RSI больше 50, делайте больше; когда краткосрочная скользящая средняя носит долгосрочную скользящую среднюю, и RSI меньше 50, делайте пустоту.
Такая комбинация позволяет использовать равнолинейный золотой крест и мертвый крест для определения тренда, при этом добавляя RSI, чтобы избежать риска обратной тенденции.
Основным преимуществом этой стратегии является правильное сочетание индикаторов, позволяющее эффективно использовать взаимодополняемость индикаторов тренда и шока. В частности:
Благодаря такому сочетанию можно в полной мере использовать преимущества различных индикаторов, одновременно дополняя друг друга.
Основные риски этой стратегии:
Для управления этими рисками можно использовать такие методы, как оптимизация параметров, установка стоп-стоп и разумный контроль позиций.
Эта стратегия может быть оптимизирована в следующих аспектах:
Стратегия динамического колебания, использующая преимущества трендовых и колебательных индикаторов для взаимодополняющего распознавания сигналов покупки и продажи, может получить хорошие результаты в случае оптимизации параметров и управления рисками. Эта стратегия может дополнительно оптимизировать параметры индикатора, логику остановки убытков и т. Д., Чтобы получить лучшую производительность.
//@version=5
strategy("Swing Trading Strategy", overlay=true)
// Input for moving averages
shortMA = input(20, title="Short-term MA")
longMA = input(50, title="Long-term MA")
// Input for RSI
rsiLength = input(14, title="RSI Length")
// Input for MACD
macdShort = input(12, title="MACD Short")
macdLong = input(26, title="MACD Long")
macdSignal = input(9, title="MACD Signal")
// Input for Bollinger Bands
bbLength = input(20, title="Bollinger Bands Length")
bbMultiplier = input(2, title="Bollinger Bands Multiplier")
// Calculate moving averages
shortTermMA = ta.sma(close, shortMA)
longTermMA = ta.sma(close, longMA)
// Calculate RSI
rsiValue = ta.rsi(close, rsiLength)
// Calculate MACD
[macdLine, signalLine, _] = ta.macd(close, macdShort, macdLong, macdSignal)
// Calculate Bollinger Bands
basis = ta.sma(close, bbLength)
upperBand = basis + bbMultiplier * ta.stdev(close, bbLength)
lowerBand = basis - bbMultiplier * ta.stdev(close, bbLength)
// Plot moving averages
plot(shortTermMA, color=color.blue, title="Short-term MA")
plot(longTermMA, color=color.red, title="Long-term MA")
// Plot RSI
hline(50, "RSI 50", color=color.gray)
// Plot MACD
plot(macdLine - signalLine, color=color.green, title="MACD Histogram")
// Plot Bollinger Bands
plot(upperBand, color=color.orange, title="Upper Bollinger Band")
plot(lowerBand, color=color.orange, title="Lower Bollinger Band")
// Strategy conditions
longCondition = ta.crossover(shortTermMA, longTermMA) and rsiValue > 50
shortCondition = ta.crossunder(shortTermMA, longTermMA) and rsiValue < 50
// Execute trades
strategy.entry("Long", strategy.long, when=longCondition)
strategy.entry("Short", strategy.short, when=shortCondition)
// Plot trade signals on the chart
plotshape(series=longCondition, title="Long Signal", color=color.green, style=shape.triangleup, size=size.small)
plotshape(series=shortCondition, title="Short Signal", color=color.red, style=shape.triangledown, size=size.small)