Tài nguyên đang được tải lên... tải...

Chỉ số xu hướng chính Long

Tác giả:ChaoZhang, Ngày: 2024-02-19 11:15:57
Tags:

img

Tổng quan

Chiến lược Long (MTIL) được thiết kế để sử dụng trên các công cụ tài chính khác nhau bao gồm tiền điện tử như BTCUSD và ETHUSD cũng như cổ phiếu truyền thống như AAPL. Nó nhằm mục đích xác định xu hướng tăng tiềm năng để nhập vào các vị trí dài.

Chiến lược logic

Chiến lược MTIL sử dụng các thông số tối ưu để tính toán giá cao nhất và thấp nhất trong các khoảng thời gian nhìn lại được xác định. Sau đó nó áp dụng hồi quy tuyến tính để làm mịn dữ liệu giá, phát hiện xu hướng tăng tiềm năng để báo hiệu các mục nhập dài.

Đặc biệt, nó đầu tiên dẫn ra giá cao nhất và thấp nhất trong các khoảng thời gian nhất định. Sau đó, chúng được làm mịn bằng cách sử dụng hồi quy tuyến tính với các hệ số khác nhau. Điều này dẫn đến việc tạo ra giới hạn trên và dưới. Khi giá cao nhất được làm mịn vượt qua dải trên, giá thấp nhất được làm mịn vượt qua dải dưới, và hồi quy tuyến tính ngắn hạn của giá đóng là trên mức dài hạn - một tín hiệu tăng được tạo ra.

Phân tích lợi thế

Chiến lược MTIL có những lợi thế sau:

  1. Sử dụng kỹ thuật làm mịn kép để xác định xu hướng với độ chính xác cao hơn
  2. Ngày bắt đầu backtest có thể tùy chỉnh để kiểm tra hiệu suất lịch sử
  3. Các tham số có thể tùy chỉnh phù hợp với các ưu đãi thương mại cá nhân
  4. Có thể kết hợp với chiến lược ngắn cho phân tích nhiều khung thời gian

Phân tích rủi ro

Chiến lược MTIL cũng mang những rủi ro sau:

  1. Rủi ro giao dịch xu hướng với khả năng mất mát lớn hơn
  2. Điều chỉnh tham số không phù hợp dẫn đến cơ hội bị bỏ lỡ hoặc tín hiệu sai
  3. Cần phải tính chi phí giao dịch để tránh giao dịch quá thường xuyên

Một số rủi ro có thể được giảm thiểu thông qua điều chỉnh tham số, dừng lỗ, kiểm soát chi phí giao dịch v.v.

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

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

  1. Kiểm tra sự kết hợp của các thông số thời gian khác nhau để tìm ra tối ưu
  2. Tích hợp xác nhận giá-kích thước để tránh tín hiệu sai
  3. Thêm các chỉ số khác để xác nhận thêm động lực và chuyển động trong ngày để tăng cường xác nhận tín hiệu
  4. Thiết lập các quy tắc dừng lỗ và lấy lợi nhuận để hạn chế giảm so với khóa lợi nhuận

Kết luận

MTIL là một chiến lược bên dài khai thác các kỹ thuật hồi quy tuyến tính để phát hiện các xu hướng chính. Thông qua điều chỉnh tham số, nó có thể được điều chỉnh trên các môi trường thị trường khác nhau. Khi kết hợp với một chiến lược bên ngắn, nó cung cấp phân tích toàn diện hơn.


/*backtest
start: 2023-02-12 00:00:00
end: 2024-02-18 00:00:00
period: 1d
basePeriod: 1h
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/
// © jensenvilhelm


//@version=5
strategy("Major Trend Indicator Long", shorttitle='MTIL', overlay = true)

startDate = timestamp("2001 06 18")
// Sets the start date for the strategy.

// Optimized parameters
length_high = 5
length_low = 5
linReg_st = 3
linReg_st1 = 23
linReg_lt = 75
// Defines key parameters for the strategy.

X_i = ta.highest(high, length_high)
Y_i = ta.lowest(low, length_low)
// Calculates the highest and lowest price values within the defined lookback periods.

x_y = ta.linreg(X_i + high, linReg_st1, 1)
y_x = ta.linreg(Y_i + low, linReg_lt, 1)
// Applies linear regression to smoothed high and low prices.

upper = ta.linreg(x_y, linReg_st1, 6)
lower = ta.linreg(y_x, linReg_st1, 6)
// Determines upper and lower bounds using linear regression.

upperInside = upper < y_x and upper > x_y
lowerInside = lower > y_x and lower < x_y
y_pos = (upper + lower) / 4

X_i1 = ta.highest(high, length_high)
Y_i1 = ta.lowest(low, length_low)

bull = x_y > upper and y_x > lower and ta.linreg(close, linReg_st, 1) > ta.linreg(close, linReg_lt, 5)
// Defines a bullish condition based on linear regression values and price bounds.

plotshape(series=(bull) ? y_pos : na, style=shape.circle, location=location.absolute, color=color.rgb(41, 3, 255, 40), size=size.tiny)

if (time >= startDate)
    if (bull)
        strategy.entry("Long", strategy.long)
    if not (bull)
        strategy.close("Long")
// Controls the strategy's execution based on the bullish condition and the start date.


Thêm nữa