В процессе загрузки ресурсов... загрузка...

Комбинированная естественная стратегия торговли MACD и RSI

Автор:Чао Чжан, Дата: 2024-06-03 17:22:03
Тэги:MACDРСИWMAМ.А.ЕМАСММАRMAVWMA

img

Обзор

Эта стратегия сочетает в себе два технических индикатора, MACD и RSI, используя сигналы MACD crossover и сигналы RSI overbought / oversold для определения сроков торговли. Между тем, стратегия также вводит взвешенную скользящую среднюю (WMA) в качестве вспомогательного решения для повышения надежности стратегии. Стратегия работает в течение 1 часа, открывая длинные позиции, когда MACD образует золотой крест, а RSI выше 50, и открывая короткие позиции, когда MACD образует смертельный крест, а RSI ниже 50. В то же время, она закрывает длинные позиции, когда RSI выше 70, и закрывает короткие позиции, когда RSI ниже 30. Кроме того, стратегия устанавливает несколько временных переменных для оценки изменений тренда в разных временных масштабах.

Принципы стратегии

Основой этой стратегии является совместное использование двух технических индикаторов, MACD и RSI. MACD состоит из разницы между быстрой линией (короткосрочная скользящая средняя) и медленной линией (долгосрочная скользящая средняя), которая может отражать изменения тенденции рынка. Когда быстрая линия пересекает верхнюю линию медленной, она образует золотой крест, указывающий на восходящую тенденцию; наоборот, она образует смертельный крест, указывающий на нисходящую тенденцию. RSI - это индикатор, который измеряет состояние перекупленности и перепроданности рынка. Когда RSI выше 70, он указывает на то, что рынок перекуплен и может столкнуться с риском откат; когда RSI ниже 30, он указывает на то, что рынок перепродан и может привести к возможности отскока.

Эта стратегия сочетает в себе MACD и RSI, используя суждение о тренде MACD и суждение о перекупленности / перепроданности RSI для более точного понимания сроков торговли. В то же время стратегия также вводит взвешенную скользящую среднюю (WMA) в качестве вспомогательного суждения. WMA больше уделяет внимания недавним ценам по сравнению с обычными скользящими средними и может более чувствительно отражать изменения цен.

Кроме того, стратегия устанавливает переменные для нескольких временных рамок (например, 15 минут, 30 минут, 1 час, 2 часа и т. д.), чтобы судить о изменениях тренда в разных временных масштабах.

Анализ преимуществ

  1. Он объединяет два эффективных технических индикатора, MACD и RSI, которые могут лучше понять тенденции рынка и условия перекупки/перепродажи, повышая точность торговых решений.
  2. В нем в качестве вспомогательного решения вводится взвешенная скользящая средняя (WMA).
  3. Он устанавливает переменные для нескольких временных рамок, реализуя совместный анализ нескольких временных рамок, который может более полно понять рыночные тенденции и повысить надежность решений.
  4. Он работает в течение одного часа, с умеренной частотой торговли, что позволяет лучше сбалансировать затраты на торговлю и доходы.
  5. Он устанавливает четкие условия открытия и закрытия, такие как MACD золотой крест / крест смерти, RSI перекупленный / перепроданный и т. д., которые легко понять и реализовать.

Анализ рисков

  1. И MACD, и RSI являются отстающими индикаторами. Когда рынок быстро меняется, может возникнуть разрыв между индикаторными сигналами и ценами, что приводит к ложным сигналам.
  2. Стратегия работает в течение одного периода времени (1 час), который может не полностью отражать изменения тренда в разных временных масштабах, и имеет определенные ограничения.
  3. В стратегии отсутствуют меры контроля рисков, такие как стоп-лосс и управление позициями, которые могут подвергаться более высоким рискам привлечения при резких колебаниях рынка.
  4. Настройки параметров стратегии (например, периоды быстрой и медленной линии MACD, период времени RSI и т. д.) могут потребоваться корректировать в соответствии с различными рыночными условиями.

Направление оптимизации

  1. Внедрить больше технических индикаторов, таких как полосы Боллинджера, ATR и т. д., чтобы создать более надежные торговые сигналы и повысить надежность стратегии.
  2. Оптимизируйте выбор временных рамок стратегии, например, добавляя временные рамки более высокого уровня, такие как ежедневные графики, чтобы лучше понять большую тенденцию, устанавливая при этом конкретные точки входа на временные рамки более низкого уровня (например, 15 минут, 5 минут и т. Д.), чтобы повысить точность стратегии.
  3. Добавить меры контроля рисков, такие как установление разумных позиций стоп-лосса и ограничение размера позиций, для контроля рисков привлечения.
  4. Оптимизировать параметры стратегии. Машинное обучение и другие методы могут быть использованы для автоматического поиска оптимальной комбинации параметров на основе исторических данных, уменьшая влияние субъективного суждения.
  5. Подумайте о том, чтобы ввести другие факторы, такие как настроение рынка, объем торговли, открытый интерес и т. д., чтобы более полно понять состояние рынка и улучшить адаптивность стратегии.

