Type/to search

Chiến lược lưới động thích ứng dựa trên vị thế long/short

Common strategy
Created: 2024-03-19 14:19:12
Last modified: 2 years ago
1
Follow
1802
Followers

img

Tổng quan

Đây là một chiến lược giao dịch lưới động thích ứng đa hướng được viết bằng Pine Script. Ý tưởng cốt lõi của chiến lược này là tự động tính toán biên trên và biên dưới của lưới dựa trên mức cao nhất và thấp nhất của giá gần đây hoặc đường trung bình động đơn giản, sau đó chia phạm vi đó thành nhiều đường lưới đều nhau. Khi giá chạm vào một đường lưới nào đó, sẽ mở vị thế mua hoặc đóng vị thế tại vị trí đó. Bằng cách này, chiến lược có thể liên tục mở và đóng vị thế trong thị trường dao động, thu lợi từ chênh lệch giá. Đồng thời, thông qua việc điều chỉnh biên lưới một cách động, chiến lược cũng có thể thích ứng với các xu hướng thị trường khác nhau.

Nguyên lý chiến lược

  1. Tính toán biên trên và biên dưới của lưới. Dựa theo lựa chọn của người dùng, biên trên và biên dưới có thể dựa trên mức cao nhất và thấp nhất của N nến gần đây, và có thể thiết lập tỷ lệ mở rộng hoặc thu hẹp; hoặc dựa trên đường trung bình động đơn giản của giá đóng cửa của N nến gần đây, và thiết lập tỷ lệ lệch trên và dưới.

  2. Tạo mảng đường lưới. Dựa trên số lượng đường lưới đã thiết lập, chia đều phạm vi lưới để tạo ra mảng các đường lưới giá tương ứng.

  3. Vào lệnh / thêm lệnh. Duyệt các đường lưới từ dưới lên trên, nếu giá đóng cửa hiện tại nhỏ hơn giá của một đường lưới nào đó và đường lưới đó chưa có vị thế, thì mở lệnh mua tại vị trí đó. Như vậy, khi giá chạm vào các đường lưới cao hơn, sẽ liên tục thêm lệnh.

  4. Thoát lệnh / giảm lệnh. Duyệt các đường lưới từ trên xuống dưới, nếu giá đóng cửa hiện tại lớn hơn giá của một đường lưới nào đó và đường lưới thấp hơn một bậc có vị thế, thì đóng lệnh mua của đường lưới thấp hơn đó. Như vậy, khi giá giảm trở lại, sẽ liên tục giảm lệnh.

  5. Điều chỉnh động. Nếu chọn chức năng lưới động, mỗi cây nến sẽ tính toán lại biên trên, biên dưới và mảng đường lưới, giúp lưới liên tục tự thích ứng với biến động thị trường.

Phân tích ưu điểm

  1. Tính thích ứng cao. Chiến lược lưới có thể thích ứng với cả thị trường dao động và xu hướng. Trong thị trường dao động, chiến lược lưới liên tục mở và đóng lệnh, kiếm lợi từ chênh lệch giá; trong thị trường có xu hướng, do lưới di chuyển theo giá, vẫn có thể duy trì một phần vị thế để thu lợi từ xu hướng.

  2. Rủi ro có thể kiểm soát. Quy mô mỗi lần mở lệnh được xác định bởi số lượng lưới đã thiết lập, rủi ro một lần nhỏ và có thể kiểm soát. Đồng thời, vì khi giá chạm đường lưới phía trên sẽ đóng lệnh có lời, cũng phần nào bù đắp các khoản lỗ tiềm ẩn.

  3. Mức độ tự động hóa cao. Chiến lược này về cơ bản có thể chạy hoàn toàn tự động, không cần can thiệp thủ công, phù hợp cho các nhà đầu tư cần lợi nhuận ổn định dài hạn.

  4. Tham số linh hoạt. Người dùng có thể linh hoạt thiết lập số lượng đường lưới, tham số lưới động, v.v. dựa trên đặc điểm thị trường để tối ưu hóa hiệu suất chiến lược.

Phân tích rủi ro

  1. Rủi ro thiên nga đen. Nếu gặp thị trường giảm mạnh bất thường, giá nhảy vọt xuống dưới đường lưới thấp nhất, chiến lược sẽ đầy lệnh và đối mặt với mức sụt giảm lớn. Để giảm rủi ro này, có thể thiết lập điều kiện cắt lỗ, khi lỗ đạt ngưỡng thì đóng toàn bộ lệnh.

  2. Thiết lập tham số lưới không phù hợp. Nếu mật độ lưới quá cao, chênh lệch giá mỗi lần mở/đóng lệnh sẽ rất nhỏ, phí giao dịch có thể ăn mòn phần lớn lợi nhuận. Nếu độ rộng lưới quá lớn, tỷ lệ mở lệnh một lần cao, rủi ro lớn. Cần đánh giá kỹ đặc điểm của tài sản cơ sở, chọn tham số lưới phù hợp.

  3. Rủi ro chênh lệch cơ sở. Chiến lược này thiết lập điều kiện mở/đóng lệnh dựa trên giá hiện tại; trong các thị trường như futures, nếu giá hợp đồng khác biệt lớn so với giá tài sản cơ sở, thì giá mở/đóng lệnh thực tế có thể lệch nhiều so với dự kiến.

