Stratégie de double poussée basée sur le corps du chandelier

Auteur:ChaoZhang est là., Date: 2023-11-16 17:14:48 Je vous en prie.
Les étiquettes:

img

Résumé

Cette stratégie utilise la longueur du corps de la bougie pour déterminer la direction longue et courte. Elle calcule la longueur moyenne du corps des 30 bougies récentes. Lorsque la longueur du corps de la bougie haussière est supérieure à la moyenne, elle va long. Lorsque la longueur du corps de la bougie baissière est supérieure à la moyenne, elle va courte.

La logique de la stratégie

Cette stratégie calcule d'abord la longueur du corps du chandelier et la longueur moyenne du corps des 30 derniers chandeliers.

Lorsque le chandelier d'aujourd'hui est baissier (barre==-1) et que la longueur du corps est supérieure à la longueur moyenne du corps, il ouvre une position longue (en hausse1).

Lorsque le chandelier d'aujourd'hui est haussier (bar ==1) et que la longueur du corps est supérieure à la longueur moyenne du corps, il ouvre une position courte (dn1).

Après avoir ouvert long, si le chandelier d'aujourd'hui est haussier (barre==1) et que la position actuelle est rentable, il ferme la position longue.

Après une ouverture à découvert, si le chandelier d'aujourd'hui est baissier (barre==-1) et que la position actuelle est rentable, il ferme la position à découvert.

La stratégie utilise simplement et efficacement la longueur du corps du chandelier pour déterminer la tendance du marché. Plus le corps est long, plus la tendance est forte.

Analyse des avantages

Les avantages de cette stratégie:

  1. La logique est simple et claire, facile à comprendre et à mettre en œuvre.

  2. Utiliser la longueur du corps du chandelier pour déterminer la tendance, éviter les interférences sonores.

  3. Adopter un calcul moyen dynamique, s'adapter aux changements du marché.

  4. Définir une condition de sortie rentable pour améliorer la rentabilité.

  5. Paramètres configurables, adaptés à différents environnements de marché.

Analyse des risques

Les risques de cette stratégie:

  1. Le corps long ne représente pas nécessairement une forte tendance, pourrait être une fluctuation normale.

  2. Une fenêtre de temps de longueur corporelle moyenne inappropriée peut manquer des opportunités de trading.

  3. Les événements du cygne noir peuvent causer des pertes.

  4. La détention de positions trop longue peut amplifier les pertes.

Les solutions:

  1. Combinez avec d'autres indicateurs pour déterminer la tendance, éviter les mauvais métiers.

  2. Testez différentes valeurs de paramètres, optimisez le calcul de la longueur moyenne du corps.

  3. Réglez le stop-loss pour contrôler la perte unique.

  4. Optimisez la logique d'entrée et de sortie pour éviter de rester trop longtemps.

Directions d'optimisation

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

  1. Combinez MACD, RSI pour déterminer la tendance, éviter les mauvais signaux des fluctuations normales.

  2. Testez différents paramètres de la fenêtre de temps de la longueur moyenne du corps pour trouver un ensemble de paramètres optimal.

  3. Ajoutez la logique de contrôle de la dimension de position, réduisez progressivement la taille de la position en cas de pertes.

  4. Définir un stop-loss ou une cible de profit pour contrôler le pourcentage de perte unique.

  5. Optimisez les conditions d'entrée et de sortie pour éviter les transactions inefficaces.

  6. Évitez de négocier à certaines périodes ou autour de la publication de données importantes afin de contrôler les pertes dues à la volatilité.

Conclusion

La stratégie a une logique claire et facile à comprendre de comparer le corps du chandelier à sa longueur moyenne pour le timing d'entrée. Grande marge d'optimisation à partir de plusieurs dimensions pour mieux l'adapter à différents environnements de marché. Dans l'ensemble, une stratégie de trading quantitative d'introduction simple et fiable adaptée aux traders novices à utiliser et à apprendre. Combinez davantage d'indicateurs et optimisez pour améliorer la rentabilité et la robustesse.


/*backtest
start: 2023-10-16 00:00:00
end: 2023-11-15 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=3
strategy(title = "Noro's ColorBar Strategy v1.0", shorttitle = "ColorBar str v1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100.0, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
usebody = input(true, defval = true, title = "Use body")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//Signals
bar = close > open ? 1 : close < open ? - 1 : 0
body = abs(close - open)
sbody = ema(body, 30)

up1 = bar == -1 and (body > sbody or usebody == false)
dn1 = bar == 1 and (body > sbody or usebody == false)

plus = (close > strategy.position_avg_price and strategy.position_size > 0) or (close < strategy.position_avg_price and strategy.position_size < 0)
exit = ((strategy.position_size > 0 and bar == 1) or (strategy.position_size < 0 and bar == -1)) and plus

if up1
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, 01, 00, 00) and time < timestamp(toyear, tomonth, 31, 00, 00)))

if dn1
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, 01, 00, 00) and time < timestamp(toyear, tomonth, 31, 00, 00)))
    
if time > timestamp(toyear, tomonth, 31, 00, 00) or exit
    strategy.close_all()

Plus de