Chiến lược dừng lỗ của Ichimoku

Tác giả:ChaoZhang, Ngày: 2023-11-03 17:05:40
Tags:

img

Tổng quan

Chiến lược này là một chiến lược theo xu hướng được phát triển bằng cách sử dụng đám mây Ichimoku và lệnh dừng. Nó sử dụng đường chuyển đổi, đường cơ sở và khoảng trễ của đám mây Ichimoku để xác định hướng xu hướng và đặt lệnh dừng ở các cạnh trên và dưới của các dải đám mây để dừng lỗ.

Chiến lược logic

Chiến lược dựa trên các nguyên tắc sau:

  1. Đường chuyển đổi là mức trung bình của giá cao nhất và thấp nhất trong 9 ngày qua, phản ánh sự thay đổi giá trung bình gần đây.

  2. Dòng cơ sở là mức trung bình của giá cao nhất và thấp nhất trong 26 ngày qua, phản ánh sự thay đổi giá trung bình trung hạn.

  3. Khoảng thời gian chậm là mức trung bình của giá cao nhất và thấp nhất trong 52 ngày qua, phản ánh sự thay đổi giá trung bình dài hạn.

  4. Mức trung bình của chuyển đổi và đường cơ sở tạo thành khoảng dẫn đầu 1, và khoảng chậm tạo thành khoảng dẫn đầu 2. Khu vực giữa hai khoảng dẫn đầu tạo thành các dải mây.

  5. Khi giá phá vỡ trên các dải mây, đi dài. Khi giá phá vỡ dưới dải mây, đi ngắn.

  6. Thiết lập lệnh dừng lỗ ở các cạnh trên và dưới của các dải mây để theo xu hướng.

Cụ thể, chiến lược xác định ba đường Ichimoku, tính toán trung bình của chúng để có được phạm vi dẫn đầu 1 và 2. Sau đó, nó xác định hướng xu hướng dựa trên giá vượt qua ranh giới dải mây phía trên hoặc phía dưới. Sau khi có các vị trí dài hoặc ngắn, nó đặt lệnh dừng lỗ dựa trên giá dải mây để theo xu hướng với mức dừng lỗ.

Phân tích lợi thế

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

  1. Ichimoku Cloud xác định hướng xu hướng một cách đáng tin cậy bằng cách kết hợp thông tin giá từ nhiều khung thời gian, lọc ra tiếng ồn thị trường.

  2. Việc đặt dừng lỗ là hợp lý. Sử dụng các cạnh băng đám mây cho phép phạm vi dừng lỗ thích hợp và theo xu hướng tốt.

  3. Chiến lược là ổn định và đáng tin cậy.

  4. Điều chỉnh tham số linh hoạt: Thời gian chuyển đổi, cơ sở và khoảng thời gian chậm có thể được điều chỉnh để thích nghi với thị trường.

  5. Lý thuyết rõ ràng và dễ hiểu.

Phân tích rủi ro

Các rủi ro của chiến lược bao gồm:

  1. Rủi ro phá vỡ lỗ dừng. Di chuyển giá biến động có thể kích hoạt dừng lỗ và thoát khỏi các vị trí có lợi nhuận.

  2. Những đòn đè đè trong các thị trường khác nhau, những đòn đè đè thường xuyên dẫn đến giao dịch quá mức.

  3. Rủi ro tham số: Cài đặt không chính xác của chuyển đổi, cơ sở và khoảng trễ có thể làm cho phạm vi dừng lỗ quá rộng hoặc hẹp.

  4. Chi phí trượt trong hợp đồng tương lai. Các đơn đặt hàng thường xuyên có thể dẫn đến chi phí trượt quá mức ảnh hưởng đến lợi nhuận.

  5. Rủi ro giao dịch thuật toán, thời gian ngừng hoạt động, vấn đề mạng, lỗi có thể ảnh hưởng đến việc thực hiện giao dịch.

Để giải quyết những rủi ro này, nên tối ưu hóa các tham số, thuật toán dừng lỗ, cải thiện sự ổn định của máy chủ, quản lý rủi ro thích hợp và thử nghiệm chiến lược kỹ lưỡng.

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

Chiến lược có thể được tối ưu hóa trong các khía cạnh sau:

  1. Tối ưu hóa cài đặt tham số bằng cách thử nghiệm các kết hợp thời gian khác nhau để tìm ra các giá trị tối ưu.

  2. Cải thiện các thuật toán dừng lỗ với dừng lại, dừng biến động vv để giảm các yếu tố kích hoạt dừng lỗ.

  3. Kết hợp các chỉ số bổ sung như MACD, KDJ để cải thiện việc ra quyết định.

  4. Thêm chức năng đóng lỗ tự động để hạn chế lỗ.

  5. Thực hiện cơ chế nhập lại sau khi thoát khỏi lỗ dừng.

  6. Tối ưu hóa quản lý tiền thông qua kích thước vị trí năng động.

Kết luận

Nhìn chung, chiến lược có logic rõ ràng, sử dụng Ichimoku Cloud để định hướng xu hướng và các dải mây để theo dõi dừng lỗ, kiểm soát rủi ro hiệu quả và có tiện ích thực tế.


/*backtest
start: 2022-10-27 00:00:00
end: 2023-11-02 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title = "Noro's Ichimoku Stop Strategy", shorttitle = "Ichimoku Stop Strategy", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
conversionPeriods = input(9, minval = 1, title = "Conversion Periods")
basePeriods = input(26, minval = 1, title = "Base Periods")
laggingSpan2Periods = input(52, minval = 1, title = "Lagging Span")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//Ichimoku
donchian(len) => avg(lowest(len), highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)

//Cloud
p1 = plot(leadLine1, offset = basePeriods, color=color.green, title="Lead 1", transp = 100)
p2 = plot(leadLine2, offset = basePeriods, color=color.red, title="Lead 2", transp = 100)
fill(p1, p2)

//Signals
max = max(leadLine1[basePeriods], leadLine2[basePeriods])
min = min(leadLine1[basePeriods], leadLine2[basePeriods])
up = low > max
dn = high < min

if max > 0
    strategy.entry("Long", strategy.long, needlong ? na : 0, stop = max)
    strategy.entry("Short", strategy.short, needshort ? na : 0, stop = min)

Thêm nữa