Многостратегическая система CCI Momentum Filter на основе взвешенного скользящего среднего и обратного преобразования Фишера

WMA CCI IFT 趋势追踪 动量过滤 移动止损 风险管理
Дата создания: 2025-07-02 11:21:39 Последнее изменение: 2025-07-31 09:05:52
Копировать: 1 Количество просмотров: 271
2
Подписаться
319
Подписчики

Многостратегическая система CCI Momentum Filter на основе взвешенного скользящего среднего и обратного преобразования Фишера Многостратегическая система CCI Momentum Filter на основе взвешенного скользящего среднего и обратного преобразования Фишера

Обзор

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

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

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

  1. Система распознавания тенденций: Стратегия использует весомые движущиеся средние ((WMA) на 50 и 200 циклов в качестве основы для идентификации трендов. Когда на краткосрочных WMA ((50 циклов) проходит длинные WMA ((200 циклов), образуется потенциальный сигнал плюс; когда на краткосрочных WMA (под WMA) проходит длинные WMA, образуется потенциальный сигнал минус.

  2. Мощный фильтрующий механизм: Стратегия использует обратную фишель-трансформацию (IFT), основанную на индексе CCI, в качестве фильтра динамики. Показатель IFT-CCI обеспечивает более четкий сигнал динамики рынка, преобразуя значение CCI в значение в диапазоне от -1 до 1. Рассматривать выполнение множественного заказа только в том случае, если значение IFT-CCI больше 0,5, а в том случае, если оно меньше -0,5.

  3. Подтверждение сигнала и задержка входа: Стратегия разработала уникальный механизм “готовности”. Когда появляется сигнал тренда, но не удовлетворяются условия фильтрации динамики, стратегия входит в “готовное состояние”.

  4. Динамическое управление рисками: Стратегия реализует стоп-стоп и фиксированный стоп-лосс на основе процентов. Стоп-стоп активируется, когда цена достигает заданного процента прибыли (по умолчанию 3%) и автоматически ликвидируется, если вывод превышает заданный процент (по умолчанию 1%). В то же время, стратегия также устанавливает максимальный процент убытков (по умолчанию 3%), как последнюю защиту от риска.

  5. Система визуальной обратной связиСтратегия использования ярлыков и эмоций на графике для маркировки ключевых сигналов и событий, включая WMA-пересечения, входные и выходные точки сделок, что повышает видимость и интуитивность процесса торговли.

В реализации кода стратегия сначала рассчитывает показатели WMA и IFT-CCI, а затем определяет торговые сигналы на основе этих показателей и текущего состояния рынка. Логика исполнения сделок включает в себя обработку нескольких ситуаций, таких как изменение тенденций, подтверждение сигналов и управление рисками, чтобы стратегия могла гибко реагировать на различные рыночные условия.

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

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

  1. Интегрированная способность распознавать тенденцииВ сочетании с кратковременными и долгосрочными весомыми скользящими средними, стратегия позволяет точно идентифицировать основные рыночные тенденции, избежать частых сделок на горизонтальных рынках и сократить ненужные расходы на сделки.

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

  3. Гибкий механизм подтверждения сигнала: Дизайн “готовности” позволяет стратегии ждать подтверждения динамики после появления сигнала тренда, такой механизм задержки входа эффективно уменьшает потери от ложных прорывов, не упуская при этом реальных возможностей тренда.

  4. Система управления рискамиСледующие стопы и фиксированные стопы стратегии обеспечивают полную защиту от риска, максимизируя прибыль в трендовых ситуациях и ограничивая потери в обратных ситуациях, что значительно повышает риск-возвратность стратегии.

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

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

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

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

Несмотря на разумную конструкцию стратегии, существует несколько факторов риска, о которых следует помнить:

  1. Риск чувствительности параметра: эффективность стратегии в значительной степени зависит от выбранных параметров, таких как WMA-цикл, длина CCI, целевые показатели прибыли и уровень остановки убытков. Неправильная настройка параметров может привести к чрезмерной оптимизации или плохой производительности. Рекомендуется проверять стабильность параметров путем обратной проверки в различных рыночных условиях и рассматривать возможность использования адаптивных параметров для снижения этого риска.

  2. Риск отсрочки изменения трендаДвижущаяся средняя является отсталым показателем, который может дать сигнал только после того, как рыночная тенденция изменилась. В быстро меняющихся рынках такая задержка может привести к значительным потерям. Можно рассмотреть возможность введения более чувствительных ранних предупредительных показателей, таких как уровень колебаний цен или уровень изменения динамики, чтобы заранее идентифицировать потенциальные изменения тенденции.

  3. Риски чрезмерной торговлиВ условиях волатильности рынка WMA могут часто пересекаться, что приводит к избыточному количеству торговых сигналов и ненужным торговым издержкам. Хотя фильтры IFT-CCI помогают смягчить эту проблему, необходимо следить за частотой торговли и рассматривать стратегии временного отключения на горизонтальных рынках.

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

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

  6. Риск отклонения от реального диска: Результаты ретроспектив могут не полностью отражать реальную торговлю, поскольку они обычно не учитывают такие факторы, как проскальзывание, отказ от заказа, проблемы с ликвидностью. Рекомендуется проводить моделирование торговли перед торговлей в реальном пространстве и первоначально использовать меньшие позиции для проверки эффективности стратегии в реальной среде.

  7. Единая стратегия зависит от риска: чрезмерная зависимость от одной стратегии может привести к долгосрочной нестабильности. рекомендуется использовать эту стратегию в качестве части более широкой торговой системы в сочетании с другими не связанными стратегиями для распределения риска и повышения общей стабильности.

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

Основываясь на анализе логики стратегии и потенциальных рисков, можно выделить несколько возможных направлений оптимизации:

  1. Самостоятельная оптимизация параметров: текущая стратегия использует фиксированные WMA и CCI параметры. Можно рассмотреть возможность реализации системы адаптивных параметров, которые могут быть скорректированы в соответствии с волатильностью рынка и периодической динамикой. Например, использование более коротких циклов WMA в высоко волатильных рынках и более длительных циклов в низко волатильных рынках для повышения адаптации стратегии к различным рыночным условиям.

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

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

  4. Оптимизация динамического управления рискамиВместо фиксированных процентов используйте динамические уровни стоп-стоп, основанные на ATR (средний реальный диапазон) или исторической волатильности. Это позволит управлению рисками лучше адаптироваться к реальным волатильным характеристикам рынка и повысить эффективность управления капиталом.

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

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

  7. Анализ актуальности соответствующих активов: Введение анализа корреляции соответствующих активов в качестве дополнительного уровня подтверждения сигнала. Когда несколько соответствующих активов показывают согласованные сигналы тренда, можно повысить доверие к сигналу и размер позиции в сделке, повысить общую эффективность стратегии.

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

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

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

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

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

Исходный код стратегии
//@version=5
//策略初始化:设置策略名称和基本参数
strategy("Intelligent Entry Strategy", overlay=false, default_qty_type=strategy.percent_of_equity, 
    default_qty_value=100)

//WMA移动平均线系统:用于判断市场趋势方向
wmaFast = ta.wma(close, 50);//快速WMA,50周期
wmaSlow = ta.wma(close, 200);//慢速WMA,200周期

//绘制WMA200线:根据快慢线关系显示不同颜色
plot(wmaSlow, title="WMA 200 (Magic Line)", color=wmaFast > wmaSlow ? color.green : color.red, 
    linewidth=2, overlay = true)

//WMA金叉信号:快线上穿慢线时显示绿色标签
if ta.crossover(wmaFast, wmaSlow)
    label.new(bar_index, low, style=label.style_label_up, color=color.green, size=size.small)

//WMA死叉信号:快线下穿慢线时显示红色标签
if ta.crossunder(wmaFast, wmaSlow)
    label.new(bar_index, high, style=label.style_label_down, color=color.red, size=size.small)

//IFT_CCI指标计算:反向费舍尔变换的商品通道指数
cciLength = input(5, "CCI Length");//CCI周期参数
wmaLength = input(9, "Smoothing Length");//WMA平滑周期参数
v11 = 0.1 * (ta.cci(close, cciLength) / 4);//CCI值标准化处理
v21 = ta.wma(v11, wmaLength);//对CCI值进行WMA平滑
iftCciRaw = (math.exp(2 * v21) - 1) / (math.exp(2 * v21) + 1);//反向费舍尔变换公式
iftCci = nz(iftCciRaw[1]);//获取前一根K线的IFT_CCI值,处理空值

//绘制IFT_CCI指标:显示在副图中
plot(iftCciRaw[1], title="IFT_CCI (Mind Reader)", color=color.fuchsia)
hline(0.5, color=color.red);//上临界线
hline(-0.5, color=color.green);//下临界线

//过滤条件设置:基于IFT_CCI值的多空过滤
iftFilterLong = iftCci >= 0.5;//做多过滤条件
iftFilterShort = iftCci <= -0.5;//做空过滤条件

//风险管理参数:设置止盈止损参数
profitPercent = input.float(3.0, title="Profit Trailing Start (%)", minval=0.1);//止盈开始百分比
pullbackPercent = input.float(1.0, title="Trailing Stop Pullback (%)", minval=0.1);//回撤止盈百分比
maxLossPercent = input.float(3.0, title="Maximum Loss Stop (%)", minval=0.1);//最大损失百分比

//状态变量定义:用于跟踪仓位和价格状态
var float entryPrice = na;//进场价格
var float highestPrice = na;//最高价记录
var float lowestPrice = na;//最低价记录
var string activePosition = "none";//当前持仓状态
var bool longReady = false;//多头准备状态
var bool shortReady = false;//空头准备状态

//K线确认状态:确保在K线收盘后执行操作
barClosed = barstate.isconfirmed

//交易信号定义:基于WMA交叉的买卖信号
longSignal = wmaFast > wmaSlow and wmaFast[1] <= wmaSlow[1];//多头信号:快线上穿慢线
shortSignal = wmaFast < wmaSlow and wmaFast[1] >= wmaSlow[1];//空头信号:快线下穿慢线

//多头进场逻辑:处理多头交易的进场条件
if (longSignal and not iftFilterLong and barClosed)
    longReady := true;//如果有多头信号但IFT_CCI条件未满足,设置多头准备状态

if (longSignal and iftFilterLong and barClosed)
    if (activePosition == "short")
        strategy.close("Short");//如果当前持有空头仓位,先平仓
    strategy.entry("Long", strategy.long);//开多头仓位
    entryPrice := close;//记录进场价格
    highestPrice := close;//初始化最高价
    activePosition := "long";//更新仓位状态
    longReady := false;//重置多头准备状态
    //显示多头进场标签
    label.new(bar_index, low, "Long Magic!", style=label.style_label_up, color=color.green, 
        textcolor=color.white, size=size.tiny)

//延迟多头进场:处理之前准备的多头信号
if (longReady and iftFilterLong and wmaFast > wmaSlow and barClosed)
    if (activePosition == "short")
        strategy.close("Short");//平掉空头仓位
    strategy.entry("Long", strategy.long);//开多头仓位
    entryPrice := close;//记录进场价格
    highestPrice := close;//初始化最高价
    activePosition := "long";//更新仓位状态
    longReady := false;//重置多头准备状态
    //显示延迟多头进场标签
    label.new(bar_index, low, "Pending Long Triggered!", style=label.style_label_up, 
        color=color.lime, textcolor=color.black, size=size.tiny)

//空头进场逻辑:处理空头交易的进场条件
if (shortSignal and not iftFilterShort and barClosed)
    shortReady := true;//如果有空头信号但IFT_CCI条件未满足,设置空头准备状态

if (shortSignal and iftFilterShort and barClosed)
    if (activePosition == "long")
        strategy.close("Long");//如果当前持有多头仓位,先平仓
    strategy.entry("Short", strategy.short);//开空头仓位
    entryPrice := close;//记录进场价格
    lowestPrice := close;//初始化最低价
    activePosition := "short";//更新仓位状态
    shortReady := false;//重置空头准备状态
    //显示空头进场标签
    label.new(bar_index, high, "Short Curse!", style=label.style_label_down, color=color.red, 
        textcolor=color.white, size=size.tiny)

//延迟空头进场:处理之前准备的空头信号
if (shortReady and iftFilterShort and wmaFast < wmaSlow and barClosed)
    if (activePosition == "long")
        strategy.close("Long");//平掉多头仓位
    strategy.entry("Short", strategy.short);//开空头仓位
    entryPrice := close;//记录进场价格
    lowestPrice := close;//初始化最低价
    activePosition := "short";//更新仓位状态
    shortReady := false;//重置空头准备状态
    //显示延迟空头进场标签
    label.new(bar_index, high, "Pending Short Triggered!", style=label.style_label_down, 
        color=color.orange, textcolor=color.black, size=size.tiny)

//准备状态重置:当趋势发生反转时重置准备状态
if (longReady and wmaFast < wmaSlow)
    longReady := false;//趋势转空时取消多头准备

if (shortReady and wmaFast > wmaSlow)
    shortReady := false;//趋势转多时取消空头准备

//多头出场逻辑:处理多头仓位的止盈止损
if (activePosition == "long")
    highestPrice := math.max(highestPrice, close);//更新持仓期间最高价
    profitRatio = (highestPrice - entryPrice) / entryPrice * 100;//计算盈利比例
    pullback = (highestPrice - close) / highestPrice * 100;//计算从最高点的回撤比例
    lossRatio = (entryPrice - close) / entryPrice * 100;//计算亏损比例
    
    //移动止盈条件:达到目标盈利且回撤超过设定值时平仓
    if (profitRatio >= profitPercent and pullback >= pullbackPercent)
        strategy.close("Long");//平多头仓位
        activePosition := "none";//重置仓位状态
        //显示止盈平仓标签
        label.new(bar_index, high, "Long Profit Take!", style=label.style_label_down, color=color.teal)
    
    //止损条件:亏损超过最大允许值时平仓
    if (profitRatio < profitPercent and lossRatio >= maxLossPercent)
        strategy.close("Long");//平多头仓位
        activePosition := "none";//重置仓位状态
        //显示止损平仓标签
        label.new(bar_index, high, "Long Stop Loss!", style=label.style_label_down, color=color.red)

//空头出场逻辑:处理空头仓位的止盈止损
if (activePosition == "short")
    lowestPrice := math.min(lowestPrice, close);//更新持仓期间最低价
    profitRatio = (entryPrice - lowestPrice) / entryPrice * 100;//计算盈利比例
    bounce = (close - lowestPrice) / lowestPrice * 100;//计算从最低点的反弹比例
    lossRatio = (close - entryPrice) / entryPrice * 100;//计算亏损比例
    
    //移动止盈条件:达到目标盈利且反弹超过设定值时平仓
    if (profitRatio >= profitPercent and bounce >= pullbackPercent)
        strategy.close("Short");//平空头仓位
        activePosition := "none";//重置仓位状态
        //显示止盈平仓标签
        label.new(bar_index, low, "Short Profit Take!", style=label.style_label_up, color=color.purple)
    
    //止损条件:亏损超过最大允许值时平仓
    if (profitRatio < profitPercent and lossRatio >= maxLossPercent)
        strategy.close("Short");//平空头仓位
        activePosition := "none";//重置仓位状态
        //显示止损平仓标签
        label.new(bar_index, low, "Short Stop Loss!", style=label.style_label_up, color=color.red)