Đơn giản mua thấp bán cao chiến lược

Tác giả:ChaoZhang, Ngày: 2023-12-26 10:49:19
Tags:

img

Tổng quan

Chiến lược mua thấp bán cao là một chiến lược giao dịch dài hạn rất đơn giản nhưng hiệu quả.

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

Cốt lõi của chiến lược này là để đánh giá liệu thị trường có trải qua một sự suy giảm lớn bằng cách tính toán sự tăng và giảm của giá tiền điện tử trong một khoảng thời gian nhìn lại nhất định. Khi giá tiền điện tử đã giảm mạnh vượt quá ngưỡng đã thiết lập trong thời gian gần đây nhất, nó cho thấy thị trường có thể cực kỳ hoảng loạn. Chiến lược sau đó sẽ tự động mua. Ngoài ra, chiến lược này cũng thiết lập điểm dừng lỗ và lấy lợi nhuận kích hoạt dừng lỗ tự động hoặc lấy lợi nhuận khi giá đạt đến hai điểm này.

Cụ thể, chiến lược này sử dụng hàm trailing_change để tính toán tổng số giá tăng và giảm của tiền điện tử trong một khoảng thời gian xem lại nhất định. Khi giá tăng và giảm của tiền điện tử trong các nến inp_lkb cuối cùng thấp hơn giá âm của các thông số đặt xuống, đó là sự sụt giảm lớn đáp ứng điều kiện mua.

Sau khi mua, chiến lược này sẽ theo dõi sự thay đổi giá trong thời gian thực và thiết lập hai điều kiện thoát: (1) Khi giá giảm xuống dưới (1 - tỷ lệ lỗ dừng) % của giá mở, lệnh dừng lỗ sẽ được kích hoạt; (2) Khi giá tăng lên trên (1 + tỷ lệ lợi nhuận) % của giá mở, lệnh lấy lợi nhuận sẽ được kích hoạt.

Phân tích sức mạnh

Lợi thế lớn nhất của chiến lược mua thấp bán cao này là rất đơn giản và dễ thực hiện. Nó không yêu cầu các chỉ số kỹ thuật phức tạp, chỉ dựa vào sự tăng và giảm giá trong thời gian gần đây để đánh giá điều kiện thị trường, làm cho nó rất phù hợp với các nhà giao dịch mới.

Ngoài ra, chiến lược này hỗ trợ cài đặt dừng lỗ và lấy lợi nhuận, có thể kiểm soát hiệu quả sự mất mát của các giao dịch cá nhân và khóa một số lợi nhuận. Điều này cũng làm cho chiến lược phù hợp với giao dịch trực tiếp, ngay cả khi thị trường trải qua biến động bất lợi lớn hơn, lỗ có thể được kiểm soát trong phạm vi giá cả phải chăng.

Phân tích rủi ro

Rủi ro chính của chiến lược này là không thể xác định thời điểm đảo ngược thị trường. Nếu thị trường tiếp tục giảm mà không phục hồi, các vị trí dài mở có thể gặp phải tổn thất nổi lớn hơn. Do đó, việc thiết lập các điểm dừng lỗ là rất quan trọng. Nếu các điểm dừng lỗ được thiết lập quá rộng, các lỗ đơn có thể gây ra thảm họa.

Một rủi ro khác cần lưu ý là nếu có biến động thị trường dữ dội, giá có thể kích hoạt dừng lỗ hoặc lấy lợi nhuận trong một khoảng thời gian ngắn. Điều này có thể dẫn đến chi phí giao dịch bổ sung. Đặc biệt là khi thị trường biến động mạnh, không có gì lạ khi giá kích hoạt nhiều lần dừng lỗ và lấy lợi nhuận nhiều lần trong một khoảng thời gian ngắn.

