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

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

Автор:Чао Чжан, Дата: 2024-06-17 15:41:45
Тэги:ZLSMAATRRVOL

img

Обзор

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

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

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

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

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

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

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

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

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

Резюме

ZLSMA-Enhanced Chandelier Exit Strategy with Volume Spike Detection - это стратегия, следующая за трендом, которая контролирует торговый риск, захватывая при этом возможности тренда с помощью динамического стоп-лосса, суждения о тренде и обнаружения пика объема. Логика стратегии ясна и легко понять и реализовать, но ее все еще необходимо оптимизировать и улучшить на основе конкретных рыночных характеристик и торговых инструментов при применении на практике. Благодаря внедрению большего количества индикаторов подтверждения сигналов, оптимизации условий выхода, разумному установлению параметров и реализации строгого управления позициями и контроля рисков эта стратегия имеет потенциал стать надежным и эффективным торговым инструментом.


/*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!')


Связанные

Больше