Стратегия слияния эскадрильи RSI Daredevil

Автор:Чао Чжан, Дата: 2023-11-02 14:52:03
Тэги:

img

Обзор

Стратегия слияния эскадрильи Daredevil RSI - это стратегия слияния, объединяющая индикатор RSI, Облако Ичимоку и 200-дневную скользящую среднюю.

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

Во-первых, эта стратегия использует индикатор RSI для выявления бычьих или медвежьих смелых моделей. Смелая модель RSI относится к медвежьей модели, когда цена достигает нового максимума, но RSI не достигает, или бычьей модели, когда цена достигает нового минимума, но RSI не достигает. Эта модель часто подразумевает надвигающееся изменение цены.

Во-вторых, стратегия использует ведущую линию 1 и ведущую линию 2 Ichimoku Cloud для определения направления тренда.

Наконец, вводится 200-дневная скользящая средняя. MA часто рассматривается как важный уровень поддержки / сопротивления. Когда облако Ичимоку показывает восходящий тренд, и цена стоит выше 200-дневного MA, это дает бычий сигнал. Наоборот, когда облако показывает нисходящий тренд, и цена прорывается ниже 200-дневного MA, это дает медвежий сигнал.

Только тогда, когда RSI показывает дерзкий шаблон, Облако Ичимоку подтверждает направление тренда, и отношение цена-МА соответствует ожиданиям, эта стратегия будет генерировать реальные торговые сигналы.

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

Самое большое преимущество этой стратегии слияния многопоказателей заключается в фильтрации ложных сигналов и улучшении надежности торговых решений.

Во-первых, сам рискованный паттерн RSI обладает некоторой предсказательной силой, чтобы заранее обнаружить потенциальные перевороты цен.

Во-вторых, внедрение облака Ichimoku обеспечивает лучшее определение направления тренда, избегая неправильных сигналов на рынках с диапазоном.

Наконец, эффект поддержки/сопротивления 200-дневного MA также способствует дальнейшему подтверждению надежности сигнала.

В целом, требуя консенсуса по всем показателям, эта многопоказательная стратегия может отслеживать многие ложные сигналы и генерировать реальные сигналы только при наличии выравнивания.

Риски

Несмотря на то, что многопоказательная стратегия помогает улучшить качество сигнала, следует отметить некоторые риски:

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

Во-вторых, могут существовать конфликты между различными индикаторами. Например, RSI может показывать дерзкий рисунок, в то время как тренд Ichimoku Cloud конфликтует. Как сбалансировать различные индикаторы является проблемой.

В-третьих, настройки параметров также оказывают значительное влияние на стратегию.

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

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

Возможности оптимизации

Некоторые возможности оптимизации этой стратегии включают:

  1. Проверить различные параметры показателей и оптимизировать параметры.

  2. Ввести другие индикаторы, такие как MACD, Bollinger Bands, чтобы обогатить мультииндикаторный микс и найти лучшие комбинации.

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

  4. Включайте стратегии стоп-лосса для контроля риска торговли.

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

  6. Оптимизировать код на основе результатов обратного тестирования для снижения использования ресурсов и повышения эффективности.

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

Заключение

Стратегия слияния эскадрильи Daredevil отфильтровывает шум через механизм подтверждения многопоказателей, улучшая качество сигнала. Ключевым преимуществом является консенсус нескольких индикаторов, который уменьшает ложные сигналы, но также вводит сложность.


/*backtest
start: 2023-10-02 00:00:00
end: 2023-11-01 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © tradethrills

//@version=4
strategy("RSI Divergence X Ichimoku Cloud X 200EMA", overlay=true)

//RSI Indicator
len = input(defval=14, minval=1)
src = input(defval=close)
lbR = input(defval=5)
lbL = input(defval=5)
takeProfitLevellong = input(minval = 70, defval = 75)
takeProfitLevelshort = input(minval = 30, defval = 25)

rangeUpper = input(defval=60)
rangeLower = input(defval=5)

//200 EMA
ema200 = ema(close, 200)

//Ichimoku Cloud Indicator
conversionPeriods = input(9, minval=1)
basePeriods = input(26, minval=1)
laggingSpan2Periods = input(52, minval=1)
displacement = input(26, minval=1)

donchian(len) => avg(lowest(len), highest(len))

conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)

abovecloud =  max(leadLine1, leadLine2)
belowcloud = min(leadLine1, leadLine2)

//RSI Divergence Strategy

osc = rsi(src, len)
_inrange(cond) =>
    bars = barssince(cond == true)
    rangeLower <= bars and bars <= rangeUpper

pricelowfound = na(pivotlow(osc, lbL, lbR)) ? false : true
pricehighfound = na(pivothigh(osc, lbL, lbR)) ? false : true

//Regular Bullish
osc_higherlow = osc[lbR] > valuewhen(pricelowfound, osc[lbR], 1) and _inrange(pricelowfound[1])
price_lowerlow = low[lbR] < valuewhen(pricelowfound, low[lbR], 1)

bullCond = price_lowerlow and osc_higherlow and pricelowfound

//Hidden Bullish
osc_lowerlow = osc[lbR] < valuewhen(pricelowfound, osc[lbR], 1) and _inrange(pricelowfound[1])
price_higherlow = low[lbR] > valuewhen(pricelowfound, low[lbR], 1)

hiddenbullCond = price_higherlow and osc_lowerlow and pricelowfound

//Regular Bearish
osc_lowerhigh = osc[lbR] < valuewhen(pricehighfound, osc[lbR], 1) and _inrange(pricehighfound[1])
price_higherhigh = high[lbR] > valuewhen(pricehighfound, high[lbR], 1)

bearCond = price_higherhigh and osc_lowerhigh and pricehighfound

//Hidden Bearish
osc_higherhigh = osc[lbR] > valuewhen(pricehighfound, osc[lbR], 1) and _inrange(pricehighfound[1])
price_lowerhigh = high[lbR] < valuewhen(pricehighfound, high[lbR], 1)

hiddenbearCond = price_lowerhigh and osc_higherhigh and pricehighfound

//Entry and Exit
longCondition = (bullCond or hiddenbullCond) and (abovecloud > ema200)
closelongCondition = crossover(osc, takeProfitLevellong) 

shortCondition = (bearCond or hiddenbearCond) and (ema200 > belowcloud)
closeshortCondition = crossover(osc, takeProfitLevelshort)

strategy.entry("Long", strategy.long,  when=longCondition)
strategy.close("Long", when=closelongCondition)

strategy.entry("Short", strategy.short,  when=shortCondition)
strategy.close("Short", when=closeshortCondition)


















Больше