Адаптивная динамическая стратегия стоп-профита и стоп-лосса на основе пересечения SMA и фильтрации объема

SMA
Дата создания: 2024-07-31 11:20:39 Последнее изменение: 2024-07-31 11:20:39
Копировать: 0 Количество просмотров: 483
1
Подписаться
1617
Подписчики

Адаптивная динамическая стратегия стоп-профита и стоп-лосса на основе пересечения SMA и фильтрации объема

Обзор

Эта стратегия является автоматизированной торговой системой, основанной на пересечении и фильтрации пересечения на основе простой движущейся средней (SMA). Она использует пересечение быстрых и медленных SMA для создания входных сигналов, а также комбинирует переменные показатели для подтверждения силы тренда.

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

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

  1. СМС:

    • Простая скользящая средняя с использованием двух различных циклов (быстрый SMA и медленный SMA)
    • Когда быстрый SMA пересекает медленный SMA снизу, образуется полисигнал
    • Когда быстрый SMA проходит через медленный SMA сверху, создается сигнал заикания
  2. Фильтр объемов сделок:

    • Расчет простой скользящей средней по объему сделок
    • Многосигналный сигнал требует, чтобы текущий объем транзакции был выше, чем объем транзакции SMA
    • Сигнал пустоты требует текущего объема сделки ниже объема сделки SMA
  3. Динамическая остановка и остановка:

    • Установка стоп-лосса и стоп-стопа на основе процентов от стартовой цены
    • Уровни остановки и остановки могут быть скорректированы с помощью входных параметров
  4. Временная база выхода:

    • Настройка максимального времени удержания позиции (в количестве K-линий)
    • Автоматическая ликвидация позиций, предотвращающая долгосрочное удержание невыгодных позиций
  5. Настройки во время отслеживания:

    • Разрешает пользователям определять конкретный диапазон времени отслеживания
    • Убедитесь, что стратегия работает только в указанный исторический период

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

  1. Следить за тенденциями в сочетании с динамикой: В сочетании с SMA-пересечениями и фильтрацией объема торгов, стратегия позволяет улавливать сильные трендовые явления, избегая при этом частых торгов на слабых рынках.

  2. Гибкое управление рисками: Динамические механизмы остановки и сдерживания убытков позволяют стратегии автоматически корректировать рисковую экспозицию в зависимости от волатильности рынка, что помогает защитить прибыль и ограничить потенциальные потери.

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

  4. Настройка: Многочисленные регулируемые параметры (например, цикл SMA, стоп-стоп, максимальное время удержания позиции и т. д.) позволяют оптимизировать стратегию в зависимости от различных рынков и стилей торговли.

  5. Визуальная поддержка: Стратегия начерчивает на графике линии SMA и торговые сигналы, что облегчает визуальное понимание и анализ эффективности стратегии.

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

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

  2. Фальшивые взломы: На рынках с двойным диапазоном SMA-пересечения могут часто вызывать ложные прорывные сигналы, что приводит к чрезмерной торговле и увеличению стоимости сделки.

  3. Объем продаж зависит от: Чрезмерная зависимость от показателя объема сделок может вводить в заблуждение стратегию при определенных рыночных условиях, особенно в периоды низкой ликвидности или аномального объема сделок.

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

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

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

  1. Изменение динамических параметров: Достижение динамической корректировки циклов SMA, стоп-лосс-стоп процента и максимального времени удержания позиции в соответствии с различными циклами и волатильностью рынка.

  2. incorporate дополнительные фильтры: Введение других технических индикаторов (например, RSI, MACD и т. Д.) в качестве дополнительных фильтрующих условий повышает точность торговых сигналов.

  3. Приспосабливаясь к снижению объемов поставок: Разработка механизмов динамически корректируемой пониженной стоимости объемов сделок, чтобы лучше адаптироваться к характеристикам объемов сделок на разных этапах рынка.

  4. Улучшение механизма выхода: Исследование механизмов интеллектуального выхода, основанных на структуре рынка или динамических показателях, вместо фиксированного времени выхода и повышения адаптивности стратегии.

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

  6. Анализ нескольких временных рамок: Интеграция анализа данных с использованием нескольких временных рамок повышает способность стратегии распознавать рыночные тенденции и обратные тенденции.

  7. Оптимизация машинного обучения: Динамическая оптимизация параметров стратегии с использованием алгоритмов машинного обучения для повышения эффективности стратегии в различных рыночных условиях.

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

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

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

