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

Стратегия адаптивного прогнозирования перекрестного сигнала SMI на основе импульса

Автор:Чао Чжан, Дата: 2024-12-27 15:38:01
Тэги:SMIЕМА

img

Обзор

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

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

Основа стратегии заключается в измерении импульса цены с помощью расчета SMI. Он сначала определяет самый высокий и самый низкий диапазон цен в течение определенного периода, а затем нормализует позицию цены закрытия относительно этого диапазона. Применяя двойную сглаживание EMA как к относительному диапазону, так и к диапазону цен, он генерирует более стабильные значения SMI. Сигналы покупки запускаются, когда линия SMI делает золотой крест со своей линией сигнала (SMIs EMA), в то время как кресты смерти запускают сигналы продажи. Зоны перекупки и перепродажи (+40/-40) настроены для подтверждения надежности сигнала.

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

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

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

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

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

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

Резюме

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


/*backtest
start: 2024-12-19 00:00:00
end: 2024-12-26 00:00:00
period: 45m
basePeriod: 45m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Iban_Boe

//@version=6
strategy("SMI Strategy with Signals", "SMI Strategy", overlay=false)

// Parámetros del SMI
lengthK   = input.int(14, "%K Length",  minval=1, maxval=15000)
lengthD   = input.int(3,  "%D Length",  minval=1, maxval=4999)
lengthEMA = input.int(3,  "EMA Length", minval=1, maxval=4999)

// Función de doble EMA
emaEma(source, length) => ta.ema(ta.ema(source, length), length)

// Cálculos del SMI
highestHigh = ta.highest(lengthK)
lowestLow = ta.lowest(lengthK)
highestLowestRange = highestHigh - lowestLow
relativeRange = close - (highestHigh + lowestLow) / 2
smi = 200 * (emaEma(relativeRange, lengthD) / emaEma(highestLowestRange, lengthD))
smiSignal = ta.ema(smi, lengthEMA)

// Gráficos del SMI
smiPlot = plot(smi, "SMI", color=color.blue)
plot(smiSignal, "SMI-based EMA", color=color.orange)

// Level lines
hline(40, "Overbought Line", color=color.green)
hline(-40, "Oversold Line", color=color.red)
hline(0, "Middle Line", color=color.gray)

midLinePlot = plot(0, color = na, editable = false, display = display.none)
fill(smiPlot, midLinePlot, 120,  40,   top_color = color.new(#4caf4f, 50),    bottom_color = color.new(color.green, 100), title = "Overbought Gradient Fill")
fill(smiPlot, midLinePlot, -40, -120,  top_color = color.new(color.red, 100), bottom_color = color.new(color.red, 50),    title = "Oversold Gradient Fill")

// Señales de compra y venta
buySignal = ta.crossover(smi, smiSignal) // Detect crossover
sellSignal = ta.crossunder(smi, smiSignal) // Detect crossover

// Graficar señales de compra/venta
plotshape(series=buySignal, style=shape.labelup, location=location.belowbar, color=color.green, size=size.tiny, title="Señal de Compra")
plotshape(series=sellSignal, style=shape.labeldown, location=location.abovebar, color=color.red, size=size.tiny, title="Señal de Venta")

// Lógica de la estrategia
if (buySignal)
    strategy.entry("Compra", strategy.long)

if (sellSignal)
    strategy.entry("Venta", strategy.short)

// Alertas
alertcondition(buySignal, title="Alerta de Compra", message="¡Señal de Compra Detectada!")
alertcondition(sellSignal, title="Alerta de Venta", message="¡Señal de Venta Detectada!")



Связанные

Больше