Chiến lược dừng theo dõi đa thức

Tác giả:ChaoZhang, Ngày: 2024-02-23 14:43:36
Tags:

img

Tổng quan

Chiến lược Chấm Trượt Polynomial là một chiến lược với chấm trượt dưới dạng hàm đa thức. Nó đi vào ngã tư của một ngọn nến đóng trượt đơn giản. Vào thời điểm vào vị trí, nó được cố định bởi giá trị của Tiêu chí Ít nhất cho khoảng thời gian. Sau khi vào vị trí, một chấm trượt dạng Tiêu chí Ít nhất + D * N ^ a được kích hoạt, trong đó Tiêu chí Ít nhất là mức tối thiểu cho khoảng thời gian được xác định tại thời điểm nhập vị trí, D là giảm, N là số thanh trong vị trí và a là mức độ của đa thức. Khi chấm trượt vượt qua ngọn nến đóng từ dưới lên, giao dịch được đóng.

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

Cốt lõi của chiến lược dừng theo dõi đa thức là nó sử dụng một khuôn khổ chiến lược với một lệnh dừng theo dõi đa thức. Đầu tiên, nó gửi tín hiệu nhập vào tại ngã tư của các đường trung bình động đơn giản. Cụ thể, đi ngắn khi giá đóng vượt qua đường trung bình động đơn giản. Sau khi nhập, ghi lại giá trị tối thiểu của thời gian khi nhập như điểm chuẩn dừng lỗ tiếp theo. Sau đó, chiến lược kích hoạt một logic dừng theo dõi đa thức đặc biệt. Công thức tính toán của đường dừng theo dõi là: tối thiểu + D * Sức mạnh của số thời gian a. Nơi tối thiểu là giá thấp nhất của thời gian được ghi nhận khi nhập, D là sự suy giảm, số thời gian biểu đại diện cho số ngày hoặc K-line đang nắm giữ các vị trí, và một mức độ biểu thị số lần giữ hoặc đóng polynomial. Nói cách khác, khi thời gian trôi qua, đường dừng theo dõi đa thức này sẽ di chuyển từ đường dừng đến đường dừng và cuối cùng sẽ bắt kịp với đường dừng.

Lợi thế lớn nhất của chiến lược này là nó có thể điều chỉnh linh hoạt đường dừng lỗ theo điều kiện thị trường và dừng lỗ kịp thời để đảm bảo lợi nhuận sau khi kiếm được lợi nhuận. So với các lệnh dừng lỗ tuyến tính truyền thống, đường dừng lỗ đa thức của chiến lược này mịn màng hơn, có thể ngăn chặn hiệu quả các yếu tố kích hoạt dừng lỗ không cần thiết. Đồng thời, so với các lệnh dừng bằng, chiến lược này có thể tiếp tục nâng đường dừng lỗ theo thời gian để bảo vệ lợi nhuận. Bằng cách điều chỉnh các tham số D và a, hình dạng của đường dừng lỗ có thể được thay đổi để theo dõi thay đổi thị trường một cách năng động.

Phân tích lợi thế

Ưu điểm lớn nhất của Chiến lược ngăn chặn theo dõi đa thức là:

  1. Sử dụng các phương pháp dừng lỗ đa thức đặc biệt, các đường dừng lỗ có thể được điều chỉnh linh hoạt theo điều kiện thị trường để tránh các vấn đề dừng tuyến tính.

  2. So với các phương pháp dừng lỗ truyền thống, chiến lược điều chỉnh đường dừng lỗ theo cách không tuyến tính, có thể giảm đáng kể các yếu tố kích hoạt dừng lỗ không cần thiết.

  3. Đường dừng lỗ của chiến lược di chuyển lên một cách trơn tru, có thể đảm bảo lợi nhuận trong khi dừng lỗ kịp thời.

  4. Phương pháp dừng lỗ của chiến lược có thể được thay đổi tự do bằng cách điều chỉnh các tham số, điều này rất thích nghi với những thay đổi của thị trường.

  5. Khung chiến lược đơn giản và rõ ràng, dễ thực hiện và tối ưu hóa.

Phân tích rủi ro

