La stratégie WaveTrend Cross LazyBear est une stratégie de trading basée sur l'indicateur WaveTrend. La stratégie utilise deux lignes de l'indicateur WaveTrend avec des périodes différentes. Lorsque la ligne de l'indicateur WaveTrend de période plus rapide traverse au-dessus de la ligne de l'indicateur WaveTrend de période plus lente, elle génère un signal d'achat. Lorsque la ligne de l'indicateur WaveTrend de période plus rapide traverse au-dessous de la ligne de l'indicateur WaveTrend de période plus lente, elle génère un signal de vente. La stratégie définit également des zones de surachat et de survente pour aider à juger les conditions du marché.
Le noyau de cette stratégie est l'indicateur WaveTrend, qui est calculé selon les étapes suivantes:
La stratégie utilise deux lignes d'indicateur WaveTrend avec des périodes différentes (défaut est 10 et 21), désignées respectivement par WT1 et WT2. Lorsque WT1 traverse au-dessus de WT2, il génère un signal d'achat; lorsque WT1 traverse au-dessous de WT2, il génère un signal de vente. En outre, la stratégie définit également 4 niveaux auxiliaires: niveau suracheté 1, niveau suracheté 2, niveau survendu 1 et niveau survendu 2, pour aider à juger des conditions du marché.
La stratégie WaveTrend Cross LazyBear est une stratégie de suivi des tendances basée sur l'indicateur WaveTrend.
/*backtest start: 2024-03-01 00:00:00 end: 2024-03-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © burakaydingr //@version=5 strategy("WaveTrend with Crosses [LazyBear]", shorttitle="WT_CROSS_LB", overlay=true) // Kullanıcı girişleri n1 = input(10, title="Channel Length") n2 = input(21, title="Average Length") obLevel1 = input(60, title="Over Bought Level 1") obLevel2 = input(53, title="Over Bought Level 2") osLevel1 = input(-60, title="Over Sold Level 1") osLevel2 = input(-53, title="Over Sold Level 2") // Temel hesaplamalar 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) // WaveTrend göstergeleri wt1 = tci wt2 = ta.sma(wt1, 4) // Al ve Sat Sinyalleri buySignal = ta.crossover(wt1, wt2) sellSignal = ta.crossunder(wt1, wt2) // Alım ve Satım pozisyonları if (buySignal) if (strategy.position_size <= 0) // Eğer şu anda açık bir satış pozisyonu varsa, onu kapat strategy.close("Sell") strategy.entry("Buy", strategy.long, comment="Buy Signal: Price crossed above WT2") if (sellSignal) if (strategy.position_size >= 0) // Eğer şu anda açık bir alım pozisyonu varsa, onu kapat strategy.close("Buy") strategy.entry("Sell", strategy.short, comment="Sell Signal: Price crossed below WT2") // Renkler ve diğer görseller plot(0, color=color.new(color.gray, 0), title="Zero Level") plot(obLevel1, color=color.new(color.red, 0), title="Overbought Level 1") plot(osLevel1, color=color.new(color.green, 0), title="Oversold Level 1") plot(obLevel2, color=color.new(color.purple, 0), title="Overbought Level 2") plot(osLevel2, color=color.new(color.orange, 0), title="Oversold Level 2") plot(wt1, color=color.new(color.red, 0), title="WT1") plot(wt2, color=color.new(color.blue, 0), title="WT2") plot(wt1-wt2, color=color.new(color.purple, 80), style=plot.style_area, title="WT1-WT2 Area") // İşaretler plotshape(buySignal, location=location.absolute, color=color.new(color.yellow, 0), style=shape.circle, size=size.small, title="Buy Signal") plotshape(sellSignal, location=location.absolute, color=color.new(color.red, 0), style=shape.circle, size=size.small, title="Sell Signal")