Chiến lược giao dịch định lượng dựa trên khối lượng dựa trên chiều sâu thị trường SMA Crossover Ichimoku

Tác giả:ChaoZhang, Ngày: 2024-01-24 14:21:42
Tags:

img

Tổng quan

Chiến lược này được đặt tên là SMA Crossover Ichimoku Market Depth Volume Based Quantitative Trading Strategy. Nó chủ yếu sử dụng các tín hiệu chéo vàng và chéo chết của các đường SMA, kết hợp với các chỉ số biểu đồ mây sâu thị trường Ichimoku và các chỉ số khối lượng giao dịch, để thực hiện giao dịch tự động của bitcoin theo cả hai hướng.

Nguyên tắc

Chiến lược này chủ yếu dựa trên các nguyên tắc sau:

  1. Sử dụng đường SMA với các thông số khác nhau để xây dựng tín hiệu giao dịch chéo vàng và chéo chết. Một tín hiệu mua được tạo ra khi SMA ngắn hạn vượt qua SMA dài hạn, và một tín hiệu bán được tạo ra khi SMA ngắn hạn vượt qua dưới SMA dài hạn.

  2. Sử dụng chỉ số biểu đồ đám mây Ichimoku để xác định độ sâu và xu hướng thị trường. Một tín hiệu mua chỉ được tạo ra khi giá đóng cao hơn khoảng cách dẫn đầu A và khoảng cách dẫn đầu B của biểu đồ đám mây, và một tín hiệu bán chỉ được tạo ra khi giá đóng thấp hơn khoảng cách A và khoảng cách B, lọc ra hầu hết các tín hiệu sai.

  3. Sử dụng chỉ số khối lượng giao dịch để lọc các tín hiệu sai với khối lượng thấp.

  4. Sử dụng hàm đồ thị để đánh dấu các vị trí của tín hiệu mua và bán trên biểu đồ.

Bằng cách này, chiến lược tính đến xu hướng ngắn hạn và dài hạn, chỉ số độ sâu thị trường và chỉ số khối lượng giao dịch để tối ưu hóa các quyết định giao dịch.

Phân tích lợi thế

Những lợi thế của chiến lược này bao gồm:

  1. Sử dụng SMA vàng và chéo chết để tạo ra tín hiệu mua và bán cơ bản, tránh quá phức tạp.
  2. Sử dụng biểu đồ đám mây Ichimoku để xác định chiều sâu thị trường và xu hướng trung bình dài hạn, có thể lọc hiệu quả tiếng ồn.
  3. Kết hợp các chỉ số khối lượng giao dịch để tránh các vụ phá vỡ sai với khối lượng thấp.
  4. Không gian điều chỉnh tham số lớn để tối ưu hóa trên các thị trường khác nhau.
  5. Logic rõ ràng và dễ hiểu và sửa đổi.
  6. Hiển thị trực quan các tín hiệu mua và bán để dễ dàng kiểm tra và tối ưu hóa chiến lược.

Phân tích rủi ro

Các rủi ro của chiến lược này cũng bao gồm:

  1. Các đường SMA có thể dễ dàng tạo ra các tín hiệu gây hiểu lầm và yêu cầu các bộ lọc.
  2. Hiệu ứng của biểu đồ đám mây Ichimoku đánh giá cấu trúc thị trường phụ thuộc vào cài đặt tham số.
  3. Hiệu ứng phóng to khối lượng giao dịch có thể ảnh hưởng đến đánh giá chỉ số khối lượng.
  4. Các thị trường xu hướng và dao động cần các thiết lập tham số khác nhau.
  5. Có một chút thời gian trễ.

Những rủi ro này có thể được giảm bằng cách tối ưu hóa các thông số như SMA, Ichimoku, khối lượng và chọn các sản phẩm giao dịch phù hợp.

Hướng dẫn tối ưu hóa

Chiến lược có thể được tối ưu hóa theo nhiều cách:

  1. Kiểm tra nhiều chỉ số MA như EMA, VIDYA, vv.
  2. Hãy thử các thiết lập tham số khác nhau của Ichimoku.
  3. Sử dụng các chỉ số động lực để đánh giá bổ sung.
  4. Thêm các cơ chế dừng lỗ.
  5. Tối ưu hóa các tham số cho các thị trường và sản phẩm khác nhau.
  6. Sử dụng máy học để tối ưu hóa các tham số một cách năng động.

Kết luận

Chiến lược này tích hợp SMA crossover, chỉ số độ sâu thị trường và chỉ số khối lượng để tạo thành một chiến lược giao dịch định lượng tương đối ổn định và đáng tin cậy. Nó có thể được tối ưu hóa hơn nữa thông qua điều chỉnh tham số, thêm các chỉ số kỹ thuật mới, v.v. Các kết quả backtest và trực tiếp rất hứa hẹn. Tóm lại, chiến lược này cung cấp một trường hợp học tập tốt cho người mới bắt đầu.


/*backtest
start: 2024-01-16 00:00:00
end: 2024-01-23 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("SMA Crossover with Ichimoku & Volume", shorttitle="SCIV", overlay=true)

// Define the length of SMA
shortSmaLength = input(14, title="Short SMA Length")
longSmaLength = input(21, title="Long SMA Length")
volumeLength = input(20, title="Volume Moving Average Length")

// Calculate the SMA and Volume MA
shortSma = sma(close, shortSmaLength)
longSma = sma(close, longSmaLength)
volumeMa = sma(volume, volumeLength)

// Define the lengths of the Ichimoku Cloud components
tenkanLength = input(9, title="Tenkan Length")
kijunLength = input(26, title="Kijun Length")
senkouBLength = input(52, title="Senkou B Length")
displacement = input(26, title="Displacement")

// Calculate the Ichimoku Cloud components
tenkan = (highest(high, tenkanLength) + lowest(low, tenkanLength)) / 2
kijun = (highest(high, kijunLength) + lowest(low, kijunLength)) / 2
senkouA = (tenkan + kijun) / 2
senkouB = (highest(high, senkouBLength) + lowest(low, senkouBLength)) / 2

// Define the conditions for entry and exit with Ichimoku filter and Volume filter
buyEntry = crossover(shortSma, longSma) and close > senkouA[displacement] and close > senkouB[displacement] and volume > volumeMa
sellEntry = crossunder(shortSma, longSma) and close < senkouA[displacement] and close < senkouB[displacement] and volume > volumeMa

// Plot buy/sell conditions on the chart for visual inspection
plotshape(buyEntry, style=shape.labelup, location=location.belowbar, color=color.green, text="Buy", size=size.small)
plotshape(sellEntry, style=shape.labeldown, location=location.abovebar, color=color.red, text="Sell", size=size.small)

// Execute the strategy
if (buyEntry)
    strategy.entry("Buy", strategy.long)
if (sellEntry)
    strategy.entry("Sell", strategy.short)

Thêm nữa