Hướng tối ưu

  1. Thêm bộ lọc xu hướng. Chiến lược lưới hoạt động kém trong thị trường một chiều mạnh; có thể thêm chỉ báo xu hướng làm bộ lọc, ví dụ chỉ kích hoạt lưới khi ADX dưới một ngưỡng nhất định, và tắt lưới khi xu hướng rõ ràng, chỉ giữ vị thế một chiều.

  2. Tối ưu tín hiệu. Có thể chồng thêm các tín hiệu khác lên lưới, ví dụ lưới + đường trung bình, tức là chủ yếu do lưới quyết định mở/đóng lệnh, nhưng chỉ mở lệnh khi giá cắt qua một đường trung bình nhất định. Điều này giúp giảm chi phí do mở/đóng lệnh thường xuyên.

  3. Quản lý vị thế. Hiện tại, mỗi ô lưới có khối lượng cố định; có thể thiết lập khi giá cách xa giá trung bình thị trường, giảm khối lượng mỗi ô, và khi giá gần giá trung bình thị trường, tăng khối lượng, nâng cao hiệu suất sử dụng vốn.

  4. Mật độ lưới thích ứng. Điều chỉnh động mật độ lưới dựa trên biến động giá; khi biến động cao có thể tăng số lượng lưới, khi biến động thấp giảm số lượng lưới. Điều này tối ưu độ rộng lưới, nâng cao hiệu suất sử dụng vốn.

Tổng kết

Chiến lược này thông qua lưới động thích ứng, có thể thường xuyên mở và đóng lệnh kiếm chênh lệch giá trong thị trường dao động, đồng thời duy trì một mức độ tiếp xúc nhất định với xu hướng để thu lợi từ xu hướng trong thị trường có xu hướng. Đây là một chiến lược định lượng trung-dài hạn có tính thích ứng cao. Bằng cách thiết lập hợp lý logic kích hoạt lưới và quản lý vị thế, có thể đạt được lợi nhuận ổn định. Tuy nhiên, cần chú ý đến rủi ro thị trường cực đoan và giá nhảy vọt, cần thiết lập điều kiện cắt lỗ thích hợp để kiểm soát. Ngoài ra, còn có không gian tối ưu hóa trong việc thiết lập tham số và quản lý rủi ro, có thể sử dụng các phương tiện như thêm bộ lọc xu hướng, chồng tín hiệu, quản lý vị thế, mật độ lưới thích ứng để nâng cao tính ổn định và lợi nhuận của chiến lược. Tóm lại, chiến lược này dựa trên logic cơ bản của lưới, kết hợp cơ chế tự thích ứng động, có thể cung cấp ý tưởng và tham khảo mới cho các nhà đầu tư định lượng trung-dài hạn.

Source
Pine
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © jcloyd

//@version=4
strategy("(IK) Grid Script", overlay=true, pyramiding=14, close_entries_rule="ANY", default_qty_type=strategy.cash, initial_capital=100.0, currency="USD", commission_type=strategy.commission.percent, commission_value=0.1)
i_autoBounds    = input(group="Grid Bounds", title="Use Auto Bounds?", defval=true, type=input.bool)                             // calculate upper and lower bound of the grid automatically? This will theorhetically be less profitable, but will certainly require less attention
i_boundSrc      = input(group="Grid Bounds", title="(Auto) Bound Source", defval="Hi & Low", options=["Hi & Low", "Average"])     // should bounds of the auto grid be calculated from recent High & Low, or from a Simple Moving Average
i_boundLookback = input(group="Grid Bounds", title="(Auto) Bound Lookback", defval=250, type=input.integer, maxval=500, minval=0) // when calculating auto grid bounds, how far back should we look for a High & Low, or what should the length be of our sma
i_boundDev      = input(group="Grid Bounds", title="(Auto) Bound Deviation", defval=0.10, type=input.float, maxval=1, minval=-1)  // if sourcing auto bounds from High & Low, this percentage will (positive) widen or (negative) narrow the bound limits. If sourcing from Average, this is the deviation (up and down) from the sma, and CANNOT be negative.
i_upperBound    = input(group="Grid Bounds", title="(Manual) Upper Boundry", defval=0.285, type=input.float)                      // for manual grid bounds only. The upperbound price of your grid
i_lowerBound    = input(group="Grid Bounds", title="(Manual) Lower Boundry", defval=0.225, type=input.float)                      // for manual grid bounds only. The lowerbound price of your grid.
i_gridQty       = input(group="Grid Lines",  title="Grid Line Quantity", defval=8, maxval=15, minval=3, type=input.integer)       // how many grid lines are in your grid
Strategy parameters
Strategy parameters
Grid Bounds
Use Auto Bounds?
(Auto) Bound Source
(Auto) Bound Lookback
(Auto) Bound Deviation
(Manual) Upper Boundry
(Manual) Lower Boundry
Grid Lines
Grid Line Quantity
Comment
All comments (0)
No data
No data
  • 1
Forums
PINE Language
Get the app
iPhone Download
© 2015 - ∞ INVENTOR PTE LTD (SG)