
Chiến lược này là một hệ thống giao dịch thông minh dựa trên tín hiệu giảm giá, kết hợp các chức năng dừng động và theo dõi dừng lỗ. Chiến lược này xác định cơ hội mua tiềm năng bằng cách theo dõi mức giảm giá, đồng thời sử dụng các chương trình dừng linh hoạt và theo dõi các cơ chế dừng lỗ để bảo vệ lợi nhuận. Ý tưởng cốt lõi của chiến lược là tham gia vào khi giá giảm đáng kể và tối đa hóa lợi nhuận thông qua quản lý vị trí thông minh.
Cơ chế hoạt động của chiến lược bao gồm ba phần cốt lõi: đầu tiên, nhận ra tín hiệu mua bằng cách đặt giá giảm phần trăm giảm giá ((% mặc định -0.98%), kích hoạt tín hiệu mua khi giá thấp nhất của một đường K thấp hơn giá mở (% giảm 1+). Tiếp theo, sử dụng phần trăm cố định ((% mặc định 1.23%) để đặt giá dừng là lợi nhuận mục tiêu. Cuối cùng, giới thiệu cơ chế theo dõi lỗ dừng ((% mặc định 0.6%), bảo vệ lợi nhuận đã đạt được khi giá quay trở lại.
Chiến lược này xây dựng một hệ thống giao dịch hoàn chỉnh bằng cách kết hợp các cơ chế như nhận dạng tín hiệu giảm giá, dừng động và theo dõi dừng lỗ. Ưu điểm của chiến lược là nhận dạng tín hiệu chính xác, quản lý rủi ro hoàn hảo, nhưng cũng cần chú ý đến các rủi ro như phá vỡ giả và nhạy cảm của tham số. Bằng cách thêm các chỉ số phụ trợ, tối ưu hóa cơ chế điều chỉnh tham số, bạn có thể nâng cao hơn nữa sự ổn định và khả năng lợi nhuận của chiến lược. Đây là một khung chiến lược có giá trị thực hành tốt, phù hợp để nghiên cứu và tối ưu hóa sâu sắc.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-26 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Price Drop Buy Signal Strategy", overlay=true)
// 输入参数
percentDrop = input.float(defval=-0.98, title="Price Drop Percentage", minval=-100, step=0.01) / 100
plotShapeStyle = input.string("shape_triangle_up", "Shape", options=["shape_xcross", "shape_cross", "shape_triangle_up", "shape_triangle_down", "shape_flag", "shape_circle", "shape_arrow_up", "shape_arrow_down", "shape_label_up", "shape_label_down", "shape_square", "shape_diamond"], tooltip="Choose the shape of the buy signal marker")
targetProfit = input.float(1.23, title="目标利润百分比", step=0.01) / 100
trailingStopPercent = input.float(0.6, title="Trailing Stop Percentage", step=0.01) / 100
// 计算每根K线的涨跌幅
priceDrop = open * (1.0 + percentDrop)
isBuySignal = low <= priceDrop
// 在当前K线下方标注买入信号(可选)
plotshape(series=isBuySignal, location=location.belowbar, color=color.green, style=plotShapeStyle, size=size.small, title="Buy Signal", text="Buy")
// 显示信息
if bar_index == na
label.new(x=bar_index, y=na, text=str.tostring(percentDrop * 100, format.mintick) + "% Drop", xloc=xloc.bar_index, yloc=yloc.price, style=label.style_label_down, color=color.new(color.green, 0))
else
label.delete(na)
// 策略逻辑
if (isBuySignal)
strategy.entry("买入", strategy.long)
// 目标卖出价
if (strategy.position_size > 0)
targetSellPrice = strategy.position_avg_price * (1 + targetProfit)
strategy.exit("卖出", from_entry="买入", limit=targetSellPrice, trail_offset=strategy.position_avg_price * trailingStopPercent)