Стратегия WaveTrend Cross LazyBear - это торговая стратегия, основанная на индикаторе WaveTrend. Стратегия использует две линии индикатора WaveTrend с разными периодами. Когда линия индикатора WaveTrend более быстрого периода пересекает линию индикатора WaveTrend более медленного периода, она генерирует сигнал покупки. Когда линия индикатора WaveTrend более быстрого периода пересекает линию индикатора WaveTrend более медленного периода, она генерирует сигнал продажи. Стратегия также устанавливает зоны перекупки и перепродажи, чтобы помочь в оценке рыночных условий.
Основой этой стратегии является индикатор WaveTrend, который рассчитывается следующими шагами:
Стратегия использует две линии индикатора WaveTrend с разными периодами (по умолчанию 10 и 21), обозначаемые как WT1 и WT2 соответственно. Когда WT1 пересекает WT2, он генерирует сигнал покупки; когда WT1 пересекает ниже WT2, он генерирует сигнал продажи. Кроме того, стратегия также устанавливает 4 вспомогательных уровня: уровень перекупленности 1, уровень перекупленности 2, уровень перепроданности 1 и уровень перепроданности 2, чтобы помочь в оценке рыночных условий.
Стратегия WaveTrend Cross LazyBear - это стратегия отслеживания трендов, основанная на индикаторе 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")