Chiến lược Polynomial Trailing Stop cũng có một số rủi ro tiềm ẩn:

  1. Nếu đường stop loss theo dõi được điều chỉnh quá mạnh, stop loss có thể xảy ra sớm. Điều này có thể được giải quyết bằng cách tối ưu hóa tham số.

  2. Trong quá trình tăng lỏng lẻo của đường dừng, cơ hội lợi nhuận lớn hơn có thể bị bỏ lỡ.

  3. Các hàm đa thức có thể tạo ra một số sự thâm nhập giá bất ngờ. Điều này cần điều chỉnh các tham số và thêm các phương tiện dừng lỗ khác để tránh rủi ro.

  4. Là một chiến lược giao dịch chỉ số kỹ thuật, khả năng ứng phó với các tình huống khẩn cấp của chiến lược là yếu. Điều này có thể được tăng cường bằng sự can thiệp bằng tay hoặc kết hợp với các mô hình khác.

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

Chiến lược Polynomial Trailing Stop cũng có các hướng tối ưu hóa chính sau:

  1. Điều chỉnh logic nhập để tìm cơ hội nhập tốt hơn.

  2. Tối ưu hóa công thức tính toán của đường dừng sau để tìm ra sự kết hợp thông số tốt nhất.

  3. Hãy thử các hình dạng khác nhau của các đường dừng, chẳng hạn như biểu thức, logarithmic, v.v.

  4. Thêm các phương tiện dừng lỗ khác bên ngoài đường dừng để xây dựng một đường phòng thủ dừng lỗ.

  5. Hãy thử sự kết hợp với máy học, học sâu và các mô hình khác, và sử dụng dự đoán mô hình để hướng dẫn dừng lỗ.

  6. Khám phá tác động của việc áp dụng các chiến lược trên các thị trường và chu kỳ khác nhau.

  7. Xây dựng một cơ chế tối ưu hóa tự điều chỉnh cho đường dừng để tự động tối ưu hóa hình dạng của đường cong dừng.

Tóm lại

Nói chung, Chiến lược dừng theo dõi đa thức là một chiến lược dừng lỗ rất thực tế. Nó phá vỡ những hạn chế của các lệnh dừng theo dõi tuyến tính truyền thống và sử dụng chức năng đa thức phi tuyến tính mượt mà hơn như đường dừng, có thể làm giảm đáng kể lỗ dừng không cần thiết trong khi đảm bảo lợi nhuận. Cơ chế dừng của chiến lược có tính linh hoạt cao và có thể tự do thay đổi hình dạng của đường dừng bằng cách điều chỉnh các thông số có liên quan, điều này rất thích nghi với những thay đổi của thị trường. Đồng thời, khuôn khổ chiến lược ngắn gọn và dễ hiểu và thực hiện, có ý nghĩa thực tế rất cao. Tất nhiên, với tư cách là một chiến lược chỉ số kỹ thuật, khả năng xử lý các tình huống khẩn cấp của chiến lược là yếu, đó là một trong những rủi ro cần lưu ý. Nói chung, Chiến lược dừng theo dõi đa thức là một chiến lược hiệu quả, thực tế và dễ vận hành đáng để học và sử dụng để bảo vệ lợi nhuận định lượng.


/*backtest
start: 2023-02-16 00:00:00
end: 2024-02-22 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Alferow

//@version=4

strategy("polynomic_stop", overlay=true, initial_capital=1000, commission_value=0.1, default_qty_type=strategy.percent_of_equity, default_qty_value=100)



D = input(0.1, minval = 0.0001, title = 'decrement')
S = input(2, minval = 1.0, title = 'polynomial degree ')



MA = input(20, title = 'period SMA')
MN = input(20, title = 'period MIN_for')



SMA = sma(close, MA)
MIN = lowest(low, MN)




var stop = 0.0
var num = 0
if strategy.opentrades[1] == 0 and strategy.opentrades != 0
    stop := MIN


    
if  strategy.opentrades != 0
    num := num + 1 
    
if  strategy.opentrades == 0
    num := 0
    stop := MIN


    
hl = stop + D * pow(num, S)


plot(hl)
plot(SMA, color = color.red)



strategy.entry("buy", true, when = close[1] < SMA[1] and close > SMA)

strategy.close("buy", when = crossover(hl, close))





Thêm nữa