Gewichteter gleitender Durchschnitt und inverse Fisher-Transformation CCI Momentum-Filter Multi-Strategie-System

WMA CCI IFT 趋势追踪 动量过滤 移动止损 风险管理
Erstellungsdatum: 2025-07-02 11:21:39 zuletzt geändert: 2025-07-31 09:05:52
Kopie: 1 Klicks: 271
2
konzentrieren Sie sich auf
319
Anhänger

Gewichteter gleitender Durchschnitt und inverse Fisher-Transformation CCI Momentum-Filter Multi-Strategie-System Gewichteter gleitender Durchschnitt und inverse Fisher-Transformation CCI Momentum-Filter Multi-Strategie-System

Überblick

Die Strategie basiert hauptsächlich auf zwei Kernkomponenten: der gewichteten Moving Average (WMA) -Kreuzung und der Reverse Fisher Conversion (IFT) CCI-Indikator-Filtersystem. Die Strategie bestimmt die Markttrendrichtung durch die Kreuzung von 50-Zyklen und 200-Zyklen WMA, während die IFT-CCI-Indikator-Filtergeräuschsignale verwendet werden, um nur dann zu handeln, wenn die Trenddynamik stark genug ist.

Strategieprinzip

Die Arbeit der Strategie basiert hauptsächlich auf folgenden Schlüsselmechanismen:

  1. Trend-ErkennungDie Strategie nutzt den gewichteten Moving Average (WMA) mit 50 und 200 Zyklen als Grundlage für die Trenderkennung. Wenn ein langfristiger WMA (mit 50 Zyklen) auf einem kurzfristigen WMA (mit 200 Zyklen) getragen wird, entsteht ein potenzielles Mehr- oder Unter-Signal. Wenn ein langfristiger WMA unter einem kurzfristigen WMA getragen wird, entsteht ein potenzielles Negativsignal.

  2. AntriebsfilterDie Strategie nutzt die auf dem CCI basierende Umkehrschalter-Transformation (IFT) als Dynamikfilter. Der IFT-CCI-Indikator liefert ein klareres Signal für die Marktdynamik, indem er den CCI-Wert in einen Bereich zwischen -1 und 1 umwandelt. Ein Multi-Order wird nur dann berücksichtigt, wenn der IFT-CCI-Wert größer als 0,5 ist, und ein Leer-Order wird nur dann berücksichtigt, wenn der Wert kleiner als -0,5 ist.

  3. Signalbestätigung und verzögerte EingabeDie Strategie hat einen einzigartigen “Bereitschafts”-Mechanismus entwickelt. Wenn ein Trendsignal auftritt, aber die Momentumfilterbedingungen nicht erfüllt werden, wird die Strategie in den “Bereitschafts-Zustand” versetzt.

  4. Dynamische RisikomanagementDie Strategie implementiert einen Prozentsatz-basierten Tracking-Stop und einen festen Stop-Loss-Mechanismus. Der Tracking-Stop wird aktiviert, wenn der Preis einen bestimmten Prozentsatz des Gewinns erreicht (standardmäßig 3%) und der Rückzug über den festgelegten Prozentsatz (standardmäßig 1%) geht. Die Strategie setzt außerdem einen maximalen Verlustprozentsatz (standardmäßig 3%) als letzte Verteidigungslinie zur Risikokontrolle.

  5. Visuelle RückmeldungStrategie: Die Verwendung von Tags und Emojis auf den Diagrammen, um wichtige Signale und Ereignisse zu markieren, einschließlich WMA-Kreuzungen, Ein- und Ausstiegspunkte, um die Sichtbarkeit und Intuition des Handelsprozesses zu erhöhen.

In der Codeimplementierung berechnet die Strategie zunächst die WMA- und IFT-CCI-Indikatoren und bestimmt dann die Handelssignale basierend auf diesen Indikatoren und der aktuellen Marktsituation. Die Logik der Handelsdurchführung umfasst die Behandlung mehrerer Situationen wie Trendänderungen, Signalbestätigung und Risikomanagement, um sicherzustellen, dass die Strategie flexibel auf verschiedene Marktumstände reagiert.

