Chiến lược theo dõi xu hướng giao cắt trung bình động đa khung thời gian


Ngày tạo: 2024-02-04 17:21:25 sửa đổi lần cuối: 2024-02-04 17:21:25
sao chép: 0 Số nhấp chuột: 650
1
tập trung vào
1617
Người theo dõi

Chiến lược theo dõi xu hướng giao cắt trung bình động đa khung thời gian

Tổng quan

Chiến lược này tính toán xu hướng của nhiều khung thời gian bằng cách tính toán các trung bình di chuyển của nhiều chu kỳ thời gian khác nhau. Khi giá vượt qua các trung bình di chuyển của các chu kỳ khác nhau, thực hiện các hoạt động giảm giá tương ứng. Đồng thời, kết hợp các phương pháp dừng lỗ và dừng lại, để đạt được sự cân bằng giữa rủi ro và lợi nhuận.

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

Chiến lược này được xây dựng dựa trên các yếu tố sau:

  1. Tính trung bình di chuyển đơn giản cho bốn chu kỳ thời gian khác nhau: 21 ngày, 50 ngày, 100 ngày và 200 ngày.

  2. Khi giá vượt qua bất kỳ một trong những đường trung bình, hãy làm nhiều hơn; khi giá vượt qua bất kỳ một trong những đường trung bình, hãy làm trống.

  3. Sau khi tham gia vào nhiều tình huống, điểm dừng lỗ được thiết lập gần giá thấp nhất của dòng K trước; sau khi tham gia vào tình huống tháo lỗ, điểm dừng lỗ được thiết lập gần giá cao nhất của dòng K trước.

  4. Cài đặt điểm dừng đa dưới mức giá thấp nhất; Cài đặt điểm dừng vuông trên mức giá cao nhất.

  5. Khi giá chạm điểm dừng lỗ hoặc điểm dừng chân, vị thế tháo gỡ sẽ được thực hiện.

Bằng cách đánh giá nhiều khung thời gian như vậy, bạn có thể tăng độ tin cậy của tín hiệu giao dịch, theo dõi khi xu hướng rõ ràng hơn. Đồng thời, các thiết lập dừng lỗ và dừng lại có thể kiểm soát rủi ro và thoát khỏi thị trường khi tổn thất mở rộng hoặc lợi nhuận đạt đến một mức độ nhất định.

Phân tích lợi thế

Chiến lược này có một số ưu điểm:

  1. Quá trình phân tích nhiều khung thời gian, tăng độ tin cậy của tín hiệu. Sự kết hợp chéo của các đường trung bình khác nhau có thể lọc một số tín hiệu giả, chọn thời gian giao dịch rõ ràng hơn về xu hướng.

  2. Phương pháp dừng lỗ động giúp kiểm soát rủi ro. Kết hợp với dữ liệu K-line để tính toán điểm dừng lỗ, bạn có thể đặt một khoảng hợp lý dựa trên độ dao động thực tế của thị trường để kiểm soát hiệu quả giá trị tối đa của tổn thất đơn lẻ.

  3. Cấu trúc mã rõ ràng và đơn giản. Dựa trên ngữ pháp chính sách của trình soạn thảo Pine, cấu trúc mã rõ ràng và dễ đọc, dễ điều chỉnh và tối ưu hóa tham số.

  4. Dễ dàng áp dụng trên máy chủ. Xuyên qua đường trung bình di chuyển là một chiến lược giao dịch cổ điển, sau khi điều chỉnh tham số, dễ dàng áp dụng trên máy chủ và hiệu quả khá ổn định.

Phân tích rủi ro

Chiến lược này cũng có một số rủi ro, bao gồm:

  1. Rủi ro sai lệch trong việc đánh giá xu hướng. Đường trung bình di chuyển được sử dụng để đánh giá xu hướng và có thể bị sai lệch và chậm trễ, dẫn đến tín hiệu giao dịch có thể bị lệch.

  2. Rủi ro thua lỗ khi thị trường bị biến động lớn. Khi thị trường tăng mạnh hoặc đảo ngược lớn, điểm dừng có thể được kích hoạt dễ dàng, dẫn đến thua lỗ lớn.

  3. Thiết lập tham số không đúng có thể làm tăng lỗ. Nếu điểm dừng được thiết lập quá rộng hoặc điểm dừng được thiết lập quá chặt, cũng sẽ làm tăng kích thước của lỗ đơn.

  4. Giữ rủi ro trong thời gian dài. Chiến lược này tập trung theo dõi xu hướng, nhưng không xem xét các vấn đề về tỷ lệ thu hồi lợi nhuận trong thời gian dài, giữ toàn bộ vị trí trong thời gian dài có thể tiêu tốn rất nhiều tiền.

  5. Sự khác biệt về nền tảng mang lại rủi ro thực sự. Trong một nền tảng giao dịch đầy đủ chức năng, lợi nhuận có thể bị ảnh hưởng bởi các vấn đề như chi phí giao dịch, điểm trượt.

