Les ressources ont été chargées... Je charge...

Stratégie de combinaison de multiples croisements Turtle et moyenne mobile pondérée et MACD et TSI

Auteur:ChaoZhang est là., Date: 2024-01-08 14:19:02 Je vous en prie.
Les étiquettes:

img

Résumé

Il s'agit d'une stratégie qui utilise plusieurs indicateurs techniques pour le jugement des signaux de trading. Elle intègre le double système de croisement des moyennes mobiles des règles de trading de la tortue, la moyenne mobile pondérée, le MACD et le TSI, quatre indicateurs techniques principaux, pour former une stratégie de trading multi-confirmée. Cette combinaison peut filtrer efficacement les faux signaux et améliorer la stabilité.

Principaux

Le principe de base de cette stratégie est la combinaison de multiples indicateurs techniques.

  1. Utilisez le croisement de la moyenne mobile double des règles de trading de la tortue pour générer des signaux de trading. Calculez les moyennes mobiles doubles Hull de 7 jours et 14 jours. Lorsque la moyenne mobile à court terme dépasse la moyenne mobile à long terme, elle est haussière et quand elle dépasse celle-ci, elle est baissière.

  2. Calculer la moyenne mobile pondérée d'un jour comme indicateur important de tendance à long terme.

  3. Calculez l'indicateur MACD et jugez sa croix dorée et sa croix morte avec la ligne de signal. Lorsque le MACD est supérieur à la ligne de signal, il est haussier. Lorsque moins, il est baissier.

  4. Calculer l'indicateur TSI et déterminer s'il est au-dessus de la ligne de surachat ou en dessous de la ligne de survente.

Lors de l'entrée sur le marché, les conditions multiples suivantes doivent être remplies simultanément:

  • La ligne de 7 jours dépasse la ligne de 14 jours
  • Si la moyenne mobile pondérée d'un jour est inférieure, ne passez que long; si elle est supérieure, ne passez que court
  • Le MACD dépasse la ligne de signal
  • TSI est supérieure à la ligne de survente (aller long) ou inférieure à la ligne de surachat (aller court)

Cela permet d'éviter efficacement les faux signaux générés par un seul indicateur technique et d'améliorer la stabilité.

Les avantages

Cette stratégie de combinaison croisée multi-indicateurs présente les avantages suivants:

  1. Les confirmations multiples filtrent efficacement les faux signaux et évitent les transactions erronées.

  2. Les indicateurs techniques couvrent les termes à court, moyen et long terme, qui peuvent saisir les opportunités de négociation à différents niveaux.

  3. Les règles de négociation des tortues ont été testées et peuvent facilement réaliser des profits stables.

  4. L'indicateur MACD est sensible aux changements de marché à court terme, ce qui peut améliorer les performances en temps réel de la stratégie.

  5. L'indicateur de la STI est relativement fluide et permet d'identifier efficacement les situations de surachat et de survente.

  6. Les moyennes mobiles, en tant qu'indicateur important de tendance à long terme, empêchent la négociation contre la tendance.

En résumé, cette stratégie combine les avantages de multiples indicateurs et est à la fois stable et flexible avec un potentiel de profit élevé.

Les risques

Cette stratégie comporte également certains risques, principalement dans les domaines suivants:

  1. Plusieurs indicateurs augmentent la complexité de la stratégie et rendent plus difficile le réglage des paramètres et l'optimisation.

  2. Des divergences peuvent survenir entre les indicateurs, affectant la stabilité de la stratégie.

  3. La probabilité de faux signaux des indicateurs techniques ne peut être complètement éliminée.

  4. Le manque d'opportunités de revers de marché à court terme ne permet pas de saisir l'espace d'arbitrage des revers rapides.

En conséquence, d'autres optimisations peuvent être apportées dans les domaines suivants:

  1. Trouver la combinaison optimale de paramètres pour améliorer la coordination entre les indicateurs.

  2. Augmenter les mécanismes de stop loss pour contrôler les pertes uniques.

  3. Incorporer plus de types et de cycles d'indicateurs différents pour améliorer encore la stabilité.

  4. Réservez des fonds de manière appropriée en utilisant des techniques d'inversion pour l'arbitrage.

Directions d'optimisation

