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

Стратегия по определению количественного тренда на основе анализа длины свеча

Автор:Чао Чжан, Дата: 2025-01-06 16:33:16
Тэги:М.А.VWMASMAЕМАWMA

img

Обзор

Эта стратегия представляет собой количественную торговую систему, основанную на техническом анализе свечей, в первую очередь выявляющую потенциальные торговые возможности путем анализа общей длины верхних и нижних ветвей свечей. Основной механизм сравнивает в реальном времени рассчитанную общую длину ветчи с скорректированной скользящей средней, генерируя длинные сигналы, когда длина ветчи проходит через скользящую среднюю. Стратегия объединяет несколько типов скользящих средних, включая Простую скользящую среднюю (SMA), Экспоненциальную скользящую среднюю (EMA), Весовую скользящую среднюю (WMA) и Объемную весовую скользящую среднюю (VWMA), предоставляя трейдерам гибкие варианты выбора параметров.

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

Основная логика включает следующие ключевые шаги:

  1. Вычислить верхний и нижний длины фитиля для каждой свечи: верхний фитиль - это разница между высоким и большим от закрытия / открытия, нижний фитиль - это разница между меньшим от закрытия / открытия и низким
  2. Вычислить общую длину фитиля, сложив верхнюю и нижнюю длины фитиля
  3. Расчет скользящей средней длины фитиля на основе выбранного пользователем типа (SMA/EMA/WMA/VWMA)
  4. Добавление пользовательского смещения к скользящей средней
  5. Сгенерировать длинный сигнал, когда в режиме реального времени общая длина фитиля проходит через смещенный скользящий средний
  6. Автоматическое закрытие позиций после заранее установленного периода хранения

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

  1. Рациональный выбор технических индикаторов: длина фитиля эффективно отражает волатильность рынка и силу движения цен, что имеет решающее значение для определения изменения тренда
  2. Гибкие параметры: множество вариантов скользящих средних и настраиваемые параметры адаптируются к различным рыночным условиям
  3. Всеобъемлющий контроль рисков: фиксированный период хранения предотвращает риски чрезмерного воздействия
  4. Выдающаяся визуализация: гистограмма отображает длину фитиля, линейный график показывает скользящую среднюю, интуитивно представляя торговые сигналы
  5. Ясная логика вычислений: краткая структура кода, легкая для понимания и обслуживания

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

  1. Зависимость от рыночной среды: сигналы могут быть менее эффективными в условиях низкой волатильности
  2. Чувствительность параметров: скользящий средний период, значение смещения существенно влияет на результаты стратегии
  3. Риск ложного прорыва: потенциальные краткосрочные прорывы с быстрыми изменениями, приводящие к ложным сигналам.
  4. Ограничения фиксированного периода хранения: невозможность динамической корректировки времени хранения на основе рыночных условий
  5. Однонаправленная торговля: поддерживает только длинные позиции, не может получать прибыль при понижающихся тенденциях

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

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

Резюме

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


/*backtest
start: 2019-12-23 08:00:00
end: 2025-01-04 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=6
strategy("Daytrading ES Wick Length Strategy", overlay=true)

// Input parameters
ma_length = input.int(20, title="Moving Average Length", minval=1)
ma_type = input.string("VWMA", title="Type of Moving Average", options=["SMA", "EMA", "WMA", "VWMA"])
ma_offset = input.float(10, title="MA Offset (Points)", step=1)
hold_periods = input.int(18, title="Holding Period (Bars)", minval=1)

// Calculating upper and lower wick lengths
upper_wick_length = high - math.max(close, open)
lower_wick_length = math.min(close, open) - low

// Total wick length (upper + lower)
total_wick_length = upper_wick_length + lower_wick_length

// Calculate the moving average based on the selected method
ma = switch ma_type
    "SMA" => ta.sma(total_wick_length, ma_length)
    "EMA" => ta.ema(total_wick_length, ma_length)
    "WMA" => ta.wma(total_wick_length, ma_length)
    "VWMA" => ta.vwma(total_wick_length, ma_length)

// Add the offset to the moving average
ma_with_offset = ma + ma_offset

// Entry condition: wick length exceeds MA with offset
long_entry_condition = total_wick_length > ma_with_offset

// Long entry
if (long_entry_condition)
    strategy.entry("Long", strategy.long)

// Automatic exit after holding period
if strategy.position_size > 0 and bar_index - strategy.opentrades.entry_bar_index(strategy.opentrades - 1) >= hold_periods
    strategy.close("Long")

// Plot the total wick length as a histogram
plot(total_wick_length, color=color.blue, style=plot.style_histogram, linewidth=2, title="Total Wick Length")

// Plot the moving average with offset
plot(ma_with_offset, color=color.yellow, linewidth=2, title="MA of Wick Length (Offset)")

Связанные

Больше