Chiến lược giao dịch của tổ chức dựa trên hành động giá


Ngày tạo: 2024-02-23 15:04:39 sửa đổi lần cuối: 2024-02-23 15:04:39
sao chép: 0 Số nhấp chuột: 790
1
tập trung vào
1617
Người theo dõi

Chiến lược giao dịch của tổ chức dựa trên hành động giá

Tổng quan

Chiến lược này được gọi là chiến lược giao dịch cơ quan dựa trên hành vi giá. Nó cố gắng tận dụng một số mô hình giao dịch của các nhà giao dịch cơ quan, đặc biệt là xu hướng đặt hàng của họ ở gần một khối lệnh cụ thể. Chiến lược này kết hợp các yếu tố giá trị công bằng, tính thanh khoản và hành vi giá để xác định thời gian vào và ra thị trường.

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

Cốt lõi của chiến lược này là xác định các khối lệnh thắt lưng thắt lưng - các khu vực giá có hoạt động giao dịch cơ quan lớn trong quá khứ. Các khu vực này có liên quan đến tính lưu động đáng kể. Các khối lệnh được xác định bằng cấu trúc giá, thường liên quan đến mức giá kỹ thuật quan trọng.

Giá trị công bằng được định nghĩa là giá cả hợp lý của một công cụ dựa trên các chỉ số như đường trung bình di chuyển. Khi giá hiện tại xa giá trị công bằng, điều này được coi là tín hiệu của sự mất cân bằng thị trường.

Tính thanh khoản cũng là một yếu tố quan trọng, vì các nhà giao dịch tổ chức có xu hướng thực hiện giao dịch tại các khu vực có tính thanh khoản cao.

Chiến lược này xác định giá trị công bằng bằng cách tính toán các trung bình di chuyển đơn giản. Sau đó, nó xác định các khối đặt hàng tiềm năng với độ dài 20 chu kỳ. Nếu chênh lệch giữa giá đóng và giá trị công bằng thấp hơn 38,2% tổng chiều cao của khối đặt hàng, thì khối đặt hàng sẽ được xác định.

Các khối đặt hàng nhiều đầu được coi là tín hiệu mua. Các khối đặt hàng không đầu được coi là tín hiệu bán.

Phân tích lợi thế

Ưu điểm chính của chiến lược này là sử dụng mô hình giao dịch của các nhà giao dịch tổ chức, điều này có thể giúp nó vượt qua các chiến lược dựa trên các chỉ số cơ giới hóa hơn. Bằng cách chú ý đến dòng lệnh và vùng giá trị, nó kết hợp một số loại phân tích khác nhau.

Những ưu điểm khác bao gồm:

  • Tận dụng tính thanh khoản để thực hiện tốt hơn
  • Dựa vào các khái niệm dễ nhìn thấy và dễ hiểu như dòng lệnh
  • Dễ dàng hình dung khối đơn đặt hàng trên biểu đồ
  • Tính năng điều chỉnh linh hoạt như chiều dài khối

Phân tích rủi ro

Chiến lược này cũng có những rủi ro tiềm ẩn, chẳng hạn như:

  • Dựa vào phán đoán về hành vi giá cả trong quá khứ
  • Có thể không hoạt động bình thường trong một thị trường không có dòng đơn đặt hàng
  • Có thể tạo ra tín hiệu sai
  • Có thể bỏ lỡ xu hướng ngắn hạn

Để giảm thiểu những rủi ro này, bạn nên xem xét:

  • Kết hợp các chỉ số khác để lọc tín hiệu giả
  • Điều chỉnh các tham số như chiều dài khối
  • Bộ lọc tín hiệu giao dịch

Hướng tối ưu hóa

Sau đây là một số tối ưu hóa tiềm năng cho chiến lược này:

  1. Kiểm tra và tối ưu hóa các giá trị tham số quan trọng như chiều dài khối và tỷ lệ lệ lệch giá trị.
  2. Thêm các chỉ số và bộ lọc khác để cải thiện chất lượng
  3. Thiết lập các cơ chế ngăn chặn và thu lợi nhuận
  4. Kết hợp nhiều nguồn dữ liệu như hoạt động sổ đơn đặt hàng
  5. Kiểm tra sức khỏe trong các khoảng thời gian khác nhau (trong ngày, nhiều ngày, v.v.) và các thị trường khác nhau
  6. Thêm dự đoán học máy để lọc tín hiệu

Tóm tắt

Nói chung, chiến lược này cung cấp một cách độc đáo để tận dụng hành vi giao dịch của các nhà giao dịch tổ chức. Nó kết hợp nhiều yếu tố và có một số lợi thế. Nhưng giống như hầu hết các chiến lược giao dịch, nó cũng có rủi ro khi thị trường thay đổi và có hành vi giá bất ngờ.

Mã nguồn chiến lược
/*backtest
start: 2024-01-23 00:00:00
end: 2024-02-22 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("ICT Strategy", overlay=true)

// Input variables
length = input.int(20, minval=1, title="Order Block Length")
fairValuePeriod = input.int(60, minval=1, title="Fair Value Period")

// Calculate fair value
fairValue = ta.sma(close, fairValuePeriod)

// Determine order blocks
isOrderBlock(high, low) =>
    highestHigh = ta.highest(high, length)
    lowestLow = ta.lowest(low, length)
    absHighLowDiff = highestHigh - lowestLow
    absCloseFairValueDiff = (close - fairValue)
    (absCloseFairValueDiff <= 0.382 * absHighLowDiff)

isBuyBlock = isOrderBlock(high, low) and close > fairValue
isSellBlock = isOrderBlock(high, low) and close < fairValue

// Plot fair value and order blocks
plot(fairValue, color=color.blue, title="Fair Value")
plotshape(isBuyBlock, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)
plotshape(isSellBlock, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)

// Strategy logic
if (isBuyBlock)
    strategy.entry("Buy", strategy.long)
    
if (isSellBlock)
    strategy.entry("Sell", strategy.short)