Chiến lược này được đặt tên là
Trọng tâm của chiến lược là xác định
Giá trị hợp lý được định nghĩa là giá hợp lý của một công cụ dựa trên các chỉ số như đường trung bình động.
Liquidity 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 trong các khu vực có tính thanh khoản cao.
Chiến lược xác định giá trị hợp lý bằng cách tính toán một đường trung bình di chuyển đơn giản. Sau đó xác định các khối lệnh tiềm năng có chiều dài 20 giai đoạn. Nếu sự khác biệt giữa giá đóng và giá trị hợp lý dưới 38,2% tổng chiều cao của phạm vi khối lệnh, một khối lệnh được xác định.
Các khối lệnh tăng được coi là tín hiệu mua. Các khối lệnh giảm được coi là tín hiệu bán.
Lợi thế chính của chiến lược là sử dụng các mô hình giao dịch của các nhà giao dịch tổ chức có thể cho phép nó vượt trội hơn các chiến lược dựa trên chỉ số cơ chế hơn.
Những lợi thế khác bao gồm:
Chiến lược cũng phải đối mặt với một số rủi ro tiềm ẩn như:
Để giảm thiểu những rủi ro này, nên xem xét:
Dưới đây là một số tối ưu hóa tiềm năng cho chiến lược:
Tóm lại, chiến lược cung cấp một cách tiếp cận độc đáo để tận dụng lợi thế của hành vi của 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ất định. Nhưng giống như hầu hết các chiến lược giao dịch, nó cũng phải đối mặt với rủi ro khi điều kiện thị trường thay đổi hoặc hành vi giá bất ngờ xảy ra. Với kiểm tra liên tục, tối ưu hóa và quản lý rủi ro, chiến lược có thể trở thành một công cụ giao dịch định lượng có giá trị.
/*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)