Стратегия выхода из люстры с улучшенной технологией ZLSMA и обнаружение объемного импульса

ZLSMA ATR RVOL
Дата создания: 2024-06-17 15:41:45 Последнее изменение: 2024-06-17 15:41:45
Копировать: 0 Количество просмотров: 1206
1
Подписаться
1617
Подписчики

Стратегия выхода из люстры с улучшенной технологией ZLSMA и обнаружение объемного импульса

Обзор

Эта стратегия сочетает в себе выходы подвесных фонарей (Chandelier Exit), нулевые задержки в движении средних (ZLSMA) и обнаружение пульса относительной загруженности (RVOL), чтобы создать целостную торговую систему. Выходы подвесных фонарей динамично регулируют свои позиции сдерживания с помощью истинной величины колебаний (ATR), чтобы лучше адаптироваться к изменениям рынка.

Стратегический принцип

  1. Вычислить ATR и рассчитать позиции стоп-лода и стоп-лода в зависимости от ATR и максимальной/минимальной цены.
  2. ZLSMA рассчитывается как основание для определения направления тренда.
  3. Вычислить РВОЛ, сравнив РВОЛ с установленным порогом, чтобы определить, есть ли импульс в объеме перевозок.
  4. Многоголовый вход: ZLSMA на текущей цене закрытия, а RVOL больше, чем убыток, открытие многоголового входа, остановка убытков на недавнем минимуме.
  5. Пустой вход: через ZLSMA под текущей ценой закрытия, а RVOL больше, чем отклонение, открытие пустой позиции, остановка убытков на недавнем высоком уровне.
  6. Много голов: ZLSMA по текущей цене закрытия, плюс-минус.
  7. Появление в пустом виде: ZLSMA на текущей цене закрытия, пустой билет.

Стратегические преимущества

  1. Закон выхода подвесных фонарей позволяет динамически регулировать положение остановки, снижая риск, связанный с фиксированной остановкой.
  2. ZLSMA способна быстро реагировать на изменения цен и обеспечивать надежную оценку тенденций для торговли.
  3. Пулсовая диагностика RVOL может помочь стратегии избежать рынка свертывания с низкой волатильностью и улучшить качество торгов.
  4. Стратегическая логика ясна, легко понятна и реализуема.

Стратегический риск

  1. На рынках с нечеткой тенденцией или частыми колебаниями эта стратегия может привести к большему количеству сделок, что увеличивает стоимость комиссий.
  2. Параметры, установленные в стратегии (например, ATR-цикл, ZLSMA-цикл, threshold RVOL и т. д.), оказывают большое влияние на эффективность стратегии. Неправильные параметры могут привести к плохой эффективности стратегии.
  3. Стратегия не учитывает управление позициями и контроль риска, в практическом применении требуется сочетание принципов управления капиталом.

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

  1. Введение признаков тренда, таких как система равнолинейных или динамические показатели, для дальнейшего повышения точности определения тренда.
  2. Оптимизация логики обнаружения импульсов RVOL, например, принятие во внимание последовательности импульсов RVOL для совершения сделки для дальнейшего улучшения качества сигнала.
  3. В условиях выхода добавляется логика стоп-прибыли, если достигнут определенный целевой показатель прибыли, то прибыль, полученная в результате, блокируется.
  4. Оптимизация параметров стратегии для поиска оптимального сочетания параметров в зависимости от рыночных особенностей и типа сделки.
  5. Совершенствование стратегии в сочетании с принципами управления позициями и контроля риска, повышение устойчивости и надежности стратегии.

Подвести итог

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

Исходный код стратегии
/*backtest
start: 2024-05-01 00:00:00
end: 2024-05-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Chandelier Exit Strategy with ZLSMA and Volume Spike Detection", shorttitle="CES with ZLSMA and Volume", overlay=true, process_orders_on_close=true, calc_on_every_tick=false)
// Chandelier Exit Inputs
lengthAtr = input.int(title='ATR Period', defval=1)
mult = input.float(title='ATR Multiplier', step=0.1, defval=2.0)
useClose = input.bool(title='Use Close Price for Extremums', defval=true)
// Calculate ATR
atr = mult * ta.atr(lengthAtr)
// Calculate Long and Short Stops
longStop = (useClose ? ta.highest(close, lengthAtr) : ta.highest(high, lengthAtr)) - atr
shortStop = (useClose ? ta.lowest(close, lengthAtr) : ta.lowest(low, lengthAtr)) + atr
// Update stops based on previous values
longStop := na(longStop[1]) ? longStop : close[1] > longStop[1] ? math.max(longStop, longStop[1]) : longStop
shortStop := na(shortStop[1]) ? shortStop : close[1] < shortStop[1] ? math.min(shortStop, shortStop[1]) : shortStop
// Determine Direction
var int dir = na
dir := na(dir[1]) ? (close > shortStop ? 1 : close < longStop ? -1 : na) : close > shortStop[1] ? 1 : close < longStop[1] ? -1 : dir[1]
// ZLSMA Inputs
lengthZLSMA = input.int(title="ZLSMA Length", defval=50)
offsetZLSMA = input.int(title="ZLSMA Offset", defval=0)
srcZLSMA = input.source(close, title="ZLSMA Source")
// ZLSMA Calculation
lsma = ta.linreg(srcZLSMA, lengthZLSMA, offsetZLSMA)
lsma2 = ta.linreg(lsma, lengthZLSMA, offsetZLSMA)
eq = lsma - lsma2
zlsma = lsma + eq
// Plot ZLSMA
plot(zlsma, title="ZLSMA", color=color.purple, linewidth=3)
// Swing High/Low Calculation
swingHigh = ta.highest(high, 5)
swingLow = ta.lowest(low, 5)
// Relative Volume (RVOL) Calculation
rvolLength = input.int(20, title="RVOL Length")
rvolThreshold = input.float(1.5, title="RVOL Threshold")
avgVolume = ta.sma(volume, rvolLength)
rvol = volume / avgVolume
// Define buy and sell signals based on ZLSMA and Volume Spike
buySignal = (dir == 1 and dir[1] == -1 and close > zlsma and rvol > rvolThreshold)
sellSignal = (dir == -1 and dir[1] == 1 and close < zlsma and rvol > rvolThreshold)
// Define exit conditions based on ZLSMA
exitLongSignal = (close < zlsma)
exitShortSignal = (close > zlsma)
// Strategy Entries and Exits
if (buySignal)
    strategy.entry("Long", strategy.long, stop=swingLow)
if (sellSignal)
    strategy.entry("Short", strategy.short, stop=swingHigh)
if (exitLongSignal)
    strategy.close("Long")
if (exitShortSignal)
    strategy.close("Short")
// Alerts
alertcondition(buySignal, title='Alert: CE Buy', message='Chandelier Exit Buy!')
alertcondition(sellSignal, title='Alert: CE Sell', message='Chandelier Exit Sell!')