Strategische Vorteile

Die Strategie hat mehrere bedeutende Vorteile, die es ihr ermöglichen, sich unter verschiedenen Marktbedingungen relativ stabil zu behaupten:

  1. Die Fähigkeit zur Integration von TrendsDurch die Kombination von kurz- und langfristigen gewichteten Moving Averages kann die Strategie die wichtigsten Markttrends genau identifizieren, häufige Transaktionen in horizontalen Märkten vermeiden und unnötige Transaktionskosten reduzieren.

  2. Wirksame GeräuschfilterungDer Reverse Fisher Conversion CCI-Indikator bietet eine starke Dynamik-Filtermechanik, die die Strategie dabei unterstützt, große Mengen an Marktgeräuschen und falschen Signalen zu filtern, was die Signalqualität und die Erfolgsrate der Transaktionen erheblich verbessert.

  3. Flexible SignalerkennungsmechanismenDie “Bereitschaft” ist so konzipiert, dass die Strategie auf die Dynamikbestätigung wartet, nachdem ein Trendsignal aufgetreten ist. Diese Verzögerung des Eintritts in die Mechanismen reduziert den Verlust durch falsche Durchbrüche und verpasst keine echten Trendchancen.

  4. Dynamische RisikomanagementsystemeDer Tracking Stop und der Fixed Stop-Loss-Mechanismus der Strategie bieten einen umfassenden Risikobeschutz und maximieren die Gewinne in Trendbewegungen und begrenzen die Verluste in Umkehrbewegungen, wodurch die Risiko-Rendite der Strategie erheblich erhöht wird.

  5. Intuitives visuelles FeedbackDas System der Etiketten und Emojis auf den Diagrammen bietet den Händlern klare visuelle Rückmeldungen, die den Händlern helfen, den strategischen Entscheidungsprozess und die Marktsituation besser zu verstehen, die Handelserfahrung und die Transparenz der Strategie zu verbessern.

  6. Anpassung an die Merkmale des MarktesDie Strategie ist in der Lage, sich an unterschiedliche Marktbedingungen und -zyklen anzupassen und sowohl in einem Trendmarkt als auch in einem Schwingungsmarkt geeignete Handelsmöglichkeiten zu finden.

  7. Vorteile der EmotionsmanagementDurch klare Regeln und objektive Indikatoren reduziert die Strategie die subjektive Urteils- und Emotionswirkung im Handelsprozess, hilft den Händlern, Disziplin und Konsistenz zu bewahren und erhöht die Stabilität der Handelsergebnisse auf lange Sicht.

Strategisches Risiko

