Chiến lược này thực hiện một lệnh dừng và mua theo dõi đơn giản dựa trên tỷ lệ phần trăm. Bằng cách thử nghiệm các kết hợp tỷ lệ phần trăm khác nhau trên các khung thời gian và biểu đồ, các thông số chiến lược có thể được tối ưu hóa.
Chiến lược chủ yếu sử dụng hai số liệu để đạt được dừng lỗ và mua mua:
Trailing Stop Line (TSL): Được tính dựa trên N thanh gần đây của giá đóng cửa và tỷ lệ trục trặc dừng lỗ được thiết lập bởi người dùng.
Đường mua sau (TBL): Được tính dựa trên các thanh N gần đây của giá cao nhất và tỷ lệ mua bù được thiết lập bởi người dùng.
Bằng cách so sánh giá với hai chỉ số này, các quy tắc dừng lỗ và mua sau được thực hiện.
Những lợi thế của chiến lược này là:
Đơn giản và trực quan, dễ hiểu và thực hiện.
Stop loss linh hoạt và mua theo dõi thông qua điều chỉnh tham số.
Áp dụng trên các thị trường và khung thời gian.
Cho phép theo xu hướng và dừng lỗ kịp thời.
Những rủi ro của chiến lược này bao gồm:
Cài đặt tham số không chính xác có thể gây ra mức dừng lỗ hoặc mua quá mạnh.
Giao dịch thường xuyên và trượt trong các thị trường khác nhau.
Cần tối ưu hóa các tham số cho các đặc điểm thị trường khác nhau.
Chiến lược có thể được tăng cường thông qua:
Các thuật toán thích nghi để tự động tối ưu hóa các thông số dừng và mua.
Thêm các mô-đun định kích thước và quản lý rủi ro.
Việc kết hợp các chỉ số khác để đánh giá xu hướng tổng thể để tránh các sự cố.
Tóm lại, đây là một chiến lược theo xu hướng rất đơn giản và trực quan. Với điều chỉnh tham số, nó có thể được điều chỉnh trên các thị trường. Việc kết hợp thêm các thuật toán thích nghi và các bộ lọc bổ sung có thể cải thiện độ bền.
/*backtest start: 2023-01-12 00:00:00 end: 2024-01-18 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 //Developed from ©Finnbo code strategy("Simple Trailing Buy & Stop Strategy", overlay=true) offset = input(defval=1.5, title="Stop Offset %", type=float, minval=0.1, maxval=100, step=0.1) buyoffset = input(defval=1.9, title="Trailing Buy Offset %", type=float, minval=0.1, maxval=100, step=0.1) sumbars = input(defval=6, title="Use last x bars for calculation", minval=1) srcts = input(title="Source Trailing Stop calculation", defval=close) srctb = input(title="Source Trailing Buy calculation", defval=close) srctrigger = input(title="Source Stop Trigger", defval=low) srctriggerbuy = input(title="Source Buy Trigger", defval=high) tsl = rma(srcts, sumbars)*(1-(offset/100))// = (sum(srcts,sumbars)/sumbars)*(1-(offset/100)) tbuy = rma(srctb, sumbars)*(1+(buyoffset/100)) plot(tsl, color=(srctrigger<tsl)?red:green) plot(tbuy, color=(srctriggerbuy>tbuy)?red:green) //plotshape(crossunder(srctrigger,tsl), text="Long Stop", style=shape.circle, color=red) alertcondition(crossunder(srctrigger,tsl), "Long Stop alert", "SELL") //plotshape(crossover(srctriggerbuy,tbuy), text="Long", style=shape.circle, color=green) alertcondition(crossover(srctriggerbuy,tbuy), "Long alert", "BUY") longCondition = crossover(srctriggerbuy,tbuy) if (longCondition) strategy.entry("Long", strategy.long) closeCondition = crossunder(srctrigger,tsl) if (closeCondition) strategy.close("Long")