Stratégie d'inversion de l'élan basée sur plusieurs délais

Auteur:ChaoZhang est là., Date: le 27 février 2024 à 14 h 27 min 49 s
Les étiquettes:

img

Résumé

Cette stratégie permet d'identifier les opportunités de négociation en calculant les ratios chandelier corps/wick et en combinant les indicateurs RSI pour détecter les conditions de marché de surachat/survente.

La logique de la stratégie

La logique de base de cette stratégie repose sur les éléments suivants:

  1. Calculer le pourcentage de corps / mèche des chandeliers: en calculant les prix d'ouverture, de fermeture, de haut et de bas, déduire le pourcentage occupé par le corps de la bougie et les mèches.

  2. Calculer le pourcentage de changement de la force de la bougie: Calculer la magnitude du mouvement interne des prix de chaque bougie pour déterminer la force de la bougie.

  3. Combinez avec le RSI pour identifier les conditions de surachat/survente: définissez des lignes de seuil de surachat et de survente pour le RSI.

  4. Déterminez les signaux d'inversion: lorsque le pourcentage de mèche < 20% et la résistance de la bougie > 2 fois la résistance moyenne, ainsi que la fermeture précédente de la bougie supérieure à la fermeture actuelle de la bougie, cela indique une condition courte.

  5. Définir le stop loss et le profit: définir un stop loss basé sur un pourcentage fixe et prendre des niveaux de profit séparément pour les transactions longues et courtes.

Analyse des avantages

Les avantages de cette stratégie sont les suivants:

  1. Identification efficace des tendances et des renversements en utilisant les proportions corps/boucle des bougies. Détecte bien la dynamique des prix et les points tournants.

  2. Une plus grande précision des signaux d'inversion en combinant le changement de résistance de la bougie et le RSI.

  3. Configuration raisonnable de stop loss/take profit pour capitaliser sur les opportunités à court terme tout en réduisant l'exposition au risque commercial.

  4. Adaptation flexible des paramètres pour optimiser les différents produits et les délais.

Analyse des risques

Certains risques présents dans la stratégie:

  1. Les faux signaux potentiels lors de fortes ruptures de tendance peuvent être réduits grâce à l'optimisation des périodes de comparaison des bougies et des paramètres du RSI.

  2. La probabilité d'un échec de l'inversion ne peut pas être complètement éliminée.

  3. Les performances dépendent du produit et de la période de temps.

Des possibilités d'amélioration

La stratégie peut être optimisée de la manière suivante:

  1. Les périodes de réglage fin prises en compte pour déterminer les combinaisons optimales de paramètres.

  2. Optimiser les seuils de surachat/survente des indices de rentabilité en fonction des spécificités du produit.

  3. Testez les ratios stop loss/take profit pour déduire un plan de gestion des risques idéal.

  4. Catégoriser les produits en fonction de leur volatilité pour un réglage plus ciblé des paramètres.

  5. Des filtres supplémentaires basés sur d'autres indicateurs peuvent améliorer la robustesse.

Conclusion

La stratégie est très pratique dans l'ensemble pour détecter les renversements en comprenant les informations des bougies. En tant que système de trading à court terme typique, il a une capacité d'optimisation considérable sur les produits et les environnements pour suivre les tendances à moyen terme.


/*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=5
strategy("mecha larga study",overlay = true,  max_bars_back = 600)
//Porcentaje Mecha cuerpo
bodyPercent = math.abs(open - close) / (high - low) * 100
wickPercent = 100 - bodyPercent

plot(bodyPercent, "Porcentaje del cuerpo", color.rgb(163, 76, 175))
plot(wickPercent, "Porcentaje de la mecha", color.red)

VelaDeFuerza =  math.abs(((high[0] - low[0])*100)/high)//PORCENTAJE DE VARIACION DE UNA VELA
plot(VelaDeFuerza, color = color.purple)

Promedio = ((VelaDeFuerza[0] + VelaDeFuerza[1] + VelaDeFuerza[2] + VelaDeFuerza[3] + VelaDeFuerza[4]  + VelaDeFuerza[5] + VelaDeFuerza[6] + VelaDeFuerza[7] + VelaDeFuerza[8] + VelaDeFuerza[9] + VelaDeFuerza[10] + VelaDeFuerza[11] + VelaDeFuerza[12] + VelaDeFuerza[13]  + VelaDeFuerza[14] ) / 15)
plot(Promedio, color = color.yellow)


// rsi 
per_Rsi = input.int(14, "Periodo RSI",minval= 11, maxval=20) //inicializo el rsi en 14 periodos pero doy la posibilidad al usuario de cambiarlo
rsi_Sc = input.int(75,"Sobre Compra",minval=68,maxval=80) //ENTRADA DE SOBRE COMPRA DE RSI
rsi_Sv = input.int(25,"Sobre Venta",minval=20,maxval=33) //ENTRADA DE SOBRE VENTA DE RSI
rsi= ta.rsi(close,per_Rsi)//guardo el rsi con los paramentros anteriores en una variable

//logica
MayorPromedio =   Promedio + 0.800
plot(MayorPromedio, color = color.green)

Venta =   bodyPercent > 80   and VelaDeFuerza > Promedio * 2  and close < close[1]
Compra =   bodyPercent > 80  and VelaDeFuerza > Promedio * 2 and close > close[1]


precioVenta = Venta? close : na
precioCompra = Compra? close : na

tp1 = 0.00
sl  = 0.00
tp1 := 0.003
sl := 0.010

TP1short = precioVenta - (precioVenta * tp1)
Slshort = precioVenta + (precioVenta * sl)

TP1long = precioCompra + (precioCompra * tp1)
SLlong = precioCompra - (precioCompra * sl)


name1 = "tp1"
name2 = "tp2"
name3= "SL"




if ( precioVenta ) 
    strategy.entry("short", strategy.short , comment = "Sell  SL: " + str.tostring(Slshort, "0.000")  + " TP1: " + str.tostring(TP1short,"0.000") ) 
    strategy.exit("exit" , "short", stop = Slshort , limit = TP1short ,qty_percent = 100 )  
if ( precioCompra ) 
    strategy.entry("long", strategy.long , comment = "Buy   SL: " + str.tostring(SLlong, "0.000")  + " TP1: " + str.tostring(TP1long,"0.000") )
    strategy.exit("exit" , "long", stop = SLlong  , limit = TP1long ,qty_percent = 100 )

Plus de