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

Wavetrend: une stratégie de trading de grille de rebond pour dépasser les indices à forte baisse

Auteur:ChaoZhang est là., Date: 2024-04-25 17h13h39
Les étiquettes:DCALe taux d'intérêtSMA

Wavetrend 大幅指标超跌反弹网格交易策略

Résumé

La stratégie est basée sur l'indicateur Wavetrend, qui consiste à établir plusieurs positions de vente et d'achat en plaçant plusieurs niveaux de vente et d'achat, en établissant plusieurs positions lorsque les prix touchent ces niveaux et en profitant lorsque les prix rebondissent vers des niveaux d'achat. Il s'agit d'une stratégie de trading en grille visant à capturer une tendance à la hausse et à la baisse du marché, applicable à des cycles de 15 minutes pour les crypto-monnaies comme le Bitcoin et le Solana.

Les principes stratégiques

  1. Deux lignes de calcul de l'indicateur Wavetrend, une ligne pour la valeur initiale ((wt1) et une ligne pour la valeur de lissage ((wt2)).
  2. Il est possible de définir plusieurs niveaux d'excédent de vente (oslevel 1-8) et d'excédent d'achat (Oblevel 1-5).
  3. Lorsque wt1 et wt2 sont simultanément en dessous d'un certain niveau d'excédent et que wt1 est au-dessus de wt2, une position en plus est ouverte.
  4. Lorsque wt1 et wt2 sont simultanément au-dessus du niveau d'achat 1 et que wt1 est au-dessous de wt2, 70% des positions en tête sont éliminées.
  5. Répétez les étapes 3 et 4, construisez un système de négociation de grille.

Les avantages stratégiques

  1. Capturez une reprise après une chute: en définissant plusieurs niveaux de survente, ouvrez une position après une forte baisse de prix et profitez d'une reprise.
  2. L'établissement par lots, le contrôle des risques: selon le niveau d'excédent de vente par lots, le niveau inférieur est plus lourd et permet de mieux contrôler les risques.
  3. Auto-stop: élimine automatiquement la majeure partie des positions et bloque les bénéfices lorsque le prix rebondit vers la zone d'achat.
  4. Flexibilité des paramètres: les niveaux de survente et d'achat peuvent être ajustés en fonction des caractéristiques du marché et des préférences individuelles pour s'adapter à différentes variétés et cycles de transactions.

Risque stratégique

  1. Risque d'effondrement: si le prix continue de baisser, déclenchant de plus en plus de signaux d'ouverture de survente, cela peut entraîner un placement de positions lourdes.
  2. Risque de volatilité du marché: si le prix change à plusieurs reprises dans une zone de survente, cela peut entraîner plusieurs positions ouvertes et ne pas être arrêté, ce qui affaiblit l'effet stratégique.
  3. Risque de paramètres: les paramètres différents ont un impact important sur les performances de la stratégie et doivent être optimisés en fonction des retours d'expérience et de l'expérience, sinon il peut y avoir des pertes.

Optimisation stratégique

  1. Joindre le filtrage des tendances: avant d'ouvrir une position, juger si une tendance à grande échelle est en hausse et éviter d'ouvrir une position dans une tendance à la baisse.
  2. Optimisation de la gestion des positions: en fonction de la distance entre le prix et le niveau de survente, ajustez la taille des positions ouvertes, plus la distance est grande.
  3. Période d'arrêt dynamique: les niveaux d'arrêt dynamiques sont ajustés en fonction du ratio de gain et de perte de l'actif, plutôt que de l'équilibre du ratio fixe.
  4. Ajouter un stop-loss: définir un stop-loss fixe ou suivi pour contrôler la perte maximale d'une seule transaction.

Résumé

La stratégie de négociation de la grille de rebond basée sur les signaux d'excédent d'achat est une stratégie quantitative basée sur l'excédent d'achat, qui tente de capturer les tendances de rebond après la chute en achetant des profits sur la différence de prix en construisant des positions en lots et en arrêtant automatiquement les pertes. La stratégie a l'avantage d'être flexible et adaptable, mais elle présente également des risques de baisse continue du marché et de paramètres mal placés.