Trotz der vernünftigen Ausgestaltung der Strategie gibt es einige Risikofaktoren, die zu beachten sind:

  1. ParametersensitivitätsrisikoStrategie-Performance hängt stark von gewählten Parametern wie WMA-Zyklen, CCI-Längen, Gewinnziel und Stop-Loss-Level ab. Unpassende Parameter-Einstellungen können zu einer Überoptimierung oder schlechten Performance führen. Es wird empfohlen, die Stabilität der Parameter durch Rückprüfungen unter verschiedenen Marktbedingungen zu überprüfen und die Verwendung von Adaptionsparametern zu berücksichtigen, um dieses Risiko zu verringern.

  2. Risiko einer Verzögerung der TrendänderungDer Moving Average ist ein Verzögerungsindikator, der möglicherweise erst dann signalisiert wird, wenn sich der Markttrend geändert hat. In einem schnell umkehrenden Markt kann diese Verzögerung zu erheblichen Verlusten führen. Es kann in Erwägung gezogen werden, ein empfindlicheres Frühwarnindikator einzuführen, wie z. B. die Preisschwankungsrate oder die Veränderungsrate der Dynamik, um potenzielle Trendänderungen im Voraus zu erkennen.

  3. ÜberhändlerrisikenWMAs können sich in unruhigen Märkten häufig kreuzen, was zu übermäßigen Handelssignalen und unnötigen Handelskosten führt. Obwohl die IFT-CCI-Filter dazu beitragen können, das Problem zu lindern, ist es wichtig, die Handelsfrequenz zu überwachen und eine temporäre Sperrstrategie in Querbörsen zu berücksichtigen.

  4. Risiken der RelevanzlosigkeitIn extremen Marktbedingungen kann die normale Korrelation zwischen den Indikatoren vorübergehend ausfallen, was zu einer schlechten Strategie führt. Es wird empfohlen, eine Marktsituationsprüfung zu implementieren, um Positionen zu reduzieren oder den Handel unter außergewöhnlichen Marktbedingungen auszusetzen, um das Risiko zu verringern.

  5. Festgelegte ProzentsatzrisikenDie Strategie verwendet feste Prozentsätze für Stop-Losses und Stopps, die möglicherweise nicht für alle Marktumstände geeignet sind. In hochvolatilen Märkten kann der feste Prozentsatz zu klein sein; in niedrigvolatilen Märkten kann er zu groß sein. Erwägen Sie die Implementierung von dynamischen Stop-Loss-Levels, die auf Marktvolatilität basieren, um besser an unterschiedliche Marktumstände anzupassen.

  6. Risiken von Rückmeldungen und DiskrepanzenDie Rückmeldungsergebnisse können möglicherweise nicht vollständig die tatsächlichen Handelsbedingungen widerspiegeln, da sie in der Regel Faktoren wie Ausrutscher, Bestellverweigerung und Liquiditätsprobleme nicht berücksichtigen. Vor dem Handel mit realen Geschäften wird empfohlen, Simulationen durchzuführen und zunächst mit kleineren Positionen zu arbeiten, um zu überprüfen, wie die Strategie im realen Umfeld funktioniert.

  7. Eine Strategie, die auf Risiken angewiesen istÜbermäßige Abhängigkeit von einer einzigen Strategie kann zu einer langfristigen Instabilität der Performance führen. Es wird empfohlen, diese Strategie als Teil eines breiteren Handelssystems zu verwenden, in Kombination mit anderen unabhängigen Strategien, um das Risiko zu verteilen und die Gesamtstabilität zu verbessern.

Optimierungsrichtung

