Chiến lược xu hướng nhiều khung thời gian

Tác giả:ChaoZhang, Ngày: 2023-10-23 16:56:52
Tags:

img

Tổng quan

Chiến lược này là một chiến lược giao dịch sử dụng nhiều khung thời gian. Nó chủ yếu sử dụng khung thời gian dài hạn để xác định hướng xu hướng, khung thời gian trung hạn để xác định hướng động lực và khung thời gian ngắn hạn để xác định các điểm vào cụ thể.

Nguyên tắc

Chiến lược được thực hiện chủ yếu thông qua những điều sau:

  1. Xác định các khung thời gian khác nhau

    • Thời gian dài (ngày): để xác định xu hướng tổng thể
    • Thời gian trung bình (4 giờ): để xác định hướng động lực
    • Thời gian ngắn (cách thông thường): để xác định vị trí các điểm nhập cảnh
  2. Xác định xu hướng dài hạn

    • Sử dụng SMA để xác định hướng xu hướng dài hạn
    • Nếu đóng là trên SMA, xác định là xu hướng tăng
    • Nếu đóng là dưới SMA, xác định là xu hướng giảm
  3. Xác định động lực trung hạn

    • Sử dụng các đường Stoch K và D
    • Khi đường K là trên đường D, xác định như động lượng lên
    • Khi đường K nằm dưới đường D, xác định là động lượng xuống
  4. Tìm điểm nhập cảnh

    • Mở đầu dài: xu hướng tăng dài hạn, trung hạn Stoch tăng, ngắn hạn MA đường chéo vàng
    • Mở đầu ngắn hạn: xu hướng giảm dài hạn, trung hạn Stock giảm, MA ngắn hạn chết chéo
  5. Điểm xuất cảnh

    • Khóa ra dài: đường Stoch K trung hạn vượt dưới đường D
    • Khóa ngắn: đường Stoch K trung hạn vượt qua đường D

Tóm lại, chiến lược này sử dụng đầy đủ thông tin trên các khung thời gian, đánh giá xu hướng và thời gian từ các chiều kích khác nhau, có thể lọc hiệu quả các sự đột phá sai và chọn các điểm đầu vào có xác suất cao dọc theo xu hướng.

Ưu điểm

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

  1. Thiết kế nhiều khung thời gian là khoa học và tỉ mỉ, cho phép đánh giá xu hướng thị trường chính xác hơn và tránh bị đánh lừa bởi tiếng ồn thị trường ngắn hạn.

  2. Các điều kiện toàn diện xem xét xu hướng, động lực và thời gian nhập cảnh giúp lọc ra nhiều tín hiệu sai.

  3. Sử dụng Stoch để xác định động lực trung hạn là rất chính xác và giúp nắm bắt sự đảo ngược thị trường thực sự.

  4. Các tiêu chí nhập cảnh nghiêm ngặt tránh hầu hết các vụ phá vỡ sai từ giá tăng.

  5. Các điểm dừng lỗ được xác định để kiểm soát rủi ro cho mỗi giao dịch.

  6. Áp dụng cho các môi trường thị trường khác nhau mà không bị hạn chế bởi các điều kiện thị trường cụ thể.

  7. Có không gian để tối ưu hóa quản lý vốn, chẳng hạn như tỷ lệ dừng lỗ cố định, kích thước vị trí động v.v.

Rủi ro

Ngoài ra còn có một số rủi ro cần lưu ý cho chiến lược này:

  1. Trong các thị trường dao động, có thể có nhiều điểm dừng lỗ.

  2. Những thay đổi xu hướng có thể không được ghi nhận kịp thời, dẫn đến các giao dịch không phù hợp.

  3. Chỉ dựa vào Stoch để đánh giá động lực có những hạn chế.

  4. Các tiêu chí nhập cảnh nghiêm ngặt có thể khiến bạn bỏ lỡ một số xu hướng.

  5. Khả năng lợi nhuận tương đối hạn chế, không thể nắm bắt được các xu hướng lớn.

Một số cách để giảm thiểu rủi ro:

  1. Điều chỉnh các thông số để giảm tỷ lệ lỗi.

  2. Thêm các chỉ số xu hướng để thiết lập phán đoán kết hợp.

  3. Bao gồm nhiều chỉ số như MACD để đánh giá động lực.

  4. Tối ưu hóa stop loss để sử dụng trailing stop vv

  5. Điều chỉnh ngay lập tức mức dừng lỗ và kích thước vị trí khi thay đổi xu hướng lớn.