Để giải quyết các rủi ro trên, chúng ta có thể thiết lập một khoảng thời gian xem lại lâu hơn để đảm bảo tín hiệu mua ổn định và đáng tin cậy hơn lọc ra một số tín hiệu sai trong biến động thị trường. Ngoài ra, có thể giới thiệu một khoảng thời gian làm mát giao dịch nhất định. Không mở các vị trí mới trong một khoảng thời gian sau khi đóng các vị trí cũng có thể giảm hiệu quả vấn đề tần suất giao dịch quá cao do biến động giá.

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

Vẫn còn chỗ để tối ưu hóa thêm chiến lược này, chủ yếu trong các khía cạnh sau:

  1. Điều chỉnh động các thông số dừng lỗ và lấy lợi nhuận. Phạm vi dừng lỗ và lấy lợi nhuận có thể được điều chỉnh năng động dựa trên sự biến động của thị trường. Có phạm vi dừng lỗ rộng hơn trong thời gian hoảng loạn thị trường và thu hẹp phạm vi lấy lợi nhuận khi thị trường tăng.

  2. Kết hợp nhiều yếu tố để xác định thời gian nhập cảnh. Ngoài các sự tăng và giảm gần đây, các yếu tố khác như thay đổi khối lượng giao dịch có thể được đưa vào để xác định các tín hiệu đảo ngược đáng tin cậy hơn.

  3. Sau khi dừng lỗ hoặc lấy lợi nhuận, một số chiến lược tái nhập có thể được thiết lập để mua lại các cơ hội đảo ngược mới.

Kết luận

Nhìn chung, chiến lược mua thấp bán cao này phù hợp với các thị trường tiền điện tử biến động cao. Nó nắm bắt các cơ hội đảo ngược thị trường và thiết lập dừng lỗ và lấy lợi nhuận để kiểm soát rủi ro. Chiến lược này rất đơn giản, dễ hiểu và thực hiện, làm cho nó lý tưởng cho các nhà giao dịch mới. Với tối ưu hóa hơn, hiệu suất chiến lược ổn định hơn có thể đạt được. Tóm lại, mua thấp và bán cao là một chiến lược giao dịch dài hạn đáng khuyên.


/*backtest
start: 2023-11-25 00:00:00
end: 2023-12-25 00:00:00
period: 1h
basePeriod: 15m
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/
// © Coinrule

//@version=3
strategy(shorttitle='Buy the Dips',title='Buy the Dips (by Coinrule)', overlay=true, initial_capital = 1000, default_qty_type = strategy.percent_of_equity, default_qty_value = 30, commission_type=strategy.commission.percent, commission_value=0.1)

//Backtest dates
fromMonth = input(defval = 1,  title = "From Month")     
fromDay   = input(defval = 10,    title = "From Day")       
fromYear  = input(defval = 2020, title = "From Year")       
thruMonth = input(defval = 1,    title = "Thru Month")     
thruDay   = input(defval = 1,    title = "Thru Day")     
thruYear  = input(defval = 2112, title = "Thru Year")       

showDate  = input(defval = true, title = "Show Date Range")

start     = timestamp(fromYear, fromMonth, fromDay, 00, 00)        // backtest start window
finish    = timestamp(thruYear, thruMonth, thruDay, 23, 59)        // backtest finish window
window()  => time >= start and time <= finish ? true : false       // create function "within window of time"

inp_lkb = input(1, title='Lookback Period')
 
perc_change(lkb) =>
    overall_change = ((close[0] - close[lkb]) / close[lkb]) * 100

// Call the function    
overall = perc_change(inp_lkb)

//Entry

dip= -(input(2))

strategy.entry(id="long", long = true, when = overall< dip and window()) 

//Exit
Stop_loss= ((input (2))/100)
Take_profit= ((input (2))/100)

longStopPrice  = strategy.position_avg_price * (1 - Stop_loss)
longTakeProfit = strategy.position_avg_price * (1 + Take_profit)

strategy.close("long", when = close < longStopPrice or close > longTakeProfit and window())


Thêm nữa