Hệ thống giao dịch Double Momentum Squeeze (Chiến lược kết hợp chỉ báo SMI+UBS)

SMI UBS SMA SL
Ngày tạo: 2024-11-28 15:52:02 sửa đổi lần cuối: 2024-11-28 15:52:02
sao chép: 0 Số nhấp chuột: 457
1
tập trung vào
1617
Người theo dõi

Hệ thống giao dịch Double Momentum Squeeze (Chiến lược kết hợp chỉ báo SMI+UBS)

Tổng quan

Chiến lược này là một hệ thống giao dịch ngắn hạn kết hợp các chỉ số Squeeze Momentum Indicator (SMI) và Ultimate Buy/Sell (UBS). Chiến lược này chủ yếu để nắm bắt cơ hội tháo lỗ của thị trường bằng cách theo dõi xu hướng thay đổi động lực giá và tín hiệu chéo của đường trung bình di chuyển. Hệ thống được thiết kế dựa trên cơ chế kiểm soát lỗ hổng dựa trên tỷ lệ phần trăm, theo đuổi lợi nhuận ổn định trong khi bảo vệ an toàn vốn.

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

Lý luận cốt lõi của chiến lược này dựa trên sự kết hợp của hai chỉ số chính:

  1. Chỉ số đè nén động lực ((SMI): Tạo ra tín hiệu động lực bằng cách tính toán mối quan hệ giữa giá đóng cửa và giá thấp nhất cao nhất, kết hợp với xử lý trơn trung bình di chuyển. Khi SMI chuyển từ tăng lên xuống, cho thấy khả năng tăng lên yếu đi, có thể có cơ hội làm giảm.
  2. Chỉ số mua bán cuối cùng ((UBS): Đánh giá thời gian nhập vào dựa trên mối quan hệ chéo giữa giá và đường trung bình di chuyển của nó. Chứng nhận tín hiệu giảm giá khi giá vượt qua đường trung bình di chuyển bên dưới.
  3. Hệ thống tự động vào thị trường sau khi xác nhận tín hiệu giảm giá, đồng thời đặt mục tiêu thu lợi nhuận 0,4% và vị trí dừng lỗ 2,5%, kiểm soát rủi ro hiệu quả.

Lợi thế chiến lược

  1. Xác nhận tín hiệu kép: Xác nhận tín hiệu giao dịch thông qua cộng hưởng của hai chỉ số độc lập, tăng độ tin cậy của tín hiệu.
  2. Quản lý rủi ro tốt: thiết lập các điều kiện dừng lỗ rõ ràng, có thể kiểm soát hiệu quả rủi ro của mỗi giao dịch.
  3. Các tham số có thể được điều chỉnh: Các tham số quan trọng như độ dài SMI, chu kỳ mịn, chu kỳ UBS, v.v. có thể được tối ưu hóa theo các điều kiện thị trường khác nhau.
  4. Mức độ tự động hóa cao: Chiến lược logic rõ ràng, dễ dàng thực hiện giao dịch tự động.

Rủi ro chiến lược

  1. Rủi ro phá vỡ giả: Có thể xảy ra các tín hiệu giả thường xuyên trong thị trường bất ổn.
  2. Phụ thuộc vào xu hướng: Chiến lược này hoạt động tốt hơn trong thị trường có xu hướng rõ ràng, nhưng có thể bị dừng thường xuyên trong thị trường ngang.
  3. Tính nhạy cảm của tham số: Các thiết lập tham số khác nhau có thể gây ra sự khác biệt lớn trong hiệu suất của chiến lược.
  4. Tác động điểm trượt: Khi thị trường biến động lớn, giá giao dịch thực tế có thể có sai lệch lớn so với giá tín hiệu.

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

  1. Thêm bộ lọc môi trường thị trường: Bạn có thể thêm các chỉ báo biến động hoặc chỉ báo sức mạnh xu hướng để điều chỉnh các thông số chiến lược trong các môi trường thị trường khác nhau.
  2. Tối ưu hóa cơ chế dừng lỗ: Bạn có thể xem xét sử dụng dừng động, chẳng hạn như dừng theo dõi hoặc dừng dựa trên ATR.
  3. Thêm bộ lọc thời gian giao dịch: tránh các thời điểm biến động cao và các thông báo quan trọng.
  4. Giới thiệu quản lý vị thế: điều chỉnh linh hoạt quy mô vị thế dựa trên cường độ tín hiệu và sự biến động của thị trường.

Tóm tắt

Chiến lược này được xây dựng bằng cách kết hợp hai chỉ số kỹ thuật của động lực bóp méo và mua bán cuối cùng, tạo ra một hệ thống giao dịch ngoại hối tương đối hoàn chỉnh. Ưu điểm của chiến lược là tín hiệu đáng tin cậy cao, kiểm soát rủi ro rõ ràng, nhưng đồng thời có tính chất phụ thuộc mạnh vào môi trường thị trường.

Mã nguồn chiến lược
/*backtest
start: 2024-10-28 00:00:00
end: 2024-11-27 00:00:00
period: 2h
basePeriod: 2h
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/
// © algostudio
// Code Generated using PineGPT - www.marketcalls.in

//@version=5
strategy("Squeeze Momentum and Ultimate Buy/Sell with Stop Loss", overlay=true, process_orders_on_close = false)

// Input settings
smiLength = input.int(20, title="SMI Length")
smiSmoothing = input.int(5, title="SMI Smoothing")
ultBuyLength = input.int(14, title="Ultimate Buy/Sell Length")
stopLossPerc = input.float(2.5, title="Stop Loss Percentage", step=0.1) / 100

// Define Squeeze Momentum logic
smi = ta.sma(close - ta.lowest(low, smiLength), smiSmoothing) - ta.sma(ta.highest(high, smiLength) - close, smiSmoothing)
squeezeMomentum = ta.sma(smi, smiSmoothing)
smiUp = squeezeMomentum > squeezeMomentum[1]
smiDown = squeezeMomentum < squeezeMomentum[1]

// Define Ultimate Buy/Sell Indicator logic (you can customize the conditions)
ultimateBuy = ta.crossover(close, ta.sma(close, ultBuyLength))
ultimateSell = ta.crossunder(close, ta.sma(close, ultBuyLength))


// Trading logic: Short entry (Squeeze Momentum from green to red and Ultimate Sell signal)
shortCondition = smiDown and ultimateSell
if (shortCondition)
    strategy.entry("Short", strategy.short)

//Set short target (exit when price decreases by 0.2%)
shortTarget = strategy.position_avg_price * 0.996

// Set stop loss for short (5% above the entry price)
shortStop = strategy.position_avg_price * (1 + stopLossPerc)

// Exit logic for short
if (strategy.position_size < 0)
    strategy.exit("Exit Short", "Short", limit=shortTarget, stop=shortStop)

// Plot the Squeeze Momentum for reference
plot(squeezeMomentum, color=color.blue, linewidth=2, title="Squeeze Momentum")

// Optional: Plot signals on the chart
plotshape(series=ultimateBuy, location=location.belowbar, color=color.green, style=shape.labelup, title="Ultimate Buy Signal")
plotshape(series=ultimateSell, location=location.abovebar, color=color.red, style=shape.labeldown, title="Ultimate Sell Signal")

// For more tutorials on Tradingview Pinescript visit https://www.marketcalls.in/category/tradingview