Chiến lược WaveTrend Cross LazyBear là một chiến lược giao dịch dựa trên chỉ số WaveTrend. Chiến lược sử dụng hai đường chỉ số WaveTrend với các giai đoạn khác nhau. Khi đường chỉ số WaveTrend giai đoạn nhanh hơn vượt qua trên đường chỉ số WaveTrend giai đoạn chậm hơn, nó tạo ra tín hiệu mua. Khi đường chỉ số WaveTrend giai đoạn nhanh hơn vượt qua dưới đường chỉ số WaveTrend giai đoạn chậm hơn, nó tạo ra tín hiệu bán. Chiến lược cũng thiết lập các vùng mua quá và bán quá để giúp đánh giá điều kiện thị trường.
Cốt lõi của chiến lược này là chỉ số WaveTrend, được tính bằng các bước sau:
Chiến lược này sử dụng hai đường chỉ số WaveTrend với các khoảng thời gian khác nhau (bất định là 10 và 21), được biểu thị là WT1 và WT2 tương ứng. Khi WT1 vượt trên WT2, nó tạo ra tín hiệu mua; khi WT1 vượt dưới WT2, nó tạo ra tín hiệu bán. Ngoài ra, chiến lược cũng thiết lập 4 mức phụ: mức mua quá mức 1, mức mua quá mức 2, mức bán quá mức 1 và mức bán quá mức 2, để giúp đánh giá điều kiện thị trường.
Chiến lược WaveTrend Cross LazyBear là một chiến lược theo dõi xu hướng dựa trên chỉ số WaveTrend. Thông qua việc thiết kế các chỉ số hai giai đoạn và phán đoán phụ về mức mua quá mức và bán quá mức, nó nắm bắt xu hướng trong khi cũng tính đến một số kiểm soát rủi ro. Tuy nhiên, chiến lược có thể tạo ra nhiều tín hiệu sai hơn trong các thị trường dao động và thiếu các biện pháp quản lý rủi ro nghiêm ngặt.
/*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")