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

Система исторического тренда прорыва с фильтром скользящей средней (HBTS)

Автор:Чао Чжан, Дата: 2024-12-05 14:40:05
Тэги:М.А.SMAЕМАWMAVWMA

img

Обзор

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

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

Основная логика основана на ценовых прорывах и следующих тенденциях.

  1. Сигнал входа: система генерирует длинный сигнал, когда цена достигает 55-дневного максимума и закрывается выше 200-дневной скользящей средней
  2. Сигнал выхода: система закрывает позиции, когда цена опускается ниже 20-дневного минимума
  3. Тенденционный фильтр: использует 200-дневную скользящую среднюю в качестве основного индикатора тренда, вводя только длинные позиции выше среднего.
  4. Управление позициями: использует 10% собственного капитала счета для каждой сделки
  5. Опционы на скользящие средние: поддерживает SMA, EMA, WMA, VWMA, позволяя гибкость на основе рыночных характеристик

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

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

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

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

Руководство по оптимизации

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

Резюме

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


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

//@version=5
strategy("Turtle Traders - Andrei", overlay=true, 
     default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// ====== Inputs ======
// Período para a máxima das compras
lookback_buy = input.int(title="Período para Máxima de Compra", defval=55, minval=1)

// Período para a mínima das vendas
lookback_sell = input.int(title="Período para Mínima de Venda", defval=20, minval=1)

// Período da Média Móvel
ma_length = input.int(title="Período da Média Móvel", defval=200, minval=1)

// Tipo de Média Móvel
ma_type = input.string(title="Tipo de Média Móvel", defval="SMA", options=["SMA", "EMA", "WMA", "VWMA"])

// ====== Cálculos ======
// Cálculo da Média Móvel baseada no tipo selecionado
ma = switch ma_type
    "SMA" => ta.sma(close, ma_length)
    "EMA" => ta.ema(close, ma_length)
    "WMA" => ta.wma(close, ma_length)
    "VWMA" => ta.vwma(close, ma_length)

// Cálculo da máxima dos últimos 'lookback_buy' candles
highest_buy = ta.highest(high, lookback_buy)

// Cálculo da mínima dos últimos 'lookback_sell' candles
lowest_sell = ta.lowest(low, lookback_sell)

// ====== Condições de Negociação ======
// Condição de entrada: fechamento acima da máxima dos últimos 'lookback_buy' candles E acima da MA
longCondition = (high == highest_buy) and (close > ma)

if (longCondition)
    strategy.entry("Comprar", strategy.long)

// Condição de saída: fechamento abaixo da mínima dos últimos 'lookback_sell' candles
exitCondition = (low == lowest_sell)

if (exitCondition)
    strategy.close("Comprar")

// ====== Plotagens ======
// Plotar a máxima de 'lookback_buy' candles
plot(highest_buy, color=color.green, title="Máxima", linewidth=2)

// Plotar a mínima de 'lookback_sell' candles
plot(lowest_sell, color=color.red, title="Mínima", linewidth=2)

// Plotar a Média Móvel
plot(ma, color=color.blue, title="Média Móvel", linewidth=2)

// ====== Sinais Visuais ======
// Sinal de entrada
plotshape(series=longCondition, location=location.belowbar, color=color.green, 
          style=shape.labelup, title="Sinal de Compra", text="")

// Sinal de saída
plotshape(series=exitCondition, location=location.abovebar, color=color.red, 
          style=shape.labeldown, title="Sinal de Venda", text="")


Связанные

Больше