Phản ứng:

  1. Kết hợp với các tín hiệu xác thực của các chỉ số khác. Giới thiệu các chỉ số hỗ trợ như KDJ, MACD.

  2. Điều chỉnh mức dừng tùy theo tình hình thị trường. Không gian rộng rãi có thể ngăn chặn dừng được kích hoạt dễ dàng.

  3. Tối ưu hóa các tham số, đánh giá thu hồi lợi nhuận dài hạn. Bằng cách thử nghiệm lặp lại để có được sự kết hợp tham số tốt nhất.

  4. Kiểm tra đầy đủ các chiến lược trong giao dịch mô phỏng và bổ sung các phương pháp dừng lỗ bằng tay.

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

Chiến lược này có thể được tối ưu hóa hơn nữa, theo các hướng chính sau:

  1. Tăng điều kiện nhập cảnh và xuất cảnh định lượng. Ví dụ: có thể đặt giá cao sáng tạo và lọc sáng tạo thấp, đảm bảo chọn giao dịch thời gian rõ ràng về xu hướng.

  2. Kết hợp quản lý tiền và kiểm soát vị trí. Phân số vị trí của mỗi giao dịch được điều chỉnh theo tài khoản và tình hình thị trường.

  3. Thêm logic phán đoán của chỉ số xu hướng. Kết hợp các chỉ số như PRZ, ATR, DMI để thiết lập quy tắc chọn và lọc giao dịch xu hướng.

  4. Thiết lập cơ chế thoát ngắn hoặc dài. Thiết lập mức dừng di chuyển của giá sau khi thu được lợi nhuận, để bảo vệ lợi nhuận.

  5. Xây dựng và điều chỉnh các nhóm cổ phiếu để đánh giá các chỉ số khác nhau.

  6. Tăng các phương tiện kiểm soát máy học. Sử dụng các mô hình học sâu như LSTM, RNN để hỗ trợ phán đoán, giảm nguy cơ thao tác sai của con người.

Tóm tắt

Chiến lược này được đánh giá xu hướng thông qua chéo nhiều khung thời gian của đường trung bình di chuyển đơn giản, dễ vận hành hơn. Ngoài ra, có các thiết lập dừng động và dừng động, có thể kiểm soát rủi ro hiệu quả. Tuy nhiên, cũng có một số rủi ro tín hiệu sai lệch và vấn đề mất tiền trong tình huống chấn động. Bằng cách tối ưu hóa các tham số hơn nữa và thêm các chỉ số kỹ thuật hỗ trợ, các phương tiện kiểm soát rủi ro, hiệu suất giao dịch tốt hơn và ổn định hơn có thể được đạt được.

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

//@version=5
strategy("DolarBasar by AlperDursun", shorttitle="DOLARBASAR", overlay=true)

// Input for Moving Averages
ma21 = ta.sma(close, 21)
ma50 = ta.sma(close, 50)
ma100 = ta.sma(close, 100)
ma200 = ta.sma(close, 200)

// Calculate the lowest point of the previous candle for stop loss
lowestLow = ta.lowest(low, 2)

// Calculate the highest point of the previous candle for stop loss
highestHigh = ta.highest(high, 2)

// Calculate take profit levels
takeProfitLong = lowestLow - 3 * (lowestLow - highestHigh)
takeProfitShort = highestHigh + 3 * (lowestLow - highestHigh)

// Entry Conditions
longCondition = ta.crossover(close, ma21) or ta.crossover(close, ma50) or ta.crossover(close, ma100) or ta.crossover(close, ma200)
shortCondition = ta.crossunder(close, ma21) or ta.crossunder(close, ma50) or ta.crossunder(close, ma100) or ta.crossunder(close, ma200)

// Stop Loss Levels
stopLossLong = lowestLow * 0.995
stopLossShort = highestHigh * 1.005

// Exit Conditions
longExitCondition = low < stopLossLong or high > takeProfitLong
shortExitCondition = high > stopLossShort or low < takeProfitShort

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

if (shortCondition)
    strategy.entry("Short", strategy.short)

if (longExitCondition)
    strategy.exit("Long Exit", from_entry="Long", stop=stopLossLong, limit=takeProfitLong)

if (shortExitCondition)
    strategy.exit("Short Exit", from_entry="Short", stop=stopLossShort, limit=takeProfitShort)