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

SMA MA SRI TP SL BE
Дата создания: 2025-04-17 14:01:16 Последнее изменение: 2025-04-17 14:01:16
Копировать: 1 Количество просмотров: 350
2
Подписаться
319
Подписчики

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

Обзор

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

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

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

  1. Показатель скользящей средней:
  • 5, 10, 50 и 100-дневная простая скользящая средняя (SMA)
  • Определение направления рыночных тенденций по относительному положению скользящих средних по нескольким временным шкалам
  • Относительная связь цены и скользящей средней определяет входный сигнал
  1. Сравнительно слабый случайный показатель (SRI):
  • Расчет SRI с использованием 1-минутной временной шкалы
  • SRI ниже 70 как полисигнал
  • SRI выше 30 в качестве пустого сигнала
  1. Форма шнура:
  • Анализ отношений между ценой открытия и ценой закрытия предыдущей линии K
  • Судить о текущей динамике цен и настроениях рынка
  1. Механизмы управления рисками:
  • Настройка точек остановки (TP) и остановки (SL)
  • Стратегия достижения “Break-Even”, BE
  • Динамическая коррекция стоп-позиции

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

  1. Проверка многомерного сигнала
  • Комбинированное использование скользящих средних, SRI и динамики цен
  • Значительное снижение вероятности ошибочного сигнала
  • Улучшение надежности торговых сигналов
  1. Гибкий контроль риска
  • Предварительные остановки и остановки
  • Динамический механизм прибыли и убытков
  • Эффективный контроль максимальных потерь по одной сделке
  1. Многовременный анализ
  • Периодическая скользящая средняя
  • Полное понимание рыночных тенденций
  • Повышение адаптивности стратегий
  1. Настройка параметров
  • Настраиваемые точки остановки
  • Адаптация к различным рыночным условиям и торговым видам

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

  1. Риск чувствительности параметра
  • Движущиеся средние и SRI параметры существенно влияют на эффективность стратегии
  • Необходимость в полном отслеживании и оптимизации параметров
  1. Риск резких рыночных колебаний
  • В экстремальных рыночных условиях стратегия может не сработать
  • Рекомендуется установить максимальное ограничение на отзыв
  1. Риски чрезмерной торговли
  • Частые транзакции могут увеличить стоимость транзакций
  • Необходимость корректировки в сочетании с фактическими затратами на транзакцию
  1. Риск отставания в показателях
  • Условия для движущихся средних
  • Возможно, мы пропустили сигнал ранней стадии тренда

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

  1. Внедрение алгоритмов машинного обучения
  • Параметры оптимизации с помощью алгоритмов контролируемого обучения
  • Динамическая коррекция остановочной точки убытка
  • Повышение адаптации стратегий
  1. Добавление дополнительных фильтров
  • Введение показателя оборота
  • Присоединение к индикатору силы тренда
  • Улучшение точности сигналов
  1. Оптимизация мультиплементной адаптации
  • Разработка механизма адаптации общего параметра
  • Снижение вмешательства человека
  • Повышение универсальности стратегий

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

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

Исходный код стратегии
/*backtest
start: 2024-04-17 00:00:00
end: 2025-04-15 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"TRX_USD"}]
*/

//@version=6
strategy("Strategia LONG & SHORT con TP, SL e BE", overlay=true, default_qty_type=strategy.fixed, default_qty_value=1)

// === INPUT === //
tp_points = input.int(60000, "Take Profit (punti)")
sl_points = input.int(25000, "Stop Loss (punti)")
breakeven_trigger = tp_points * 0.5

// === MEDIE MOBILI === //
ma5  = ta.sma(close, 5)
ma10 = ta.sma(close, 10)
ma50 = ta.sma(close, 50)
ma100 = ta.sma(close, 100)

// === SRI da timeframe 1 minuto === //
sri_tf = "1"
sri_length = 10
sri_src = close
sri = request.security(syminfo.tickerid, sri_tf, ta.stoch(sri_src, sri_src, sri_src, sri_length))

// === CONDIZIONI LONG === //
long_candle        = open > close[1]
price_above_ma100  = close > ma100
ma50_above_ma100   = ma50 > ma100
ma5_above_ma10     = ma5 > ma10
sri_below_75       = sri < 70

long_condition = long_candle and price_above_ma100 and ma50_above_ma100 and ma5_above_ma10 and sri_below_75

// === CONDIZIONI SHORT === //
short_candle       = open < close[1]
price_below_ma100  = close < ma100
ma50_below_ma100   = ma50 < ma100
ma5_below_ma10     = ma5 < ma10
sri_above_25       = sri > 30

short_condition = short_candle and price_below_ma100 and ma50_below_ma100 and ma5_below_ma10 and sri_above_25

// === ENTRY LONG === //
if (long_condition)
    strategy.entry("Long", strategy.long)

// === ENTRY SHORT === //
if (short_condition)
    strategy.entry("Short", strategy.short)

// === GESTIONE USCITE === //
var float long_entry_price  = na
var float short_entry_price = na

// LONG: TP/SL + break-even
if (strategy.position_size > 0)
    if (na(long_entry_price))
        long_entry_price := strategy.position_avg_price

    tp_price_long = long_entry_price + tp_points * syminfo.mintick
    sl_price_long = long_entry_price - sl_points * syminfo.mintick
    be_trigger_long = long_entry_price + breakeven_trigger * syminfo.mintick
    sl_be = close >= be_trigger_long ? long_entry_price : sl_price_long

    strategy.exit("Exit Long", from_entry="Long", limit=tp_price_long, stop=sl_be)

// SHORT: TP/SL + break-even
if (strategy.position_size < 0)
    if (na(short_entry_price))
        short_entry_price := strategy.position_avg_price

    tp_price_short = short_entry_price - tp_points * syminfo.mintick
    sl_price_short = short_entry_price + sl_points * syminfo.mintick
    be_trigger_short = short_entry_price - breakeven_trigger * syminfo.mintick
    sl_be_short = close <= be_trigger_short ? short_entry_price : sl_price_short

    strategy.exit("Exit Short", from_entry="Short", limit=tp_price_short, stop=sl_be_short)

// Reset quando flat
if (strategy.position_size == 0)
    long_entry_price := na
    short_entry_price := na