Stratégie de négociation de la grille de rebond sur-vendue à grande amplitude

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

img

Résumé

Cette stratégie est basée sur l'indicateur Wavetrend et établit des positions longues lorsque le prix atteint plusieurs niveaux de survente et de surachat.

Principes de stratégie

  1. Calculer deux lignes de l'indicateur Wavetrend, l'une étant la valeur initiale (wt1) et l'autre la valeur lissée (wt2).
  2. Définir plusieurs niveaux de survente (oslevel1~8) et de surachat (Oblevel1~5).
  3. Lorsque le wt1 et le wt2 sont tous deux en dessous d'un certain niveau de survente et que le wt1 est au-dessus du wt2, ouvrez une position longue.
  4. Lorsque le wt1 et le wt2 sont tous deux supérieurs au niveau de surachat 1 et que le wt1 est inférieur au wt2, fermer 70% de la position longue.
  5. Répétez les étapes 3 et 4 pour construire un système de négociation de réseau.

Les avantages de la stratégie

  1. Capturez les opportunités de rebond de survente: en fixant plusieurs niveaux de survente, il ouvre des positions après une baisse significative des prix pour tirer profit du rebond.
  2. Construction de positions par lots pour contrôler le risque: elle construit des positions par lots en fonction des niveaux de survente, avec des positions plus lourdes à des niveaux inférieurs, ce qui permet un meilleur contrôle du risque.
  3. Prise automatique de profit: Il ferme automatiquement la plupart des positions lorsque le prix rebondit vers la zone de surachat, bloquant les profits.
  4. Paramètres flexibles: les niveaux de survente et de surachat peuvent être ajustés en fonction des caractéristiques du marché et des préférences personnelles, en fonction des différents produits et cycles de négociation.

Risques stratégiques

  1. Risque de crash: si le prix continue de baisser, ce qui déclenche de plus en plus de signaux d'ouverture de survente, il peut entraîner des positions lourdes piégées.
  2. Risque de marché instable: si le prix fluctue à plusieurs reprises dans la zone de survente, il peut entraîner plusieurs ouvertures de positions sans pouvoir tirer profit, affaiblissant ainsi l'effet de la stratégie.
  3. Risque des paramètres: les paramètres différents ont un impact significatif sur les performances de la stratégie et doivent être optimisés sur la base des tests antérieurs et de l'expérience, sinon ils peuvent entraîner des pertes.

Directions d'optimisation de la stratégie

  1. Ajouter un filtrage de tendance: Déterminez si la tendance à haut niveau est à la hausse avant d'ouvrir une position afin d'éviter d'ouvrir des positions dans une tendance à la baisse.
  2. Optimiser la gestion des positions: ajuster la taille de la position d'ouverture en fonction de la distance entre le prix et le niveau de survente, avec des positions plus grandes pour des distances plus grandes.
  3. Prise de bénéfices dynamique: ajustez dynamiquement le niveau de prise de bénéfices en fonction du ratio bénéfices/pertes de détention, au lieu de fermer des positions à un ratio fixe.
  4. Ajouter un stop-loss: définir un stop-loss fixe ou de suivi pour contrôler la perte maximale d'une seule transaction.

Résumé

La Wavetrend Large Amplitude Oversold Rebound Grid Trading Strategy est une stratégie quantitative basée sur des signaux de survente et de surachat. Elle tente de saisir les opportunités de rebond après une forte baisse grâce à la création de positions par lots et à la prise de profit automatique, dans le but de tirer profit de la différence de prix. L'avantage de cette stratégie réside dans sa forte adaptabilité et son ajustement flexible des paramètres.


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




Relationnée

Plus de