
Diese Strategie ist innovativ.Umfassende Long- und Short-Strategie für den automatischen Futures-HandelDiese Strategie zielt darauf ab, die wichtigsten Trends des Marktes zu entdecken und unter der Voraussetzung, dass das Risiko gut kontrolliert wird, stabile Erträge zu erzielen.
Strategieprinzip
Die Strategie basiert auf drei Teilen:
Der SuperTrend-Indikator ist für die Bestimmung der Haupttrendrichtung des Marktes verantwortlich. Wenn der Preis die Aufwärts- und Abwärtslinie überschreitet, wird er als bullish bezeichnet, wenn er die Aufwärts- und Abwärtslinie überschreitet.
Der QQE-Indikator wird mit dem RSI kombiniert, um einen Überkauf-Überverkauf zu ermitteln. Der dynamische Obergrenze wird anhand des Mittelwertes und der Standardabweichung des RSI berechnet. Wenn der RSI über der Obergrenze liegt, ist dies ein Überkaufsignal, wenn er unter der Untergrenze liegt, ist dies ein Überverkaufsignal.
Der Trend Indicator A-V2 beurteilt die Tendenz durch Berechnung der EMA-Position der schnellen und langsamen Linie, wobei die schnelle Linie höher als die langsame Linie ist.
Bei der Beurteilung der Marktrichtung wird ein Mehr-Signal ausgesendet, wenn der SuperTrend positiv ist und der QQE entscheidet, dass er nicht überverkauft ist und der A-V2 positiv ist. Ein Ab-Signal wird ausgesendet, wenn der SuperTrend negativ ist und der QQE entscheidet, dass er nicht überkauft ist und der A-V2 negativ ist.
Strategische Vorteile
Die Verwendung von mehreren Indikatoren in Kombination macht die Entscheidungen zuverlässiger und reduziert die Anzahl falscher Signale.
Es ist möglich, automatisch Handelssignale zu entdecken, ohne menschliche Intervention zu beurteilen, um menschliche Fehler zu reduzieren.
Mit Hilfe der organischen Kombination von Indikatoren können Sie Risiken kontrollieren, während Sie Signale entdecken, um stabile Gewinne zu erzielen.
Die Parameter sind einstellbar und der Benutzer kann die Strategie nach seinen eigenen Vorlieben individualisieren.
Unterstützung für einseitige, mehrseitige oder bilaterale Transaktionen, flexible Transaktionen.
Risiken und Lösungen
In speziellen Marktsituationen können Indikatoren Fehlsignale auslösen, die durch Optimierung der Indikatorparameter reduziert werden können.
Die Handelskosten und die Schlupfpunkte können die Gewinnspanne der Strategie beeinflussen und können durch die Implementierung eines Stop-Loss-Stopp-Mechanismus optimiert werden.
Die falsche Einstellung der Indikatorparameter kann zu einer schlechten Strategieleistung führen. Versuchen Sie mit verschiedenen Parametern, die optimale Konfiguration zu finden.
Optimierungsrichtung
Die Erweiterung der Strategie durch die Einführung von Machine Learning-Algorithmen zur automatischen Optimierung der Kennzahlenparameter basierend auf historischen Daten.
In Verbindung mit mehr Mikrostrukturfaktoren wie Handelsvolumen, OTC-Marktdaten und anderen Faktoren werden effizientere Handelssignale gefunden.
Die Anwendung von Hochfrequenz-Trading-Technologien zur automatischen Auftragserteilung und Ausführung von Transaktionen über algorithmische Modelle.
Zusammenfassen
Diese Strategie integriert mehrere Indikatoren, um die Marktstruktur zu beurteilen, unter der Voraussetzung, dass Risiken kontrolliert werden, um stabile Gewinne zu erzielen. Die Handelsentscheidung ist sowohl unter Berücksichtigung der Trendrichtung als auch unter Berücksichtigung der Überkauf-Überverkauf-Zustand. Der Optimierungsraum ist groß und die Strategie kann in Bezug auf die Optimierung der Parameter, die Strukturoptimierung und die Ausführung optimiert werden.
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
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")