Cette stratégie peut être encore optimisée dans les domaines suivants:

  1. Optimisation des paramètres. Optimiser des paramètres tels que la longueur du cycle, le nombre de lignes, les intervalles de surachat et de survente, etc. pour trouver la meilleure combinaison de paramètres.

  2. Augmenter les mécanismes de stop loss. Définir des stop loss mobiles ou CLASSES appropriés et d'autres méthodes de stop loss pour contrôler les pertes.

  3. Ajouter des indicateurs tels que KD, OBV, volatilité, etc. pour former une validation croisée dans plus de dimensions.

  4. Combinez l'apprentissage automatique, prenez divers indicateurs techniques comme entrée et utilisez des réseaux neuronaux pour le jugement du signal et l'optimisation des paramètres.

  5. Réservez des fonds pour la couverture.

Résumé

Cette stratégie combine les règles de trading de la tortue, les moyennes mobiles, le MACD et les indicateurs techniques TSI pour créer une stratégie quantitative à haute stabilité, à haute flexibilité et testée en bataille. Elle capte les mouvements de marché à court, moyen et long terme. La validation croisée de plusieurs indicateurs réduit efficacement la probabilité de faux signaux. Des optimisations supplémentaires des paramètres, des mécanismes de stop-loss et des modèles peuvent permettre d'obtenir de meilleures performances de stratégie.


/*backtest
start: 2023-12-08 00:00:00
end: 2024-01-07 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
//                                                    Quad-HullMA-cross & VWMA & MacD & TSI combination  <<<<< by SeaSide420 >>>>>>
strategy("MultiCross", overlay=true)
keh=input(title="Double HullMA 1",defval=7, minval=1)
teh=input(title="Double HullMA 2",defval=14, minval=1)
meh=input(title="VWMA",defval=1, minval=1)
meh1=vwma(close,round(meh))
n2ma=2*wma(close,round(keh/2))
nma=wma(close,keh)
diff=n2ma-nma,sqn=round(sqrt(keh))
n2ma1=2*wma(close[2],round(keh/2))
nma1=wma(close[2],keh)
diff1=n2ma1-nma1,sqn1=round(sqrt(keh))
n1=wma(diff,sqn)
n2=wma(diff1,sqn)
b=n1>n2?lime:red
c=n1>n2?green:red
n2ma3=2*wma(close,round(teh/2))
nma2=wma(close,teh)
diff2=n2ma3-nma2,sqn2=round(sqrt(teh))
n2ma4=2*wma(close[2],round(teh/2))
nma3=wma(close[2],teh)
diff3=n2ma4-nma3,sqn3=round(sqrt(teh))
n3=wma(diff2,sqn2)
n4=wma(diff3,sqn3)
fastLength = input(title="MacD fastLength", defval=7)
slowlength = input(title="MacD slowlength", defval=14)
MACDLength = input(title="MacD Length", defval=3)
MACD = ema(close, fastLength) - ema(close, slowlength)
aMACD = ema(MACD, MACDLength)
delta = MACD - aMACD
a1=plot(n1,color=c),a2=plot(n2,color=c)
plot(cross(n1, n2) ? n1 : na, style = cross, color=b, linewidth = 3)
a3=plot(n3,color=c),a4=plot(n4,color=c)
plot(cross(n3, n4) ? n1 : na, style = cross, color=b, linewidth = 3)
//a5=plot(meh1,color=c)
long = input(title="TSI Long Length",  defval=5)
short = input(title="TSI Short Length",  defval=3)
signal = input(title="TSI Signal Length",  defval=2)
linebuy = input(title="TSI Upper Line",  defval=4)
linesell = input(title="TSI Lower Line",  defval=-4)
price = close
double_smooth(src, long, short) =>
    fist_smooth = ema(src, long)
    ema(fist_smooth, short)
pc = change(price)
double_smoothed_pc = double_smooth(pc, long, short)
double_smoothed_abs_pc = double_smooth(abs(pc), long, short)
tsi_value = 100 * (double_smoothed_pc / double_smoothed_abs_pc)
closelong = n1<n2 and n3<n4 and n1>meh1
if (closelong)
    strategy.close("Long")
closeshort = n1>n2 and n3>n4 and n1<meh1
if (closeshort)
    strategy.close("Short") 
longCondition = strategy.opentrades<1 and n1>n2 and MACD>aMACD and n1<meh1 and n3>n4 and ema(tsi_value, signal)>linesell
if (longCondition)
    strategy.entry("Long",strategy.long)
shortCondition = strategy.opentrades<1  and n1<n2 and MACD<aMACD and n1>meh1 and n3<n4 and ema(tsi_value, signal)<linebuy
if (shortCondition)
    strategy.entry("Short",strategy.short)

Plus de