Многопоказательная комплексная стратегия торговли

Автор:Чао Чжан, Дата: 2024-01-29 10:06:25
Тэги:

img

Обзор

Многоиндикаторная композитная торговая стратегия включает в себя четыре основных индикатора: скользящий средний дивергенс конвергенции (MACD), индекс относительной силы (RSI), индекс товарного канала (CCI) и индекс стохастической относительной силы (StochRSI).

Логика стратегии

Эта стратегия в основном составляет суждения на основе четырех показателей:

  1. MACD: рассчитывает разницу между быстрыми и медленными скользящими средними показателями, чтобы судить о динамике и тенденциях цен.

  2. RSI: рассчитывает величину изменения цен в течение определенного периода времени. RSI выше 70 указывает на условия перекупки и ниже 30 перепродажи. Эта стратегия использует 70 и 30 в качестве порогов.

  3. CCI: измеряет динамику цен путем расчета процентного отклонения цены от ее скользящей средней.

  4. StochRSI: сочетает в себе Stochastics и RSI. Золотой крест между линиями StochRSI %K и %D сигнализирует о покупке, в то время как крест смерти сигнализирует о продаже.

Только тогда, когда все четыре показателя одновременно отвечают критериям, будет сгенерирован реальный сигнал купли или продажи.

Преимущества

Ключевыми преимуществами этой стратегии по использованию нескольких индикаторов являются:

  1. Фильтрует ложные сигналы, требуя согласия всех индикаторов, избегая погони за вершинами или панической продажи дна.

  2. Захватывает основные тенденции в различных измерениях путем объединения различных индикаторов.

  3. Большое пространство для оптимизации параметров для настройки каждого индикатора для общей оптимальной производительности.

  4. Весы могут быть скорректированы на основе бычьих или медвежьих рынков, чтобы сосредоточиться на тренде или средних реверсионных стратегиях.

Риски

Основными рисками являются:

  1. Показатели могут генерировать одновременные ложные сигналы, в результате чего начинаются неправильные сделки.

  2. Цены могут двигаться достаточно резко для одновременных ложных сигналов по всем индикаторам.

  3. Задержка сигналов покупки по мере выравнивания индикаторов.

  4. Трудно оптимизировать многие параметры, возможно, сверхспособности.

Уменьшения включают настройку параметров, остановку потерь и управление размером позиции.

Возможности для расширения

Возможности повышения квалификации:

  1. Проверьте комбинации с другими показателями, такими как KD, Bollinger Bands, чтобы найти оптимальный портфель.

  2. Оптимизировать параметры для наивысшей общей производительности, возможно, с помощью машинного обучения.

  3. Настройка параметров для различных запасов и секторов.

  4. Добавьте механизмы стоп-лосса в код стратегии, например, продажа, когда цена выходит за поддержку.

  5. Выбирать акции с высокими показателями в секторах для повышения доходности портфеля.

Заключение

Эта стратегия объединяет сигналы по четырем основным индикаторам MACD, RSI, CCI и StochRSI. Устанавливая строгие критерии входа и выхода, основанные на многочасовом анализе, она может эффективно идентифицировать переломные моменты рынка. Усовершенствования, такие как оптимизация параметров, обновление фондовой вселенной и добавление остановок, могут еще больше улучшить производительность. В целом эффективная количественная торговая стратегия.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("MACD RSI CCI StochRSI Strategy", shorttitle="MRCSS", overlay=true)

// MACD göstergesi
fastLength = input(12, title="Fast Length")
slowLength = input(26, title="Slow Length")
signalLength = input(9, title="Signal Length")
[macdLine, signalLine, _] = macd(close, fastLength, slowLength, signalLength)

// RSI göstergesi
rsiLength = input(14, title="RSI Length")
rsiLevel = input(70, title="RSI Overbought Level")
rsiValue = rsi(close, rsiLength)

// CCI göstergesi
cciLength = input(8, title="CCI Length")
cciLevel = input(100, title="CCI Overbought Level")
cciValue = cci(close, cciLength)

// Stochastic Oscillator göstergesi
stochLength = input(14, title="Stoch Length")
stochK = input(3, title="Stoch K")
stochD = input(3, title="Stoch D")
stochValue = stoch(close, high, low, stochLength)
stochDValue = sma(stochValue, stochD)

// Alış ve Satış Sinyalleri
buySignal = crossover(macdLine, signalLine) and rsiValue < rsiLevel and cciValue < cciLevel and stochValue > stochDValue
sellSignal = crossunder(macdLine, signalLine) and rsiValue > (100 - rsiLevel) and cciValue > (100 - cciLevel) and stochValue < stochDValue

// Ticaret stratejisi uygula
strategy.entry("Buy", strategy.long, when = buySignal)
strategy.close("Buy", when = sellSignal)
strategy.entry("Sell", strategy.short, when = sellSignal)
strategy.close("Sell", when = buySignal)

// Göstergeleri çiz
hline(rsiLevel, "RSI Overbought", color=color.red)
hline(100 - rsiLevel, "RSI Oversold", color=color.green)
hline(cciLevel, "CCI Overbought", color=color.red)
hline(100 - cciLevel, "CCI Oversold", color=color.green)

// Grafik üzerinde sinyal okları çiz
plotshape(series=buySignal, title="Buy Signal", color=color.green, style=shape.triangleup, location=location.belowbar, size=size.small)
plotshape(series=sellSignal, title="Sell Signal", color=color.red, style=shape.triangledown, location=location.abovebar, size=size.small)


Больше