
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 hình dạng giá thị trường, chủ yếu để nắm bắt cơ hội đảo ngược tiềm năng của thị trường bằng cách nhận ra hình thức đảo ngược 123 điểm. Chiến lược này kết hợp quản lý thời gian giữ vị trí động và lọc trung bình di chuyển để nâng cao độ chính xác của giao dịch thông qua xác minh đa điều kiện. Chiến lược này sử dụng mô hình toán học chính xác để xác định điểm vào và sử dụng đường trung bình 200 ngày làm điều kiện rút ra hỗ trợ, tạo thành một hệ thống giao dịch hoàn chỉnh.
Lập luận cốt lõi của chiến lược dựa trên nhận dạng hình thức giá, bao gồm các yếu tố then chốt 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 phản hồi thị trường đáng tin cậy thông qua nhận dạng hình thức nghiêm ngặt và hệ thống kiểm soát rủi ro tốt. Mặc dù có một số hạn chế, nhưng bằng cách tối ưu hóa liên tục và điều chỉnh tham số thích hợp, chiến lược này có thể duy trì hiệu suất ổn định trong các môi trường thị trường khác nhau.
/*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")