Tài nguyên đang được tải lên... tải...

WaveTrend Cross LazyBear Chiến lược

Tác giả:ChaoZhang, Ngày: 2024-04-28 13:56:27
Tags:EMASMAHLCC3Đơn vị quản lý

img

Tổng quan

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.

Nguyên tắc chiến lược

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:

  1. Tính toán giá điển hình (AP), bằng với mức trung bình của giá cao, thấp và đóng.
  2. Tính toán đường trung bình động theo hàm số (ESA) của AP với thời gian n1.
  3. Tính toán trung bình động hàm số d của giá trị tuyệt đối của sự khác biệt giữa AP và ESA với thời gian n1.
  4. Tính toán chỉ số CI, bằng (AP - ESA) / (0,015 * d).
  5. Tính toán TCI trung bình động hàm số của CI với thời gian n2 để có được chỉ số WaveTrend.

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.

Ưu điểm chiến lược

  1. Chỉ số WaveTrend kết hợp các đặc điểm về động lực và biến động, có thể nắm bắt tốt hơn xu hướng thị trường.
  2. Chỉ số WaveTrend hai giai đoạn có thể lọc hiệu quả một số tín hiệu tiếng ồn.
  3. Việc thiết lập mức mua quá mức và bán quá mức có thể ngăn chặn chiến lược giao dịch thường xuyên khi thị trường dao động rất nhiều đến một mức độ nhất định.
  4. Lý thuyết chiến lược là rõ ràng và dễ hiểu và thực hiện.

Rủi ro chiến lược

  1. Chiến lược có thể tạo ra nhiều tín hiệu sai trong một thị trường dao động.
  2. Sự lựa chọn các tham số có tác động lớn đến hiệu suất chiến lược, và các tham số khác nhau có thể dẫn đến sự khác biệt lớn trong hiệu suất chiến lược.
  3. Chiến lược này không xem xét kiểm soát rủi ro và có thể gặp phải sự rút vốn lớn trong điều kiện thị trường cực đoan.

Hướng dẫn tối ưu hóa chiến lược

  1. Xem xét thêm các điều kiện lọc xu hướng, chẳng hạn như hướng của đường trung bình động dài hạn, để giảm tín hiệu sai trong thị trường dao động.
  2. Tối ưu hóa việc thiết lập mức mua quá mức và bán quá mức để làm cho chúng thích nghi năng động hơn với các điều kiện thị trường khác nhau.
  3. Thêm cơ chế dừng lỗ và lấy lợi nhuận để kiểm soát rủi ro của một giao dịch duy nhất.
  4. Tìm kết hợp tham số tối ưu thông qua tối ưu hóa tham số.

Tóm lại

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")


Có liên quan

Thêm nữa