
Cette stratégie est appelée stratégie de rupture dynamique basée sur le suivi de la tendance. Cette stratégie utilise des indicateurs de super-tendance pour déterminer la direction de la tendance actuelle et, en combinaison avec la direction de l’entité de la ligne K, pour suivre la tendance et réaliser des transactions de rupture dynamique.
La stratégie repose principalement sur l’indicateur de super-tendance (SuperTrend) pour déterminer la direction de la tendance actuelle. L’indicateur de super-tendance, combiné à l’amplitude réelle moyenne (ATR), est calculé sur la trajectoire et la trajectoire.
Lorsque l’indicateur de super-tendance est jugé comme une tendance à la hausse, si cette ligne K est une entité rouge (le prix de clôture est inférieur au prix d’ouverture), faites plus; lorsque l’indicateur de super-tendance est jugé comme une tendance à la baisse, si cette ligne K est une entité verte (le prix de clôture est supérieur au prix d’ouverture), faites zéro. Cela permet de réaliser une rupture de transaction dynamique dans le suivi de la tendance.
Cette stratégie, combinant le jugement de la tendance et les caractéristiques de la dynamique, permet de filtrer efficacement les fausses ruptures et d’améliorer l’efficacité des signaux de négociation. En outre, le suivi de la tendance des transactions, l’évitement des opérations de contre-courant, améliore considérablement la probabilité de profit.
Les avantages sont les suivants:
Les principaux risques liés à cette stratégie sont les suivants:
Les mesures prises sont les suivantes:
Cette stratégie peut être optimisée dans les directions suivantes:
Cette stratégie est généralement très adaptée à la tenue de positions à court et à moyen terme. Combinant le jugement de la tendance et les caractéristiques de la dynamique de rupture, elle permet de filtrer efficacement le bruit et d’améliorer le taux de réussite des transactions. Il existe également une certaine marge d’optimisation des paramètres de la stratégie, qui permet d’obtenir de meilleurs résultats stratégiques grâce à une optimisation supplémentaire.
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//Noro
//2018
//@version=2
strategy("Noro's SuperTrend Strategy v1.0", shorttitle = "ST str 1.0", 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 = Trend == 1 and close < open //and low < cline
dn = Trend == -1 and close > open //and high > cline
//Trading
size = strategy.position_size
lot = 0.0
lot := size == 0 ? strategy.equity / close * capital / 100 : lot[1]
if up
strategy.entry("Long", strategy.long, needlong ? lot : 0)
if dn
strategy.entry("Short", strategy.short, needshort ? lot : 0)