Basierend auf der Analyse der Strategie-Logik und der potenziellen Risiken sind folgende Optimierungsmöglichkeiten möglich:

  1. Optimierung der AnpassungsparameterEs kann in Erwägung gezogen werden, ein System von Adaptionsparametern zu implementieren, um diese Parameter an die Marktvolatilität und die periodische Dynamik anzupassen. Zum Beispiel kann ein kürzerer WMA-Zyklus in einem hochvolatilen Markt und ein längerer Zyklus in einem niedrig-volatilen Markt verwendet werden, um die Anpassung der Strategie an verschiedene Marktumstände zu verbessern.

  2. Integration von mehreren ZeitrahmenAuf der Grundlage des aktuellen Zeitrahmens kann eine Mehrzeitrahmenauswertung hinzugefügt werden, um Trendinformationen über längere Zeiträume als Handelsfilterbedingungen zu verwenden. Zum Beispiel kann der Handel nur ausgeführt werden, wenn die Tages- und die 4-Stunden-Trends übereinstimmen, was die Signalqualität und die Erfolgsrate erheblich verbessert.

  3. Klassifizierungsmechanismus für Marktzustände: Einführung eines Marktzustandsklassifikationssystems, das die Märkte in Trends, Erschütterungen und Übergangsbedingungen unterteilt und verschiedene Handelsparameter und -strategien für verschiedene Marktzustände verwendet. Zum Beispiel, die Gewinne in stark trendigen Märkten aktiver zu verfolgen, während die Ziele in Erschütterungsmärkten konservativer festgelegt werden.

  4. Optimierung des dynamischen RisikomanagementsDie Festprozentsätze werden durch dynamische Stop-Loss- und Stop-Out-Levels auf der Grundlage des ATR (Average True Range) oder der historischen Volatilität ersetzt. Dies ermöglicht es dem Risikomanagement, sich besser an die tatsächlichen Volatilitätsmerkmale der Märkte anzupassen und die Effizienz des Fondsmanagements zu verbessern.

  5. Integration der Emotionsindikatoren: Erwägen Sie die Integration von Marktstimmungskennzahlen (z. B. Umsatz, Veränderungsrate der Volatilität oder Marktbreite) in das Signalfiltersystem. Diese Kennzahlen können zusätzliche Informationen über die Stimmung der Marktteilnehmer liefern und helfen, potenzielle Trends zu identifizieren.

  6. Maschinelles Lernen verstärktDie Nutzung von Machine-Learning-Technologien zur Optimierung der strategischen Entscheidungsprozesse, insbesondere in Bezug auf Signalerkennung und Risikomanagement. Machine-Learning-Modelle können optimale Einstiegs- und Ausstiegspunkte auf der Grundlage historischer Daten identifizieren, um die Genauigkeit und Robustheit von Strategien zu verbessern.

  7. Relevante VermögensanalysenDie Einführung von Relevanz-Analysen für die relevanten Vermögenswerte als zusätzliche Signalbestätigungsebene. Wenn mehrere relevante Vermögenswerte einheitliche Trendsignale zeigen, können die Signalsicherheit und die Positionsgröße des Handels erhöht und die Gesamtwirksamkeit der Strategie erhöht werden.

Zusammenfassen

Das Multi-Strategie-System der CCI-Dynamik-Filterung mit Gewichtungsmechanik und Reverse-Fisher-Transformation ist eine umfassende und leistungsstarke quantitative Handelsstrategie, die die drei Kernkomponenten Trendverfolgung, Dynamik-Filterung und Risikomanagement geschickt zu einem ausgewogenen und effizienten Handelssystem kombiniert. Die Hauptvorteile der Strategie liegen in ihrer mehrschichtigen Signalbestätigung, die die Richtung des Trends über die WMA-Kreuzung erkennt, die Signalstärke über den IFT-CCI-Dynamik-Filter bestätigt und schließlich die Qualität und Zuverlässigkeit des Handelssignals erheblich verbessert.

Das dynamische Risikomanagementsystem der Strategie schützt die Sicherheit der Gelder und maximiert die Gewinne bei Trendbewegungen und weist gute Risiko-Rendite-Eigenschaften auf. Das visuelle Feedbacksystem erhöht die Verfügbarkeit und Transparenz der Strategie und hilft den Händlern, ihre Handelsentscheidungen besser zu verstehen und zu treffen.

Trotz der potenziellen Risiken wie Parameter-Sensitivität, Signalverzögerung und Marktadaptibilität können diese Risiken durch die vorgeschlagenen Optimierungsrichtungen wie Adaptionsparameter, Multi-Time-Frame-Analyse, Marktstaat-Klassifizierung und dynamisches Risikomanagement wirksam gemildert werden und die Robustheit und Adaptivität der Strategie weiter verbessern.

Insgesamt ist die Strategie durch die Ausgewogenheit der Objektivität der technischen Analyse und der Flexibilität des dynamischen Risikomanagements in der Lage, eine relativ stabile Leistung in verschiedenen Marktumgebungen zu halten, geeignet als Basisstrategie für mittelfristige und langfristige Quantifizierung des Handels. Für Investoren und Händler, die eine zuverlässige, systematische Handelsmethode suchen, ist dies eine Option, die in Betracht gezogen werden sollte. Durch weitere Optimierung und Individualisierung hat die Strategie das Potenzial, ein vollständigeres und effizienteres Handelssystem zu werden.

Strategiequellcode
//@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)