Резюме

Эта стратегия сочетает в себе два эффективных технических индикатора, MACD и RSI, в то время как внедряет WMA в качестве вспомогательного суждения для принятия торговых решений в течение 1-часового периода времени. Логика стратегии ясна, легко понятна и реализуема, и может лучше понять рыночные тенденции и условия перекупки / перепродажи, с определенной осуществимостью. Однако стратегия также имеет некоторые ограничения и риски, такие как задержка, единый временной промежуток, отсутствие контроля рисков и т. Д. В будущем стратегия может быть улучшена с точки зрения внедрения большего количества индикаторов, непрерывных временных рамок, усиления контроля рисков, оптимизации параметров и т. Д., Чтобы повысить ее надежность и рентабельность. В целом эта стратегия обеспечивает способ мышления для количественной торговли, но все еще должна быть оптимизирована и уточнена на практике.


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

//@version=5
strategy("Improved MACD and RSI Trading Strategy", overlay=true, initial_capital=10000, commission_type=strategy.commission.percent, commission_value=0.01, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// MACD 設置
fast_length = input(12, title="MACD Fast Length")
slow_length = input(26, title="MACD Slow Length")
signal_smoothing = input(9, title="MACD Signal Smoothing")

// RSI 設置
input_rsi_length = input.int(14, title="RSI Length")
input_rsi_source = input(close, "RSI Source")

RSI = ta.rsi(input_rsi_source, input_rsi_length)

// 計算MACD和信號線
[macdLine, signalLine, _] = ta.macd(close, fast_length, slow_length, signal_smoothing)

// 自然交易理論:利用MACD和RSI的結合
ma(source, length, type) =>
    switch type
        "SMA" => ta.sma(source, length)
        "EMA" => ta.ema(source, length)
        "SMMA (RMA)" => ta.rma(source, length)
        "WMA" => ta.wma(source, length)
        "VWMA" => ta.vwma(source, length)

maTypeInput = input.string("SMA", title="Moving Average Type", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"], group="MA Settings")
maLengthInput = input.int(14, title="Moving Average Length", group="MA Settings")

macdMA = ma(macdLine, maLengthInput, maTypeInput)

// 設置交易信號
longCondition = ta.crossover(macdLine, signalLine) and macdLine > macdMA and RSI < 70
shortCondition = ta.crossunder(macdLine, signalLine) and macdLine < macdMA and RSI > 30

// 定義時間框架
tf_15m = ta.change(RSI, 15) > 0 ? 1 : 0
tf_30m = ta.change(RSI, 30) > 0 ? 1 : 0
tf_1h = ta.change(RSI, 60) > 0 ? 1 : 0
tf_2h = ta.change(RSI, 120) > 0 ? 1 : 0
tf_4h = ta.change(RSI, 240) > 0 ? 1 : 0
tf_6h = ta.change(RSI, 360) > 0 ? 1 : 0
tf_8h = ta.change(RSI, 480) > 0 ? 1 : 0
tf_12h = ta.change(RSI, 720) > 0 ? 1 : 0
tf_1d = ta.change(RSI, 1440) > 0 ? 1 : 0

// 設置開倉、平倉和空倉條件
if (longCondition and tf_1h and RSI > 50)
    strategy.entry("Long", strategy.long)
if (shortCondition and tf_1h and RSI < 50)
    strategy.entry("Short", strategy.short)

if (tf_1h and RSI > 70)
    strategy.close("Long")
if (tf_1h and RSI < 30)
    strategy.close("Short")

// 加入其他策略
// 定義加權平均價格
wma(source, length) =>
    wma = 0.0
    sum = 0.0
    sum_wts = 0.0
    for i = 0 to length - 1
        wts = (length - i) * (length - i)
        sum := sum + source[i] * wts
        sum_wts := sum_wts + wts
    wma := sum / sum_wts

wmaLength = input.int(20, title="WMA Length", group="Other Strategies")
wmaValue = wma(close, wmaLength)

// 設置交易信號
longWMACondition = close > wmaValue
shortWMACondition = close < wmaValue

if (longWMACondition and tf_1h and RSI > 50)
    strategy.entry("Long WMA", strategy.long)
if (shortWMACondition and tf_1h and RSI < 50)
    strategy.entry("Short WMA", strategy.short)

if (tf_1h and RSI > 70)
    strategy.close("Long WMA")
if (tf_1h and RSI < 30)
    strategy.close("Short WMA")

// 繪製MACD和RSI
plot(macdLine, color=color.blue, title="MACD Line")
plot(signalLine, color=color.red, title="Signal Line")


Связанные

Больше