Chiến lược này là một hệ thống giao dịch định lượng dựa trên nhận dạng mô hình giá thị trường, chủ yếu được thiết kế để nắm bắt các cơ hội đảo ngược thị trường tiềm năng bằng cách xác định các mô hình đảo ngược 123 điểm. Chiến lược kết hợp quản lý thời gian giữ năng động với lọc trung bình động, sử dụng xác minh nhiều điều kiện để tăng độ chính xác giao dịch. Nó sử dụng các mô hình toán học chính xác để xác định điểm nhập và sử dụng trung bình động 200 ngày như một điều kiện thoát phụ trợ, tạo thành một hệ thống giao dịch hoàn chỉnh.
Lý thuyết cốt lõi dựa trên nhận dạng mô hình giá, bao gồm các yếu tố chính sau:
Chiến lược này cung cấp cho các nhà giao dịch một công cụ nắm bắt đảo ngược thị trường đáng tin cậy thông qua nhận dạng mẫu nghiêm ngặt và hệ thống kiểm soát rủi ro toàn diện. Mặc dù có một số hạn chế nhất định, tối ưu hóa liên tục và điều chỉnh tham số thích hợp cho phép chiến lược duy trì hiệu suất ổn định trong các môi trường thị trường khác nhau. Các nhà giao dịch được khuyên nên kết hợp kinh nghiệm thị trường với các điều chỉnh cụ thể về chiến lược trong các ứng dụng thực tế để đạt được kết quả giao dịch tốt hơn.
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-11 00:00:00 period: 1d basePeriod: 1d 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/ // © EdgeTools //@version=5 strategy("123 Reversal Trading Strategy", overlay=true) // Input for number of days to hold the trade daysToHold = input(7, title="Days to Hold Trade") // Input for 20-day moving average maLength = input(200, title="Moving Average Length") // Calculate the 20-day moving average ma20 = ta.sma(close, maLength) // Define the conditions for the 123 reversal pattern (bullish reversal) // Condition 1: Today's low is lower than yesterday's low condition1 = low < low[1] // Condition 2: Yesterday's low is lower than the low three days ago condition2 = low[1] < low[3] // Condition 3: The low two days ago is lower than the low four days ago condition3 = low[2] < low[4] // Condition 4: The high two days ago is lower than the high three days ago condition4 = high[2] < high[3] // Entry condition: All conditions must be true entryCondition = condition1 and condition2 and condition3 and condition4 // Exit condition: Close the position after a certain number of bars or when the price reaches the 20-day moving average exitCondition = ta.barssince(entryCondition) >= daysToHold or close >= ma20 // Execute buy and sell signals if (entryCondition) strategy.entry("Buy", strategy.long) if (exitCondition) strategy.close("Buy")