
Обзор
Эта стратегия объединяет MACD (движущаяся средняя свертывается от индикатора), RSI (относительно сильный индекс) и SMA (простая движущаяся средняя) для создания надежного сигнала покупки и продажи. MACD используется для захвата динамических изменений цен, RSI используется для идентификации состояния перекупа и перепродажи, а SMA используется для подтверждения направления тенденции.
Стратегический принцип
- MACD: когда MACD-линия пересекает сигнальную линию снизу вверх, образуется многосигнал; когда MACD-линия пересекает сигнальную линию снизу вверх, образуется пустой сигнал.
- RSI: только тогда, когда RSI ниже уровня перекупа ((70), рассматривается лишний; только тогда, когда RSI выше уровня перепродажи ((30), рассматривается пробел. Это помогает избежать входа в то время, когда уже перекупили или перепродали.
- SMA: 50-циклический SMA и 200-циклический SMA используются для подтверждения направления тренда. Только когда 50-циклический SMA находится выше 200-циклического SMA, считается лишний; только когда 50-циклический SMA находится ниже 200-циклического SMA, считается пустой.
Условия входа и выхода из стратегии следующие:
- Продолжайте: когда MACD-линия пересекает сигнальную линию вверх, RSI находится ниже уровня перекупа (70), а 50-циклический SMA находится выше 200-циклического SMA (что указывает на тенденцию к повышению).
- Плюс: когда MACD-линия пересекает сигнальную линию вниз или RSI превышает уровень перекупа ((70)), позиции находятся в покое.
- Пробой: вход в пробой происходит, когда MACD-линия пересекает сигнальную линию вниз, RSI выше уровня oversold (<30) и 50-циклический SMA ниже 200-циклического SMA (<), что указывает на нисходящую тенденцию.
- Прямой: когда линия MACD пересекает линию сигнала вверх или RSI падает ниже уровня перепродажи ((30), то позиция является плоской.
Стратегические преимущества
- Многочисленные фильтрационные механизмы позволяют эффективно уменьшить количество ложных сигналов и повысить надежность сигнала.
- В сочетании с динамическим индикатором и индикатором подтверждения тренда можно найти высоковероятные торговые возможности в направлении тренда.
- Ясные правила входа и выхода, легкость автоматизации торговли, могут устранить эмоциональный фактор в торговле.
- Применяется для торговли в течение суток, чтобы быстро адаптироваться к изменениям на рынке и использовать краткосрочные торговые возможности.
Стратегический риск
- В условиях нестабильного рынка такая стратегия может привести к увеличению количества ложных сигналов, что приведет к частым сделкам и потерем средств.
- Стратегия зависит от параметров оптимизации исторических данных, которые могут потребоваться для повторной оптимизации параметров при значительных изменениях в состоянии рынка.
- Внезапные новости о значительных прибылях или убытках могут привести к тому, что цены превзойдут уровень перекупа или перепродажи, и стратегия может пропустить эти торговые возможности.
- Эта стратегия не включает в себя стоп-лосс, что может привести к более высоким рискам в экстремальных случаях.
Направление оптимизации стратегии
- Введение дополнительных фильтров, таких как объем сделок, волатильность и т.д., для дальнейшего повышения надежности сигнала.
- Использование различных комбинаций параметров для различных состояний рынка (например, тенденции, колебания) повышает адаптивность стратегии.
- Установление разумных уровней стоп-лосса и стоп-стопа для контроля риска и прибыли от отдельных сделок.
- Проведение обратной связи и тестирования стратегий на практике, постоянная оптимизация и корректировка параметров, повышение устойчивости стратегий.
Подвести итог
Эта стратегия в сочетании с техническими показателями, такими как MACD, RSI и SMA, образует многофильтрованную стратегию дневного трейдинга. Она использует динамику и изменения тенденции для захвата торговых возможностей, контролируя риски с помощью четких правил входа и выхода. Хотя эта стратегия может быть вызвана в нестабильных рынках, она может стать надежным инструментом дневного трейдинга с дальнейшей оптимизацией и управлением рисками.
Исходный код стратегии
/*backtest
start: 2024-05-07 00:00:00
end: 2024-06-06 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Day Trading Strategy", overlay=true)
// Parametrii pentru MACD
macdLength = input.int(12, title="MACD Length")
signalSmoothing = input.int(9, title="MACD Signal Smoothing")
src = input(close, title="Source")
// Calculul MACD
[macdLine, signalLine, _] = ta.macd(src, macdLength, 26, signalSmoothing)
macdHist = macdLine - signalLine
// Parametrii pentru RSI
rsiLength = input.int(14, title="RSI Length")
rsiOverbought = input.int(70, title="RSI Overbought Level")
rsiOversold = input.int(30, title="RSI Oversold Level")
// Calculul RSI
rsi = ta.rsi(src, rsiLength)
// Filtru suplimentar pentru a reduce semnalele false
longFilter = ta.sma(close, 50) > ta.sma(close, 200)
shortFilter = ta.sma(close, 50) < ta.sma(close, 200)
// Conditii de intrare in pozitie long
enterLong = ta.crossover(macdLine, signalLine) and rsi < rsiOverbought and longFilter
// Conditii de iesire din pozitie long
exitLong = ta.crossunder(macdLine, signalLine) or rsi > rsiOverbought
// Conditii de intrare in pozitie short
enterShort = ta.crossunder(macdLine, signalLine) and rsi > rsiOversold and shortFilter
// Conditii de iesire din pozitie short
exitShort = ta.crossover(macdLine, signalLine) or rsi < rsiOversold
// Adaugarea strategiei pentru Strategy Tester
if (enterLong)
strategy.entry("BUY", strategy.long)
if (exitLong)
strategy.close("BUY")
if (enterShort)
strategy.entry("SELL", strategy.short)
if (exitShort)
strategy.close("SELL")
// Plotarea MACD si Signal Line
plot(macdLine, color=color.blue, title="MACD Line")
plot(signalLine, color=color.orange, title="Signal Line")
hline(0, "Zero Line", color=color.gray)
plot(macdHist, color=color.red, style=plot.style_histogram, title="MACD Histogram")