/*backtest
start: 2024-03-25 00:00:00
end: 2024-04-24 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
// © And Isaac, all rights reserved. If there is any piracy, please call the police immediately. 

strategy(title='wavetrend',shorttitle='DCA-High win rate quantitative trading')
n1 = input(40,'channel length')
n2 = input(60,'average length')
Oblevel1 = input(40,'over bought level 1')
Oblevel2 = input(50,'over bought level 1')
Oblevel3 = input(70,'over bought level 1')
Oblevel4 = input(80,'over bought level 1')
Oblevel5 = input(100,'over bought level 2')
oslevel1 = input(-40,'over sold level 1')
oslevel2 = input(-45,'over sold level 1')
oslevel3 = input(-50,'over sold level 1')
oslevel4 = input(-55,'over sold level 1')
oslevel5 = input(-65,'over sold level 1')
oslevel6 = input(-75,'over sold level 1')
oslevel7 = input(-85,'over sold level 1')
oslevel8 = input(-100,'over sold level 2')

ap = input(title="source",defval=hlc3)
esa =ta.ema(ap, n1)
d =ta.ema(math.abs(ap - esa),n1)
ci = (ap - esa)/ (0.015 * d)
tci = ta.ema(ci,n2)

wt1 = tci
wt2 = ta.sma(wt1, 4)

plot(0,color=color.new(#787b86, 0 ))
plot(Oblevel1, color=color.new(#89ff52, 53), linewidth = 2)
plot(oslevel1, color=color.new(#89ff52, 53), linewidth = 2)
plot(oslevel2, color=color.new(#89ff52, 53), linewidth = 2)
plot(oslevel3, color=color.new(#89ff52, 53), linewidth = 2)
plot(oslevel4, color=color.new(#89ff52, 53), linewidth = 2)
plot(oslevel5, color=color.new(#89ff52, 53), linewidth = 2)
plot(oslevel6, color=color.new(#89ff52, 53), linewidth = 2)
plot(oslevel7, color=color.new(#89ff52, 53), linewidth = 2)
plot(oslevel8, color=color.new(#89ff52, 53), linewidth = 2)
plot(oslevel2, color=color.new(#89ff52, 53), linewidth = 2)
plot(wt1, color=color.new(#ff5252,0))
plot(wt2, color=color.new(#ffffff,0))
plot(wt1 - wt2, color=color.new(#00bcd4, 30),style=plot.style_area)

plot(ta.cross(wt1, wt2) ? wt2 : na, color=color.new(#ff5252,0) , style=plot.style_circles, linewidth=4 )

// barcolor(cross(wt1, wt2) ? (wt2 - wt1 > 0 ? aqua : yellow) : na)
barcolor(ta.cross(wt1, wt2) ? (wt2 - wt1 > 0 ? color.new(#ffffff,0) : color.new(#89ff52, 53)) : na)

/////////////
Long1 = wt2 < oslevel1 and wt1 < oslevel1 and wt1>wt2 and wt2 > oslevel3 and wt1>oslevel3
Long5 = wt2 < oslevel5 and wt1 < oslevel5 and wt1>wt2 and wt2 > oslevel6 and wt1>oslevel6

Long7 = wt2 < oslevel7 and wt1 < oslevel7 and wt1>wt2 and wt2 > oslevel8 and wt1>oslevel8
Long8 = wt2 < oslevel8 and wt1 < oslevel8 and wt1>wt2
LS1 = wt2 > Oblevel1 and wt1 > Oblevel1 and wt1<wt2



if Long1
    strategy.entry("L",strategy.long,comment = "做多1")


if Long5
    strategy.entry("L",strategy.long,comment = "做5")

if Long7
    strategy.entry("L",strategy.long,comment = "做多7")
if Long8
    strategy.entry("L",strategy.long,comment = "做多8")
if LS1
    strategy.close("L", qty_percent = 70,comment = "平多")




Contenu lié

En savoir plus