Thị trường tăng đột phá Darvas Box mua chiến lược

Tác giả:ChaoZhang, Ngày: 2024-01-29 09:53:55
Tags:

img

Tổng quan

Chiến lược mua hộp Darvas là một phiên bản sửa đổi của chiến lược Darvas Box chỉ mua dài trong một thị trường bò. Chiến lược đầu tiên vẽ một khu vực hộp dựa trên giá cao gần đây, và mua dài ở giá đóng khi giá vượt qua dải trên cùng của hộp.

Chiến lược logic

Chiến lược này được xây dựng dựa trên lý thuyết hộp Darvas. Lý thuyết hộp Darvas tin rằng khi giá vượt ra khỏi hộp sau khi hợp nhất, đó là một tín hiệu đầu vào dài tốt. Chiến lược này xác định các mục đầu vào dài dựa trên lý thuyết này.

Cụ thể, chiến lược đầu tiên tính toán mức thấp nhất trong 5 ngày qua để vẽ dải dưới cùng của hộp. Sau đó nó tính toán mức cao nhất trong 5 ngày qua để vẽ dải trên cùng. Khi giá đóng phá vỡ trên dải trên cùng, nó báo hiệu rằng xu hướng đã tăng và đi dài ở giá đóng.

Sau khi mua dài, chiến lược thiết lập stop loss gần dải dưới cùng của hộp, và lợi nhuận lấy 5 lần kích thước của stop loss.

Phân tích lợi thế

Những lợi thế của chiến lược này bao gồm:

  1. Sử dụng lý thuyết hộp để xác định truy đuổi các mục dài có thể lọc hiệu quả một số tiếng ồn.

  2. Chỉ đi dài ở tín hiệu đột phá rõ ràng tránh nhiều giao dịch ngẫu nhiên không cần thiết.

  3. Có được lệnh dừng lỗ và lấy lợi nhuận được xác định trước có thể kiểm soát rủi ro tốt.

  4. Chỉ mua breakout trong thời gian thị trường tăng sẽ tránh rủi ro của thị trường hỗn loạn và giảm.

Phân tích rủi ro

Ngoài ra còn có một số rủi ro với chiến lược này:

  1. Lý thuyết hộp không hoàn hảo, đột phá không đảm bảo tăng thêm.

  2. Chỉ số này không tính đến rủi ro rút lui sau khi phá vỡ, có thể gây ra rủi ro dừng lỗ.

  3. Không có cơ chế thoát khỏi, giữ lâu dài có thể có rủi ro.

  4. Các thông số có thể cần điều chỉnh cho các thị trường khác nhau.

Một số phương pháp tối ưu hóa và cải thiện dựa trên rủi ro:

  1. Kết hợp với nhiều chỉ số để xác nhận độ tin cậy của tín hiệu đột phá.

  2. Hãy xem xét chờ thử lại hoặc đột nhập thứ hai để xác nhận trước khi vào.

  3. Thêm stop loss để giữ lợi nhuận.

  4. Kiểm tra và tối ưu hóa các thông số bằng cách sử dụng dữ liệu thị trường khác nhau.

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

Một số hướng mà chiến lược này có thể được cải thiện:

  1. Tối ưu hóa tham số hộp, kiểm tra xem các tham số ngày khác nhau có thể có kết quả tốt hơn hay không.

  2. Thêm các chỉ số lọc để đảm bảo mua theo xu hướng tăng. ví dụ: kết hợp với đường trung bình động.

  3. Tối ưu hóa dừng lỗ và lấy lợi nhuận cho các thị trường khác nhau.

  4. Thêm stop loss để theo dõi lợi nhuận.

  5. Thêm tín hiệu thoát để lấy lợi nhuận khi có một pullback.

Kết luận

Chiến lược mua hộp Darvas là một chiến lược theo đuổi xu hướng đơn giản nhưng hiệu quả được xây dựng trên lý thuyết Darvas. Nó chỉ đi dài với các tín hiệu mua rõ ràng để tránh giao dịch ngẫu nhiên không cần thiết. Nó cũng có lệnh dừng lỗ và lấy lợi nhuận được xác định trước để kiểm soát rủi ro. Chiến lược này đơn giản và thực tế cho thị trường bò, nhưng rủi ro cần được theo dõi và tối ưu hóa thêm có thể được khám phá để có lợi nhuận ổn định hơn trên các thị trường khác nhau.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Darvas Box Strategy - Buy Only", overlay=true)

start_date = timestamp(2023, 10, 15, 0, 0)

boxp = input(5, "BOX LENGTH")

LL = lowest(low, boxp)
k1 = highest(high, boxp)
k2 = highest(high, boxp - 1)
k3 = highest(high, boxp - 2)

NH = valuewhen(high > k1[1], high, 0)
box1 = k3 < k2
TopBox = valuewhen(barssince(high > k1[1]) == boxp - 2 and box1, NH, 0)
BottomBox = valuewhen(barssince(high > k1[1]) == boxp - 2 and box1, LL, 0)

plot(TopBox, linewidth=2, color=color.green, title="TopBox")
plot(BottomBox, linewidth=2, color=color.red, title="BottomBox")

// Define entry conditions
enterLong = crossover(close, TopBox)

// Define exit conditions
exitLong = false  // No specific exit condition mentioned in the original script

// Define stop loss level
stopLoss = BottomBox

// Define take profit level (2 times the stop loss)
takeProfit = stopLoss * 5

// Execute buy trade and set stop loss and take profit
strategy.entry("Buy", strategy.long, when = enterLong)
strategy.exit("Exit", "Buy", stop = stopLoss, limit = takeProfit)

// Plot buy signal arrow
plotshape(enterLong, title = "Buy Signal", style = shape.labelup, location = location.belowbar, color = color.green)

// Plot stop loss level
plot(stopLoss, linewidth=2, color=color.red, title="Stop Loss Level")

// Plot take profit level
plot(takeProfit, linewidth=2, color=color.rgb(19, 202, 111), title="Take Profit Level")

// Hide sell signal arrow
plotshape(false, title = "Sell Signal", style = shape.labeldown, location = location.abovebar, color = color.red, transp = 100)

Thêm nữa