Chiến lược dừng lỗ trung bình động Noro


Ngày tạo: 2024-01-30 15:49:34 sửa đổi lần cuối: 2024-01-30 15:49:34
sao chép: 1 Số nhấp chuột: 527
1
tập trung vào
1617
Người theo dõi

Chiến lược dừng lỗ trung bình động Noro

Tổng quan

Chiến lược dừng chân đường trung bình phẳng của Noro là một chiến lược theo dõi xu hướng. Nó tính toán đường trung bình di chuyển đơn giản 3 ngày và thêm một tỷ lệ trên và dưới nó làm đường mở và đường dừng chân. Đồng thời thiết lập điểm dừng.

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

Cốt lõi của chiến lược này là tính toán đường trung bình di chuyển đơn giản 3 ngày ma. Sau đó, trên ma thêm một phần trăm lo làm đường mở long, khi giá vượt qua đường dài; dưới ma trừ đi một phần trăm sl làm đường dừng lỗ, dừng khi giá phá vỡ đường dừng.

Các quy tắc tính toán cụ thể như sau:

  1. Máy tính trung bình di chuyển đơn giản 3 ngày ma
  2. Giao dịch mở long = ma + ma * lo%
  3. Đường dừng take = giá trung bình nắm giữ hiện tại + giá trung bình nắm giữ hiện tại * tp%
  4. Đường dừng lỗ = giá trị trung bình của vị trí hiện tại - giá trị trung bình của vị trí hiện tại * sl%

Do đó, một chiến lược theo dõi xu hướng được xây dựng dựa trên ma để thiết lập đường mở, đường dừng và đường dừng lỗ với tỷ lệ phần trăm có thể cấu hình.

Phân tích lợi thế

Lợi thế lớn nhất của chiến lược này là có thể tự động theo dõi xu hướng hoạt động. Bằng cách làm quá đốm, làm giảm giá, không cần phải đánh giá hình dạng mặt, bạn có thể bắt được xu hướng trung gian. Sau đó, kết hợp với thiết lập dừng lỗ, bạn có thể tự động dừng lỗ khi xu hướng kết thúc, tránh rút lui quá lớn.

Một lợi thế khác là các tham số có thể được điều chỉnh một cách linh hoạt. Bằng cách điều chỉnh các tham số phần trăm của đường mở, đường dừng và đường dừng, bạn có thể tự do kiểm soát kích thước vị trí và không gian dừng.

Phân tích rủi ro

Rủi ro lớn nhất của chiến lược này là dễ dàng tạo ra một sự trượt lớn. Bởi vì nó là giao dịch ngoài đường, khi giá giảm nhanh chóng, nó có thể dễ dàng gây ra các giao dịch vượt quá giá dừng lỗ rất xa. Điều này sẽ làm cho các nhà đầu tư mất mát rất nhiều.

Một rủi ro khác là các tham số được thiết lập không đúng có thể dẫn đến quá nhiều lần ra vào, tăng tần suất giao dịch và gánh nặng phí xử lý.

Hướng tối ưu hóa

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

  1. Thay vào đó, hãy sử dụng giá giới hạn để tránh rủi ro trượt lớn.
  2. Tăng thiết lập số vị trí, có thể làm mỏng chuyển vị trí, giảm tần suất giao dịch
  3. Tăng các chỉ số đánh giá xu hướng, tránh các hoạt động sai lệch của thị trường không theo xu hướng
  4. Tối ưu hóa các thiết lập tham số để tìm ra sự kết hợp tham số tối ưu

Tóm tắt

Chiến lược dừng chân theo đường trung bình phẳng của Noro là một chiến lược theo dõi xu hướng đơn giản và thực tế. Nó có thể tự động theo dõi xu hướng và kết hợp với thiết lập dừng chân để kiểm soát rủi ro hiệu quả. Rủi ro lớn nhất của chiến lược này là có thể gây ra điểm trượt lớn hơn và thiết lập tham số không chính xác dẫn đến giao dịch quá thường xuyên.

Mã nguồn chiến lược
/*backtest
start: 2023-12-30 00:00:00
end: 2024-01-29 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//2019
//Noro

//@version=4
strategy("Stop-loss", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
lo = input(-5.0, title = "Long-line, %")
tp = input(5.0, title = "Take-profit")
sl = input(2.0, title = "Stop-loss")

//SMA
ma = sma(ohlc4, 3)
long = ma + ((ma / 100) * lo)

//Orders
avg = strategy.position_avg_price
if ma > 0
    strategy.entry("Long", strategy.long, limit = long)
    strategy.entry("Take", strategy.short, 0, limit = avg + ((avg / 100) * tp))
    strategy.entry("Stop", strategy.short, 0, stop = avg - ((avg / 100) * sl))
    
//Cancel order
if strategy.position_size == 0
    strategy.cancel("Take")
    strategy.cancel("Stop")

//Lines
plot(long, offset = 1, color = color.black, transp = 0)
take = avg != 0 ? avg + ((avg / 100) * tp) : long + ((long / 100) * tp)
stop = avg != 0 ? avg - ((avg / 100) * sl) : long - ((long / 100) * sl)
takelinecolor = avg == avg[1] and avg != 0 ? color.lime : na
stoplinecolor = avg == avg[1] and avg != 0 ? color.red : na
plot(take, offset = 1, color = takelinecolor, linewidth = 3, transp = 0)
plot(stop, offset = 1, color = stoplinecolor, linewidth = 3, transp = 0)