//@version=5
strategy("Simple_CrossOver_Bot_V1_EBO", overlay=true)

// INPUTS
dateStart_Year = input.int(2018, title="Start Year", minval=2000)
dateStart_Month = input.int(1, title="Start Month", minval=1, maxval=12)
dateStart_Day = input.int(1, title="Start Day", minval=1, maxval=31)
dateEnd_Year = input.int(2019, title="End Year", minval=2000)
dateEnd_Month = input.int(1, title="End Month", minval=1, maxval=12)
dateEnd_Day = input.int(1, title="End Day", minval=1, maxval=31)

fast_SMA_input = input.int(7, title="SMA Fast")
slow_SMA_input = input.int(25, title="SMA Slow")
volume_SMA_input = input.int(20, title="Volume SMA")
stop_loss_percent = input.float(1.0, title="Stop Loss (%)", step=0.1) / 100
take_profit_percent = input.float(2.0, title="Take Profit (%)", step=0.1) / 100
max_bars_in_trade = input.int(50, title="Max Bars in Trade", minval=1)

// INDICATORS
fast_SMA = ta.sma(close, fast_SMA_input)
slow_SMA = ta.sma(close, slow_SMA_input)
volume_SMA = ta.sma(volume, volume_SMA_input)

// STRATEGY
LONG = ta.crossover(fast_SMA, slow_SMA) and fast_SMA > slow_SMA and volume > volume_SMA
SHORT = ta.crossunder(fast_SMA, slow_SMA) and fast_SMA < slow_SMA and volume < volume_SMA

// TRIGGERS
testPeriodStart = timestamp(dateStart_Year, dateStart_Month, dateStart_Day)
testPeriodEnd = timestamp(dateEnd_Year, dateEnd_Month, dateEnd_Day)
timecondition = true

// Track bar index for entries
var int long_entry_bar_index = na
var int short_entry_bar_index = na

if timecondition
    if LONG
        strategy.entry(id="LONG", direction=strategy.long)
        long_entry_bar_index := bar_index
    if SHORT
        strategy.entry(id="SHORT", direction=strategy.short)
        short_entry_bar_index := bar_index

    // Exit conditions for LONG
    if not na(long_entry_bar_index) and bar_index - long_entry_bar_index >= max_bars_in_trade
        strategy.close("LONG")
        long_entry_bar_index := na
    
    // Exit conditions for SHORT
    if not na(short_entry_bar_index) and bar_index - short_entry_bar_index >= max_bars_in_trade
        strategy.close("SHORT")
        short_entry_bar_index := na

    // Standard exits
    if LONG
        strategy.exit("Exit LONG", from_entry="LONG", stop=close * (1 - stop_loss_percent), limit=close * (1 + take_profit_percent))
    if SHORT
        strategy.exit("Exit SHORT", from_entry="SHORT", stop=close * (1 + stop_loss_percent), limit=close * (1 - take_profit_percent))

// PLOTS
plot(fast_SMA, color=color.green, linewidth=1, title="Fast SMA")
plot(slow_SMA, color=color.yellow, linewidth=1, title="Slow SMA")
plot(volume_SMA, color=color.blue, linewidth=1, title="Volume SMA")
plotshape(series=LONG, location=location.belowbar, color=color.green, style=shape.labelup, text="BUY", size=size.small)
plotshape(series=SHORT, location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL", size=size.small)

// Uncomment the following lines for alerts
// alertcondition(LONG, title="LONG")
// alertcondition(SHORT, title="SHORT")