
La stratégie est un système de négociation dynamique basé sur l’indicateur de tendance ondulatoire WaveTrend, qui identifie les sur-achats et les sur-vente du marché en calculant les variations dynamiques des prix et génère un signal de négociation lors de la rupture des niveaux de prix critiques. La stratégie utilise une courbe dynamique à double levage (WT1 et WT2) pour filtrer le bruit du marché et améliorer la fiabilité du signal.
Le cœur de la stratégie est la construction d’un indicateur de tendance des vagues en suivant les étapes suivantes:
Il s’agit d’une stratégie de trading dynamique de tendance conçue de manière rationnelle pour capturer efficacement les occasions de retournement du marché grâce à des indicateurs de tendance en vague. Le principal avantage de la stratégie réside dans son mécanisme de génération de signaux robuste et sa bonne réglabilité. La stabilité et la rentabilité de la stratégie peuvent être encore améliorées par l’orientation optimisée proposée.
/*backtest
start: 2024-02-19 00:00:00
end: 2025-02-16 08:00:00
period: 2h
basePeriod: 2h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=6
strategy(title="WaveTrend [LazyBear] Strategy", shorttitle="WT_LB_Strategy", overlay=true)
// Pôvodné vstupné parametre
n1 = input.int(10, title="Channel Length")
n2 = input.int(21, title="Average Length")
obLevel1 = input.int(60, title="Over Bought Level 1")
obLevel2 = input.int(53, title="Over Bought Level 2")
osLevel1 = input.int(-60, title="Over Sold Level 1")
osLevel2 = input.int(-53, title="Over Sold Level 2")
// Výpočet WaveTrendu
ap = 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)
// Vyhladené krivky
wt1 = tci
wt2 = ta.sma(wt1, 4)
// Plotovanie nulovej línie a OB/OS úrevní
plot(0, color=color.gray, linewidth=1)
plot(obLevel1, color=color.red)
plot(osLevel1, color=color.green)
plot(obLevel2, color=color.red)
plot(osLevel2, color=color.green)
// Plot WaveTrendu
plot(wt1, color=color.green, title="WT1")
plot(wt2, color=color.red, title="WT2")
plot(wt1 - wt2, color=color.blue, style=plot.style_area, title="WT Fill")
//------------------------------------------------------
// STRATEGY LOGIC (ukážková)
//------------------------------------------------------
if ta.crossover(wt1, wt2) and wt1 <= osLevel1
strategy.close("Short")
strategy.entry("Long", strategy.long)
if ta.crossunder(wt1, wt2) and wt1 >= obLevel1
strategy.close("Long")
strategy.entry("Short", strategy.short)