Tối ưu hóa

Một số cách để tối ưu hóa chiến lược:

  1. Tối ưu hóa tham số như thời gian MA, cài đặt Stoch để cải thiện độ chính xác tín hiệu.

  2. Thêm thêm các chỉ số như MACD, Bollinger Bands để nâng cao sự phán đoán.

  3. Tối ưu hóa các tiêu chí nhập cảnh, cho phép nhiều giao dịch hơn ở mức rủi ro chấp nhận được.

  4. Sử dụng stop loss sau hoặc ATR dựa trên dừng.

  5. Chỉnh sửa kích thước vị trí khi thay đổi xu hướng lớn.

  6. Sử dụng máy học để tự động tối ưu hóa các thông số và quy tắc.

  7. Xem xét các nguyên tắc cơ bản, sử dụng dữ liệu chính để xác nhận thêm các tín hiệu.

  8. Kiểm tra hiệu quả trên các sản phẩm khác nhau như ngoại hối, kim loại vv

Kết luận

Tóm lại, ý tưởng cốt lõi của chiến lược xu hướng nhiều khung thời gian này là đưa ra quyết định dựa trên các chiều dài, trung bình và ngắn hạn. Lợi thế nằm trong các điều kiện nghiêm ngặt và rủi ro có thể kiểm soát được, nhưng các tham số và quy tắc cần tối ưu hóa cho các thị trường cụ thể. Tiếp theo, chiến lược này có thể được tăng cường hơn nữa bằng cách kết hợp nhiều chỉ số hơn, tối ưu hóa dừng, thêm máy học vv.


/*backtest
start: 2023-10-15 00:00:00
end: 2023-10-22 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("TUX MTF", overlay=true)

// MULTIPLE TIME FRAME STRATEGY
// LONG TERM --- TREND
// MED TERM --- MOMENTUM
// SHORT TERM --- ENTRY

// ENTRY POSITION TIMEFRAME
entry_position = input(title="Entry timeframe (minutes)",  defval=5, minval=1, maxval=1440)
med_term = entry_position * 4
long_term = med_term * 4

// GLOBAL VARIABLES
ma_trend = input(title="Moving Average Period (Trend)",  defval=50, minval=5, maxval=200)

// RSI
length = input(title="Stoch Length",  defval=18, minval=5, maxval=200)
OverBought = input(title="Stoch OB",  defval=80, minval=60, maxval=100)
OverSold = input(title="Stoch OS",  defval=20, minval=5, maxval=40)
smoothK = input(title="Stoch SmoothK",  defval=14, minval=1, maxval=40)
smoothD = input(title="Stoch SmoothD",  defval=14, minval=1, maxval=40)
maSm = input(title="Moving Avg SM",  defval=7, minval=5, maxval=50)
maMed = input(title="Moving Avg MD",  defval=21, minval=13, maxval=200)

// LONG TERM TREND
long_term_trend = request.security(syminfo.ticker, tostring(long_term), sma(close,ma_trend)) > request.security(syminfo.ticker, tostring(long_term), close)
plot(request.security(syminfo.ticker, tostring(long_term), sma(close,ma_trend)), title="Long Term MA", linewidth=2)
// FALSE = BEAR
// TRUE = BULL

// MED TERM MOMENTUM

k = request.security(syminfo.ticker, tostring(med_term), sma(stoch(close, high, low, length), smoothK))
d = request.security(syminfo.ticker, tostring(med_term), sma(k, smoothD))

os = k >= OverBought or d >= OverBought
ob = k <= OverSold or d <= OverSold


// SHORT TERM MA X OVER
bull_entry = long_term_trend == false and os == false and ob == false and k > d and request.security(syminfo.ticker, tostring(entry_position), crossover(sma(close, maSm), sma(close, maMed)))
bear_entry = long_term_trend == true and os == false and ob == false and k < d and request.security(syminfo.ticker, tostring(entry_position), crossunder(sma(close, maSm), sma(close, maMed)))



bull_exit = crossunder(k,d)
bear_exit = crossover(k,d)



if (bull_entry)
    strategy.entry("Long", strategy.long)
    

if (bear_entry)
    strategy.entry("Short", strategy.short)
  
strategy.close("Long", when = bull_exit == true)
strategy.close("Short", when = bear_exit == true)

    
    

    




Thêm nữa