Umfassende quantitative Handelsstrategie auf der Grundlage mehrerer Indikatoren

Schriftsteller:ChaoZhang, Datum: 28.12.2023
Tags:

img

Übersicht

Die Strategie trägt den Namen Comprehensive Quantitative Trading Strategy Based on Multiple Indicators. Sie integriert mehrere technische Indikatoren wie SuperTrend, QQE und Trend Indicator A-V2 zu einem umfassenden Handelssystem, das den Markt aus mehreren Dimensionen analysiert.

Die Kernidee besteht darin, verschiedene Indikatoren zu kombinieren, um die Richtigkeit des Urteils zu verbessern und gleichzeitig die wichtigsten Trends auf dem Markt zu erfassen, um den Händlern stabile und effiziente Handelssignale zu liefern.

Strategie Logik

Die Kernlogik dieser Strategie basiert auf der Kombination der folgenden drei Indikatoren:

  1. SuperTrend: Es erzeugt Kauf- und Verkaufssignale, wenn der Schlusskurs durch das obere oder untere Band bricht.

  2. QQE: Eine verbesserte Version des RSI, die durchschnittliche Reversionsmerkmale enthält. Es wird verwendet, um zu beurteilen, ob der Markt überkauft oder überverkauft ist. Der Schwellenwert wird dynamisch anhand des Standardabweichungsbandes des RSI angepasst.

  3. Trendindikator A-V2: Vergleicht EMA des Kurses und EMA des offenen Kurses, um die Trendrichtung zu bestimmen.

Die oben genannten drei Indikatoren haben unterschiedliche Schwerpunkte. SuperTrend zielt auf Trends und Umkehrpunkte ab. QQE konzentriert sich auf Überkauft/Überverkauft. A-V2 hilft, den mittelfristigen und langfristigen Trend zu bestimmen. Diese Strategie integriert sie, um ein komplettes Handelsentscheidungssystem zu bilden.

Die spezifische Handelslogik ist wie folgt:

Ein Kaufsignal wird erzeugt, wenn SuperTrend einen Aufwärtstrend zeigt, QQE zeigt, dass der RSI unter dem Überverkaufsgrenzwert liegt und die A-V2-EMAs steigen.

Ein Verkaufssignal wird erzeugt, wenn SuperTrend einen Abwärtstrend zeigt, QQE zeigt, dass der RSI über dem Überkauf liegt und die A-V2-EMA fallen.

Das umfassende Urteil über mehrere Indikatoren gewährleistet eine hohe Genauigkeit der Signale und maximiert gleichzeitig die Möglichkeiten auf dem Markt, einen stabilen und effizienten Handel zu erzielen.

Analyse der Vorteile

Die wichtigsten Vorteile dieser Strategie sind:

  1. Die Integration mehrerer Indikatoren ermöglicht die gegenseitige Überprüfung und verbessert somit die Genauigkeit erheblich.

  2. Eine umfassendere Abdeckung für den bidirektionalen Handel: Durch die Erlaubnis von Long- und Short-Positionen können sowohl aufwärts als auch abwärts gerichtete Marktschwankungen angemessene Gewinne erzielen.

  3. Eine bessere Risikokontrolle. Die Kombination von Indikatoren verhindert, dass einzelne Indikatoren falsche Signale auslösen. Indikatoren wie QQE kontrollieren auch Risiken von Natur aus.

  4. Die Eingabeparameter lassen sich einfach anhand der eigenen Vorlieben anpassen, um den unterschiedlichen Marktbedingungen gerecht zu werden.

  5. Es kann auf Märkte wie Aktien, Devisen, Kryptowährungen angewendet werden und eignet sich insbesondere für technische Händler.

Risikoanalyse

Zu den größten Risiken dieser Strategie gehören:

  1. Risiko von Verzerrungen bei Indikatorbeurteilungen: Seltener Preisverzerrungen können Verzerrungen bei Indikatorsignalen und damit Risiken verursachen.

  2. Diese Strategie konzentriert sich auf das Trendverfolgen, so dass grundlegende Umkehrungen zu großen Verlusten führen können.

  3. Unzulängliche Einstellungen der Benutzer auf die Parameter können die Indikatorsignale verzerren.

Die wichtigsten Risikomanagementlösungen sind: 1) Überprüfung von Signalen über Indikatoren hinweg, um eine Abhängigkeit von einem einzigen Indikator zu vermeiden; 2) Steuerung der Positionsgröße für verwaltete Verluste pro Handel; 3) Anpassung der Parameter pro unterschiedlicher Markt.

Optimierungsrichtlinien

