Au-delà de la stratégie des nuages

Auteur:ChaoZhang est là., Date: 2023-11-03 16:10:33 Je vous en prie.
Les étiquettes:

img

Résumé

Cette stratégie utilise l'indicateur Super Trend pour aider à placer des ordres, et filtre par couches de nuages et couleurs de chandeliers pour placer des ordres limites pour augmenter la rentabilité.

La logique de la stratégie

  1. Calculer la moyenne des prix les plus élevés et les plus bas au cours de la période ATR comme référence.

  2. Calculer les bandes supérieure et inférieure en fonction du facteur multiplicateur.

  3. Lorsque la fermeture est au-dessus de la bande supérieure, marquer comme 1; en dessous de la bande inférieure, marquer comme -1. Sinon, maintenir l'état précédent.

  4. Ajustez dynamiquement la ligne de stop loss en fonction de la position du prix de clôture par rapport aux bandes supérieure/inférieure.

  5. Calculer la plage de couche nuageuse sur la base d'un certain pourcentage de l'intervalle de bande supérieure/inférieure.

  6. Pour long, besoin de fermer < ouvert lorsque la Super Tendance est 1.

  7. Placez des ordres d'achat à prix de clôture des barres précédentes pour long.

  8. Filtrez par période, fermez toutes les positions disponibles.

Analyse des avantages

Cette stratégie combine le concept de Super Trend et de Cloud, ce qui permet de capturer rapidement la tendance après le début de la tendance. Super Trend stop loss réagit plus rapidement que le stop loss en mouvement normal.

  1. Super Trend est sensible et suit les tendances avec force.

  2. Le filtre à nuages réduit les pertes de fausses éruptions.

  3. La couleur du chandelier aide à éviter les retours en arrière.

  4. Les ordres limités réduisent l'impact des glissements et augmentent le taux de victoire.

  5. La gestion des positions et des intervalles de temps personnalisables répondent à différents besoins de négociation.

Analyse des risques

Il y a aussi quelques risques à noter:

  1. Des paramètres de Super Trend inappropriés peuvent provoquer une trop grande sensibilité et des coups de fouet.

  2. Une gamme de nuages excessive peut filtrer les signaux de rupture valides, ce qui a une incidence sur la rentabilité.

  3. Les ordres limités peuvent ne pas être remplis pendant une forte volatilité, des opportunités manquées.

  4. Aucun stop loss ne peut éviter complètement le risque systémique et les pertes énormes.

  5. Les positions plus grandes amplifient également les pertes.

Directions d'optimisation

Cette stratégie peut être améliorée dans les domaines suivants:

  1. Tester différents marchés et instruments afin de déterminer les paramètres optimaux de la Super Tendance.

  2. Ajustez dynamiquement le niveau de stop loss en fonction de la volatilité du marché.

  3. Optimiser la portée des nuages pour équilibrer le filtrage du bruit et la rétention du signal.

  4. Ajouter un module de dimensionnement des positions à la dimensionnement dynamique des positions en fonction des conditions du marché.

  5. Utiliser différents ensembles de paramètres pour différentes sessions de négociation afin de s'adapter aux rythmes du marché.

  6. Efficacité des essais en combinaison avec d'autres indicateurs.

Conclusion

En conclusion, cette stratégie a une logique claire et un avantage évident dans la capture de tendance. Mais aucune stratégie ne peut éviter complètement les risques systémiques. Il faut contrôler la taille des positions, continuer à optimiser pour minimiser les risques dans le trading en direct et maximiser l'avantage. Cette stratégie a un grand potentiel pour des tests et des améliorations supplémentaires pour s'adapter à l'évolution de la dynamique du marché.


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

//Noro
//2018

//@version=2
strategy("Noro's SuperTrend Strategy v2.0 Limit", shorttitle = "STL str", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot, %")
cloud = input(25, defval = 25, minval = 5, maxval = 50, title = "cloud, % of ATR")
Factor = input(title = "Super Trend", defval = 3, minval = 1, maxval = 100)
ATR = input(title = "ATR", defval = 7, minval = 1,maxval = 100)
centr = input(true, defval = true, title = "need center of ATR?")
border = input(false, defval = false, title = "need border?")
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")

//Super Trend ATR 1
src = close
Up=hl2-(Factor*atr(ATR))
Dn=hl2+(Factor*atr(ATR))
TUp=close[1]>TUp[1]? max(Up,TUp[1]) : Up
TDown=close[1]<TDown[1]? min(Dn,TDown[1]) : Dn
Trend = close > TDown[1] ? 1: close< TUp[1]? -1: nz(Trend[1],1)
Tsl1 = Trend==1? TUp: TDown
Tsl2 = Trend==1? TDown: TUp
limit = (Tsl1 - Tsl2) / 100 * cloud
upcloud = Tsl1 - limit
dncloud = Tsl2 + limit

//Cloud
linecolor = Trend == 1 ? green : red
centercolor = centr == true ? blue : na
cloudcolor = Trend == 1 ? green : red
cline = (Tsl1 + Tsl2) / 2
P1 = plot(Tsl1, color = border == false ? na : linecolor , style = line , linewidth = 1,title = "SuperTrend ATR-1")
P2 = plot(Tsl2, color = border == false ? na : linecolor , style = line , linewidth = 1,title = "SuperTrend ATR-2")
P3 = plot(cline, color = centercolor , style = line , linewidth = 1,title = "SuperTrend Center")
P4 = plot(upcloud, color = border == false ? na : linecolor , style = line , linewidth = 1,title = "SuperTrend Center+1")
P5 = plot(dncloud, color = border == false ? na : linecolor , style = line , linewidth = 1,title = "SuperTrend Center-1")
fill(P1, P4, color = linecolor == red ? red : lime, transp = 50)
fill(P2, P5, color = linecolor == red ? red : lime, transp = 50)

//Signals
up = 0.0
dn = 0.0
up := Trend != 1 ? 0 : Trend == 1 and close < open ? close : up[1]
dn := Trend != -1 ? close * 1000 : Trend == -1 and close > open ? close : dn[1]

//Trading
size = strategy.position_size
lot = 0.0
lot := size != size[1] ? strategy.equity / close * capital / 100 : lot[1]
if true
    strategy.entry("Long", strategy.long, needlong ? lot : 0, limit = up, when = (Trend == 1 and time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
    strategy.entry("Short", strategy.short, needshort ? lot : 0, limit = dn, when = (Trend == -1 and time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))

if time > timestamp(toyear, tomonth, today, 23, 59)
    strategy.close_all()

Plus de