Stratégie de négociation quantitative globale basée sur plusieurs indicateurs

Auteur:ChaoZhang est là., Date: le 28 décembre 2023 à 17 h 46 min 45 s
Les étiquettes:

img

Résumé

La stratégie s'appelle Comprehensive Quantitative Trading Strategy Based on Multiple Indicators. Elle intègre plusieurs indicateurs techniques dont SuperTrend, QQE et Trend Indicator A-V2 pour former un système de trading complet qui analyse le marché à partir de plusieurs dimensions.

L'idée de base est de combiner différents indicateurs pour améliorer la précision du jugement tout en capturant les principales tendances du marché, afin de fournir aux traders des signaux de trading stables et efficaces.

La logique de la stratégie

La logique de négociation de base de cette stratégie repose sur les jugements combinés des trois indicateurs suivants:

  1. SuperTrend: Pour déterminer si le prix est en tendance haussière ou en baisse. Il génère des signaux d'achat et de vente lorsque le prix de clôture franchit la bande supérieure ou inférieure.

  2. QQE: Une version améliorée du RSI qui intègre des caractéristiques de réversion moyenne. Il est utilisé pour juger si le marché est suracheté ou survendu. Le seuil est ajusté dynamiquement en fonction de la bande d'écart type du RSI.

  3. Indicateur de tendance A-V2: Compare l'EMA du prix et l'EMA du prix ouvert pour déterminer la direction de la tendance.

Les trois indicateurs ci-dessus ont des objectifs différents. SuperTrend cible les tendances et les points d'inversion. QQE se concentre sur les niveaux de surachat / survente. A-V2 aide à déterminer la tendance à moyen et long terme. Cette stratégie les intègre pour former un système de décision de trading complet.

La logique de négociation spécifique est la suivante:

Un signal d'achat est généré lorsque SuperTrend montre une tendance haussière, QQE montre que le RSI est inférieur au niveau de survente et que les EMA A-V2 augmentent.

Un signal de vente est généré lorsque SuperTrend montre une tendance à la baisse, QQE montre que le RSI est au-dessus du niveau de surachat et que les EMA A-V2 chutent.

Le jugement complet de multiples indicateurs garantit une grande précision des signaux tout en maximisant les opportunités sur le marché d'obtenir un trading stable et efficace.

Analyse des avantages

Les principaux avantages de cette stratégie sont les suivants:

  1. Un jugement plus précis grâce à la fusion des indicateurs.

  2. Une couverture plus complète pour les transactions bidirectionnelles: permettre des positions longues et courtes permet de réaliser des bénéfices décents des fluctuations à la fois haussières et à la baisse du marché.

  3. Une meilleure maîtrise des risques. La combinaison d'indicateurs empêche les faux signaux des indicateurs individuels. Des indicateurs tels que QQE contrôlent également les risques par nature.

  4. Les paramètres d'entrée sont faciles à ajuster pour les utilisateurs en fonction de leurs propres préférences afin de s'adapter aux différentes conditions du marché.

  5. Il peut être appliqué à des marchés tels que les actions, le forex, les crypto-monnaies et convient aux traders techniques en particulier.

Analyse des risques

Les principaux risques de cette stratégie sont les suivants:

  1. Risque de biais dans les jugements des indicateurs: des anomalies de prix rares peuvent provoquer des biais dans les signaux des indicateurs et donc des risques.

  2. Risque d'inversion de tendance: cette stratégie se concentre sur le suivi de la tendance, de sorte que des inversions majeures fondamentales peuvent entraîner d'énormes pertes.

  3. Risque lié à un réglage inapproprié des paramètres.

Les principales solutions de gestion des risques sont les suivantes: 1) Vérifier les signaux sur tous les indicateurs pour éviter de dépendre d'un seul indicateur; 2) Contrôler la taille des positions pour les pertes gérées par transaction; 3) Ajuster les paramètres par marché.

Directions d'optimisation

La stratégie peut être optimisée dans les aspects suivants:

  1. Ajouter le stop loss pour la prise de profit et la réduction du drawdown.

  2. Intégrer plus d'indicateurs pour améliorer la stabilité du système.

  3. Introduire une dimensionnement des positions basé sur la volatilité. Ajuster dynamiquement les positions en fonction de l'évolution de la volatilité du marché.

  4. Optimiser le réglage des paramètres. Des backtests plus longs peuvent être effectués pour trouver les ensembles de paramètres optimaux pour cette stratégie.

  5. Utilisez différents ensembles de paramètres pour différents marchés. Les paramètres peuvent être optimisés séparément pour obtenir les meilleurs résultats sur différents marchés (actions, forex, crypto, etc.).

Conclusion

Cette stratégie intègre les indicateurs SuperTrend, QQE et A-V2 dans un système de trading quantitatif complet avec des jugements de signaux robustes. En combinant tendance, niveaux de surachat/survente et vérifications de tendance à moyen et long terme, elle peut identifier efficacement les opportunités tout en contrôlant strictement les risques. La stratégie présente des avantages importants et vaut la peine d'être évaluée et optimisée dans le trading en direct par les traders techniques. Elle fournit également des références précieuses pour le développement d'autres stratégies.


/*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")


Plus de