Die Strategie kann in folgenden Aspekten optimiert werden:

  1. Hinzufügen von Stop-Loss für Gewinnentnahme und Drawdown-Reduktion.

  2. Integrieren Sie mehr Indikatoren für eine verbesserte Systemstabilität.

  3. Einführung einer volatilitätsbasierten Positionsgröße und dynamische Anpassung der Positionsgrößen an die sich ändernde Marktvolatilität.

  4. Längere Backtests können durchgeführt werden, um die optimalen Parametersätze für diese Strategie zu finden.

  5. Verwenden Sie verschiedene Parameter-Sätze für verschiedene Märkte. Parameter können separat für die besten Ergebnisse auf verschiedenen Märkten (Aktien, Forex, Krypto usw.) optimiert werden.

Schlussfolgerung

Diese Strategie integriert die Indikatoren SuperTrend, QQE und A-V2 in ein umfassendes quantitatives Handelssystem mit robusten Signalurteilen. Durch die Kombination von Trend, Überkauf/Überverkauf und mittelfristigen und langfristigen Trendverifikationen können Chancen effektiv identifiziert und Risiken streng kontrolliert werden.


/*backtest
start: 2022-12-21 00:00:00
end: 2023-12-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//author:盧振興 芙蓉中華中學畢業 育達科技大學畢業碩士
//參考資料 : QQE MOD By:Mihkel00 ,SuperTrend By:KivancOzbilgic , TrendIndicator A-V2 By:Dziwne

strategy("綜合交易策略", shorttitle="Comprehensive Strategy", overlay=true)

// 添加單邊或多空參數
OnlyLong = input(true, title="單邊")

// SuperTrend 参数
PeriodsST = input(9, title="ST ATR Period")
MultiplierST = input(3.9, title="ST ATR Multiplier")
srcST = input(hl2, title="ST Source")

atrST = atr(PeriodsST)
upST = srcST - (MultiplierST * atrST)
upST := close[2] > upST[1] ? max(upST, upST[1]) : upST
dnST = srcST + (MultiplierST * atrST)
dnST := close[2] < dnST[1] ? min(dnST, dnST[1]) : dnST
trendST = 1
trendST := nz(trendST[1], trendST)
trendST := trendST == -1 and close[2] > dnST[1] ? 1 : trendST == 1 and close[2] < upST[1] ? -1 : trendST

// QQE 参数
RSI_PeriodQQE = input(6, title='QQE RSI Length')
SFQQE = input(5, title='QQE RSI Smoothing')
QQE = input(3, title='QQE Fast Factor')
ThreshHoldQQE = input(3, title="QQE Thresh-hold")
srcQQE = input(close, title="QQE RSI Source")

Wilders_PeriodQQE = RSI_PeriodQQE * 2 - 1

RsiQQE = rsi(srcQQE, RSI_PeriodQQE)
RsiMaQQE = ema(RsiQQE, SFQQE)
AtrRsiQQE = abs(RsiMaQQE[1] - RsiMaQQE)
MaAtrRsiQQE = ema(AtrRsiQQE, Wilders_PeriodQQE)
darQQE = ema(MaAtrRsiQQE, Wilders_PeriodQQE) * QQE

basisQQE = sma(RsiMaQQE - 50, 50)
devQQE = 0.35 * stdev(RsiMaQQE - 50, 50)
upperQQE = basisQQE + devQQE
lowerQQE = basisQQE - devQQE

qqeCondition = RsiMaQQE[1] - 50 > upperQQE[1] ? true : RsiMaQQE[1] - 50 < lowerQQE[1] ? false : na

// Trend Indicator A-V2 参数
ma_periodA_V2 = input(52, title="TIA-V2 EMA Period")
oA_V2 = ema(open, ma_periodA_V2)
cA_V2 = ema(close, ma_periodA_V2)
trendIndicatorAV2Condition = cA_V2[1] >= oA_V2[1] ? true : false

// 综合交易逻辑
longCondition = trendST == 1 and qqeCondition and trendIndicatorAV2Condition
shortCondition = trendST == -1 and not qqeCondition and not trendIndicatorAV2Condition

// 针对多单的开平仓逻辑
if (OnlyLong)
    if (longCondition)
        strategy.entry("Buy", strategy.long)        
    else
        strategy.close("Buy")

// 多空都做时的逻辑
if (not OnlyLong)
    if (longCondition)
        strategy.entry("Buy", strategy.long)
    else if (shortCondition)
        strategy.entry("Sell",strategy.short)

    // 添加多空平仓逻辑
    if (not longCondition)
        strategy.close("Buy")
    if (not shortCondition)
        strategy.close("Sell")

// 可视化信号
plotshape(series=longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=shortCondition and not OnlyLong, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")


Mehr